/* Generated by re2c */
#line 1 "encodings/unicode_group_Lu_8.re"
// re2c $INPUT -o $OUTPUT -8
#include <stdint.h>
#include <stdio.h>
#include "utf8.h"
#define YYCTYPE uint8_t

bool scan(const YYCTYPE* start, const YYCTYPE* const limit) {
	__attribute__((unused)) const YYCTYPE* YYMARKER;
#define YYCURSOR start
Lu:

#line 15 "encodings/unicode_group_Lu_8.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z': goto yy3;
		case 0xC3: goto yy4;
		case 0xC4: goto yy5;
		case 0xC5: goto yy6;
		case 0xC6: goto yy7;
		case 0xC7: goto yy8;
		case 0xC8: goto yy9;
		case 0xC9: goto yy10;
		case 0xCD: goto yy11;
		case 0xCE: goto yy12;
		case 0xCF: goto yy13;
		case 0xD0: goto yy14;
		case 0xD1: goto yy15;
		case 0xD2: goto yy16;
		case 0xD3: goto yy17;
		case 0xD4: goto yy18;
		case 0xD5: goto yy19;
		case 0xE1: goto yy20;
		case 0xE2: goto yy21;
		case 0xEA: goto yy22;
		case 0xEF: goto yy23;
		case 0xF0: goto yy24;
		default: goto yy1;
	}
yy1:
	++YYCURSOR;
yy2:
#line 15 "encodings/unicode_group_Lu_8.re"
	{ return YYCURSOR - 1 == limit; }
#line 74 "encodings/unicode_group_Lu_8.c"
yy3:
	++YYCURSOR;
#line 14 "encodings/unicode_group_Lu_8.re"
	{ goto Lu; }
#line 79 "encodings/unicode_group_Lu_8.c"
yy4:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E: goto yy3;
		default: goto yy2;
	}
yy5:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB9:
		case 0xBB:
		case 0xBD:
		case 0xBF: goto yy3;
		default: goto yy2;
	}
yy6:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x81:
		case 0x83:
		case 0x85:
		case 0x87:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xB9:
		case 0xBB:
		case 0xBD: goto yy3;
		default: goto yy2;
	}
yy7:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x81:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x87:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x93:
		case 0x94:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x9C:
		case 0x9D:
		case 0x9F:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA7:
		case 0xA9:
		case 0xAC:
		case 0xAE:
		case 0xAF:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB5:
		case 0xB7:
		case 0xB8:
		case 0xBC: goto yy3;
		default: goto yy2;
	}
yy8:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84:
		case 0x87:
		case 0x8A:
		case 0x8D:
		case 0x8F:
		case 0x91:
		case 0x93:
		case 0x95:
		case 0x97:
		case 0x99:
		case 0x9B:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB1:
		case 0xB4:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy2;
	}
yy9:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xBA:
		case 0xBB:
		case 0xBD:
		case 0xBE: goto yy3;
		default: goto yy2;
	}
yy10:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x81:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E: goto yy3;
		default: goto yy2;
	}
yy11:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB2:
		case 0xB6:
		case 0xBF: goto yy3;
		default: goto yy2;
	}
yy12:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x86:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x8F:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB: goto yy3;
		default: goto yy2;
	}
yy13:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8F:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB4:
		case 0xB7:
		case 0xB9:
		case 0xBA:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy2;
	}
yy14:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy3;
		default: goto yy2;
	}
yy15:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy2;
	}
yy16:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy2;
	}
yy17:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x83:
		case 0x85:
		case 0x87:
		case 0x89:
		case 0x8B:
		case 0x8D:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy2;
	}
yy18:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy2;
	}
yy19:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96: goto yy3;
		default: goto yy2;
	}
yy20:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x82:
		case 0x8E: goto yy25;
		case 0x83: goto yy27;
		case 0x8F: goto yy28;
		case 0xB2: goto yy29;
		case 0xB8:
		case 0xB9:
		case 0xBB: goto yy30;
		case 0xBA: goto yy31;
		case 0xBC: goto yy32;
		case 0xBD: goto yy33;
		case 0xBE: goto yy34;
		case 0xBF: goto yy35;
		default: goto yy2;
	}
yy21:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x84: goto yy36;
		case 0x85: goto yy37;
		case 0x86: goto yy38;
		case 0xB0: goto yy39;
		case 0xB1: goto yy40;
		case 0xB2: goto yy30;
		case 0xB3: goto yy41;
		default: goto yy2;
	}
yy22:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x99: goto yy42;
		case 0x9A: goto yy43;
		case 0x9C: goto yy44;
		case 0x9D: goto yy45;
		case 0x9E: goto yy46;
		case 0x9F: goto yy47;
		default: goto yy2;
	}
yy23:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBC: goto yy48;
		default: goto yy2;
	}
yy24:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy49;
		case 0x91: goto yy50;
		case 0x96: goto yy51;
		case 0x9D: goto yy52;
		case 0x9E: goto yy53;
		default: goto yy2;
	}
yy25:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy26:
	YYCURSOR = YYMARKER;
	goto yy2;
yy27:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x87:
		case 0x8D: goto yy3;
		default: goto yy26;
	}
yy28:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5: goto yy3;
		default: goto yy26;
	}
yy29:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x89:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy30:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy26;
	}
yy31:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB0:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy26;
	}
yy32:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy33:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x99:
		case 0x9B:
		case 0x9D:
		case 0x9F:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy3;
		default: goto yy26;
	}
yy34:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB: goto yy3;
		default: goto yy26;
	}
yy35:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB: goto yy3;
		default: goto yy26;
	}
yy36:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x82:
		case 0x87:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x95:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy37:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x85: goto yy3;
		default: goto yy26;
	}
yy38:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x83: goto yy3;
		default: goto yy26;
	}
yy39:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy3;
		default: goto yy26;
	}
yy40:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA7:
		case 0xA9:
		case 0xAB:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB2:
		case 0xB5:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy41:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xAB:
		case 0xAD:
		case 0xB2: goto yy3;
		default: goto yy26;
	}
yy42:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC: goto yy3;
		default: goto yy26;
	}
yy43:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A: goto yy3;
		default: goto yy26;
	}
yy44:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB2:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy26;
	}
yy45:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x88:
		case 0x8A:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAC:
		case 0xAE:
		case 0xB9:
		case 0xBB:
		case 0xBD:
		case 0xBE: goto yy3;
		default: goto yy26;
	}
yy46:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x86:
		case 0x8B:
		case 0x8D:
		case 0x90:
		case 0x92:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0x9E:
		case 0xA0:
		case 0xA2:
		case 0xA4:
		case 0xA6:
		case 0xA8:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB6:
		case 0xB8:
		case 0xBA:
		case 0xBC:
		case 0xBE: goto yy3;
		default: goto yy26;
	}
yy47:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x82:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x89:
		case 0x8B:
		case 0x8C:
		case 0x8E:
		case 0x90:
		case 0x92:
		case 0x94:
		case 0x96:
		case 0x98:
		case 0x9A:
		case 0x9C:
		case 0xB5: goto yy3;
		default: goto yy26;
	}
yy48:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA: goto yy3;
		default: goto yy26;
	}
yy49:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90: goto yy54;
		case 0x92: goto yy55;
		case 0x93: goto yy56;
		case 0x95: goto yy57;
		case 0x96: goto yy58;
		case 0xB2: goto yy59;
		case 0xB5: goto yy60;
		default: goto yy26;
	}
yy50:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA2: goto yy25;
		default: goto yy26;
	}
yy51:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB9: goto yy61;
		case 0xBA: goto yy62;
		default: goto yy26;
	}
yy52:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90: goto yy63;
		case 0x91: goto yy64;
		case 0x92: goto yy65;
		case 0x93: goto yy66;
		case 0x94: goto yy67;
		case 0x95: goto yy68;
		case 0x96: goto yy69;
		case 0x97: goto yy70;
		case 0x98: goto yy71;
		case 0x99: goto yy72;
		case 0x9A: goto yy73;
		case 0x9B: goto yy74;
		case 0x9C: goto yy75;
		case 0x9D: goto yy76;
		case 0x9E: goto yy77;
		case 0x9F: goto yy78;
		default: goto yy26;
	}
yy53:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA4: goto yy79;
		default: goto yy26;
	}
yy54:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7: goto yy3;
		default: goto yy26;
	}
yy55:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy56:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93: goto yy3;
		default: goto yy26;
	}
yy57:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy58:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x94:
		case 0x95: goto yy3;
		default: goto yy26;
	}
yy59:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2: goto yy3;
		default: goto yy26;
	}
yy60:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5: goto yy3;
		default: goto yy26;
	}
yy61:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy3;
		default: goto yy26;
	}
yy62:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8: goto yy3;
		default: goto yy26;
	}
yy63:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy64:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy65:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x9C:
		case 0x9E:
		case 0x9F:
		case 0xA2:
		case 0xA5:
		case 0xA6:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5: goto yy3;
		default: goto yy26;
	}
yy66:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9: goto yy3;
		default: goto yy26;
	}
yy67:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84:
		case 0x85:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0xB8:
		case 0xB9:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE: goto yy3;
		default: goto yy26;
	}
yy68:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x86:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy69:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9: goto yy3;
		default: goto yy26;
	}
yy70:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD: goto yy3;
		default: goto yy26;
	}
yy71:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy72:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy73:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy3;
		default: goto yy26;
	}
yy74:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA: goto yy3;
		default: goto yy26;
	}
yy75:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4: goto yy3;
		default: goto yy26;
	}
yy76:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE: goto yy3;
		default: goto yy26;
	}
yy77:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8: goto yy3;
		default: goto yy26;
	}
yy78:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8A: goto yy3;
		default: goto yy26;
	}
yy79:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1: goto yy3;
		default: goto yy26;
	}
}
#line 16 "encodings/unicode_group_Lu_8.re"

}

static const uint32_t chars_Lu[] = {0x41,0x5a,0xc0,0xd6,0xd8,0xde,0x100,0x100,0x102,0x102,0x104,0x104,0x106,0x106,0x108,0x108,0x10a,0x10a,0x10c,0x10c,0x10e,0x10e,0x110,0x110,0x112,0x112,0x114,0x114,0x116,0x116,0x118,0x118,0x11a,0x11a,0x11c,0x11c,0x11e,0x11e,0x120,0x120,0x122,0x122,0x124,0x124,0x126,0x126,0x128,0x128,0x12a,0x12a,0x12c,0x12c,0x12e,0x12e,0x130,0x130,0x132,0x132,0x134,0x134,0x136,0x136,0x139,0x139,0x13b,0x13b,0x13d,0x13d,0x13f,0x13f,0x141,0x141,0x143,0x143,0x145,0x145,0x147,0x147,0x14a,0x14a,0x14c,0x14c,0x14e,0x14e,0x150,0x150,0x152,0x152,0x154,0x154,0x156,0x156,0x158,0x158,0x15a,0x15a,0x15c,0x15c,0x15e,0x15e,0x160,0x160,0x162,0x162,0x164,0x164,0x166,0x166,0x168,0x168,0x16a,0x16a,0x16c,0x16c,0x16e,0x16e,0x170,0x170,0x172,0x172,0x174,0x174,0x176,0x176,0x178,0x179,0x17b,0x17b,0x17d,0x17d,0x181,0x182,0x184,0x184,0x186,0x187,0x189,0x18b,0x18e,0x191,0x193,0x194,0x196,0x198,0x19c,0x19d,0x19f,0x1a0,0x1a2,0x1a2,0x1a4,0x1a4,0x1a6,0x1a7,0x1a9,0x1a9,0x1ac,0x1ac,0x1ae,0x1af,0x1b1,0x1b3,0x1b5,0x1b5,0x1b7,0x1b8,0x1bc,0x1bc,0x1c4,0x1c4,0x1c7,0x1c7,0x1ca,0x1ca,0x1cd,0x1cd,0x1cf,0x1cf,0x1d1,0x1d1,0x1d3,0x1d3,0x1d5,0x1d5,0x1d7,0x1d7,0x1d9,0x1d9,0x1db,0x1db,0x1de,0x1de,0x1e0,0x1e0,0x1e2,0x1e2,0x1e4,0x1e4,0x1e6,0x1e6,0x1e8,0x1e8,0x1ea,0x1ea,0x1ec,0x1ec,0x1ee,0x1ee,0x1f1,0x1f1,0x1f4,0x1f4,0x1f6,0x1f8,0x1fa,0x1fa,0x1fc,0x1fc,0x1fe,0x1fe,0x200,0x200,0x202,0x202,0x204,0x204,0x206,0x206,0x208,0x208,0x20a,0x20a,0x20c,0x20c,0x20e,0x20e,0x210,0x210,0x212,0x212,0x214,0x214,0x216,0x216,0x218,0x218,0x21a,0x21a,0x21c,0x21c,0x21e,0x21e,0x220,0x220,0x222,0x222,0x224,0x224,0x226,0x226,0x228,0x228,0x22a,0x22a,0x22c,0x22c,0x22e,0x22e,0x230,0x230,0x232,0x232,0x23a,0x23b,0x23d,0x23e,0x241,0x241,0x243,0x246,0x248,0x248,0x24a,0x24a,0x24c,0x24c,0x24e,0x24e,0x370,0x370,0x372,0x372,0x376,0x376,0x37f,0x37f,0x386,0x386,0x388,0x38a,0x38c,0x38c,0x38e,0x38f,0x391,0x3a1,0x3a3,0x3ab,0x3cf,0x3cf,0x3d2,0x3d4,0x3d8,0x3d8,0x3da,0x3da,0x3dc,0x3dc,0x3de,0x3de,0x3e0,0x3e0,0x3e2,0x3e2,0x3e4,0x3e4,0x3e6,0x3e6,0x3e8,0x3e8,0x3ea,0x3ea,0x3ec,0x3ec,0x3ee,0x3ee,0x3f4,0x3f4,0x3f7,0x3f7,0x3f9,0x3fa,0x3fd,0x42f,0x460,0x460,0x462,0x462,0x464,0x464,0x466,0x466,0x468,0x468,0x46a,0x46a,0x46c,0x46c,0x46e,0x46e,0x470,0x470,0x472,0x472,0x474,0x474,0x476,0x476,0x478,0x478,0x47a,0x47a,0x47c,0x47c,0x47e,0x47e,0x480,0x480,0x48a,0x48a,0x48c,0x48c,0x48e,0x48e,0x490,0x490,0x492,0x492,0x494,0x494,0x496,0x496,0x498,0x498,0x49a,0x49a,0x49c,0x49c,0x49e,0x49e,0x4a0,0x4a0,0x4a2,0x4a2,0x4a4,0x4a4,0x4a6,0x4a6,0x4a8,0x4a8,0x4aa,0x4aa,0x4ac,0x4ac,0x4ae,0x4ae,0x4b0,0x4b0,0x4b2,0x4b2,0x4b4,0x4b4,0x4b6,0x4b6,0x4b8,0x4b8,0x4ba,0x4ba,0x4bc,0x4bc,0x4be,0x4be,0x4c0,0x4c1,0x4c3,0x4c3,0x4c5,0x4c5,0x4c7,0x4c7,0x4c9,0x4c9,0x4cb,0x4cb,0x4cd,0x4cd,0x4d0,0x4d0,0x4d2,0x4d2,0x4d4,0x4d4,0x4d6,0x4d6,0x4d8,0x4d8,0x4da,0x4da,0x4dc,0x4dc,0x4de,0x4de,0x4e0,0x4e0,0x4e2,0x4e2,0x4e4,0x4e4,0x4e6,0x4e6,0x4e8,0x4e8,0x4ea,0x4ea,0x4ec,0x4ec,0x4ee,0x4ee,0x4f0,0x4f0,0x4f2,0x4f2,0x4f4,0x4f4,0x4f6,0x4f6,0x4f8,0x4f8,0x4fa,0x4fa,0x4fc,0x4fc,0x4fe,0x4fe,0x500,0x500,0x502,0x502,0x504,0x504,0x506,0x506,0x508,0x508,0x50a,0x50a,0x50c,0x50c,0x50e,0x50e,0x510,0x510,0x512,0x512,0x514,0x514,0x516,0x516,0x518,0x518,0x51a,0x51a,0x51c,0x51c,0x51e,0x51e,0x520,0x520,0x522,0x522,0x524,0x524,0x526,0x526,0x528,0x528,0x52a,0x52a,0x52c,0x52c,0x52e,0x52e,0x531,0x556,0x10a0,0x10c5,0x10c7,0x10c7,0x10cd,0x10cd,0x13a0,0x13f5,0x1c89,0x1c89,0x1c90,0x1cba,0x1cbd,0x1cbf,0x1e00,0x1e00,0x1e02,0x1e02,0x1e04,0x1e04,0x1e06,0x1e06,0x1e08,0x1e08,0x1e0a,0x1e0a,0x1e0c,0x1e0c,0x1e0e,0x1e0e,0x1e10,0x1e10,0x1e12,0x1e12,0x1e14,0x1e14,0x1e16,0x1e16,0x1e18,0x1e18,0x1e1a,0x1e1a,0x1e1c,0x1e1c,0x1e1e,0x1e1e,0x1e20,0x1e20,0x1e22,0x1e22,0x1e24,0x1e24,0x1e26,0x1e26,0x1e28,0x1e28,0x1e2a,0x1e2a,0x1e2c,0x1e2c,0x1e2e,0x1e2e,0x1e30,0x1e30,0x1e32,0x1e32,0x1e34,0x1e34,0x1e36,0x1e36,0x1e38,0x1e38,0x1e3a,0x1e3a,0x1e3c,0x1e3c,0x1e3e,0x1e3e,0x1e40,0x1e40,0x1e42,0x1e42,0x1e44,0x1e44,0x1e46,0x1e46,0x1e48,0x1e48,0x1e4a,0x1e4a,0x1e4c,0x1e4c,0x1e4e,0x1e4e,0x1e50,0x1e50,0x1e52,0x1e52,0x1e54,0x1e54,0x1e56,0x1e56,0x1e58,0x1e58,0x1e5a,0x1e5a,0x1e5c,0x1e5c,0x1e5e,0x1e5e,0x1e60,0x1e60,0x1e62,0x1e62,0x1e64,0x1e64,0x1e66,0x1e66,0x1e68,0x1e68,0x1e6a,0x1e6a,0x1e6c,0x1e6c,0x1e6e,0x1e6e,0x1e70,0x1e70,0x1e72,0x1e72,0x1e74,0x1e74,0x1e76,0x1e76,0x1e78,0x1e78,0x1e7a,0x1e7a,0x1e7c,0x1e7c,0x1e7e,0x1e7e,0x1e80,0x1e80,0x1e82,0x1e82,0x1e84,0x1e84,0x1e86,0x1e86,0x1e88,0x1e88,0x1e8a,0x1e8a,0x1e8c,0x1e8c,0x1e8e,0x1e8e,0x1e90,0x1e90,0x1e92,0x1e92,0x1e94,0x1e94,0x1e9e,0x1e9e,0x1ea0,0x1ea0,0x1ea2,0x1ea2,0x1ea4,0x1ea4,0x1ea6,0x1ea6,0x1ea8,0x1ea8,0x1eaa,0x1eaa,0x1eac,0x1eac,0x1eae,0x1eae,0x1eb0,0x1eb0,0x1eb2,0x1eb2,0x1eb4,0x1eb4,0x1eb6,0x1eb6,0x1eb8,0x1eb8,0x1eba,0x1eba,0x1ebc,0x1ebc,0x1ebe,0x1ebe,0x1ec0,0x1ec0,0x1ec2,0x1ec2,0x1ec4,0x1ec4,0x1ec6,0x1ec6,0x1ec8,0x1ec8,0x1eca,0x1eca,0x1ecc,0x1ecc,0x1ece,0x1ece,0x1ed0,0x1ed0,0x1ed2,0x1ed2,0x1ed4,0x1ed4,0x1ed6,0x1ed6,0x1ed8,0x1ed8,0x1eda,0x1eda,0x1edc,0x1edc,0x1ede,0x1ede,0x1ee0,0x1ee0,0x1ee2,0x1ee2,0x1ee4,0x1ee4,0x1ee6,0x1ee6,0x1ee8,0x1ee8,0x1eea,0x1eea,0x1eec,0x1eec,0x1eee,0x1eee,0x1ef0,0x1ef0,0x1ef2,0x1ef2,0x1ef4,0x1ef4,0x1ef6,0x1ef6,0x1ef8,0x1ef8,0x1efa,0x1efa,0x1efc,0x1efc,0x1efe,0x1efe,0x1f08,0x1f0f,0x1f18,0x1f1d,0x1f28,0x1f2f,0x1f38,0x1f3f,0x1f48,0x1f4d,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f5f,0x1f68,0x1f6f,0x1fb8,0x1fbb,0x1fc8,0x1fcb,0x1fd8,0x1fdb,0x1fe8,0x1fec,0x1ff8,0x1ffb,0x2102,0x2102,0x2107,0x2107,0x210b,0x210d,0x2110,0x2112,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2126,0x2126,0x2128,0x2128,0x212a,0x212d,0x2130,0x2133,0x213e,0x213f,0x2145,0x2145,0x2183,0x2183,0x2c00,0x2c2f,0x2c60,0x2c60,0x2c62,0x2c64,0x2c67,0x2c67,0x2c69,0x2c69,0x2c6b,0x2c6b,0x2c6d,0x2c70,0x2c72,0x2c72,0x2c75,0x2c75,0x2c7e,0x2c80,0x2c82,0x2c82,0x2c84,0x2c84,0x2c86,0x2c86,0x2c88,0x2c88,0x2c8a,0x2c8a,0x2c8c,0x2c8c,0x2c8e,0x2c8e,0x2c90,0x2c90,0x2c92,0x2c92,0x2c94,0x2c94,0x2c96,0x2c96,0x2c98,0x2c98,0x2c9a,0x2c9a,0x2c9c,0x2c9c,0x2c9e,0x2c9e,0x2ca0,0x2ca0,0x2ca2,0x2ca2,0x2ca4,0x2ca4,0x2ca6,0x2ca6,0x2ca8,0x2ca8,0x2caa,0x2caa,0x2cac,0x2cac,0x2cae,0x2cae,0x2cb0,0x2cb0,0x2cb2,0x2cb2,0x2cb4,0x2cb4,0x2cb6,0x2cb6,0x2cb8,0x2cb8,0x2cba,0x2cba,0x2cbc,0x2cbc,0x2cbe,0x2cbe,0x2cc0,0x2cc0,0x2cc2,0x2cc2,0x2cc4,0x2cc4,0x2cc6,0x2cc6,0x2cc8,0x2cc8,0x2cca,0x2cca,0x2ccc,0x2ccc,0x2cce,0x2cce,0x2cd0,0x2cd0,0x2cd2,0x2cd2,0x2cd4,0x2cd4,0x2cd6,0x2cd6,0x2cd8,0x2cd8,0x2cda,0x2cda,0x2cdc,0x2cdc,0x2cde,0x2cde,0x2ce0,0x2ce0,0x2ce2,0x2ce2,0x2ceb,0x2ceb,0x2ced,0x2ced,0x2cf2,0x2cf2,0xa640,0xa640,0xa642,0xa642,0xa644,0xa644,0xa646,0xa646,0xa648,0xa648,0xa64a,0xa64a,0xa64c,0xa64c,0xa64e,0xa64e,0xa650,0xa650,0xa652,0xa652,0xa654,0xa654,0xa656,0xa656,0xa658,0xa658,0xa65a,0xa65a,0xa65c,0xa65c,0xa65e,0xa65e,0xa660,0xa660,0xa662,0xa662,0xa664,0xa664,0xa666,0xa666,0xa668,0xa668,0xa66a,0xa66a,0xa66c,0xa66c,0xa680,0xa680,0xa682,0xa682,0xa684,0xa684,0xa686,0xa686,0xa688,0xa688,0xa68a,0xa68a,0xa68c,0xa68c,0xa68e,0xa68e,0xa690,0xa690,0xa692,0xa692,0xa694,0xa694,0xa696,0xa696,0xa698,0xa698,0xa69a,0xa69a,0xa722,0xa722,0xa724,0xa724,0xa726,0xa726,0xa728,0xa728,0xa72a,0xa72a,0xa72c,0xa72c,0xa72e,0xa72e,0xa732,0xa732,0xa734,0xa734,0xa736,0xa736,0xa738,0xa738,0xa73a,0xa73a,0xa73c,0xa73c,0xa73e,0xa73e,0xa740,0xa740,0xa742,0xa742,0xa744,0xa744,0xa746,0xa746,0xa748,0xa748,0xa74a,0xa74a,0xa74c,0xa74c,0xa74e,0xa74e,0xa750,0xa750,0xa752,0xa752,0xa754,0xa754,0xa756,0xa756,0xa758,0xa758,0xa75a,0xa75a,0xa75c,0xa75c,0xa75e,0xa75e,0xa760,0xa760,0xa762,0xa762,0xa764,0xa764,0xa766,0xa766,0xa768,0xa768,0xa76a,0xa76a,0xa76c,0xa76c,0xa76e,0xa76e,0xa779,0xa779,0xa77b,0xa77b,0xa77d,0xa77e,0xa780,0xa780,0xa782,0xa782,0xa784,0xa784,0xa786,0xa786,0xa78b,0xa78b,0xa78d,0xa78d,0xa790,0xa790,0xa792,0xa792,0xa796,0xa796,0xa798,0xa798,0xa79a,0xa79a,0xa79c,0xa79c,0xa79e,0xa79e,0xa7a0,0xa7a0,0xa7a2,0xa7a2,0xa7a4,0xa7a4,0xa7a6,0xa7a6,0xa7a8,0xa7a8,0xa7aa,0xa7ae,0xa7b0,0xa7b4,0xa7b6,0xa7b6,0xa7b8,0xa7b8,0xa7ba,0xa7ba,0xa7bc,0xa7bc,0xa7be,0xa7be,0xa7c0,0xa7c0,0xa7c2,0xa7c2,0xa7c4,0xa7c7,0xa7c9,0xa7c9,0xa7cb,0xa7cc,0xa7ce,0xa7ce,0xa7d0,0xa7d0,0xa7d2,0xa7d2,0xa7d4,0xa7d4,0xa7d6,0xa7d6,0xa7d8,0xa7d8,0xa7da,0xa7da,0xa7dc,0xa7dc,0xa7f5,0xa7f5,0xff21,0xff3a,0x10400,0x10427,0x104b0,0x104d3,0x10570,0x1057a,0x1057c,0x1058a,0x1058c,0x10592,0x10594,0x10595,0x10c80,0x10cb2,0x10d50,0x10d65,0x118a0,0x118bf,0x16e40,0x16e5f,0x16ea0,0x16eb8,0x1d400,0x1d419,0x1d434,0x1d44d,0x1d468,0x1d481,0x1d49c,0x1d49c,0x1d49e,0x1d49f,0x1d4a2,0x1d4a2,0x1d4a5,0x1d4a6,0x1d4a9,0x1d4ac,0x1d4ae,0x1d4b5,0x1d4d0,0x1d4e9,0x1d504,0x1d505,0x1d507,0x1d50a,0x1d50d,0x1d514,0x1d516,0x1d51c,0x1d538,0x1d539,0x1d53b,0x1d53e,0x1d540,0x1d544,0x1d546,0x1d546,0x1d54a,0x1d550,0x1d56c,0x1d585,0x1d5a0,0x1d5b9,0x1d5d4,0x1d5ed,0x1d608,0x1d621,0x1d63c,0x1d655,0x1d670,0x1d689,0x1d6a8,0x1d6c0,0x1d6e2,0x1d6fa,0x1d71c,0x1d734,0x1d756,0x1d76e,0x1d790,0x1d7a8,0x1d7ca,0x1d7ca,0x1e900,0x1e921,};

static uint32_t encode_utf8(const uint32_t* ranges, uint32_t ranges_count, uint8_t* s) {
	uint8_t* const s0 = s;
	for (uint32_t i = 0; i < ranges_count; i += 2)
		for (uint32_t j = ranges[i]; j <= ranges[i + 1]; ++j) s += re2c::utf8::rune_to_bytes(s, j);
	for (uint32_t i = 0; i < 6; ++i) s[i] = 0;
	return s - s0;
}

int main() {
	YYCTYPE* buffer_Lu = new YYCTYPE[11322];
	uint32_t buffer_Lu_len = encode_utf8(chars_Lu, sizeof(chars_Lu) / sizeof(uint32_t), buffer_Lu);
	if (!scan(buffer_Lu, buffer_Lu + buffer_Lu_len)) printf("test 'Lu' failed\n");
	delete[] buffer_Lu;
	return 0;
}
