/* Generated by re2c */
#line 1 "encodings/unicode_group_Lu_x.re"
// re2c $INPUT -o $OUTPUT -x
#include <stdint.h>
#include <stdio.h>
#include "utf16.h"
#define YYCTYPE uint16_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_x.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x1E3A) {
		if (yych <= 0x03CE) {
			if (yych <= 0x01A7) {
				if (yych <= 0x0146) {
					if (yych <= 0x011E) {
						if (yych <= 0x010B) {
							if (yych <= 0x0101) {
								if (yych <= 0x00D6) {
									if (yych <= '@') goto yy1;
									if (yych <= 'Z') goto yy3;
									if (yych >= 0x00C0) goto yy3;
								} else {
									if (yych <= 0x00DE) {
										if (yych >= 0x00D8) goto yy3;
									} else {
										if (yych == 0x0100) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0106) {
									if (yych <= 0x0103) {
										if (yych <= 0x0102) goto yy3;
									} else {
										if (yych != 0x0105) goto yy3;
									}
								} else {
									if (yych <= 0x0108) {
										if (yych >= 0x0108) goto yy3;
									} else {
										if (yych == 0x010A) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0114) {
								if (yych <= 0x010F) {
									if (yych == 0x010D) goto yy1;
									if (yych <= 0x010E) goto yy3;
								} else {
									if (yych <= 0x0111) {
										if (yych <= 0x0110) goto yy3;
									} else {
										if (yych != 0x0113) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0119) {
									if (yych <= 0x0116) {
										if (yych >= 0x0116) goto yy3;
									} else {
										if (yych == 0x0118) goto yy3;
									}
								} else {
									if (yych <= 0x011B) {
										if (yych <= 0x011A) goto yy3;
									} else {
										if (yych != 0x011D) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0131) {
							if (yych <= 0x0127) {
								if (yych <= 0x0122) {
									if (yych == 0x0120) goto yy3;
									if (yych >= 0x0122) goto yy3;
								} else {
									if (yych <= 0x0124) {
										if (yych >= 0x0124) goto yy3;
									} else {
										if (yych == 0x0126) goto yy3;
									}
								}
							} else {
								if (yych <= 0x012C) {
									if (yych <= 0x0129) {
										if (yych <= 0x0128) goto yy3;
									} else {
										if (yych != 0x012B) goto yy3;
									}
								} else {
									if (yych <= 0x012E) {
										if (yych >= 0x012E) goto yy3;
									} else {
										if (yych == 0x0130) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x013C) {
								if (yych <= 0x0136) {
									if (yych <= 0x0133) {
										if (yych <= 0x0132) goto yy3;
									} else {
										if (yych != 0x0135) goto yy3;
									}
								} else {
									if (yych <= 0x0139) {
										if (yych >= 0x0139) goto yy3;
									} else {
										if (yych == 0x013B) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0141) {
									if (yych <= 0x013E) {
										if (yych <= 0x013D) goto yy3;
									} else {
										if (yych != 0x0140) goto yy3;
									}
								} else {
									if (yych <= 0x0143) {
										if (yych >= 0x0143) goto yy3;
									} else {
										if (yych == 0x0145) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x016D) {
						if (yych <= 0x015A) {
							if (yych <= 0x0150) {
								if (yych <= 0x014B) {
									if (yych <= 0x0147) goto yy3;
									if (yych == 0x014A) goto yy3;
								} else {
									if (yych <= 0x014D) {
										if (yych <= 0x014C) goto yy3;
									} else {
										if (yych != 0x014F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0155) {
									if (yych <= 0x0152) {
										if (yych >= 0x0152) goto yy3;
									} else {
										if (yych == 0x0154) goto yy3;
									}
								} else {
									if (yych <= 0x0157) {
										if (yych <= 0x0156) goto yy3;
									} else {
										if (yych != 0x0159) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0163) {
								if (yych <= 0x015E) {
									if (yych == 0x015C) goto yy3;
									if (yych >= 0x015E) goto yy3;
								} else {
									if (yych <= 0x0160) {
										if (yych >= 0x0160) goto yy3;
									} else {
										if (yych == 0x0162) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0168) {
									if (yych <= 0x0165) {
										if (yych <= 0x0164) goto yy3;
									} else {
										if (yych != 0x0167) goto yy3;
									}
								} else {
									if (yych <= 0x016A) {
										if (yych >= 0x016A) goto yy3;
									} else {
										if (yych == 0x016C) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0184) {
							if (yych <= 0x0176) {
								if (yych <= 0x0171) {
									if (yych == 0x016F) goto yy1;
									if (yych <= 0x0170) goto yy3;
								} else {
									if (yych <= 0x0173) {
										if (yych <= 0x0172) goto yy3;
									} else {
										if (yych != 0x0175) goto yy3;
									}
								}
							} else {
								if (yych <= 0x017C) {
									if (yych <= 0x0179) {
										if (yych >= 0x0178) goto yy3;
									} else {
										if (yych == 0x017B) goto yy3;
									}
								} else {
									if (yych <= 0x0180) {
										if (yych <= 0x017D) goto yy3;
									} else {
										if (yych != 0x0183) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0198) {
								if (yych <= 0x018D) {
									if (yych <= 0x0187) {
										if (yych >= 0x0186) goto yy3;
									} else {
										if (yych <= 0x0188) goto yy1;
										if (yych <= 0x018B) goto yy3;
									}
								} else {
									if (yych <= 0x0192) {
										if (yych <= 0x0191) goto yy3;
									} else {
										if (yych != 0x0195) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01A1) {
									if (yych <= 0x019D) {
										if (yych >= 0x019C) goto yy3;
									} else {
										if (yych <= 0x019E) goto yy1;
										if (yych <= 0x01A0) goto yy3;
									}
								} else {
									if (yych <= 0x01A3) {
										if (yych <= 0x01A2) goto yy3;
									} else {
										if (yych != 0x01A5) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x0209) {
					if (yych <= 0x01DE) {
						if (yych <= 0x01C9) {
							if (yych <= 0x01B4) {
								if (yych <= 0x01AC) {
									if (yych == 0x01A9) goto yy3;
									if (yych >= 0x01AC) goto yy3;
								} else {
									if (yych <= 0x01AF) {
										if (yych >= 0x01AE) goto yy3;
									} else {
										if (yych <= 0x01B0) goto yy1;
										if (yych <= 0x01B3) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01BC) {
									if (yych <= 0x01B6) {
										if (yych <= 0x01B5) goto yy3;
									} else {
										if (yych <= 0x01B8) goto yy3;
										if (yych >= 0x01BC) goto yy3;
									}
								} else {
									if (yych <= 0x01C4) {
										if (yych >= 0x01C4) goto yy3;
									} else {
										if (yych == 0x01C7) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x01D3) {
								if (yych <= 0x01CE) {
									if (yych <= 0x01CA) goto yy3;
									if (yych == 0x01CD) goto yy3;
								} else {
									if (yych <= 0x01D0) {
										if (yych <= 0x01CF) goto yy3;
									} else {
										if (yych != 0x01D2) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01D8) {
									if (yych <= 0x01D5) {
										if (yych >= 0x01D5) goto yy3;
									} else {
										if (yych == 0x01D7) goto yy3;
									}
								} else {
									if (yych <= 0x01DA) {
										if (yych <= 0x01D9) goto yy3;
									} else {
										if (yych <= 0x01DB) goto yy3;
										if (yych >= 0x01DE) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x01F3) {
							if (yych <= 0x01E7) {
								if (yych <= 0x01E2) {
									if (yych == 0x01E0) goto yy3;
									if (yych >= 0x01E2) goto yy3;
								} else {
									if (yych <= 0x01E4) {
										if (yych >= 0x01E4) goto yy3;
									} else {
										if (yych == 0x01E6) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01EC) {
									if (yych <= 0x01E9) {
										if (yych <= 0x01E8) goto yy3;
									} else {
										if (yych != 0x01EB) goto yy3;
									}
								} else {
									if (yych <= 0x01EE) {
										if (yych >= 0x01EE) goto yy3;
									} else {
										if (yych == 0x01F1) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x01FF) {
								if (yych <= 0x01FA) {
									if (yych <= 0x01F5) {
										if (yych <= 0x01F4) goto yy3;
									} else {
										if (yych != 0x01F9) goto yy3;
									}
								} else {
									if (yych <= 0x01FC) {
										if (yych >= 0x01FC) goto yy3;
									} else {
										if (yych == 0x01FE) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0204) {
									if (yych <= 0x0201) {
										if (yych <= 0x0200) goto yy3;
									} else {
										if (yych != 0x0203) goto yy3;
									}
								} else {
									if (yych <= 0x0206) {
										if (yych >= 0x0206) goto yy3;
									} else {
										if (yych == 0x0208) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x0230) {
						if (yych <= 0x021C) {
							if (yych <= 0x0212) {
								if (yych <= 0x020D) {
									if (yych == 0x020B) goto yy1;
									if (yych <= 0x020C) goto yy3;
								} else {
									if (yych <= 0x020F) {
										if (yych <= 0x020E) goto yy3;
									} else {
										if (yych != 0x0211) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0217) {
									if (yych <= 0x0214) {
										if (yych >= 0x0214) goto yy3;
									} else {
										if (yych == 0x0216) goto yy3;
									}
								} else {
									if (yych <= 0x0219) {
										if (yych <= 0x0218) goto yy3;
									} else {
										if (yych != 0x021B) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0226) {
								if (yych <= 0x0221) {
									if (yych <= 0x021E) {
										if (yych >= 0x021E) goto yy3;
									} else {
										if (yych == 0x0220) goto yy3;
									}
								} else {
									if (yych <= 0x0223) {
										if (yych <= 0x0222) goto yy3;
									} else {
										if (yych != 0x0225) goto yy3;
									}
								}
							} else {
								if (yych <= 0x022B) {
									if (yych <= 0x0228) {
										if (yych >= 0x0228) goto yy3;
									} else {
										if (yych == 0x022A) goto yy3;
									}
								} else {
									if (yych <= 0x022D) {
										if (yych <= 0x022C) goto yy3;
									} else {
										if (yych != 0x022F) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x036F) {
							if (yych <= 0x0242) {
								if (yych <= 0x023B) {
									if (yych == 0x0232) goto yy3;
									if (yych >= 0x023A) goto yy3;
								} else {
									if (yych <= 0x023E) {
										if (yych >= 0x023D) goto yy3;
									} else {
										if (yych == 0x0241) goto yy3;
									}
								}
							} else {
								if (yych <= 0x024A) {
									if (yych <= 0x0247) {
										if (yych <= 0x0246) goto yy3;
									} else {
										if (yych != 0x0249) goto yy3;
									}
								} else {
									if (yych <= 0x024C) {
										if (yych >= 0x024C) goto yy3;
									} else {
										if (yych == 0x024E) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0387) {
								if (yych <= 0x0376) {
									if (yych <= 0x0371) {
										if (yych <= 0x0370) goto yy3;
									} else {
										if (yych <= 0x0372) goto yy3;
										if (yych >= 0x0376) goto yy3;
									}
								} else {
									if (yych <= 0x037F) {
										if (yych >= 0x037F) goto yy3;
									} else {
										if (yych == 0x0386) goto yy3;
									}
								}
							} else {
								if (yych <= 0x038F) {
									if (yych <= 0x038B) {
										if (yych <= 0x038A) goto yy3;
									} else {
										if (yych != 0x038D) goto yy3;
									}
								} else {
									if (yych <= 0x03A1) {
										if (yych >= 0x0391) goto yy3;
									} else {
										if (yych <= 0x03A2) goto yy1;
										if (yych <= 0x03AB) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		} else {
			if (yych <= 0x04DF) {
				if (yych <= 0x0490) {
					if (yych <= 0x0461) {
						if (yych <= 0x03E6) {
							if (yych <= 0x03DC) {
								if (yych <= 0x03D7) {
									if (yych <= 0x03CF) goto yy3;
									if (yych <= 0x03D1) goto yy1;
									if (yych <= 0x03D4) goto yy3;
								} else {
									if (yych <= 0x03D9) {
										if (yych <= 0x03D8) goto yy3;
									} else {
										if (yych != 0x03DB) goto yy3;
									}
								}
							} else {
								if (yych <= 0x03E1) {
									if (yych <= 0x03DE) {
										if (yych >= 0x03DE) goto yy3;
									} else {
										if (yych == 0x03E0) goto yy3;
									}
								} else {
									if (yych <= 0x03E3) {
										if (yych <= 0x03E2) goto yy3;
									} else {
										if (yych != 0x03E5) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x03F3) {
								if (yych <= 0x03EA) {
									if (yych == 0x03E8) goto yy3;
									if (yych >= 0x03EA) goto yy3;
								} else {
									if (yych <= 0x03EC) {
										if (yych >= 0x03EC) goto yy3;
									} else {
										if (yych == 0x03EE) goto yy3;
									}
								}
							} else {
								if (yych <= 0x03FA) {
									if (yych <= 0x03F6) {
										if (yych <= 0x03F4) goto yy3;
									} else {
										if (yych != 0x03F8) goto yy3;
									}
								} else {
									if (yych <= 0x042F) {
										if (yych >= 0x03FD) goto yy3;
									} else {
										if (yych == 0x0460) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0474) {
							if (yych <= 0x046A) {
								if (yych <= 0x0465) {
									if (yych == 0x0463) goto yy1;
									if (yych <= 0x0464) goto yy3;
								} else {
									if (yych <= 0x0467) {
										if (yych <= 0x0466) goto yy3;
									} else {
										if (yych != 0x0469) goto yy3;
									}
								}
							} else {
								if (yych <= 0x046F) {
									if (yych <= 0x046C) {
										if (yych >= 0x046C) goto yy3;
									} else {
										if (yych == 0x046E) goto yy3;
									}
								} else {
									if (yych <= 0x0471) {
										if (yych <= 0x0470) goto yy3;
									} else {
										if (yych != 0x0473) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x047E) {
								if (yych <= 0x0479) {
									if (yych <= 0x0476) {
										if (yych >= 0x0476) goto yy3;
									} else {
										if (yych == 0x0478) goto yy3;
									}
								} else {
									if (yych <= 0x047B) {
										if (yych <= 0x047A) goto yy3;
									} else {
										if (yych != 0x047D) goto yy3;
									}
								}
							} else {
								if (yych <= 0x048B) {
									if (yych <= 0x0480) {
										if (yych >= 0x0480) goto yy3;
									} else {
										if (yych == 0x048A) goto yy3;
									}
								} else {
									if (yych <= 0x048D) {
										if (yych <= 0x048C) goto yy3;
									} else {
										if (yych != 0x048F) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x04B6) {
						if (yych <= 0x04A3) {
							if (yych <= 0x0499) {
								if (yych <= 0x0494) {
									if (yych == 0x0492) goto yy3;
									if (yych >= 0x0494) goto yy3;
								} else {
									if (yych <= 0x0496) {
										if (yych >= 0x0496) goto yy3;
									} else {
										if (yych == 0x0498) goto yy3;
									}
								}
							} else {
								if (yych <= 0x049E) {
									if (yych <= 0x049B) {
										if (yych <= 0x049A) goto yy3;
									} else {
										if (yych != 0x049D) goto yy3;
									}
								} else {
									if (yych <= 0x04A0) {
										if (yych >= 0x04A0) goto yy3;
									} else {
										if (yych == 0x04A2) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x04AC) {
								if (yych <= 0x04A7) {
									if (yych == 0x04A5) goto yy1;
									if (yych <= 0x04A6) goto yy3;
								} else {
									if (yych <= 0x04A9) {
										if (yych <= 0x04A8) goto yy3;
									} else {
										if (yych != 0x04AB) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04B1) {
									if (yych <= 0x04AE) {
										if (yych >= 0x04AE) goto yy3;
									} else {
										if (yych == 0x04B0) goto yy3;
									}
								} else {
									if (yych <= 0x04B3) {
										if (yych <= 0x04B2) goto yy3;
									} else {
										if (yych != 0x04B5) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x04CA) {
							if (yych <= 0x04BF) {
								if (yych <= 0x04BA) {
									if (yych == 0x04B8) goto yy3;
									if (yych >= 0x04BA) goto yy3;
								} else {
									if (yych <= 0x04BC) {
										if (yych >= 0x04BC) goto yy3;
									} else {
										if (yych == 0x04BE) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04C5) {
									if (yych <= 0x04C2) {
										if (yych <= 0x04C1) goto yy3;
									} else {
										if (yych != 0x04C4) goto yy3;
									}
								} else {
									if (yych <= 0x04C7) {
										if (yych >= 0x04C7) goto yy3;
									} else {
										if (yych == 0x04C9) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x04D5) {
								if (yych <= 0x04D0) {
									if (yych <= 0x04CC) {
										if (yych <= 0x04CB) goto yy3;
									} else {
										if (yych <= 0x04CD) goto yy3;
										if (yych >= 0x04D0) goto yy3;
									}
								} else {
									if (yych <= 0x04D2) {
										if (yych >= 0x04D2) goto yy3;
									} else {
										if (yych == 0x04D4) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04DA) {
									if (yych <= 0x04D7) {
										if (yych <= 0x04D6) goto yy3;
									} else {
										if (yych != 0x04D9) goto yy3;
									}
								} else {
									if (yych <= 0x04DC) {
										if (yych >= 0x04DC) goto yy3;
									} else {
										if (yych == 0x04DE) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x052C) {
					if (yych <= 0x0505) {
						if (yych <= 0x04F2) {
							if (yych <= 0x04E8) {
								if (yych <= 0x04E3) {
									if (yych == 0x04E1) goto yy1;
									if (yych <= 0x04E2) goto yy3;
								} else {
									if (yych <= 0x04E5) {
										if (yych <= 0x04E4) goto yy3;
									} else {
										if (yych != 0x04E7) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04ED) {
									if (yych <= 0x04EA) {
										if (yych >= 0x04EA) goto yy3;
									} else {
										if (yych == 0x04EC) goto yy3;
									}
								} else {
									if (yych <= 0x04EF) {
										if (yych <= 0x04EE) goto yy3;
									} else {
										if (yych != 0x04F1) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x04FB) {
								if (yych <= 0x04F6) {
									if (yych == 0x04F4) goto yy3;
									if (yych >= 0x04F6) goto yy3;
								} else {
									if (yych <= 0x04F8) {
										if (yych >= 0x04F8) goto yy3;
									} else {
										if (yych == 0x04FA) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0500) {
									if (yych <= 0x04FD) {
										if (yych <= 0x04FC) goto yy3;
									} else {
										if (yych != 0x04FF) goto yy3;
									}
								} else {
									if (yych <= 0x0502) {
										if (yych >= 0x0502) goto yy3;
									} else {
										if (yych == 0x0504) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0518) {
							if (yych <= 0x050E) {
								if (yych <= 0x0509) {
									if (yych == 0x0507) goto yy1;
									if (yych <= 0x0508) goto yy3;
								} else {
									if (yych <= 0x050B) {
										if (yych <= 0x050A) goto yy3;
									} else {
										if (yych != 0x050D) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0513) {
									if (yych <= 0x0510) {
										if (yych >= 0x0510) goto yy3;
									} else {
										if (yych == 0x0512) goto yy3;
									}
								} else {
									if (yych <= 0x0515) {
										if (yych <= 0x0514) goto yy3;
									} else {
										if (yych != 0x0517) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0522) {
								if (yych <= 0x051D) {
									if (yych <= 0x051A) {
										if (yych >= 0x051A) goto yy3;
									} else {
										if (yych == 0x051C) goto yy3;
									}
								} else {
									if (yych <= 0x051F) {
										if (yych <= 0x051E) goto yy3;
									} else {
										if (yych != 0x0521) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0527) {
									if (yych <= 0x0524) {
										if (yych >= 0x0524) goto yy3;
									} else {
										if (yych == 0x0526) goto yy3;
									}
								} else {
									if (yych <= 0x0529) {
										if (yych <= 0x0528) goto yy3;
									} else {
										if (yych != 0x052B) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x1E13) {
						if (yych <= 0x1DFF) {
							if (yych <= 0x10CC) {
								if (yych <= 0x0556) {
									if (yych == 0x052E) goto yy3;
									if (yych >= 0x0531) goto yy3;
								} else {
									if (yych <= 0x10C5) {
										if (yych >= 0x10A0) goto yy3;
									} else {
										if (yych == 0x10C7) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1C89) {
									if (yych <= 0x139F) {
										if (yych <= 0x10CD) goto yy3;
									} else {
										if (yych <= 0x13F5) goto yy3;
										if (yych >= 0x1C89) goto yy3;
									}
								} else {
									if (yych <= 0x1CBA) {
										if (yych >= 0x1C90) goto yy3;
									} else {
										if (yych <= 0x1CBC) goto yy1;
										if (yych <= 0x1CBF) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E09) {
								if (yych <= 0x1E04) {
									if (yych <= 0x1E01) {
										if (yych <= 0x1E00) goto yy3;
									} else {
										if (yych != 0x1E03) goto yy3;
									}
								} else {
									if (yych <= 0x1E06) {
										if (yych >= 0x1E06) goto yy3;
									} else {
										if (yych == 0x1E08) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E0E) {
									if (yych <= 0x1E0B) {
										if (yych <= 0x1E0A) goto yy3;
									} else {
										if (yych != 0x1E0D) goto yy3;
									}
								} else {
									if (yych <= 0x1E10) {
										if (yych >= 0x1E10) goto yy3;
									} else {
										if (yych == 0x1E12) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1E26) {
							if (yych <= 0x1E1C) {
								if (yych <= 0x1E17) {
									if (yych == 0x1E15) goto yy1;
									if (yych <= 0x1E16) goto yy3;
								} else {
									if (yych <= 0x1E19) {
										if (yych <= 0x1E18) goto yy3;
									} else {
										if (yych != 0x1E1B) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E21) {
									if (yych <= 0x1E1E) {
										if (yych >= 0x1E1E) goto yy3;
									} else {
										if (yych == 0x1E20) goto yy3;
									}
								} else {
									if (yych <= 0x1E23) {
										if (yych <= 0x1E22) goto yy3;
									} else {
										if (yych != 0x1E25) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E30) {
								if (yych <= 0x1E2B) {
									if (yych <= 0x1E28) {
										if (yych >= 0x1E28) goto yy3;
									} else {
										if (yych == 0x1E2A) goto yy3;
									}
								} else {
									if (yych <= 0x1E2D) {
										if (yych <= 0x1E2C) goto yy3;
									} else {
										if (yych != 0x1E2F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E35) {
									if (yych <= 0x1E32) {
										if (yych >= 0x1E32) goto yy3;
									} else {
										if (yych == 0x1E34) goto yy3;
									}
								} else {
									if (yych <= 0x1E37) {
										if (yych <= 0x1E36) goto yy3;
									} else {
										if (yych != 0x1E39) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		}
	} else {
		if (yych <= 0x2CAB) {
			if (yych <= 0x1EDC) {
				if (yych <= 0x1E87) {
					if (yych <= 0x1E60) {
						if (yych <= 0x1E4D) {
							if (yych <= 0x1E43) {
								if (yych <= 0x1E3E) {
									if (yych == 0x1E3C) goto yy3;
									if (yych >= 0x1E3E) goto yy3;
								} else {
									if (yych <= 0x1E40) {
										if (yych >= 0x1E40) goto yy3;
									} else {
										if (yych == 0x1E42) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E48) {
									if (yych <= 0x1E45) {
										if (yych <= 0x1E44) goto yy3;
									} else {
										if (yych != 0x1E47) goto yy3;
									}
								} else {
									if (yych <= 0x1E4A) {
										if (yych >= 0x1E4A) goto yy3;
									} else {
										if (yych == 0x1E4C) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E56) {
								if (yych <= 0x1E51) {
									if (yych == 0x1E4F) goto yy1;
									if (yych <= 0x1E50) goto yy3;
								} else {
									if (yych <= 0x1E53) {
										if (yych <= 0x1E52) goto yy3;
									} else {
										if (yych != 0x1E55) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E5B) {
									if (yych <= 0x1E58) {
										if (yych >= 0x1E58) goto yy3;
									} else {
										if (yych == 0x1E5A) goto yy3;
									}
								} else {
									if (yych <= 0x1E5D) {
										if (yych <= 0x1E5C) goto yy3;
									} else {
										if (yych != 0x1E5F) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1E73) {
							if (yych <= 0x1E69) {
								if (yych <= 0x1E64) {
									if (yych == 0x1E62) goto yy3;
									if (yych >= 0x1E64) goto yy3;
								} else {
									if (yych <= 0x1E66) {
										if (yych >= 0x1E66) goto yy3;
									} else {
										if (yych == 0x1E68) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E6E) {
									if (yych <= 0x1E6B) {
										if (yych <= 0x1E6A) goto yy3;
									} else {
										if (yych != 0x1E6D) goto yy3;
									}
								} else {
									if (yych <= 0x1E70) {
										if (yych >= 0x1E70) goto yy3;
									} else {
										if (yych == 0x1E72) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E7D) {
								if (yych <= 0x1E78) {
									if (yych <= 0x1E75) {
										if (yych <= 0x1E74) goto yy3;
									} else {
										if (yych != 0x1E77) goto yy3;
									}
								} else {
									if (yych <= 0x1E7A) {
										if (yych >= 0x1E7A) goto yy3;
									} else {
										if (yych == 0x1E7C) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E82) {
									if (yych <= 0x1E7F) {
										if (yych <= 0x1E7E) goto yy3;
									} else {
										if (yych != 0x1E81) goto yy3;
									}
								} else {
									if (yych <= 0x1E84) {
										if (yych >= 0x1E84) goto yy3;
									} else {
										if (yych == 0x1E86) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x1EB5) {
						if (yych <= 0x1EA2) {
							if (yych <= 0x1E90) {
								if (yych <= 0x1E8B) {
									if (yych == 0x1E89) goto yy1;
									if (yych <= 0x1E8A) goto yy3;
								} else {
									if (yych <= 0x1E8D) {
										if (yych <= 0x1E8C) goto yy3;
									} else {
										if (yych != 0x1E8F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E9D) {
									if (yych <= 0x1E92) {
										if (yych >= 0x1E92) goto yy3;
									} else {
										if (yych == 0x1E94) goto yy3;
									}
								} else {
									if (yych <= 0x1E9F) {
										if (yych <= 0x1E9E) goto yy3;
									} else {
										if (yych != 0x1EA1) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1EAB) {
								if (yych <= 0x1EA6) {
									if (yych == 0x1EA4) goto yy3;
									if (yych >= 0x1EA6) goto yy3;
								} else {
									if (yych <= 0x1EA8) {
										if (yych >= 0x1EA8) goto yy3;
									} else {
										if (yych == 0x1EAA) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EB0) {
									if (yych <= 0x1EAD) {
										if (yych <= 0x1EAC) goto yy3;
									} else {
										if (yych != 0x1EAF) goto yy3;
									}
								} else {
									if (yych <= 0x1EB2) {
										if (yych >= 0x1EB2) goto yy3;
									} else {
										if (yych == 0x1EB4) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1EC8) {
							if (yych <= 0x1EBE) {
								if (yych <= 0x1EB9) {
									if (yych == 0x1EB7) goto yy1;
									if (yych <= 0x1EB8) goto yy3;
								} else {
									if (yych <= 0x1EBB) {
										if (yych <= 0x1EBA) goto yy3;
									} else {
										if (yych != 0x1EBD) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EC3) {
									if (yych <= 0x1EC0) {
										if (yych >= 0x1EC0) goto yy3;
									} else {
										if (yych == 0x1EC2) goto yy3;
									}
								} else {
									if (yych <= 0x1EC5) {
										if (yych <= 0x1EC4) goto yy3;
									} else {
										if (yych != 0x1EC7) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1ED2) {
								if (yych <= 0x1ECD) {
									if (yych <= 0x1ECA) {
										if (yych >= 0x1ECA) goto yy3;
									} else {
										if (yych == 0x1ECC) goto yy3;
									}
								} else {
									if (yych <= 0x1ECF) {
										if (yych <= 0x1ECE) goto yy3;
									} else {
										if (yych != 0x1ED1) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1ED7) {
									if (yych <= 0x1ED4) {
										if (yych >= 0x1ED4) goto yy3;
									} else {
										if (yych == 0x1ED6) goto yy3;
									}
								} else {
									if (yych <= 0x1ED9) {
										if (yych <= 0x1ED8) goto yy3;
									} else {
										if (yych != 0x1EDB) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x2123) {
					if (yych <= 0x1F1D) {
						if (yych <= 0x1EEF) {
							if (yych <= 0x1EE5) {
								if (yych <= 0x1EE0) {
									if (yych == 0x1EDE) goto yy3;
									if (yych >= 0x1EE0) goto yy3;
								} else {
									if (yych <= 0x1EE2) {
										if (yych >= 0x1EE2) goto yy3;
									} else {
										if (yych == 0x1EE4) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EEA) {
									if (yych <= 0x1EE7) {
										if (yych <= 0x1EE6) goto yy3;
									} else {
										if (yych != 0x1EE9) goto yy3;
									}
								} else {
									if (yych <= 0x1EEC) {
										if (yych >= 0x1EEC) goto yy3;
									} else {
										if (yych == 0x1EEE) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1EF8) {
								if (yych <= 0x1EF3) {
									if (yych == 0x1EF1) goto yy1;
									if (yych <= 0x1EF2) goto yy3;
								} else {
									if (yych <= 0x1EF5) {
										if (yych <= 0x1EF4) goto yy3;
									} else {
										if (yych != 0x1EF7) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EFD) {
									if (yych <= 0x1EFA) {
										if (yych >= 0x1EFA) goto yy3;
									} else {
										if (yych == 0x1EFC) goto yy3;
									}
								} else {
									if (yych <= 0x1F07) {
										if (yych <= 0x1EFE) goto yy3;
									} else {
										if (yych <= 0x1F0F) goto yy3;
										if (yych >= 0x1F18) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1FC7) {
							if (yych <= 0x1F5A) {
								if (yych <= 0x1F3F) {
									if (yych <= 0x1F27) goto yy1;
									if (yych <= 0x1F2F) goto yy3;
									if (yych >= 0x1F38) goto yy3;
								} else {
									if (yych <= 0x1F4D) {
										if (yych >= 0x1F48) goto yy3;
									} else {
										if (yych == 0x1F59) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1F5F) {
									if (yych <= 0x1F5C) {
										if (yych <= 0x1F5B) goto yy3;
									} else {
										if (yych != 0x1F5E) goto yy3;
									}
								} else {
									if (yych <= 0x1F6F) {
										if (yych >= 0x1F68) goto yy3;
									} else {
										if (yych <= 0x1FB7) goto yy1;
										if (yych <= 0x1FBB) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2106) {
								if (yych <= 0x1FEC) {
									if (yych <= 0x1FD7) {
										if (yych <= 0x1FCB) goto yy3;
									} else {
										if (yych <= 0x1FDB) goto yy3;
										if (yych >= 0x1FE8) goto yy3;
									}
								} else {
									if (yych <= 0x1FFB) {
										if (yych >= 0x1FF8) goto yy3;
									} else {
										if (yych == 0x2102) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2112) {
									if (yych <= 0x210A) {
										if (yych <= 0x2107) goto yy3;
									} else {
										if (yych <= 0x210D) goto yy3;
										if (yych >= 0x2110) goto yy3;
									}
								} else {
									if (yych <= 0x2115) {
										if (yych >= 0x2115) goto yy3;
									} else {
										if (yych <= 0x2118) goto yy1;
										if (yych <= 0x211D) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x2C84) {
						if (yych <= 0x2C60) {
							if (yych <= 0x2133) {
								if (yych <= 0x2127) {
									if (yych == 0x2125) goto yy1;
									if (yych <= 0x2126) goto yy3;
								} else {
									if (yych <= 0x2129) {
										if (yych <= 0x2128) goto yy3;
									} else {
										if (yych <= 0x212D) goto yy3;
										if (yych >= 0x2130) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2182) {
									if (yych <= 0x213F) {
										if (yych >= 0x213E) goto yy3;
									} else {
										if (yych == 0x2145) goto yy3;
									}
								} else {
									if (yych <= 0x2BFF) {
										if (yych <= 0x2183) goto yy3;
									} else {
										if (yych <= 0x2C2F) goto yy3;
										if (yych >= 0x2C60) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2C70) {
								if (yych <= 0x2C68) {
									if (yych <= 0x2C64) {
										if (yych >= 0x2C62) goto yy3;
									} else {
										if (yych == 0x2C67) goto yy3;
									}
								} else {
									if (yych <= 0x2C6A) {
										if (yych <= 0x2C69) goto yy3;
									} else {
										if (yych != 0x2C6C) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2C7D) {
									if (yych <= 0x2C72) {
										if (yych >= 0x2C72) goto yy3;
									} else {
										if (yych == 0x2C75) goto yy3;
									}
								} else {
									if (yych <= 0x2C81) {
										if (yych <= 0x2C80) goto yy3;
									} else {
										if (yych != 0x2C83) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x2C97) {
							if (yych <= 0x2C8D) {
								if (yych <= 0x2C88) {
									if (yych == 0x2C86) goto yy3;
									if (yych >= 0x2C88) goto yy3;
								} else {
									if (yych <= 0x2C8A) {
										if (yych >= 0x2C8A) goto yy3;
									} else {
										if (yych == 0x2C8C) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2C92) {
									if (yych <= 0x2C8F) {
										if (yych <= 0x2C8E) goto yy3;
									} else {
										if (yych != 0x2C91) goto yy3;
									}
								} else {
									if (yych <= 0x2C94) {
										if (yych >= 0x2C94) goto yy3;
									} else {
										if (yych == 0x2C96) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2CA1) {
								if (yych <= 0x2C9C) {
									if (yych <= 0x2C99) {
										if (yych <= 0x2C98) goto yy3;
									} else {
										if (yych != 0x2C9B) goto yy3;
									}
								} else {
									if (yych <= 0x2C9E) {
										if (yych >= 0x2C9E) goto yy3;
									} else {
										if (yych == 0x2CA0) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CA6) {
									if (yych <= 0x2CA3) {
										if (yych <= 0x2CA2) goto yy3;
									} else {
										if (yych != 0x2CA5) goto yy3;
									}
								} else {
									if (yych <= 0x2CA8) {
										if (yych >= 0x2CA8) goto yy3;
									} else {
										if (yych == 0x2CAA) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		} else {
			if (yych <= 0xA736) {
				if (yych <= 0xA64E) {
					if (yych <= 0x2CD1) {
						if (yych <= 0x2CBE) {
							if (yych <= 0x2CB4) {
								if (yych <= 0x2CAF) {
									if (yych == 0x2CAD) goto yy1;
									if (yych <= 0x2CAE) goto yy3;
								} else {
									if (yych <= 0x2CB1) {
										if (yych <= 0x2CB0) goto yy3;
									} else {
										if (yych != 0x2CB3) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CB9) {
									if (yych <= 0x2CB6) {
										if (yych >= 0x2CB6) goto yy3;
									} else {
										if (yych == 0x2CB8) goto yy3;
									}
								} else {
									if (yych <= 0x2CBB) {
										if (yych <= 0x2CBA) goto yy3;
									} else {
										if (yych != 0x2CBD) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2CC7) {
								if (yych <= 0x2CC2) {
									if (yych == 0x2CC0) goto yy3;
									if (yych >= 0x2CC2) goto yy3;
								} else {
									if (yych <= 0x2CC4) {
										if (yych >= 0x2CC4) goto yy3;
									} else {
										if (yych == 0x2CC6) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CCC) {
									if (yych <= 0x2CC9) {
										if (yych <= 0x2CC8) goto yy3;
									} else {
										if (yych != 0x2CCB) goto yy3;
									}
								} else {
									if (yych <= 0x2CCE) {
										if (yych >= 0x2CCE) goto yy3;
									} else {
										if (yych == 0x2CD0) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x2CEB) {
							if (yych <= 0x2CDA) {
								if (yych <= 0x2CD5) {
									if (yych == 0x2CD3) goto yy1;
									if (yych <= 0x2CD4) goto yy3;
								} else {
									if (yych <= 0x2CD7) {
										if (yych <= 0x2CD6) goto yy3;
									} else {
										if (yych != 0x2CD9) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CDF) {
									if (yych <= 0x2CDC) {
										if (yych >= 0x2CDC) goto yy3;
									} else {
										if (yych == 0x2CDE) goto yy3;
									}
								} else {
									if (yych <= 0x2CE1) {
										if (yych <= 0x2CE0) goto yy3;
									} else {
										if (yych <= 0x2CE2) goto yy3;
										if (yych >= 0x2CEB) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA644) {
								if (yych <= 0xA63F) {
									if (yych <= 0x2CED) {
										if (yych >= 0x2CED) goto yy3;
									} else {
										if (yych == 0x2CF2) goto yy3;
									}
								} else {
									if (yych <= 0xA641) {
										if (yych <= 0xA640) goto yy3;
									} else {
										if (yych != 0xA643) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA649) {
									if (yych <= 0xA646) {
										if (yych >= 0xA646) goto yy3;
									} else {
										if (yych == 0xA648) goto yy3;
									}
								} else {
									if (yych <= 0xA64B) {
										if (yych <= 0xA64A) goto yy3;
									} else {
										if (yych != 0xA64D) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0xA687) {
						if (yych <= 0xA661) {
							if (yych <= 0xA657) {
								if (yych <= 0xA652) {
									if (yych == 0xA650) goto yy3;
									if (yych >= 0xA652) goto yy3;
								} else {
									if (yych <= 0xA654) {
										if (yych >= 0xA654) goto yy3;
									} else {
										if (yych == 0xA656) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA65C) {
									if (yych <= 0xA659) {
										if (yych <= 0xA658) goto yy3;
									} else {
										if (yych != 0xA65B) goto yy3;
									}
								} else {
									if (yych <= 0xA65E) {
										if (yych >= 0xA65E) goto yy3;
									} else {
										if (yych == 0xA660) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA66B) {
								if (yych <= 0xA666) {
									if (yych <= 0xA663) {
										if (yych <= 0xA662) goto yy3;
									} else {
										if (yych != 0xA665) goto yy3;
									}
								} else {
									if (yych <= 0xA668) {
										if (yych >= 0xA668) goto yy3;
									} else {
										if (yych == 0xA66A) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA682) {
									if (yych <= 0xA67F) {
										if (yych <= 0xA66C) goto yy3;
									} else {
										if (yych != 0xA681) goto yy3;
									}
								} else {
									if (yych <= 0xA684) {
										if (yych >= 0xA684) goto yy3;
									} else {
										if (yych == 0xA686) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0xA69A) {
							if (yych <= 0xA690) {
								if (yych <= 0xA68B) {
									if (yych == 0xA689) goto yy1;
									if (yych <= 0xA68A) goto yy3;
								} else {
									if (yych <= 0xA68D) {
										if (yych <= 0xA68C) goto yy3;
									} else {
										if (yych != 0xA68F) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA695) {
									if (yych <= 0xA692) {
										if (yych >= 0xA692) goto yy3;
									} else {
										if (yych == 0xA694) goto yy3;
									}
								} else {
									if (yych <= 0xA697) {
										if (yych <= 0xA696) goto yy3;
									} else {
										if (yych != 0xA699) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA72A) {
								if (yych <= 0xA725) {
									if (yych <= 0xA722) {
										if (yych >= 0xA722) goto yy3;
									} else {
										if (yych == 0xA724) goto yy3;
									}
								} else {
									if (yych <= 0xA727) {
										if (yych <= 0xA726) goto yy3;
									} else {
										if (yych != 0xA729) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA731) {
									if (yych <= 0xA72C) {
										if (yych >= 0xA72C) goto yy3;
									} else {
										if (yych == 0xA72E) goto yy3;
									}
								} else {
									if (yych <= 0xA733) {
										if (yych <= 0xA732) goto yy3;
									} else {
										if (yych != 0xA735) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0xA791) {
					if (yych <= 0xA75C) {
						if (yych <= 0xA749) {
							if (yych <= 0xA73F) {
								if (yych <= 0xA73A) {
									if (yych == 0xA738) goto yy3;
									if (yych >= 0xA73A) goto yy3;
								} else {
									if (yych <= 0xA73C) {
										if (yych >= 0xA73C) goto yy3;
									} else {
										if (yych == 0xA73E) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA744) {
									if (yych <= 0xA741) {
										if (yych <= 0xA740) goto yy3;
									} else {
										if (yych != 0xA743) goto yy3;
									}
								} else {
									if (yych <= 0xA746) {
										if (yych >= 0xA746) goto yy3;
									} else {
										if (yych == 0xA748) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA752) {
								if (yych <= 0xA74D) {
									if (yych == 0xA74B) goto yy1;
									if (yych <= 0xA74C) goto yy3;
								} else {
									if (yych <= 0xA74F) {
										if (yych <= 0xA74E) goto yy3;
									} else {
										if (yych != 0xA751) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA757) {
									if (yych <= 0xA754) {
										if (yych >= 0xA754) goto yy3;
									} else {
										if (yych == 0xA756) goto yy3;
									}
								} else {
									if (yych <= 0xA759) {
										if (yych <= 0xA758) goto yy3;
									} else {
										if (yych != 0xA75B) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0xA778) {
							if (yych <= 0xA765) {
								if (yych <= 0xA760) {
									if (yych == 0xA75E) goto yy3;
									if (yych >= 0xA760) goto yy3;
								} else {
									if (yych <= 0xA762) {
										if (yych >= 0xA762) goto yy3;
									} else {
										if (yych == 0xA764) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA76A) {
									if (yych <= 0xA767) {
										if (yych <= 0xA766) goto yy3;
									} else {
										if (yych != 0xA769) goto yy3;
									}
								} else {
									if (yych <= 0xA76C) {
										if (yych >= 0xA76C) goto yy3;
									} else {
										if (yych == 0xA76E) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA783) {
								if (yych <= 0xA77E) {
									if (yych <= 0xA77A) {
										if (yych <= 0xA779) goto yy3;
									} else {
										if (yych != 0xA77C) goto yy3;
									}
								} else {
									if (yych <= 0xA780) {
										if (yych >= 0xA780) goto yy3;
									} else {
										if (yych == 0xA782) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA78B) {
									if (yych <= 0xA785) {
										if (yych <= 0xA784) goto yy3;
									} else {
										if (yych <= 0xA786) goto yy3;
										if (yych >= 0xA78B) goto yy3;
									}
								} else {
									if (yych <= 0xA78D) {
										if (yych >= 0xA78D) goto yy3;
									} else {
										if (yych == 0xA790) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0xA7C2) {
						if (yych <= 0xA7A6) {
							if (yych <= 0xA79C) {
								if (yych <= 0xA797) {
									if (yych <= 0xA792) goto yy3;
									if (yych == 0xA796) goto yy3;
								} else {
									if (yych <= 0xA799) {
										if (yych <= 0xA798) goto yy3;
									} else {
										if (yych != 0xA79B) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA7A1) {
									if (yych <= 0xA79E) {
										if (yych >= 0xA79E) goto yy3;
									} else {
										if (yych == 0xA7A0) goto yy3;
									}
								} else {
									if (yych <= 0xA7A3) {
										if (yych <= 0xA7A2) goto yy3;
									} else {
										if (yych != 0xA7A5) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA7B8) {
								if (yych <= 0xA7AF) {
									if (yych <= 0xA7A8) {
										if (yych >= 0xA7A8) goto yy3;
									} else {
										if (yych <= 0xA7A9) goto yy1;
										if (yych <= 0xA7AE) goto yy3;
									}
								} else {
									if (yych <= 0xA7B5) {
										if (yych <= 0xA7B4) goto yy3;
									} else {
										if (yych != 0xA7B7) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA7BD) {
									if (yych <= 0xA7BA) {
										if (yych >= 0xA7BA) goto yy3;
									} else {
										if (yych == 0xA7BC) goto yy3;
									}
								} else {
									if (yych <= 0xA7BF) {
										if (yych <= 0xA7BE) goto yy3;
									} else {
										if (yych != 0xA7C1) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0xA7D9) {
							if (yych <= 0xA7CF) {
								if (yych <= 0xA7C9) {
									if (yych <= 0xA7C3) goto yy1;
									if (yych != 0xA7C8) goto yy3;
								} else {
									if (yych <= 0xA7CC) {
										if (yych >= 0xA7CB) goto yy3;
									} else {
										if (yych == 0xA7CE) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA7D4) {
									if (yych <= 0xA7D1) {
										if (yych <= 0xA7D0) goto yy3;
									} else {
										if (yych != 0xA7D3) goto yy3;
									}
								} else {
									if (yych <= 0xA7D6) {
										if (yych >= 0xA7D6) goto yy3;
									} else {
										if (yych == 0xA7D8) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xD805) {
								if (yych <= 0xA7F5) {
									if (yych <= 0xA7DB) {
										if (yych <= 0xA7DA) goto yy3;
									} else {
										if (yych <= 0xA7DC) goto yy3;
										if (yych >= 0xA7F5) goto yy3;
									}
								} else {
									if (yych <= 0xD801) {
										if (yych >= 0xD801) goto yy4;
									} else {
										if (yych == 0xD803) goto yy5;
									}
								}
							} else {
								if (yych <= 0xD835) {
									if (yych <= 0xD81A) {
										if (yych <= 0xD806) goto yy6;
									} else {
										if (yych <= 0xD81B) goto yy7;
										if (yych >= 0xD835) goto yy8;
									}
								} else {
									if (yych <= 0xD83A) {
										if (yych >= 0xD83A) goto yy9;
									} else {
										if (yych <= 0xFF20) goto yy1;
										if (yych <= 0xFF3A) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		}
	}
yy1:
	++YYCURSOR;
yy2:
#line 15 "encodings/unicode_group_Lu_x.re"
	{ return YYCURSOR - 1 == limit; }
#line 1966 "encodings/unicode_group_Lu_x.c"
yy3:
	++YYCURSOR;
#line 14 "encodings/unicode_group_Lu_x.re"
	{ goto Lu; }
#line 1971 "encodings/unicode_group_Lu_x.c"
yy4:
	yych = *++YYCURSOR;
	if (yych <= 0xDD7A) {
		if (yych <= 0xDCAF) {
			if (yych <= 0xDBFF) goto yy2;
			if (yych <= 0xDC27) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDCD3) goto yy3;
			if (yych <= 0xDD6F) goto yy2;
			goto yy3;
		}
	} else {
		if (yych <= 0xDD8B) {
			if (yych <= 0xDD7B) goto yy2;
			if (yych <= 0xDD8A) goto yy3;
			goto yy2;
		} else {
			if (yych == 0xDD93) goto yy2;
			if (yych <= 0xDD95) goto yy3;
			goto yy2;
		}
	}
yy5:
	yych = *++YYCURSOR;
	if (yych <= 0xDC7F) goto yy2;
	if (yych <= 0xDCB2) goto yy3;
	if (yych <= 0xDD4F) goto yy2;
	if (yych <= 0xDD65) goto yy3;
	goto yy2;
yy6:
	yych = *++YYCURSOR;
	if (yych <= 0xDC9F) goto yy2;
	if (yych <= 0xDCBF) goto yy3;
	goto yy2;
yy7:
	yych = *++YYCURSOR;
	if (yych <= 0xDE3F) goto yy2;
	if (yych <= 0xDE5F) goto yy3;
	if (yych <= 0xDE9F) goto yy2;
	if (yych <= 0xDEB8) goto yy3;
	goto yy2;
yy8:
	yych = *++YYCURSOR;
	if (yych <= 0xDD3A) {
		if (yych <= 0xDCA8) {
			if (yych <= 0xDC9B) {
				if (yych <= 0xDC33) {
					if (yych <= 0xDBFF) goto yy2;
					if (yych <= 0xDC19) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDC4D) goto yy3;
					if (yych <= 0xDC67) goto yy2;
					if (yych <= 0xDC81) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDCA1) {
					if (yych == 0xDC9D) goto yy2;
					if (yych <= 0xDC9F) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDCA2) goto yy3;
					if (yych <= 0xDCA4) goto yy2;
					if (yych <= 0xDCA6) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDD06) {
				if (yych <= 0xDCCF) {
					if (yych == 0xDCAD) goto yy2;
					if (yych <= 0xDCB5) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDCE9) goto yy3;
					if (yych <= 0xDD03) goto yy2;
					if (yych <= 0xDD05) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDD15) {
					if (yych <= 0xDD0A) goto yy3;
					if (yych <= 0xDD0C) goto yy2;
					if (yych <= 0xDD14) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDD1C) goto yy3;
					if (yych <= 0xDD37) goto yy2;
					if (yych <= 0xDD39) goto yy3;
					goto yy2;
				}
			}
		}
	} else {
		if (yych <= 0xDE3B) {
			if (yych <= 0xDD6B) {
				if (yych <= 0xDD45) {
					if (yych == 0xDD3F) goto yy2;
					if (yych <= 0xDD44) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDD46) goto yy3;
					if (yych <= 0xDD49) goto yy2;
					if (yych <= 0xDD50) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDDD3) {
					if (yych <= 0xDD85) goto yy3;
					if (yych <= 0xDD9F) goto yy2;
					if (yych <= 0xDDB9) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDDED) goto yy3;
					if (yych <= 0xDE07) goto yy2;
					if (yych <= 0xDE21) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDF1B) {
				if (yych <= 0xDEA7) {
					if (yych <= 0xDE55) goto yy3;
					if (yych <= 0xDE6F) goto yy2;
					if (yych <= 0xDE89) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDEC0) goto yy3;
					if (yych <= 0xDEE1) goto yy2;
					if (yych <= 0xDEFA) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDF8F) {
					if (yych <= 0xDF34) goto yy3;
					if (yych <= 0xDF55) goto yy2;
					if (yych <= 0xDF6E) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDFA8) goto yy3;
					if (yych == 0xDFCA) goto yy3;
					goto yy2;
				}
			}
		}
	}
yy9:
	yych = *++YYCURSOR;
	if (yych <= 0xDCFF) goto yy2;
	if (yych <= 0xDD21) goto yy3;
	goto yy2;
}
#line 16 "encodings/unicode_group_Lu_x.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_utf16(const uint32_t* ranges, uint32_t ranges_count, uint16_t* s) {
	uint16_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)
			if (j <= re2c::utf16::MAX_1WORD_RUNE) {
				*s++ = j;
			} else {
				*s++ = re2c::utf16::lead_surr(j);
				*s++ = re2c::utf16::trail_surr(j);
			}
	for (uint32_t i = 0; i < 2; ++i) s[i] = 0;
	return s - s0;
}

int main() {
	YYCTYPE* buffer_Lu = new YYCTYPE[3774];
	uint32_t buffer_Lu_len = encode_utf16(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;
}
