/* Generated by re2c */
#line 1 "encodings/unicode_group_Lo_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
Lo:

#line 15 "encodings/unicode_group_Lo_x.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x138F) {
		if (yych <= 0x0B9C) {
			if (yych <= 0x09DB) {
				if (yych <= 0x07C9) {
					if (yych <= 0x066D) {
						if (yych <= 0x0293) {
							if (yych <= 0x00BA) {
								if (yych == 0x00AA) goto yy3;
								if (yych >= 0x00BA) goto yy3;
							} else {
								if (yych <= 0x01BB) {
									if (yych >= 0x01BB) goto yy3;
								} else {
									if (yych <= 0x01BF) goto yy1;
									if (yych <= 0x01C3) goto yy3;
								}
							}
						} else {
							if (yych <= 0x05F2) {
								if (yych <= 0x05CF) {
									if (yych <= 0x0295) goto yy3;
								} else {
									if (yych <= 0x05EA) goto yy3;
									if (yych >= 0x05EF) goto yy3;
								}
							} else {
								if (yych <= 0x063F) {
									if (yych >= 0x0620) goto yy3;
								} else {
									if (yych <= 0x0640) goto yy1;
									if (yych <= 0x064A) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x06FE) {
							if (yych <= 0x06D5) {
								if (yych <= 0x0670) {
									if (yych <= 0x066F) goto yy3;
								} else {
									if (yych != 0x06D4) goto yy3;
								}
							} else {
								if (yych <= 0x06EF) {
									if (yych >= 0x06EE) goto yy3;
								} else {
									if (yych <= 0x06F9) goto yy1;
									if (yych <= 0x06FC) goto yy3;
								}
							}
						} else {
							if (yych <= 0x072F) {
								if (yych <= 0x070F) {
									if (yych <= 0x06FF) goto yy3;
								} else {
									if (yych != 0x0711) goto yy3;
								}
							} else {
								if (yych <= 0x07A5) {
									if (yych >= 0x074D) goto yy3;
								} else {
									if (yych == 0x07B1) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0x0957) {
						if (yych <= 0x0888) {
							if (yych <= 0x0858) {
								if (yych <= 0x07FF) {
									if (yych <= 0x07EA) goto yy3;
								} else {
									if (yych <= 0x0815) goto yy3;
									if (yych >= 0x0840) goto yy3;
								}
							} else {
								if (yych <= 0x086A) {
									if (yych >= 0x0860) goto yy3;
								} else {
									if (yych <= 0x086F) goto yy1;
									if (yych <= 0x0887) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0939) {
								if (yych <= 0x089F) {
									if (yych <= 0x088F) goto yy3;
								} else {
									if (yych <= 0x08C8) goto yy3;
									if (yych >= 0x0904) goto yy3;
								}
							} else {
								if (yych <= 0x093D) {
									if (yych >= 0x093D) goto yy3;
								} else {
									if (yych == 0x0950) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x09A9) {
							if (yych <= 0x098C) {
								if (yych <= 0x0971) {
									if (yych <= 0x0961) goto yy3;
								} else {
									if (yych <= 0x0980) goto yy3;
									if (yych >= 0x0985) goto yy3;
								}
							} else {
								if (yych <= 0x0990) {
									if (yych >= 0x098F) goto yy3;
								} else {
									if (yych <= 0x0992) goto yy1;
									if (yych <= 0x09A8) goto yy3;
								}
							}
						} else {
							if (yych <= 0x09B9) {
								if (yych <= 0x09B1) {
									if (yych <= 0x09B0) goto yy3;
								} else {
									if (yych <= 0x09B2) goto yy3;
									if (yych >= 0x09B6) goto yy3;
								}
							} else {
								if (yych <= 0x09BD) {
									if (yych >= 0x09BD) goto yy3;
								} else {
									if (yych == 0x09CE) goto yy3;
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x0AB9) {
					if (yych <= 0x0A36) {
						if (yych <= 0x0A0A) {
							if (yych <= 0x09EF) {
								if (yych == 0x09DE) goto yy1;
								if (yych <= 0x09E1) goto yy3;
							} else {
								if (yych <= 0x09FB) {
									if (yych <= 0x09F1) goto yy3;
								} else {
									if (yych <= 0x09FC) goto yy3;
									if (yych >= 0x0A05) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0A29) {
								if (yych <= 0x0A10) {
									if (yych >= 0x0A0F) goto yy3;
								} else {
									if (yych <= 0x0A12) goto yy1;
									if (yych <= 0x0A28) goto yy3;
								}
							} else {
								if (yych <= 0x0A31) {
									if (yych <= 0x0A30) goto yy3;
								} else {
									if (yych != 0x0A34) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x0A8D) {
							if (yych <= 0x0A5D) {
								if (yych <= 0x0A39) {
									if (yych >= 0x0A38) goto yy3;
								} else {
									if (yych <= 0x0A58) goto yy1;
									if (yych <= 0x0A5C) goto yy3;
								}
							} else {
								if (yych <= 0x0A71) {
									if (yych <= 0x0A5E) goto yy3;
								} else {
									if (yych <= 0x0A74) goto yy3;
									if (yych >= 0x0A85) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0AA9) {
								if (yych <= 0x0A91) {
									if (yych >= 0x0A8F) goto yy3;
								} else {
									if (yych <= 0x0A92) goto yy1;
									if (yych <= 0x0AA8) goto yy3;
								}
							} else {
								if (yych <= 0x0AB1) {
									if (yych <= 0x0AB0) goto yy3;
								} else {
									if (yych != 0x0AB4) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0x0B39) {
						if (yych <= 0x0B0C) {
							if (yych <= 0x0ADF) {
								if (yych <= 0x0ABD) {
									if (yych >= 0x0ABD) goto yy3;
								} else {
									if (yych == 0x0AD0) goto yy3;
								}
							} else {
								if (yych <= 0x0AF8) {
									if (yych <= 0x0AE1) goto yy3;
								} else {
									if (yych <= 0x0AF9) goto yy3;
									if (yych >= 0x0B05) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0B29) {
								if (yych <= 0x0B10) {
									if (yych >= 0x0B0F) goto yy3;
								} else {
									if (yych <= 0x0B12) goto yy1;
									if (yych <= 0x0B28) goto yy3;
								}
							} else {
								if (yych <= 0x0B31) {
									if (yych <= 0x0B30) goto yy3;
								} else {
									if (yych != 0x0B34) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x0B83) {
							if (yych <= 0x0B5E) {
								if (yych <= 0x0B3D) {
									if (yych >= 0x0B3D) goto yy3;
								} else {
									if (yych <= 0x0B5B) goto yy1;
									if (yych <= 0x0B5D) goto yy3;
								}
							} else {
								if (yych <= 0x0B70) {
									if (yych <= 0x0B61) goto yy3;
								} else {
									if (yych <= 0x0B71) goto yy3;
									if (yych >= 0x0B83) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0B91) {
								if (yych <= 0x0B8A) {
									if (yych >= 0x0B85) goto yy3;
								} else {
									if (yych <= 0x0B8D) goto yy1;
									if (yych <= 0x0B90) goto yy3;
								}
							} else {
								if (yych <= 0x0B98) {
									if (yych <= 0x0B95) goto yy3;
								} else {
									if (yych != 0x0B9B) goto yy3;
								}
							}
						}
					}
				}
			}
		} else {
			if (yych <= 0x0E80) {
				if (yych <= 0x0CBC) {
					if (yych <= 0x0C3C) {
						if (yych <= 0x0BCF) {
							if (yych <= 0x0BA4) {
								if (yych <= 0x0B9D) goto yy1;
								if (yych <= 0x0B9F) goto yy3;
								if (yych >= 0x0BA3) goto yy3;
							} else {
								if (yych <= 0x0BAA) {
									if (yych >= 0x0BA8) goto yy3;
								} else {
									if (yych <= 0x0BAD) goto yy1;
									if (yych <= 0x0BB9) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0C10) {
								if (yych <= 0x0C04) {
									if (yych <= 0x0BD0) goto yy3;
								} else {
									if (yych != 0x0C0D) goto yy3;
								}
							} else {
								if (yych <= 0x0C28) {
									if (yych >= 0x0C12) goto yy3;
								} else {
									if (yych <= 0x0C29) goto yy1;
									if (yych <= 0x0C39) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x0C84) {
							if (yych <= 0x0C5D) {
								if (yych <= 0x0C57) {
									if (yych <= 0x0C3D) goto yy3;
								} else {
									if (yych != 0x0C5B) goto yy3;
								}
							} else {
								if (yych <= 0x0C61) {
									if (yych >= 0x0C60) goto yy3;
								} else {
									if (yych == 0x0C80) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0CA8) {
								if (yych <= 0x0C8D) {
									if (yych <= 0x0C8C) goto yy3;
								} else {
									if (yych != 0x0C91) goto yy3;
								}
							} else {
								if (yych <= 0x0CB3) {
									if (yych >= 0x0CAA) goto yy3;
								} else {
									if (yych <= 0x0CB4) goto yy1;
									if (yych <= 0x0CB9) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0x0D5E) {
						if (yych <= 0x0D0D) {
							if (yych <= 0x0CE1) {
								if (yych <= 0x0CDB) {
									if (yych <= 0x0CBD) goto yy3;
								} else {
									if (yych != 0x0CDF) goto yy3;
								}
							} else {
								if (yych <= 0x0CF2) {
									if (yych >= 0x0CF1) goto yy3;
								} else {
									if (yych <= 0x0D03) goto yy1;
									if (yych <= 0x0D0C) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0D3D) {
								if (yych <= 0x0D11) {
									if (yych <= 0x0D10) goto yy3;
								} else {
									if (yych <= 0x0D3A) goto yy3;
									if (yych >= 0x0D3D) goto yy3;
								}
							} else {
								if (yych <= 0x0D4E) {
									if (yych >= 0x0D4E) goto yy3;
								} else {
									if (yych <= 0x0D53) goto yy1;
									if (yych <= 0x0D56) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x0DBC) {
							if (yych <= 0x0D96) {
								if (yych <= 0x0D79) {
									if (yych <= 0x0D61) goto yy3;
								} else {
									if (yych <= 0x0D7F) goto yy3;
									if (yych >= 0x0D85) goto yy3;
								}
							} else {
								if (yych <= 0x0DB1) {
									if (yych >= 0x0D9A) goto yy3;
								} else {
									if (yych <= 0x0DB2) goto yy1;
									if (yych <= 0x0DBB) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0E30) {
								if (yych <= 0x0DBF) {
									if (yych <= 0x0DBD) goto yy3;
								} else {
									if (yych <= 0x0DC6) goto yy3;
									if (yych >= 0x0E01) goto yy3;
								}
							} else {
								if (yych <= 0x0E33) {
									if (yych >= 0x0E32) goto yy3;
								} else {
									if (yych <= 0x0E3F) goto yy1;
									if (yych <= 0x0E45) goto yy3;
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x1066) {
					if (yych <= 0x0EDF) {
						if (yych <= 0x0EA5) {
							if (yych <= 0x0E85) {
								if (yych == 0x0E83) goto yy1;
								if (yych <= 0x0E84) goto yy3;
							} else {
								if (yych <= 0x0E8B) {
									if (yych <= 0x0E8A) goto yy3;
								} else {
									if (yych != 0x0EA4) goto yy3;
								}
							}
						} else {
							if (yych <= 0x0EBC) {
								if (yych <= 0x0EB0) {
									if (yych >= 0x0EA7) goto yy3;
								} else {
									if (yych <= 0x0EB1) goto yy1;
									if (yych <= 0x0EB3) goto yy3;
								}
							} else {
								if (yych <= 0x0EBF) {
									if (yych <= 0x0EBD) goto yy3;
								} else {
									if (yych <= 0x0EC4) goto yy3;
									if (yych >= 0x0EDC) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x102A) {
							if (yych <= 0x0F48) {
								if (yych <= 0x0F00) {
									if (yych >= 0x0F00) goto yy3;
								} else {
									if (yych <= 0x0F3F) goto yy1;
									if (yych <= 0x0F47) goto yy3;
								}
							} else {
								if (yych <= 0x0F87) {
									if (yych <= 0x0F6C) goto yy3;
								} else {
									if (yych <= 0x0F8C) goto yy3;
									if (yych >= 0x1000) goto yy3;
								}
							}
						} else {
							if (yych <= 0x1059) {
								if (yych <= 0x103F) {
									if (yych >= 0x103F) goto yy3;
								} else {
									if (yych <= 0x104F) goto yy1;
									if (yych <= 0x1055) goto yy3;
								}
							} else {
								if (yych <= 0x1060) {
									if (yych <= 0x105D) goto yy3;
								} else {
									if (yych <= 0x1061) goto yy3;
									if (yych >= 0x1065) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0x128D) {
						if (yych <= 0x124D) {
							if (yych <= 0x108D) {
								if (yych <= 0x1070) {
									if (yych >= 0x106E) goto yy3;
								} else {
									if (yych <= 0x1074) goto yy1;
									if (yych <= 0x1081) goto yy3;
								}
							} else {
								if (yych <= 0x10FF) {
									if (yych <= 0x108E) goto yy3;
								} else {
									if (yych != 0x1249) goto yy3;
								}
							}
						} else {
							if (yych <= 0x1259) {
								if (yych <= 0x1256) {
									if (yych >= 0x1250) goto yy3;
								} else {
									if (yych == 0x1258) goto yy3;
								}
							} else {
								if (yych <= 0x125F) {
									if (yych <= 0x125D) goto yy3;
								} else {
									if (yych != 0x1289) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x12C5) {
							if (yych <= 0x12B7) {
								if (yych <= 0x12B0) {
									if (yych >= 0x1290) goto yy3;
								} else {
									if (yych <= 0x12B1) goto yy1;
									if (yych <= 0x12B5) goto yy3;
								}
							} else {
								if (yych <= 0x12BF) {
									if (yych <= 0x12BE) goto yy3;
								} else {
									if (yych != 0x12C1) goto yy3;
								}
							}
						} else {
							if (yych <= 0x1311) {
								if (yych <= 0x12D6) {
									if (yych >= 0x12C8) goto yy3;
								} else {
									if (yych <= 0x12D7) goto yy1;
									if (yych <= 0x1310) goto yy3;
								}
							} else {
								if (yych <= 0x1317) {
									if (yych <= 0x1315) goto yy3;
								} else {
									if (yych <= 0x135A) goto yy3;
									if (yych >= 0x1380) goto yy3;
								}
							}
						}
					}
				}
			}
		}
	} else {
		if (yych <= 0xA925) {
			if (yych <= 0x2D7F) {
				if (yych <= 0x194F) {
					if (yych <= 0x176D) {
						if (yych <= 0x16F0) {
							if (yych <= 0x167F) {
								if (yych <= 0x1400) goto yy1;
								if (yych <= 0x166C) goto yy3;
								if (yych >= 0x166F) goto yy3;
							} else {
								if (yych <= 0x169A) {
									if (yych >= 0x1681) goto yy3;
								} else {
									if (yych <= 0x169F) goto yy1;
									if (yych <= 0x16EA) goto yy3;
								}
							}
						} else {
							if (yych <= 0x1731) {
								if (yych <= 0x16FF) {
									if (yych <= 0x16F8) goto yy3;
								} else {
									if (yych <= 0x1711) goto yy3;
									if (yych >= 0x171F) goto yy3;
								}
							} else {
								if (yych <= 0x1751) {
									if (yych >= 0x1740) goto yy3;
								} else {
									if (yych <= 0x175F) goto yy1;
									if (yych <= 0x176C) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x187F) {
							if (yych <= 0x17DC) {
								if (yych <= 0x177F) {
									if (yych <= 0x1770) goto yy3;
								} else {
									if (yych <= 0x17B3) goto yy3;
									if (yych >= 0x17DC) goto yy3;
								}
							} else {
								if (yych <= 0x1842) {
									if (yych >= 0x1820) goto yy3;
								} else {
									if (yych <= 0x1843) goto yy1;
									if (yych <= 0x1878) goto yy3;
								}
							}
						} else {
							if (yych <= 0x18AA) {
								if (yych <= 0x1886) {
									if (yych <= 0x1884) goto yy3;
								} else {
									if (yych != 0x18A9) goto yy3;
								}
							} else {
								if (yych <= 0x18F5) {
									if (yych >= 0x18B0) goto yy3;
								} else {
									if (yych <= 0x18FF) goto yy1;
									if (yych <= 0x191E) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0x1BB9) {
						if (yych <= 0x1A1F) {
							if (yych <= 0x19AB) {
								if (yych <= 0x196F) {
									if (yych <= 0x196D) goto yy3;
								} else {
									if (yych <= 0x1974) goto yy3;
									if (yych >= 0x1980) goto yy3;
								}
							} else {
								if (yych <= 0x19C9) {
									if (yych >= 0x19B0) goto yy3;
								} else {
									if (yych <= 0x19FF) goto yy1;
									if (yych <= 0x1A16) goto yy3;
								}
							}
						} else {
							if (yych <= 0x1B4C) {
								if (yych <= 0x1B04) {
									if (yych <= 0x1A54) goto yy3;
								} else {
									if (yych <= 0x1B33) goto yy3;
									if (yych >= 0x1B45) goto yy3;
								}
							} else {
								if (yych <= 0x1BA0) {
									if (yych >= 0x1B83) goto yy3;
								} else {
									if (yych <= 0x1BAD) goto yy1;
									if (yych <= 0x1BAF) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x1CED) {
							if (yych <= 0x1C4F) {
								if (yych <= 0x1BFF) {
									if (yych <= 0x1BE5) goto yy3;
								} else {
									if (yych <= 0x1C23) goto yy3;
									if (yych >= 0x1C4D) goto yy3;
								}
							} else {
								if (yych <= 0x1C77) {
									if (yych >= 0x1C5A) goto yy3;
								} else {
									if (yych <= 0x1CE8) goto yy1;
									if (yych <= 0x1CEC) goto yy3;
								}
							}
						} else {
							if (yych <= 0x1CFA) {
								if (yych <= 0x1CF4) {
									if (yych <= 0x1CF3) goto yy3;
								} else {
									if (yych <= 0x1CF6) goto yy3;
									if (yych >= 0x1CFA) goto yy3;
								}
							} else {
								if (yych <= 0x2138) {
									if (yych >= 0x2135) goto yy3;
								} else {
									if (yych <= 0x2D2F) goto yy1;
									if (yych <= 0x2D67) goto yy3;
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x4DBF) {
					if (yych <= 0x3006) {
						if (yych <= 0x2DBE) {
							if (yych <= 0x2DA7) {
								if (yych <= 0x2D96) goto yy3;
								if (yych <= 0x2D9F) goto yy1;
								if (yych <= 0x2DA6) goto yy3;
							} else {
								if (yych <= 0x2DAF) {
									if (yych <= 0x2DAE) goto yy3;
								} else {
									if (yych != 0x2DB7) goto yy3;
								}
							}
						} else {
							if (yych <= 0x2DCF) {
								if (yych <= 0x2DC6) {
									if (yych >= 0x2DC0) goto yy3;
								} else {
									if (yych <= 0x2DC7) goto yy1;
									if (yych <= 0x2DCE) goto yy3;
								}
							} else {
								if (yych <= 0x2DD7) {
									if (yych <= 0x2DD6) goto yy3;
								} else {
									if (yych <= 0x2DDE) goto yy3;
									if (yych >= 0x3006) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0x30FF) {
							if (yych <= 0x309E) {
								if (yych <= 0x303C) {
									if (yych >= 0x303C) goto yy3;
								} else {
									if (yych <= 0x3040) goto yy1;
									if (yych <= 0x3096) goto yy3;
								}
							} else {
								if (yych <= 0x30A0) {
									if (yych <= 0x309F) goto yy3;
								} else {
									if (yych <= 0x30FA) goto yy3;
									if (yych >= 0x30FF) goto yy3;
								}
							}
						} else {
							if (yych <= 0x319F) {
								if (yych <= 0x312F) {
									if (yych >= 0x3105) goto yy3;
								} else {
									if (yych <= 0x3130) goto yy1;
									if (yych <= 0x318E) goto yy3;
								}
							} else {
								if (yych <= 0x31EF) {
									if (yych <= 0x31BF) goto yy3;
								} else {
									if (yych <= 0x31FF) goto yy3;
									if (yych >= 0x3400) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0xA7F7) {
						if (yych <= 0xA61F) {
							if (yych <= 0xA4CF) {
								if (yych <= 0xA014) {
									if (yych >= 0x4E00) goto yy3;
								} else {
									if (yych <= 0xA015) goto yy1;
									if (yych <= 0xA48C) goto yy3;
								}
							} else {
								if (yych <= 0xA4FF) {
									if (yych <= 0xA4F7) goto yy3;
								} else {
									if (yych <= 0xA60B) goto yy3;
									if (yych >= 0xA610) goto yy3;
								}
							}
						} else {
							if (yych <= 0xA69F) {
								if (yych <= 0xA62B) {
									if (yych >= 0xA62A) goto yy3;
								} else {
									if (yych == 0xA66E) goto yy3;
								}
							} else {
								if (yych <= 0xA78E) {
									if (yych <= 0xA6E5) goto yy3;
								} else {
									if (yych <= 0xA78F) goto yy3;
									if (yych >= 0xA7F7) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0xA873) {
							if (yych <= 0xA806) {
								if (yych <= 0xA801) {
									if (yych >= 0xA7FB) goto yy3;
								} else {
									if (yych <= 0xA802) goto yy1;
									if (yych <= 0xA805) goto yy3;
								}
							} else {
								if (yych <= 0xA80B) {
									if (yych <= 0xA80A) goto yy3;
								} else {
									if (yych <= 0xA822) goto yy3;
									if (yych >= 0xA840) goto yy3;
								}
							}
						} else {
							if (yych <= 0xA8FA) {
								if (yych <= 0xA8B3) {
									if (yych >= 0xA882) goto yy3;
								} else {
									if (yych <= 0xA8F1) goto yy1;
									if (yych <= 0xA8F7) goto yy3;
								}
							} else {
								if (yych <= 0xA8FC) {
									if (yych <= 0xA8FB) goto yy3;
								} else {
									if (yych <= 0xA8FE) goto yy3;
									if (yych >= 0xA90A) goto yy3;
								}
							}
						}
					}
				}
			}
		} else {
			if (yych <= 0xD817) {
				if (yych <= 0xAADF) {
					if (yych <= 0xAA5F) {
						if (yych <= 0xA9E6) {
							if (yych <= 0xA97C) {
								if (yych <= 0xA92F) goto yy1;
								if (yych <= 0xA946) goto yy3;
								if (yych >= 0xA960) goto yy3;
							} else {
								if (yych <= 0xA9B2) {
									if (yych >= 0xA984) goto yy3;
								} else {
									if (yych <= 0xA9DF) goto yy1;
									if (yych <= 0xA9E4) goto yy3;
								}
							}
						} else {
							if (yych <= 0xAA28) {
								if (yych <= 0xA9F9) {
									if (yych <= 0xA9EF) goto yy3;
								} else {
									if (yych != 0xA9FF) goto yy3;
								}
							} else {
								if (yych <= 0xAA42) {
									if (yych >= 0xAA40) goto yy3;
								} else {
									if (yych <= 0xAA43) goto yy1;
									if (yych <= 0xAA4B) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0xAAB4) {
							if (yych <= 0xAA7A) {
								if (yych <= 0xAA70) {
									if (yych <= 0xAA6F) goto yy3;
								} else {
									if (yych <= 0xAA76) goto yy3;
									if (yych >= 0xAA7A) goto yy3;
								}
							} else {
								if (yych <= 0xAAAF) {
									if (yych >= 0xAA7E) goto yy3;
								} else {
									if (yych == 0xAAB1) goto yy3;
								}
							}
						} else {
							if (yych <= 0xAAC0) {
								if (yych <= 0xAAB8) {
									if (yych <= 0xAAB6) goto yy3;
								} else {
									if (yych <= 0xAABD) goto yy3;
									if (yych >= 0xAAC0) goto yy3;
								}
							} else {
								if (yych <= 0xAAC2) {
									if (yych >= 0xAAC2) goto yy3;
								} else {
									if (yych <= 0xAADA) goto yy1;
									if (yych <= 0xAADC) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0xD7CA) {
						if (yych <= 0xAB1F) {
							if (yych <= 0xAB06) {
								if (yych <= 0xAAF1) {
									if (yych <= 0xAAEA) goto yy3;
								} else {
									if (yych <= 0xAAF2) goto yy3;
									if (yych >= 0xAB01) goto yy3;
								}
							} else {
								if (yych <= 0xAB0E) {
									if (yych >= 0xAB09) goto yy3;
								} else {
									if (yych <= 0xAB10) goto yy1;
									if (yych <= 0xAB16) goto yy3;
								}
							}
						} else {
							if (yych <= 0xABE2) {
								if (yych <= 0xAB27) {
									if (yych <= 0xAB26) goto yy3;
								} else {
									if (yych <= 0xAB2E) goto yy3;
									if (yych >= 0xABC0) goto yy3;
								}
							} else {
								if (yych <= 0xD7A3) {
									if (yych >= 0xAC00) goto yy3;
								} else {
									if (yych <= 0xD7AF) goto yy1;
									if (yych <= 0xD7C6) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0xD807) {
							if (yych <= 0xD802) {
								if (yych <= 0xD7FF) {
									if (yych <= 0xD7FB) goto yy3;
								} else {
									if (yych <= 0xD800) goto yy4;
									if (yych <= 0xD801) goto yy5;
									goto yy6;
								}
							} else {
								if (yych <= 0xD804) {
									if (yych <= 0xD803) goto yy7;
									goto yy8;
								} else {
									if (yych <= 0xD805) goto yy9;
									if (yych <= 0xD806) goto yy10;
									goto yy11;
								}
							}
						} else {
							if (yych <= 0xD80C) {
								if (yych <= 0xD809) {
									if (yych <= 0xD808) goto yy12;
									goto yy13;
								} else {
									if (yych <= 0xD80A) goto yy1;
									if (yych <= 0xD80B) goto yy14;
									goto yy15;
								}
							} else {
								if (yych <= 0xD80F) {
									if (yych <= 0xD80D) goto yy16;
									goto yy15;
								} else {
									if (yych <= 0xD810) goto yy17;
									if (yych <= 0xD811) goto yy18;
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0xFB1E) {
					if (yych <= 0xD86D) {
						if (yych <= 0xD82F) {
							if (yych <= 0xD822) {
								if (yych <= 0xD819) {
									if (yych <= 0xD818) goto yy19;
								} else {
									if (yych <= 0xD81A) goto yy20;
									if (yych <= 0xD81B) goto yy21;
									goto yy15;
								}
							} else {
								if (yych <= 0xD82B) {
									if (yych <= 0xD823) goto yy22;
								} else {
									if (yych <= 0xD82C) goto yy23;
									if (yych >= 0xD82F) goto yy24;
								}
							}
						} else {
							if (yych <= 0xD83A) {
								if (yych <= 0xD837) {
									if (yych >= 0xD837) goto yy25;
								} else {
									if (yych <= 0xD838) goto yy26;
									if (yych <= 0xD839) goto yy27;
									goto yy28;
								}
							} else {
								if (yych <= 0xD83F) {
									if (yych <= 0xD83B) goto yy29;
								} else {
									if (yych == 0xD869) goto yy30;
									goto yy15;
								}
							}
						}
					} else {
						if (yych <= 0xD883) {
							if (yych <= 0xD87A) {
								if (yych <= 0xD872) {
									if (yych <= 0xD86E) goto yy31;
									goto yy15;
								} else {
									if (yych <= 0xD873) goto yy32;
									if (yych <= 0xD879) goto yy15;
									goto yy33;
								}
							} else {
								if (yych <= 0xD87D) {
									if (yych <= 0xD87B) goto yy34;
								} else {
									if (yych <= 0xD87E) goto yy35;
									if (yych >= 0xD880) goto yy15;
								}
							}
						} else {
							if (yych <= 0xFA6D) {
								if (yych <= 0xD88C) {
									if (yych <= 0xD884) goto yy36;
									goto yy15;
								} else {
									if (yych <= 0xD88D) goto yy37;
									if (yych >= 0xF900) goto yy3;
								}
							} else {
								if (yych <= 0xFAD9) {
									if (yych >= 0xFA70) goto yy3;
								} else {
									if (yych == 0xFB1D) goto yy3;
								}
							}
						}
					}
				} else {
					if (yych <= 0xFDEF) {
						if (yych <= 0xFB42) {
							if (yych <= 0xFB3C) {
								if (yych <= 0xFB29) {
									if (yych <= 0xFB28) goto yy3;
								} else {
									if (yych != 0xFB37) goto yy3;
								}
							} else {
								if (yych <= 0xFB3E) {
									if (yych >= 0xFB3E) goto yy3;
								} else {
									if (yych <= 0xFB3F) goto yy1;
									if (yych <= 0xFB41) goto yy3;
								}
							}
						} else {
							if (yych <= 0xFD3D) {
								if (yych <= 0xFB45) {
									if (yych <= 0xFB44) goto yy3;
								} else {
									if (yych <= 0xFBB1) goto yy3;
									if (yych >= 0xFBD3) goto yy3;
								}
							} else {
								if (yych <= 0xFD8F) {
									if (yych >= 0xFD50) goto yy3;
								} else {
									if (yych <= 0xFD91) goto yy1;
									if (yych <= 0xFDC7) goto yy3;
								}
							}
						}
					} else {
						if (yych <= 0xFF9F) {
							if (yych <= 0xFEFC) {
								if (yych <= 0xFE6F) {
									if (yych <= 0xFDFB) goto yy3;
								} else {
									if (yych != 0xFE75) goto yy3;
								}
							} else {
								if (yych <= 0xFF6F) {
									if (yych >= 0xFF66) goto yy3;
								} else {
									if (yych <= 0xFF70) goto yy1;
									if (yych <= 0xFF9D) goto yy3;
								}
							}
						} else {
							if (yych <= 0xFFCF) {
								if (yych <= 0xFFC1) {
									if (yych <= 0xFFBE) goto yy3;
								} else {
									if (yych <= 0xFFC7) goto yy3;
									if (yych >= 0xFFCA) goto yy3;
								}
							} else {
								if (yych <= 0xFFD7) {
									if (yych >= 0xFFD2) goto yy3;
								} else {
									if (yych <= 0xFFD9) goto yy1;
									if (yych <= 0xFFDC) goto yy3;
								}
							}
						}
					}
				}
			}
		}
	}
yy1:
	++YYCURSOR;
yy2:
#line 15 "encodings/unicode_group_Lo_x.re"
	{ return YYCURSOR - 1 == limit; }
#line 1132 "encodings/unicode_group_Lo_x.c"
yy3:
	++YYCURSOR;
#line 14 "encodings/unicode_group_Lo_x.re"
	{ goto Lo; }
#line 1137 "encodings/unicode_group_Lo_x.c"
yy4:
	yych = *++YYCURSOR;
	if (yych <= 0xDE9C) {
		if (yych <= 0xDC3D) {
			if (yych <= 0xDC26) {
				if (yych <= 0xDBFF) goto yy2;
				if (yych == 0xDC0C) goto yy2;
				goto yy3;
			} else {
				if (yych <= 0xDC27) goto yy2;
				if (yych == 0xDC3B) goto yy2;
				goto yy3;
			}
		} else {
			if (yych <= 0xDC5D) {
				if (yych <= 0xDC3E) goto yy2;
				if (yych <= 0xDC4D) goto yy3;
				if (yych <= 0xDC4F) goto yy2;
				goto yy3;
			} else {
				if (yych <= 0xDC7F) goto yy2;
				if (yych <= 0xDCFA) goto yy3;
				if (yych <= 0xDE7F) goto yy2;
				goto yy3;
			}
		}
	} else {
		if (yych <= 0xDF49) {
			if (yych <= 0xDF1F) {
				if (yych <= 0xDE9F) goto yy2;
				if (yych <= 0xDED0) goto yy3;
				if (yych <= 0xDEFF) goto yy2;
				goto yy3;
			} else {
				if (yych <= 0xDF2C) goto yy2;
				if (yych == 0xDF41) goto yy2;
				goto yy3;
			}
		} else {
			if (yych <= 0xDF9D) {
				if (yych <= 0xDF4F) goto yy2;
				if (yych <= 0xDF75) goto yy3;
				if (yych <= 0xDF7F) goto yy2;
				goto yy3;
			} else {
				if (yych <= 0xDFC3) {
					if (yych <= 0xDF9F) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDFC7) goto yy2;
					if (yych <= 0xDFCF) goto yy3;
					goto yy2;
				}
			}
		}
	}
yy5:
	yych = *++YYCURSOR;
	if (yych <= 0xDDBF) {
		if (yych <= 0xDCFF) {
			if (yych <= 0xDC4F) goto yy2;
			if (yych <= 0xDC9D) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDD27) goto yy3;
			if (yych <= 0xDD2F) goto yy2;
			if (yych <= 0xDD63) goto yy3;
			goto yy2;
		}
	} else {
		if (yych <= 0xDF3F) {
			if (yych <= 0xDDF3) goto yy3;
			if (yych <= 0xDDFF) goto yy2;
			if (yych <= 0xDF36) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDF55) goto yy3;
			if (yych <= 0xDF5F) goto yy2;
			if (yych <= 0xDF67) goto yy3;
			goto yy2;
		}
	}
yy6:
	yych = *++YYCURSOR;
	if (yych <= 0xDD7F) {
		if (yych <= 0xDC5F) {
			if (yych <= 0xDC35) {
				if (yych <= 0xDC07) {
					if (yych <= 0xDBFF) goto yy2;
					if (yych <= 0xDC05) goto yy3;
					goto yy2;
				} else {
					if (yych == 0xDC09) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDC3B) {
					if (yych <= 0xDC36) goto yy2;
					if (yych <= 0xDC38) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDC3C) goto yy3;
					if (yych <= 0xDC3E) goto yy2;
					if (yych <= 0xDC55) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDCF5) {
				if (yych <= 0xDC9E) {
					if (yych <= 0xDC76) goto yy3;
					if (yych <= 0xDC7F) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDCDF) goto yy2;
					if (yych == 0xDCF3) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDD1F) {
					if (yych <= 0xDCFF) goto yy2;
					if (yych <= 0xDD15) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDD39) goto yy3;
					if (yych <= 0xDD3F) goto yy2;
					if (yych <= 0xDD59) goto yy3;
					goto yy2;
				}
			}
		}
	} else {
		if (yych <= 0xDE7F) {
			if (yych <= 0xDE13) {
				if (yych <= 0xDDBF) {
					if (yych <= 0xDDB7) goto yy3;
					if (yych <= 0xDDBD) goto yy2;
					goto yy3;
				} else {
					if (yych == 0xDE00) goto yy3;
					if (yych <= 0xDE0F) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDE18) {
					if (yych <= 0xDE14) goto yy2;
					if (yych <= 0xDE17) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDE35) goto yy3;
					if (yych <= 0xDE5F) goto yy2;
					if (yych <= 0xDE7C) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDF35) {
				if (yych <= 0xDEC7) {
					if (yych <= 0xDE9C) goto yy3;
					if (yych <= 0xDEBF) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDEC8) goto yy2;
					if (yych <= 0xDEE4) goto yy3;
					if (yych <= 0xDEFF) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDF5F) {
					if (yych <= 0xDF3F) goto yy2;
					if (yych <= 0xDF55) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDF72) goto yy3;
					if (yych <= 0xDF7F) goto yy2;
					if (yych <= 0xDF91) goto yy3;
					goto yy2;
				}
			}
		}
	}
yy7:
	yych = *++YYCURSOR;
	if (yych <= 0xDEC4) {
		if (yych <= 0xDD4E) {
			if (yych <= 0xDCFF) {
				if (yych <= 0xDBFF) goto yy2;
				if (yych <= 0xDC48) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDD23) goto yy3;
				if (yych <= 0xDD49) goto yy2;
				if (yych <= 0xDD4D) goto yy3;
				goto yy2;
			}
		} else {
			if (yych <= 0xDEA9) {
				if (yych <= 0xDD4F) goto yy3;
				if (yych <= 0xDE7F) goto yy2;
				goto yy3;
			} else {
				if (yych <= 0xDEAF) goto yy2;
				if (yych <= 0xDEB1) goto yy3;
				if (yych <= 0xDEC1) goto yy2;
				goto yy3;
			}
		}
	} else {
		if (yych <= 0xDF2F) {
			if (yych <= 0xDEFF) {
				if (yych <= 0xDEC5) goto yy2;
				if (yych <= 0xDEC7) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDF1C) goto yy3;
				if (yych == 0xDF27) goto yy3;
				goto yy2;
			}
		} else {
			if (yych <= 0xDFAF) {
				if (yych <= 0xDF45) goto yy3;
				if (yych <= 0xDF6F) goto yy2;
				if (yych <= 0xDF81) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDFC4) goto yy3;
				if (yych <= 0xDFDF) goto yy2;
				if (yych <= 0xDFF6) goto yy3;
				goto yy2;
			}
		}
	}
yy8:
	yych = *++YYCURSOR;
	if (yych <= 0xDE89) {
		if (yych <= 0xDD75) {
			if (yych <= 0xDCCF) {
				if (yych <= 0xDC72) {
					if (yych <= 0xDC02) goto yy2;
					if (yych <= 0xDC37) goto yy3;
					if (yych <= 0xDC70) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDC75) {
						if (yych <= 0xDC74) goto yy2;
						goto yy3;
					} else {
						if (yych <= 0xDC82) goto yy2;
						if (yych <= 0xDCAF) goto yy3;
						goto yy2;
					}
				}
			} else {
				if (yych <= 0xDD44) {
					if (yych <= 0xDD02) {
						if (yych <= 0xDCE8) goto yy3;
						goto yy2;
					} else {
						if (yych <= 0xDD26) goto yy3;
						if (yych <= 0xDD43) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDD47) {
						if (yych <= 0xDD46) goto yy2;
						goto yy3;
					} else {
						if (yych <= 0xDD4F) goto yy2;
						if (yych <= 0xDD72) goto yy3;
						goto yy2;
					}
				}
			}
		} else {
			if (yych <= 0xDDFF) {
				if (yych <= 0xDDC4) {
					if (yych <= 0xDD82) {
						if (yych <= 0xDD76) goto yy3;
						goto yy2;
					} else {
						if (yych <= 0xDDB2) goto yy3;
						if (yych <= 0xDDC0) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDDDA) {
						if (yych <= 0xDDD9) goto yy2;
						goto yy3;
					} else {
						if (yych == 0xDDDC) goto yy3;
						goto yy2;
					}
				}
			} else {
				if (yych <= 0xDE40) {
					if (yych <= 0xDE12) {
						if (yych <= 0xDE11) goto yy3;
						goto yy2;
					} else {
						if (yych <= 0xDE2B) goto yy3;
						if (yych <= 0xDE3E) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDE86) {
						if (yych <= 0xDE7F) goto yy2;
						goto yy3;
					} else {
						if (yych == 0xDE88) goto yy3;
						goto yy2;
					}
				}
			}
		}
	} else {
		if (yych <= 0xDF3C) {
			if (yych <= 0xDF0E) {
				if (yych <= 0xDEA8) {
					if (yych <= 0xDE8E) {
						if (yych <= 0xDE8D) goto yy3;
						goto yy2;
					} else {
						if (yych == 0xDE9E) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDEDE) {
						if (yych <= 0xDEAF) goto yy2;
						goto yy3;
					} else {
						if (yych <= 0xDF04) goto yy2;
						if (yych <= 0xDF0C) goto yy3;
						goto yy2;
					}
				}
			} else {
				if (yych <= 0xDF30) {
					if (yych <= 0xDF12) {
						if (yych <= 0xDF10) goto yy3;
						goto yy2;
					} else {
						if (yych == 0xDF29) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDF33) {
						if (yych <= 0xDF31) goto yy2;
						goto yy3;
					} else {
						if (yych <= 0xDF34) goto yy2;
						if (yych <= 0xDF39) goto yy3;
						goto yy2;
					}
				}
			}
		} else {
			if (yych <= 0xDF8D) {
				if (yych <= 0xDF61) {
					if (yych <= 0xDF4F) {
						if (yych <= 0xDF3D) goto yy3;
						goto yy2;
					} else {
						if (yych <= 0xDF50) goto yy3;
						if (yych <= 0xDF5C) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDF89) {
						if (yych <= 0xDF7F) goto yy2;
						goto yy3;
					} else {
						if (yych == 0xDF8B) goto yy3;
						goto yy2;
					}
				}
			} else {
				if (yych <= 0xDFB7) {
					if (yych <= 0xDF8F) {
						if (yych <= 0xDF8E) goto yy3;
						goto yy2;
					} else {
						if (yych == 0xDFB6) goto yy2;
						goto yy3;
					}
				} else {
					if (yych <= 0xDFD1) {
						if (yych <= 0xDFD0) goto yy2;
						goto yy3;
					} else {
						if (yych == 0xDFD3) goto yy3;
						goto yy2;
					}
				}
			}
		}
	}
yy9:
	yych = *++YYCURSOR;
	if (yych <= 0xDDAE) {
		if (yych <= 0xDC7F) {
			if (yych <= 0xDC46) {
				if (yych <= 0xDBFF) goto yy2;
				if (yych <= 0xDC34) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDC4A) goto yy3;
				if (yych <= 0xDC5E) goto yy2;
				if (yych <= 0xDC61) goto yy3;
				goto yy2;
			}
		} else {
			if (yych <= 0xDCC5) {
				if (yych <= 0xDCAF) goto yy3;
				if (yych <= 0xDCC3) goto yy2;
				goto yy3;
			} else {
				if (yych == 0xDCC7) goto yy3;
				if (yych <= 0xDD7F) goto yy2;
				goto yy3;
			}
		}
	} else {
		if (yych <= 0xDE7F) {
			if (yych <= 0xDDFF) {
				if (yych <= 0xDDD7) goto yy2;
				if (yych <= 0xDDDB) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDE2F) goto yy3;
				if (yych == 0xDE44) goto yy3;
				goto yy2;
			}
		} else {
			if (yych <= 0xDEFF) {
				if (yych <= 0xDEAA) goto yy3;
				if (yych == 0xDEB8) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDF1A) goto yy3;
				if (yych <= 0xDF3F) goto yy2;
				if (yych <= 0xDF46) goto yy3;
				goto yy2;
			}
		}
	}
yy10:
	yych = *++YYCURSOR;
	if (yych <= 0xDDD0) {
		if (yych <= 0xDD16) {
			if (yych <= 0xDD08) {
				if (yych <= 0xDC2B) {
					if (yych <= 0xDBFF) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDCFE) goto yy2;
					if (yych <= 0xDD06) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDD0B) {
					if (yych <= 0xDD09) goto yy3;
					goto yy2;
				} else {
					if (yych == 0xDD14) goto yy2;
					goto yy3;
				}
			}
		} else {
			if (yych <= 0xDD40) {
				if (yych <= 0xDD2F) {
					if (yych <= 0xDD17) goto yy2;
					goto yy3;
				} else {
					if (yych == 0xDD3F) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDD9F) {
					if (yych <= 0xDD41) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDDA7) goto yy3;
					if (yych <= 0xDDA9) goto yy2;
					goto yy3;
				}
			}
		}
	} else {
		if (yych <= 0xDE3A) {
			if (yych <= 0xDDFF) {
				if (yych <= 0xDDE1) {
					if (yych <= 0xDDE0) goto yy2;
					goto yy3;
				} else {
					if (yych == 0xDDE3) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDE0A) {
					if (yych <= 0xDE00) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDE32) goto yy3;
					if (yych <= 0xDE39) goto yy2;
					goto yy3;
				}
			}
		} else {
			if (yych <= 0xDE9C) {
				if (yych <= 0xDE50) {
					if (yych <= 0xDE4F) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDE5B) goto yy2;
					if (yych <= 0xDE89) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDEF8) {
					if (yych <= 0xDE9D) goto yy3;
					if (yych <= 0xDEAF) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDFBF) goto yy2;
					if (yych <= 0xDFE0) goto yy3;
					goto yy2;
				}
			}
		}
	}
yy11:
	yych = *++YYCURSOR;
	if (yych <= 0xDD66) {
		if (yych <= 0xDCFF) {
			if (yych <= 0xDC2E) {
				if (yych <= 0xDBFF) goto yy2;
				if (yych == 0xDC09) goto yy2;
				goto yy3;
			} else {
				if (yych <= 0xDC40) {
					if (yych <= 0xDC3F) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDC71) goto yy2;
					if (yych <= 0xDC8F) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDD30) {
				if (yych <= 0xDD07) {
					if (yych <= 0xDD06) goto yy3;
					goto yy2;
				} else {
					if (yych == 0xDD0A) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDD46) {
					if (yych <= 0xDD45) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDD5F) goto yy2;
					if (yych <= 0xDD65) goto yy3;
					goto yy2;
				}
			}
		}
	} else {
		if (yych <= 0xDEDF) {
			if (yych <= 0xDD98) {
				if (yych <= 0xDD69) {
					if (yych <= 0xDD68) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDD89) goto yy3;
					if (yych <= 0xDD97) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDDD8) {
					if (yych <= 0xDDAF) goto yy2;
					goto yy3;
				} else {
					if (yych <= 0xDDD9) goto yy2;
					if (yych <= 0xDDDB) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDF10) {
				if (yych <= 0xDF01) {
					if (yych <= 0xDEF2) goto yy3;
					goto yy2;
				} else {
					if (yych == 0xDF03) goto yy2;
					goto yy3;
				}
			} else {
				if (yych <= 0xDF33) {
					if (yych <= 0xDF11) goto yy2;
					goto yy3;
				} else {
					if (yych == 0xDFB0) goto yy3;
					goto yy2;
				}
			}
		}
	}
yy12:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDF99) goto yy3;
	goto yy2;
yy13:
	yych = *++YYCURSOR;
	if (yych <= 0xDC7F) goto yy2;
	if (yych <= 0xDD43) goto yy3;
	goto yy2;
yy14:
	yych = *++YYCURSOR;
	if (yych <= 0xDF8F) goto yy2;
	if (yych <= 0xDFF0) goto yy3;
	goto yy2;
yy15:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDFFF) goto yy3;
	goto yy2;
yy16:
	yych = *++YYCURSOR;
	if (yych <= 0xDC40) {
		if (yych <= 0xDBFF) goto yy2;
		if (yych <= 0xDC2F) goto yy3;
		goto yy2;
	} else {
		if (yych <= 0xDC46) goto yy3;
		if (yych <= 0xDC5F) goto yy2;
		if (yych <= 0xDFFF) goto yy3;
		goto yy2;
	}
yy17:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDFFA) goto yy3;
	goto yy2;
yy18:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDE46) goto yy3;
	goto yy2;
yy19:
	yych = *++YYCURSOR;
	if (yych <= 0xDCFF) goto yy2;
	if (yych <= 0xDD1D) goto yy3;
	goto yy2;
yy20:
	yych = *++YYCURSOR;
	if (yych <= 0xDECF) {
		if (yych <= 0xDE3F) {
			if (yych <= 0xDBFF) goto yy2;
			if (yych <= 0xDE38) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDE5E) goto yy3;
			if (yych <= 0xDE6F) goto yy2;
			if (yych <= 0xDEBE) goto yy3;
			goto yy2;
		}
	} else {
		if (yych <= 0xDF62) {
			if (yych <= 0xDEED) goto yy3;
			if (yych <= 0xDEFF) goto yy2;
			if (yych <= 0xDF2F) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDF77) goto yy3;
			if (yych <= 0xDF7C) goto yy2;
			if (yych <= 0xDF8F) goto yy3;
			goto yy2;
		}
	}
yy21:
	yych = *++YYCURSOR;
	if (yych <= 0xDEFF) {
		if (yych <= 0xDD42) goto yy2;
		if (yych <= 0xDD6A) goto yy3;
		goto yy2;
	} else {
		if (yych <= 0xDF4A) goto yy3;
		if (yych == 0xDF50) goto yy3;
		goto yy2;
	}
yy22:
	yych = *++YYCURSOR;
	if (yych <= 0xDCFE) {
		if (yych <= 0xDBFF) goto yy2;
		if (yych <= 0xDCD5) goto yy3;
		goto yy2;
	} else {
		if (yych <= 0xDD1E) goto yy3;
		if (yych <= 0xDD7F) goto yy2;
		if (yych <= 0xDDF2) goto yy3;
		goto yy2;
	}
yy23:
	yych = *++YYCURSOR;
	if (yych <= 0xDD52) {
		if (yych <= 0xDD31) {
			if (yych <= 0xDBFF) goto yy2;
			if (yych <= 0xDD22) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDD32) goto yy3;
			if (yych <= 0xDD4F) goto yy2;
			goto yy3;
		}
	} else {
		if (yych <= 0xDD63) {
			if (yych == 0xDD55) goto yy3;
			goto yy2;
		} else {
			if (yych <= 0xDD67) goto yy3;
			if (yych <= 0xDD6F) goto yy2;
			if (yych <= 0xDEFB) goto yy3;
			goto yy2;
		}
	}
yy24:
	yych = *++YYCURSOR;
	if (yych <= 0xDC7C) {
		if (yych <= 0xDBFF) goto yy2;
		if (yych <= 0xDC6A) goto yy3;
		if (yych <= 0xDC6F) goto yy2;
		goto yy3;
	} else {
		if (yych <= 0xDC88) {
			if (yych <= 0xDC7F) goto yy2;
			goto yy3;
		} else {
			if (yych <= 0xDC8F) goto yy2;
			if (yych <= 0xDC99) goto yy3;
			goto yy2;
		}
	}
yy25:
	yych = *++YYCURSOR;
	if (yych == 0xDF0A) goto yy3;
	goto yy2;
yy26:
	yych = *++YYCURSOR;
	if (yych <= 0xDD4E) {
		if (yych <= 0xDCFF) goto yy2;
		if (yych <= 0xDD2C) goto yy3;
		if (yych <= 0xDD4D) goto yy2;
		goto yy3;
	} else {
		if (yych <= 0xDEAD) {
			if (yych <= 0xDE8F) goto yy2;
			goto yy3;
		} else {
			if (yych <= 0xDEBF) goto yy2;
			if (yych <= 0xDEEB) goto yy3;
			goto yy2;
		}
	}
yy27:
	yych = *++YYCURSOR;
	if (yych <= 0xDEE6) {
		if (yych <= 0xDDF0) {
			if (yych <= 0xDDCF) {
				if (yych <= 0xDCCF) goto yy2;
				if (yych <= 0xDCEA) goto yy3;
				goto yy2;
			} else {
				if (yych <= 0xDDED) goto yy3;
				if (yych <= 0xDDEF) goto yy2;
				goto yy3;
			}
		} else {
			if (yych <= 0xDEDF) {
				if (yych <= 0xDEBF) goto yy2;
				if (yych <= 0xDEDE) goto yy3;
				goto yy2;
			} else {
				if (yych == 0xDEE3) goto yy2;
				if (yych <= 0xDEE5) goto yy3;
				goto yy2;
			}
		}
	} else {
		if (yych <= 0xDFE6) {
			if (yych <= 0xDEF4) {
				if (yych <= 0xDEED) goto yy3;
				if (yych <= 0xDEEF) goto yy2;
				goto yy3;
			} else {
				if (yych == 0xDEFE) goto yy3;
				if (yych <= 0xDFDF) goto yy2;
				goto yy3;
			}
		} else {
			if (yych <= 0xDFEC) {
				if (yych <= 0xDFE7) goto yy2;
				if (yych <= 0xDFEB) goto yy3;
				goto yy2;
			} else {
				if (yych == 0xDFEF) goto yy2;
				if (yych <= 0xDFFE) goto yy3;
				goto yy2;
			}
		}
	}
yy28:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDCC4) goto yy3;
	goto yy2;
yy29:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xDE00:
		case 0xDE01:
		case 0xDE02:
		case 0xDE03:
		case 0xDE05:
		case 0xDE06:
		case 0xDE07:
		case 0xDE08:
		case 0xDE09:
		case 0xDE0A:
		case 0xDE0B:
		case 0xDE0C:
		case 0xDE0D:
		case 0xDE0E:
		case 0xDE0F:
		case 0xDE10:
		case 0xDE11:
		case 0xDE12:
		case 0xDE13:
		case 0xDE14:
		case 0xDE15:
		case 0xDE16:
		case 0xDE17:
		case 0xDE18:
		case 0xDE19:
		case 0xDE1A:
		case 0xDE1B:
		case 0xDE1C:
		case 0xDE1D:
		case 0xDE1E:
		case 0xDE1F:
		case 0xDE21:
		case 0xDE22:
		case 0xDE24:
		case 0xDE27:
		case 0xDE29:
		case 0xDE2A:
		case 0xDE2B:
		case 0xDE2C:
		case 0xDE2D:
		case 0xDE2E:
		case 0xDE2F:
		case 0xDE30:
		case 0xDE31:
		case 0xDE32:
		case 0xDE34:
		case 0xDE35:
		case 0xDE36:
		case 0xDE37:
		case 0xDE39:
		case 0xDE3B:
		case 0xDE42:
		case 0xDE47:
		case 0xDE49:
		case 0xDE4B:
		case 0xDE4D:
		case 0xDE4E:
		case 0xDE4F:
		case 0xDE51:
		case 0xDE52:
		case 0xDE54:
		case 0xDE57:
		case 0xDE59:
		case 0xDE5B:
		case 0xDE5D:
		case 0xDE5F:
		case 0xDE61:
		case 0xDE62:
		case 0xDE64:
		case 0xDE67:
		case 0xDE68:
		case 0xDE69:
		case 0xDE6A:
		case 0xDE6C:
		case 0xDE6D:
		case 0xDE6E:
		case 0xDE6F:
		case 0xDE70:
		case 0xDE71:
		case 0xDE72:
		case 0xDE74:
		case 0xDE75:
		case 0xDE76:
		case 0xDE77:
		case 0xDE79:
		case 0xDE7A:
		case 0xDE7B:
		case 0xDE7C:
		case 0xDE7E:
		case 0xDE80:
		case 0xDE81:
		case 0xDE82:
		case 0xDE83:
		case 0xDE84:
		case 0xDE85:
		case 0xDE86:
		case 0xDE87:
		case 0xDE88:
		case 0xDE89:
		case 0xDE8B:
		case 0xDE8C:
		case 0xDE8D:
		case 0xDE8E:
		case 0xDE8F:
		case 0xDE90:
		case 0xDE91:
		case 0xDE92:
		case 0xDE93:
		case 0xDE94:
		case 0xDE95:
		case 0xDE96:
		case 0xDE97:
		case 0xDE98:
		case 0xDE99:
		case 0xDE9A:
		case 0xDE9B:
		case 0xDEA1:
		case 0xDEA2:
		case 0xDEA3:
		case 0xDEA5:
		case 0xDEA6:
		case 0xDEA7:
		case 0xDEA8:
		case 0xDEA9:
		case 0xDEAB:
		case 0xDEAC:
		case 0xDEAD:
		case 0xDEAE:
		case 0xDEAF:
		case 0xDEB0:
		case 0xDEB1:
		case 0xDEB2:
		case 0xDEB3:
		case 0xDEB4:
		case 0xDEB5:
		case 0xDEB6:
		case 0xDEB7:
		case 0xDEB8:
		case 0xDEB9:
		case 0xDEBA:
		case 0xDEBB: goto yy3;
		default: goto yy2;
	}
yy30:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDEDF) goto yy3;
	if (yych <= 0xDEFF) goto yy2;
	if (yych <= 0xDFFF) goto yy3;
	goto yy2;
yy31:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDC1D) goto yy3;
	if (yych <= 0xDC1F) goto yy2;
	if (yych <= 0xDFFF) goto yy3;
	goto yy2;
yy32:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDEAD) goto yy3;
	if (yych <= 0xDEAF) goto yy2;
	if (yych <= 0xDFFF) goto yy3;
	goto yy2;
yy33:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDFE0) goto yy3;
	if (yych <= 0xDFEF) goto yy2;
	if (yych <= 0xDFFF) goto yy3;
	goto yy2;
yy34:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDE5D) goto yy3;
	goto yy2;
yy35:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDE1D) goto yy3;
	goto yy2;
yy36:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDF4A) goto yy3;
	if (yych <= 0xDF4F) goto yy2;
	if (yych <= 0xDFFF) goto yy3;
	goto yy2;
yy37:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDC79) goto yy3;
	goto yy2;
}
#line 16 "encodings/unicode_group_Lo_x.re"

}

static const uint32_t chars_Lo[] = {0xaa,0xaa,0xba,0xba,0x1bb,0x1bb,0x1c0,0x1c3,0x294,0x295,0x5d0,0x5ea,0x5ef,0x5f2,0x620,0x63f,0x641,0x64a,0x66e,0x66f,0x671,0x6d3,0x6d5,0x6d5,0x6ee,0x6ef,0x6fa,0x6fc,0x6ff,0x6ff,0x710,0x710,0x712,0x72f,0x74d,0x7a5,0x7b1,0x7b1,0x7ca,0x7ea,0x800,0x815,0x840,0x858,0x860,0x86a,0x870,0x887,0x889,0x88f,0x8a0,0x8c8,0x904,0x939,0x93d,0x93d,0x950,0x950,0x958,0x961,0x972,0x980,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bd,0x9bd,0x9ce,0x9ce,0x9dc,0x9dd,0x9df,0x9e1,0x9f0,0x9f1,0x9fc,0x9fc,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa59,0xa5c,0xa5e,0xa5e,0xa72,0xa74,0xa85,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabd,0xabd,0xad0,0xad0,0xae0,0xae1,0xaf9,0xaf9,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb35,0xb39,0xb3d,0xb3d,0xb5c,0xb5d,0xb5f,0xb61,0xb71,0xb71,0xb83,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb9,0xbd0,0xbd0,0xc05,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc39,0xc3d,0xc3d,0xc58,0xc5a,0xc5c,0xc5d,0xc60,0xc61,0xc80,0xc80,0xc85,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbd,0xcbd,0xcdc,0xcde,0xce0,0xce1,0xcf1,0xcf2,0xd04,0xd0c,0xd0e,0xd10,0xd12,0xd3a,0xd3d,0xd3d,0xd4e,0xd4e,0xd54,0xd56,0xd5f,0xd61,0xd7a,0xd7f,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xe01,0xe30,0xe32,0xe33,0xe40,0xe45,0xe81,0xe82,0xe84,0xe84,0xe86,0xe8a,0xe8c,0xea3,0xea5,0xea5,0xea7,0xeb0,0xeb2,0xeb3,0xebd,0xebd,0xec0,0xec4,0xedc,0xedf,0xf00,0xf00,0xf40,0xf47,0xf49,0xf6c,0xf88,0xf8c,0x1000,0x102a,0x103f,0x103f,0x1050,0x1055,0x105a,0x105d,0x1061,0x1061,0x1065,0x1066,0x106e,0x1070,0x1075,0x1081,0x108e,0x108e,0x1100,0x1248,0x124a,0x124d,0x1250,0x1256,0x1258,0x1258,0x125a,0x125d,0x1260,0x1288,0x128a,0x128d,0x1290,0x12b0,0x12b2,0x12b5,0x12b8,0x12be,0x12c0,0x12c0,0x12c2,0x12c5,0x12c8,0x12d6,0x12d8,0x1310,0x1312,0x1315,0x1318,0x135a,0x1380,0x138f,0x1401,0x166c,0x166f,0x167f,0x1681,0x169a,0x16a0,0x16ea,0x16f1,0x16f8,0x1700,0x1711,0x171f,0x1731,0x1740,0x1751,0x1760,0x176c,0x176e,0x1770,0x1780,0x17b3,0x17dc,0x17dc,0x1820,0x1842,0x1844,0x1878,0x1880,0x1884,0x1887,0x18a8,0x18aa,0x18aa,0x18b0,0x18f5,0x1900,0x191e,0x1950,0x196d,0x1970,0x1974,0x1980,0x19ab,0x19b0,0x19c9,0x1a00,0x1a16,0x1a20,0x1a54,0x1b05,0x1b33,0x1b45,0x1b4c,0x1b83,0x1ba0,0x1bae,0x1baf,0x1bba,0x1be5,0x1c00,0x1c23,0x1c4d,0x1c4f,0x1c5a,0x1c77,0x1ce9,0x1cec,0x1cee,0x1cf3,0x1cf5,0x1cf6,0x1cfa,0x1cfa,0x2135,0x2138,0x2d30,0x2d67,0x2d80,0x2d96,0x2da0,0x2da6,0x2da8,0x2dae,0x2db0,0x2db6,0x2db8,0x2dbe,0x2dc0,0x2dc6,0x2dc8,0x2dce,0x2dd0,0x2dd6,0x2dd8,0x2dde,0x3006,0x3006,0x303c,0x303c,0x3041,0x3096,0x309f,0x309f,0x30a1,0x30fa,0x30ff,0x30ff,0x3105,0x312f,0x3131,0x318e,0x31a0,0x31bf,0x31f0,0x31ff,0x3400,0x4dbf,0x4e00,0xa014,0xa016,0xa48c,0xa4d0,0xa4f7,0xa500,0xa60b,0xa610,0xa61f,0xa62a,0xa62b,0xa66e,0xa66e,0xa6a0,0xa6e5,0xa78f,0xa78f,0xa7f7,0xa7f7,0xa7fb,0xa801,0xa803,0xa805,0xa807,0xa80a,0xa80c,0xa822,0xa840,0xa873,0xa882,0xa8b3,0xa8f2,0xa8f7,0xa8fb,0xa8fb,0xa8fd,0xa8fe,0xa90a,0xa925,0xa930,0xa946,0xa960,0xa97c,0xa984,0xa9b2,0xa9e0,0xa9e4,0xa9e7,0xa9ef,0xa9fa,0xa9fe,0xaa00,0xaa28,0xaa40,0xaa42,0xaa44,0xaa4b,0xaa60,0xaa6f,0xaa71,0xaa76,0xaa7a,0xaa7a,0xaa7e,0xaaaf,0xaab1,0xaab1,0xaab5,0xaab6,0xaab9,0xaabd,0xaac0,0xaac0,0xaac2,0xaac2,0xaadb,0xaadc,0xaae0,0xaaea,0xaaf2,0xaaf2,0xab01,0xab06,0xab09,0xab0e,0xab11,0xab16,0xab20,0xab26,0xab28,0xab2e,0xabc0,0xabe2,0xac00,0xd7a3,0xd7b0,0xd7c6,0xd7cb,0xd7fb,0xf900,0xfa6d,0xfa70,0xfad9,0xfb1d,0xfb1d,0xfb1f,0xfb28,0xfb2a,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfbb1,0xfbd3,0xfd3d,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfb,0xfe70,0xfe74,0xfe76,0xfefc,0xff66,0xff6f,0xff71,0xff9d,0xffa0,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0x10000,0x1000b,0x1000d,0x10026,0x10028,0x1003a,0x1003c,0x1003d,0x1003f,0x1004d,0x10050,0x1005d,0x10080,0x100fa,0x10280,0x1029c,0x102a0,0x102d0,0x10300,0x1031f,0x1032d,0x10340,0x10342,0x10349,0x10350,0x10375,0x10380,0x1039d,0x103a0,0x103c3,0x103c8,0x103cf,0x10450,0x1049d,0x10500,0x10527,0x10530,0x10563,0x105c0,0x105f3,0x10600,0x10736,0x10740,0x10755,0x10760,0x10767,0x10800,0x10805,0x10808,0x10808,0x1080a,0x10835,0x10837,0x10838,0x1083c,0x1083c,0x1083f,0x10855,0x10860,0x10876,0x10880,0x1089e,0x108e0,0x108f2,0x108f4,0x108f5,0x10900,0x10915,0x10920,0x10939,0x10940,0x10959,0x10980,0x109b7,0x109be,0x109bf,0x10a00,0x10a00,0x10a10,0x10a13,0x10a15,0x10a17,0x10a19,0x10a35,0x10a60,0x10a7c,0x10a80,0x10a9c,0x10ac0,0x10ac7,0x10ac9,0x10ae4,0x10b00,0x10b35,0x10b40,0x10b55,0x10b60,0x10b72,0x10b80,0x10b91,0x10c00,0x10c48,0x10d00,0x10d23,0x10d4a,0x10d4d,0x10d4f,0x10d4f,0x10e80,0x10ea9,0x10eb0,0x10eb1,0x10ec2,0x10ec4,0x10ec6,0x10ec7,0x10f00,0x10f1c,0x10f27,0x10f27,0x10f30,0x10f45,0x10f70,0x10f81,0x10fb0,0x10fc4,0x10fe0,0x10ff6,0x11003,0x11037,0x11071,0x11072,0x11075,0x11075,0x11083,0x110af,0x110d0,0x110e8,0x11103,0x11126,0x11144,0x11144,0x11147,0x11147,0x11150,0x11172,0x11176,0x11176,0x11183,0x111b2,0x111c1,0x111c4,0x111da,0x111da,0x111dc,0x111dc,0x11200,0x11211,0x11213,0x1122b,0x1123f,0x11240,0x11280,0x11286,0x11288,0x11288,0x1128a,0x1128d,0x1128f,0x1129d,0x1129f,0x112a8,0x112b0,0x112de,0x11305,0x1130c,0x1130f,0x11310,0x11313,0x11328,0x1132a,0x11330,0x11332,0x11333,0x11335,0x11339,0x1133d,0x1133d,0x11350,0x11350,0x1135d,0x11361,0x11380,0x11389,0x1138b,0x1138b,0x1138e,0x1138e,0x11390,0x113b5,0x113b7,0x113b7,0x113d1,0x113d1,0x113d3,0x113d3,0x11400,0x11434,0x11447,0x1144a,0x1145f,0x11461,0x11480,0x114af,0x114c4,0x114c5,0x114c7,0x114c7,0x11580,0x115ae,0x115d8,0x115db,0x11600,0x1162f,0x11644,0x11644,0x11680,0x116aa,0x116b8,0x116b8,0x11700,0x1171a,0x11740,0x11746,0x11800,0x1182b,0x118ff,0x11906,0x11909,0x11909,0x1190c,0x11913,0x11915,0x11916,0x11918,0x1192f,0x1193f,0x1193f,0x11941,0x11941,0x119a0,0x119a7,0x119aa,0x119d0,0x119e1,0x119e1,0x119e3,0x119e3,0x11a00,0x11a00,0x11a0b,0x11a32,0x11a3a,0x11a3a,0x11a50,0x11a50,0x11a5c,0x11a89,0x11a9d,0x11a9d,0x11ab0,0x11af8,0x11bc0,0x11be0,0x11c00,0x11c08,0x11c0a,0x11c2e,0x11c40,0x11c40,0x11c72,0x11c8f,0x11d00,0x11d06,0x11d08,0x11d09,0x11d0b,0x11d30,0x11d46,0x11d46,0x11d60,0x11d65,0x11d67,0x11d68,0x11d6a,0x11d89,0x11d98,0x11d98,0x11db0,0x11dd8,0x11dda,0x11ddb,0x11ee0,0x11ef2,0x11f02,0x11f02,0x11f04,0x11f10,0x11f12,0x11f33,0x11fb0,0x11fb0,0x12000,0x12399,0x12480,0x12543,0x12f90,0x12ff0,0x13000,0x1342f,0x13441,0x13446,0x13460,0x143fa,0x14400,0x14646,0x16100,0x1611d,0x16800,0x16a38,0x16a40,0x16a5e,0x16a70,0x16abe,0x16ad0,0x16aed,0x16b00,0x16b2f,0x16b63,0x16b77,0x16b7d,0x16b8f,0x16d43,0x16d6a,0x16f00,0x16f4a,0x16f50,0x16f50,0x17000,0x18cd5,0x18cff,0x18d1e,0x18d80,0x18df2,0x1b000,0x1b122,0x1b132,0x1b132,0x1b150,0x1b152,0x1b155,0x1b155,0x1b164,0x1b167,0x1b170,0x1b2fb,0x1bc00,0x1bc6a,0x1bc70,0x1bc7c,0x1bc80,0x1bc88,0x1bc90,0x1bc99,0x1df0a,0x1df0a,0x1e100,0x1e12c,0x1e14e,0x1e14e,0x1e290,0x1e2ad,0x1e2c0,0x1e2eb,0x1e4d0,0x1e4ea,0x1e5d0,0x1e5ed,0x1e5f0,0x1e5f0,0x1e6c0,0x1e6de,0x1e6e0,0x1e6e2,0x1e6e4,0x1e6e5,0x1e6e7,0x1e6ed,0x1e6f0,0x1e6f4,0x1e6fe,0x1e6fe,0x1e7e0,0x1e7e6,0x1e7e8,0x1e7eb,0x1e7ed,0x1e7ee,0x1e7f0,0x1e7fe,0x1e800,0x1e8c4,0x1ee00,0x1ee03,0x1ee05,0x1ee1f,0x1ee21,0x1ee22,0x1ee24,0x1ee24,0x1ee27,0x1ee27,0x1ee29,0x1ee32,0x1ee34,0x1ee37,0x1ee39,0x1ee39,0x1ee3b,0x1ee3b,0x1ee42,0x1ee42,0x1ee47,0x1ee47,0x1ee49,0x1ee49,0x1ee4b,0x1ee4b,0x1ee4d,0x1ee4f,0x1ee51,0x1ee52,0x1ee54,0x1ee54,0x1ee57,0x1ee57,0x1ee59,0x1ee59,0x1ee5b,0x1ee5b,0x1ee5d,0x1ee5d,0x1ee5f,0x1ee5f,0x1ee61,0x1ee62,0x1ee64,0x1ee64,0x1ee67,0x1ee6a,0x1ee6c,0x1ee72,0x1ee74,0x1ee77,0x1ee79,0x1ee7c,0x1ee7e,0x1ee7e,0x1ee80,0x1ee89,0x1ee8b,0x1ee9b,0x1eea1,0x1eea3,0x1eea5,0x1eea9,0x1eeab,0x1eebb,0x20000,0x2a6df,0x2a700,0x2b81d,0x2b820,0x2cead,0x2ceb0,0x2ebe0,0x2ebf0,0x2ee5d,0x2f800,0x2fa1d,0x30000,0x3134a,0x31350,0x33479,};

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_Lo = new YYCTYPE[282126];
	uint32_t buffer_Lo_len = encode_utf16(chars_Lo, sizeof(chars_Lo) / sizeof(uint32_t), buffer_Lo);
	if (!scan(buffer_Lo, buffer_Lo + buffer_Lo_len)) printf("test 'Lo' failed\n");
	delete[] buffer_Lo;
	return 0;
}
