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

enum Block {
	Basic_Latin,
	Latin_1_Supplement,
	Latin_Extended_A,
	Latin_Extended_B,
	IPA_Extensions,
	Spacing_Modifier_Letters,
	Combining_Diacritical_Marks,
	Greek_and_Coptic,
	Cyrillic,
	Cyrillic_Supplement,
	Armenian,
	Hebrew,
	Arabic,
	Syriac,
	Arabic_Supplement,
	Thaana,
	NKo,
	Samaritan,
	Mandaic,
	Syriac_Supplement,
	Arabic_Extended_B,
	Arabic_Extended_A,
	Devanagari,
	Bengali,
	Gurmukhi,
	Gujarati,
	Oriya,
	Tamil,
	Telugu,
	Kannada,
	Malayalam,
	Sinhala,
	Thai,
	Lao,
	Tibetan,
	Myanmar,
	Georgian,
	Hangul_Jamo,
	Ethiopic,
	Ethiopic_Supplement,
	Cherokee,
	Unified_Canadian_Aboriginal_Syllabics,
	Ogham,
	Runic,
	Tagalog,
	Hanunoo,
	Buhid,
	Tagbanwa,
	Khmer,
	Mongolian,
	Unified_Canadian_Aboriginal_Syllabics_Extended,
	Limbu,
	Tai_Le,
	New_Tai_Lue,
	Khmer_Symbols,
	Buginese,
	Tai_Tham,
	Combining_Diacritical_Marks_Extended,
	Balinese,
	Sundanese,
	Batak,
	Lepcha,
	Ol_Chiki,
	Cyrillic_Extended_C,
	Georgian_Extended,
	Sundanese_Supplement,
	Vedic_Extensions,
	Phonetic_Extensions,
	Phonetic_Extensions_Supplement,
	Combining_Diacritical_Marks_Supplement,
	Latin_Extended_Additional,
	Greek_Extended,
	General_Punctuation,
	Superscripts_and_Subscripts,
	Currency_Symbols,
	Combining_Diacritical_Marks_for_Symbols,
	Letterlike_Symbols,
	Number_Forms,
	Arrows,
	Mathematical_Operators,
	Miscellaneous_Technical,
	Control_Pictures,
	Optical_Character_Recognition,
	Enclosed_Alphanumerics,
	Box_Drawing,
	Block_Elements,
	Geometric_Shapes,
	Miscellaneous_Symbols,
	Dingbats,
	Miscellaneous_Mathematical_Symbols_A,
	Supplemental_Arrows_A,
	Braille_Patterns,
	Supplemental_Arrows_B,
	Miscellaneous_Mathematical_Symbols_B,
	Supplemental_Mathematical_Operators,
	Miscellaneous_Symbols_and_Arrows,
	Glagolitic,
	Latin_Extended_C,
	Coptic,
	Georgian_Supplement,
	Tifinagh,
	Ethiopic_Extended,
	Cyrillic_Extended_A,
	Supplemental_Punctuation,
	CJK_Radicals_Supplement,
	Kangxi_Radicals,
	Ideographic_Description_Characters,
	CJK_Symbols_and_Punctuation,
	Hiragana,
	Katakana,
	Bopomofo,
	Hangul_Compatibility_Jamo,
	Kanbun,
	Bopomofo_Extended,
	CJK_Strokes,
	Katakana_Phonetic_Extensions,
	Enclosed_CJK_Letters_and_Months,
	CJK_Compatibility,
	CJK_Unified_Ideographs_Extension_A,
	Yijing_Hexagram_Symbols,
	CJK_Unified_Ideographs,
	Yi_Syllables,
	Yi_Radicals,
	Lisu,
	Vai,
	Cyrillic_Extended_B,
	Bamum,
	Modifier_Tone_Letters,
	Latin_Extended_D,
	Syloti_Nagri,
	Common_Indic_Number_Forms,
	Phags_pa,
	Saurashtra,
	Devanagari_Extended,
	Kayah_Li,
	Rejang,
	Hangul_Jamo_Extended_A,
	Javanese,
	Myanmar_Extended_B,
	Cham,
	Myanmar_Extended_A,
	Tai_Viet,
	Meetei_Mayek_Extensions,
	Ethiopic_Extended_A,
	Latin_Extended_E,
	Cherokee_Supplement,
	Meetei_Mayek,
	Hangul_Syllables,
	Hangul_Jamo_Extended_B,
	High_Surrogates,
	High_Private_Use_Surrogates,
	Low_Surrogates,
	Private_Use_Area,
	CJK_Compatibility_Ideographs,
	Alphabetic_Presentation_Forms,
	Arabic_Presentation_Forms_A,
	Variation_Selectors,
	Vertical_Forms,
	Combining_Half_Marks,
	CJK_Compatibility_Forms,
	Small_Form_Variants,
	Arabic_Presentation_Forms_B,
	Halfwidth_and_Fullwidth_Forms,
	Specials,
	Linear_B_Syllabary,
	Linear_B_Ideograms,
	Aegean_Numbers,
	Ancient_Greek_Numbers,
	Ancient_Symbols,
	Phaistos_Disc,
	Lycian,
	Carian,
	Coptic_Epact_Numbers,
	Old_Italic,
	Gothic,
	Old_Permic,
	Ugaritic,
	Old_Persian,
	Deseret,
	Shavian,
	Osmanya,
	Osage,
	Elbasan,
	Caucasian_Albanian,
	Vithkuqi,
	Todhri,
	Linear_A,
	Latin_Extended_F,
	Cypriot_Syllabary,
	Imperial_Aramaic,
	Palmyrene,
	Nabataean,
	Hatran,
	Phoenician,
	Lydian,
	Sidetic,
	Meroitic_Hieroglyphs,
	Meroitic_Cursive,
	Kharoshthi,
	Old_South_Arabian,
	Old_North_Arabian,
	Manichaean,
	Avestan,
	Inscriptional_Parthian,
	Inscriptional_Pahlavi,
	Psalter_Pahlavi,
	Old_Turkic,
	Old_Hungarian,
	Hanifi_Rohingya,
	Garay,
	Rumi_Numeral_Symbols,
	Yezidi,
	Arabic_Extended_C,
	Old_Sogdian,
	Sogdian,
	Old_Uyghur,
	Chorasmian,
	Elymaic,
	Brahmi,
	Kaithi,
	Sora_Sompeng,
	Chakma,
	Mahajani,
	Sharada,
	Sinhala_Archaic_Numbers,
	Khojki,
	Multani,
	Khudawadi,
	Grantha,
	Tulu_Tigalari,
	Newa,
	Tirhuta,
	Siddham,
	Modi,
	Mongolian_Supplement,
	Takri,
	Myanmar_Extended_C,
	Ahom,
	Dogra,
	Warang_Citi,
	Dives_Akuru,
	Nandinagari,
	Zanabazar_Square,
	Soyombo,
	Unified_Canadian_Aboriginal_Syllabics_Extended_A,
	Pau_Cin_Hau,
	Devanagari_Extended_A,
	Sharada_Supplement,
	Sunuwar,
	Bhaiksuki,
	Marchen,
	Masaram_Gondi,
	Gunjala_Gondi,
	Tolong_Siki,
	Makasar,
	Kawi,
	Lisu_Supplement,
	Tamil_Supplement,
	Cuneiform,
	Cuneiform_Numbers_and_Punctuation,
	Early_Dynastic_Cuneiform,
	Cypro_Minoan,
	Egyptian_Hieroglyphs,
	Egyptian_Hieroglyph_Format_Controls,
	Egyptian_Hieroglyphs_Extended_A,
	Anatolian_Hieroglyphs,
	Gurung_Khema,
	Bamum_Supplement,
	Mro,
	Tangsa,
	Bassa_Vah,
	Pahawh_Hmong,
	Kirat_Rai,
	Medefaidrin,
	Beria_Erfe,
	Miao,
	Ideographic_Symbols_and_Punctuation,
	Tangut,
	Tangut_Components,
	Khitan_Small_Script,
	Tangut_Supplement,
	Tangut_Components_Supplement,
	Kana_Extended_B,
	Kana_Supplement,
	Kana_Extended_A,
	Small_Kana_Extension,
	Nushu,
	Duployan,
	Shorthand_Format_Controls,
	Symbols_for_Legacy_Computing_Supplement,
	Miscellaneous_Symbols_Supplement,
	Znamenny_Musical_Notation,
	Byzantine_Musical_Symbols,
	Musical_Symbols,
	Ancient_Greek_Musical_Notation,
	Kaktovik_Numerals,
	Mayan_Numerals,
	Tai_Xuan_Jing_Symbols,
	Counting_Rod_Numerals,
	Mathematical_Alphanumeric_Symbols,
	Sutton_SignWriting,
	Latin_Extended_G,
	Glagolitic_Supplement,
	Cyrillic_Extended_D,
	Nyiakeng_Puachue_Hmong,
	Toto,
	Wancho,
	Nag_Mundari,
	Ol_Onal,
	Tai_Yo,
	Ethiopic_Extended_B,
	Mende_Kikakui,
	Adlam,
	Indic_Siyaq_Numbers,
	Ottoman_Siyaq_Numbers,
	Arabic_Mathematical_Alphabetic_Symbols,
	Mahjong_Tiles,
	Domino_Tiles,
	Playing_Cards,
	Enclosed_Alphanumeric_Supplement,
	Enclosed_Ideographic_Supplement,
	Miscellaneous_Symbols_and_Pictographs,
	Emoticons,
	Ornamental_Dingbats,
	Transport_and_Map_Symbols,
	Alchemical_Symbols,
	Geometric_Shapes_Extended,
	Supplemental_Arrows_C,
	Supplemental_Symbols_and_Pictographs,
	Chess_Symbols,
	Symbols_and_Pictographs_Extended_A,
	Symbols_for_Legacy_Computing,
	CJK_Unified_Ideographs_Extension_B,
	CJK_Unified_Ideographs_Extension_C,
	CJK_Unified_Ideographs_Extension_D,
	CJK_Unified_Ideographs_Extension_E,
	CJK_Unified_Ideographs_Extension_F,
	CJK_Unified_Ideographs_Extension_I,
	CJK_Compatibility_Ideographs_Supplement,
	CJK_Unified_Ideographs_Extension_G,
	CJK_Unified_Ideographs_Extension_H,
	CJK_Unified_Ideographs_Extension_J,
	Tags,
	Variation_Selectors_Supplement,
	Supplementary_Private_Use_Area_A,
	Supplementary_Private_Use_Area_B,
	Error
};

Block scan(const YYCTYPE* start, const YYCTYPE* const limit, Block blk) {
	__attribute__((unused)) const YYCTYPE* YYMARKER;
#define YYCURSOR start
	switch (blk) {
		case Basic_Latin: goto Basic_Latin;
		case Latin_1_Supplement: goto Latin_1_Supplement;
		case Latin_Extended_A: goto Latin_Extended_A;
		case Latin_Extended_B: goto Latin_Extended_B;
		case IPA_Extensions: goto IPA_Extensions;
		case Spacing_Modifier_Letters: goto Spacing_Modifier_Letters;
		case Combining_Diacritical_Marks: goto Combining_Diacritical_Marks;
		case Greek_and_Coptic: goto Greek_and_Coptic;
		case Cyrillic: goto Cyrillic;
		case Cyrillic_Supplement: goto Cyrillic_Supplement;
		case Armenian: goto Armenian;
		case Hebrew: goto Hebrew;
		case Arabic: goto Arabic;
		case Syriac: goto Syriac;
		case Arabic_Supplement: goto Arabic_Supplement;
		case Thaana: goto Thaana;
		case NKo: goto NKo;
		case Samaritan: goto Samaritan;
		case Mandaic: goto Mandaic;
		case Syriac_Supplement: goto Syriac_Supplement;
		case Arabic_Extended_B: goto Arabic_Extended_B;
		case Arabic_Extended_A: goto Arabic_Extended_A;
		case Devanagari: goto Devanagari;
		case Bengali: goto Bengali;
		case Gurmukhi: goto Gurmukhi;
		case Gujarati: goto Gujarati;
		case Oriya: goto Oriya;
		case Tamil: goto Tamil;
		case Telugu: goto Telugu;
		case Kannada: goto Kannada;
		case Malayalam: goto Malayalam;
		case Sinhala: goto Sinhala;
		case Thai: goto Thai;
		case Lao: goto Lao;
		case Tibetan: goto Tibetan;
		case Myanmar: goto Myanmar;
		case Georgian: goto Georgian;
		case Hangul_Jamo: goto Hangul_Jamo;
		case Ethiopic: goto Ethiopic;
		case Ethiopic_Supplement: goto Ethiopic_Supplement;
		case Cherokee: goto Cherokee;
		case Unified_Canadian_Aboriginal_Syllabics: goto Unified_Canadian_Aboriginal_Syllabics;
		case Ogham: goto Ogham;
		case Runic: goto Runic;
		case Tagalog: goto Tagalog;
		case Hanunoo: goto Hanunoo;
		case Buhid: goto Buhid;
		case Tagbanwa: goto Tagbanwa;
		case Khmer: goto Khmer;
		case Mongolian: goto Mongolian;
		case Unified_Canadian_Aboriginal_Syllabics_Extended: goto Unified_Canadian_Aboriginal_Syllabics_Extended;
		case Limbu: goto Limbu;
		case Tai_Le: goto Tai_Le;
		case New_Tai_Lue: goto New_Tai_Lue;
		case Khmer_Symbols: goto Khmer_Symbols;
		case Buginese: goto Buginese;
		case Tai_Tham: goto Tai_Tham;
		case Combining_Diacritical_Marks_Extended: goto Combining_Diacritical_Marks_Extended;
		case Balinese: goto Balinese;
		case Sundanese: goto Sundanese;
		case Batak: goto Batak;
		case Lepcha: goto Lepcha;
		case Ol_Chiki: goto Ol_Chiki;
		case Cyrillic_Extended_C: goto Cyrillic_Extended_C;
		case Georgian_Extended: goto Georgian_Extended;
		case Sundanese_Supplement: goto Sundanese_Supplement;
		case Vedic_Extensions: goto Vedic_Extensions;
		case Phonetic_Extensions: goto Phonetic_Extensions;
		case Phonetic_Extensions_Supplement: goto Phonetic_Extensions_Supplement;
		case Combining_Diacritical_Marks_Supplement: goto Combining_Diacritical_Marks_Supplement;
		case Latin_Extended_Additional: goto Latin_Extended_Additional;
		case Greek_Extended: goto Greek_Extended;
		case General_Punctuation: goto General_Punctuation;
		case Superscripts_and_Subscripts: goto Superscripts_and_Subscripts;
		case Currency_Symbols: goto Currency_Symbols;
		case Combining_Diacritical_Marks_for_Symbols: goto Combining_Diacritical_Marks_for_Symbols;
		case Letterlike_Symbols: goto Letterlike_Symbols;
		case Number_Forms: goto Number_Forms;
		case Arrows: goto Arrows;
		case Mathematical_Operators: goto Mathematical_Operators;
		case Miscellaneous_Technical: goto Miscellaneous_Technical;
		case Control_Pictures: goto Control_Pictures;
		case Optical_Character_Recognition: goto Optical_Character_Recognition;
		case Enclosed_Alphanumerics: goto Enclosed_Alphanumerics;
		case Box_Drawing: goto Box_Drawing;
		case Block_Elements: goto Block_Elements;
		case Geometric_Shapes: goto Geometric_Shapes;
		case Miscellaneous_Symbols: goto Miscellaneous_Symbols;
		case Dingbats: goto Dingbats;
		case Miscellaneous_Mathematical_Symbols_A: goto Miscellaneous_Mathematical_Symbols_A;
		case Supplemental_Arrows_A: goto Supplemental_Arrows_A;
		case Braille_Patterns: goto Braille_Patterns;
		case Supplemental_Arrows_B: goto Supplemental_Arrows_B;
		case Miscellaneous_Mathematical_Symbols_B: goto Miscellaneous_Mathematical_Symbols_B;
		case Supplemental_Mathematical_Operators: goto Supplemental_Mathematical_Operators;
		case Miscellaneous_Symbols_and_Arrows: goto Miscellaneous_Symbols_and_Arrows;
		case Glagolitic: goto Glagolitic;
		case Latin_Extended_C: goto Latin_Extended_C;
		case Coptic: goto Coptic;
		case Georgian_Supplement: goto Georgian_Supplement;
		case Tifinagh: goto Tifinagh;
		case Ethiopic_Extended: goto Ethiopic_Extended;
		case Cyrillic_Extended_A: goto Cyrillic_Extended_A;
		case Supplemental_Punctuation: goto Supplemental_Punctuation;
		case CJK_Radicals_Supplement: goto CJK_Radicals_Supplement;
		case Kangxi_Radicals: goto Kangxi_Radicals;
		case Ideographic_Description_Characters: goto Ideographic_Description_Characters;
		case CJK_Symbols_and_Punctuation: goto CJK_Symbols_and_Punctuation;
		case Hiragana: goto Hiragana;
		case Katakana: goto Katakana;
		case Bopomofo: goto Bopomofo;
		case Hangul_Compatibility_Jamo: goto Hangul_Compatibility_Jamo;
		case Kanbun: goto Kanbun;
		case Bopomofo_Extended: goto Bopomofo_Extended;
		case CJK_Strokes: goto CJK_Strokes;
		case Katakana_Phonetic_Extensions: goto Katakana_Phonetic_Extensions;
		case Enclosed_CJK_Letters_and_Months: goto Enclosed_CJK_Letters_and_Months;
		case CJK_Compatibility: goto CJK_Compatibility;
		case CJK_Unified_Ideographs_Extension_A: goto CJK_Unified_Ideographs_Extension_A;
		case Yijing_Hexagram_Symbols: goto Yijing_Hexagram_Symbols;
		case CJK_Unified_Ideographs: goto CJK_Unified_Ideographs;
		case Yi_Syllables: goto Yi_Syllables;
		case Yi_Radicals: goto Yi_Radicals;
		case Lisu: goto Lisu;
		case Vai: goto Vai;
		case Cyrillic_Extended_B: goto Cyrillic_Extended_B;
		case Bamum: goto Bamum;
		case Modifier_Tone_Letters: goto Modifier_Tone_Letters;
		case Latin_Extended_D: goto Latin_Extended_D;
		case Syloti_Nagri: goto Syloti_Nagri;
		case Common_Indic_Number_Forms: goto Common_Indic_Number_Forms;
		case Phags_pa: goto Phags_pa;
		case Saurashtra: goto Saurashtra;
		case Devanagari_Extended: goto Devanagari_Extended;
		case Kayah_Li: goto Kayah_Li;
		case Rejang: goto Rejang;
		case Hangul_Jamo_Extended_A: goto Hangul_Jamo_Extended_A;
		case Javanese: goto Javanese;
		case Myanmar_Extended_B: goto Myanmar_Extended_B;
		case Cham: goto Cham;
		case Myanmar_Extended_A: goto Myanmar_Extended_A;
		case Tai_Viet: goto Tai_Viet;
		case Meetei_Mayek_Extensions: goto Meetei_Mayek_Extensions;
		case Ethiopic_Extended_A: goto Ethiopic_Extended_A;
		case Latin_Extended_E: goto Latin_Extended_E;
		case Cherokee_Supplement: goto Cherokee_Supplement;
		case Meetei_Mayek: goto Meetei_Mayek;
		case Hangul_Syllables: goto Hangul_Syllables;
		case Hangul_Jamo_Extended_B: goto Hangul_Jamo_Extended_B;
		case High_Surrogates: goto High_Surrogates;
		case High_Private_Use_Surrogates: goto High_Private_Use_Surrogates;
		case Low_Surrogates: goto Low_Surrogates;
		case Private_Use_Area: goto Private_Use_Area;
		case CJK_Compatibility_Ideographs: goto CJK_Compatibility_Ideographs;
		case Alphabetic_Presentation_Forms: goto Alphabetic_Presentation_Forms;
		case Arabic_Presentation_Forms_A: goto Arabic_Presentation_Forms_A;
		case Variation_Selectors: goto Variation_Selectors;
		case Vertical_Forms: goto Vertical_Forms;
		case Combining_Half_Marks: goto Combining_Half_Marks;
		case CJK_Compatibility_Forms: goto CJK_Compatibility_Forms;
		case Small_Form_Variants: goto Small_Form_Variants;
		case Arabic_Presentation_Forms_B: goto Arabic_Presentation_Forms_B;
		case Halfwidth_and_Fullwidth_Forms: goto Halfwidth_and_Fullwidth_Forms;
		case Specials: goto Specials;
		case Linear_B_Syllabary: goto Linear_B_Syllabary;
		case Linear_B_Ideograms: goto Linear_B_Ideograms;
		case Aegean_Numbers: goto Aegean_Numbers;
		case Ancient_Greek_Numbers: goto Ancient_Greek_Numbers;
		case Ancient_Symbols: goto Ancient_Symbols;
		case Phaistos_Disc: goto Phaistos_Disc;
		case Lycian: goto Lycian;
		case Carian: goto Carian;
		case Coptic_Epact_Numbers: goto Coptic_Epact_Numbers;
		case Old_Italic: goto Old_Italic;
		case Gothic: goto Gothic;
		case Old_Permic: goto Old_Permic;
		case Ugaritic: goto Ugaritic;
		case Old_Persian: goto Old_Persian;
		case Deseret: goto Deseret;
		case Shavian: goto Shavian;
		case Osmanya: goto Osmanya;
		case Osage: goto Osage;
		case Elbasan: goto Elbasan;
		case Caucasian_Albanian: goto Caucasian_Albanian;
		case Vithkuqi: goto Vithkuqi;
		case Todhri: goto Todhri;
		case Linear_A: goto Linear_A;
		case Latin_Extended_F: goto Latin_Extended_F;
		case Cypriot_Syllabary: goto Cypriot_Syllabary;
		case Imperial_Aramaic: goto Imperial_Aramaic;
		case Palmyrene: goto Palmyrene;
		case Nabataean: goto Nabataean;
		case Hatran: goto Hatran;
		case Phoenician: goto Phoenician;
		case Lydian: goto Lydian;
		case Sidetic: goto Sidetic;
		case Meroitic_Hieroglyphs: goto Meroitic_Hieroglyphs;
		case Meroitic_Cursive: goto Meroitic_Cursive;
		case Kharoshthi: goto Kharoshthi;
		case Old_South_Arabian: goto Old_South_Arabian;
		case Old_North_Arabian: goto Old_North_Arabian;
		case Manichaean: goto Manichaean;
		case Avestan: goto Avestan;
		case Inscriptional_Parthian: goto Inscriptional_Parthian;
		case Inscriptional_Pahlavi: goto Inscriptional_Pahlavi;
		case Psalter_Pahlavi: goto Psalter_Pahlavi;
		case Old_Turkic: goto Old_Turkic;
		case Old_Hungarian: goto Old_Hungarian;
		case Hanifi_Rohingya: goto Hanifi_Rohingya;
		case Garay: goto Garay;
		case Rumi_Numeral_Symbols: goto Rumi_Numeral_Symbols;
		case Yezidi: goto Yezidi;
		case Arabic_Extended_C: goto Arabic_Extended_C;
		case Old_Sogdian: goto Old_Sogdian;
		case Sogdian: goto Sogdian;
		case Old_Uyghur: goto Old_Uyghur;
		case Chorasmian: goto Chorasmian;
		case Elymaic: goto Elymaic;
		case Brahmi: goto Brahmi;
		case Kaithi: goto Kaithi;
		case Sora_Sompeng: goto Sora_Sompeng;
		case Chakma: goto Chakma;
		case Mahajani: goto Mahajani;
		case Sharada: goto Sharada;
		case Sinhala_Archaic_Numbers: goto Sinhala_Archaic_Numbers;
		case Khojki: goto Khojki;
		case Multani: goto Multani;
		case Khudawadi: goto Khudawadi;
		case Grantha: goto Grantha;
		case Tulu_Tigalari: goto Tulu_Tigalari;
		case Newa: goto Newa;
		case Tirhuta: goto Tirhuta;
		case Siddham: goto Siddham;
		case Modi: goto Modi;
		case Mongolian_Supplement: goto Mongolian_Supplement;
		case Takri: goto Takri;
		case Myanmar_Extended_C: goto Myanmar_Extended_C;
		case Ahom: goto Ahom;
		case Dogra: goto Dogra;
		case Warang_Citi: goto Warang_Citi;
		case Dives_Akuru: goto Dives_Akuru;
		case Nandinagari: goto Nandinagari;
		case Zanabazar_Square: goto Zanabazar_Square;
		case Soyombo: goto Soyombo;
		case Unified_Canadian_Aboriginal_Syllabics_Extended_A: goto Unified_Canadian_Aboriginal_Syllabics_Extended_A;
		case Pau_Cin_Hau: goto Pau_Cin_Hau;
		case Devanagari_Extended_A: goto Devanagari_Extended_A;
		case Sharada_Supplement: goto Sharada_Supplement;
		case Sunuwar: goto Sunuwar;
		case Bhaiksuki: goto Bhaiksuki;
		case Marchen: goto Marchen;
		case Masaram_Gondi: goto Masaram_Gondi;
		case Gunjala_Gondi: goto Gunjala_Gondi;
		case Tolong_Siki: goto Tolong_Siki;
		case Makasar: goto Makasar;
		case Kawi: goto Kawi;
		case Lisu_Supplement: goto Lisu_Supplement;
		case Tamil_Supplement: goto Tamil_Supplement;
		case Cuneiform: goto Cuneiform;
		case Cuneiform_Numbers_and_Punctuation: goto Cuneiform_Numbers_and_Punctuation;
		case Early_Dynastic_Cuneiform: goto Early_Dynastic_Cuneiform;
		case Cypro_Minoan: goto Cypro_Minoan;
		case Egyptian_Hieroglyphs: goto Egyptian_Hieroglyphs;
		case Egyptian_Hieroglyph_Format_Controls: goto Egyptian_Hieroglyph_Format_Controls;
		case Egyptian_Hieroglyphs_Extended_A: goto Egyptian_Hieroglyphs_Extended_A;
		case Anatolian_Hieroglyphs: goto Anatolian_Hieroglyphs;
		case Gurung_Khema: goto Gurung_Khema;
		case Bamum_Supplement: goto Bamum_Supplement;
		case Mro: goto Mro;
		case Tangsa: goto Tangsa;
		case Bassa_Vah: goto Bassa_Vah;
		case Pahawh_Hmong: goto Pahawh_Hmong;
		case Kirat_Rai: goto Kirat_Rai;
		case Medefaidrin: goto Medefaidrin;
		case Beria_Erfe: goto Beria_Erfe;
		case Miao: goto Miao;
		case Ideographic_Symbols_and_Punctuation: goto Ideographic_Symbols_and_Punctuation;
		case Tangut: goto Tangut;
		case Tangut_Components: goto Tangut_Components;
		case Khitan_Small_Script: goto Khitan_Small_Script;
		case Tangut_Supplement: goto Tangut_Supplement;
		case Tangut_Components_Supplement: goto Tangut_Components_Supplement;
		case Kana_Extended_B: goto Kana_Extended_B;
		case Kana_Supplement: goto Kana_Supplement;
		case Kana_Extended_A: goto Kana_Extended_A;
		case Small_Kana_Extension: goto Small_Kana_Extension;
		case Nushu: goto Nushu;
		case Duployan: goto Duployan;
		case Shorthand_Format_Controls: goto Shorthand_Format_Controls;
		case Symbols_for_Legacy_Computing_Supplement: goto Symbols_for_Legacy_Computing_Supplement;
		case Miscellaneous_Symbols_Supplement: goto Miscellaneous_Symbols_Supplement;
		case Znamenny_Musical_Notation: goto Znamenny_Musical_Notation;
		case Byzantine_Musical_Symbols: goto Byzantine_Musical_Symbols;
		case Musical_Symbols: goto Musical_Symbols;
		case Ancient_Greek_Musical_Notation: goto Ancient_Greek_Musical_Notation;
		case Kaktovik_Numerals: goto Kaktovik_Numerals;
		case Mayan_Numerals: goto Mayan_Numerals;
		case Tai_Xuan_Jing_Symbols: goto Tai_Xuan_Jing_Symbols;
		case Counting_Rod_Numerals: goto Counting_Rod_Numerals;
		case Mathematical_Alphanumeric_Symbols: goto Mathematical_Alphanumeric_Symbols;
		case Sutton_SignWriting: goto Sutton_SignWriting;
		case Latin_Extended_G: goto Latin_Extended_G;
		case Glagolitic_Supplement: goto Glagolitic_Supplement;
		case Cyrillic_Extended_D: goto Cyrillic_Extended_D;
		case Nyiakeng_Puachue_Hmong: goto Nyiakeng_Puachue_Hmong;
		case Toto: goto Toto;
		case Wancho: goto Wancho;
		case Nag_Mundari: goto Nag_Mundari;
		case Ol_Onal: goto Ol_Onal;
		case Tai_Yo: goto Tai_Yo;
		case Ethiopic_Extended_B: goto Ethiopic_Extended_B;
		case Mende_Kikakui: goto Mende_Kikakui;
		case Adlam: goto Adlam;
		case Indic_Siyaq_Numbers: goto Indic_Siyaq_Numbers;
		case Ottoman_Siyaq_Numbers: goto Ottoman_Siyaq_Numbers;
		case Arabic_Mathematical_Alphabetic_Symbols: goto Arabic_Mathematical_Alphabetic_Symbols;
		case Mahjong_Tiles: goto Mahjong_Tiles;
		case Domino_Tiles: goto Domino_Tiles;
		case Playing_Cards: goto Playing_Cards;
		case Enclosed_Alphanumeric_Supplement: goto Enclosed_Alphanumeric_Supplement;
		case Enclosed_Ideographic_Supplement: goto Enclosed_Ideographic_Supplement;
		case Miscellaneous_Symbols_and_Pictographs: goto Miscellaneous_Symbols_and_Pictographs;
		case Emoticons: goto Emoticons;
		case Ornamental_Dingbats: goto Ornamental_Dingbats;
		case Transport_and_Map_Symbols: goto Transport_and_Map_Symbols;
		case Alchemical_Symbols: goto Alchemical_Symbols;
		case Geometric_Shapes_Extended: goto Geometric_Shapes_Extended;
		case Supplemental_Arrows_C: goto Supplemental_Arrows_C;
		case Supplemental_Symbols_and_Pictographs: goto Supplemental_Symbols_and_Pictographs;
		case Chess_Symbols: goto Chess_Symbols;
		case Symbols_and_Pictographs_Extended_A: goto Symbols_and_Pictographs_Extended_A;
		case Symbols_for_Legacy_Computing: goto Symbols_for_Legacy_Computing;
		case CJK_Unified_Ideographs_Extension_B: goto CJK_Unified_Ideographs_Extension_B;
		case CJK_Unified_Ideographs_Extension_C: goto CJK_Unified_Ideographs_Extension_C;
		case CJK_Unified_Ideographs_Extension_D: goto CJK_Unified_Ideographs_Extension_D;
		case CJK_Unified_Ideographs_Extension_E: goto CJK_Unified_Ideographs_Extension_E;
		case CJK_Unified_Ideographs_Extension_F: goto CJK_Unified_Ideographs_Extension_F;
		case CJK_Unified_Ideographs_Extension_I: goto CJK_Unified_Ideographs_Extension_I;
		case CJK_Compatibility_Ideographs_Supplement: goto CJK_Compatibility_Ideographs_Supplement;
		case CJK_Unified_Ideographs_Extension_G: goto CJK_Unified_Ideographs_Extension_G;
		case CJK_Unified_Ideographs_Extension_H: goto CJK_Unified_Ideographs_Extension_H;
		case CJK_Unified_Ideographs_Extension_J: goto CJK_Unified_Ideographs_Extension_J;
		case Tags: goto Tags;
		case Variation_Selectors_Supplement: goto Variation_Selectors_Supplement;
		case Supplementary_Private_Use_Area_A: goto Supplementary_Private_Use_Area_A;
		case Supplementary_Private_Use_Area_B: goto Supplementary_Private_Use_Area_B;
		default: return Error;
	}
#line 1056 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Basic_Latin:
	
#line 716 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych >= 0x80) goto yy1;
	++YYCURSOR;
#line 1060 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Basic_Latin; }
#line 724 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1:
	++YYCURSOR;
#line 1061 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Basic_Latin; else return Error; }
#line 729 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1062 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_1_Supplement:
	
#line 735 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xC2:
		case 0xC3: goto yy5;
		default: goto yy3;
	}
yy3:
	++YYCURSOR;
yy4:
#line 1067 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_1_Supplement; else return Error; }
#line 749 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy5:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy6;
		default: goto yy4;
	}
yy6:
	++YYCURSOR;
#line 1066 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_1_Supplement; }
#line 823 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1068 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_A:
	
#line 829 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xC4:
		case 0xC5: goto yy10;
		default: goto yy8;
	}
yy8:
	++YYCURSOR;
yy9:
#line 1073 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_A; else return Error; }
#line 843 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy10:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy11;
		default: goto yy9;
	}
yy11:
	++YYCURSOR;
#line 1072 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_A; }
#line 917 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1074 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_B:
	
#line 923 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xC6:
		case 0xC7:
		case 0xC8: goto yy15;
		case 0xC9: goto yy16;
		default: goto yy13;
	}
yy13:
	++YYCURSOR;
yy14:
#line 1079 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_B; else return Error; }
#line 939 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy15:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy17;
		default: goto yy14;
	}
yy16:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy17;
		default: goto yy14;
	}
yy17:
	++YYCURSOR;
#line 1078 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_B; }
#line 1034 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1080 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

IPA_Extensions:
	
#line 1040 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xC9: goto yy21;
		case 0xCA: goto yy22;
		default: goto yy19;
	}
yy19:
	++YYCURSOR;
yy20:
#line 1085 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return IPA_Extensions; else return Error; }
#line 1054 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy21:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy23;
		default: goto yy20;
	}
yy22:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy23;
		default: goto yy20;
	}
yy23:
	++YYCURSOR;
#line 1084 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto IPA_Extensions; }
#line 1165 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1086 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Spacing_Modifier_Letters:
	
#line 1171 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xCA: goto yy27;
		case 0xCB: goto yy28;
		default: goto yy25;
	}
yy25:
	++YYCURSOR;
yy26:
#line 1091 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Spacing_Modifier_Letters; else return Error; }
#line 1185 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy27:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy29;
		default: goto yy26;
	}
yy28:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy29;
		default: goto yy26;
	}
yy29:
	++YYCURSOR;
#line 1090 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Spacing_Modifier_Letters; }
#line 1280 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1092 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Combining_Diacritical_Marks:
	
#line 1286 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xCC: goto yy33;
		case 0xCD: goto yy34;
		default: goto yy31;
	}
yy31:
	++YYCURSOR;
yy32:
#line 1097 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Combining_Diacritical_Marks; else return Error; }
#line 1300 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy33:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy35;
		default: goto yy32;
	}
yy34:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy35;
		default: goto yy32;
	}
yy35:
	++YYCURSOR;
#line 1096 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Combining_Diacritical_Marks; }
#line 1427 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1098 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Greek_and_Coptic:
	
#line 1433 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xCD: goto yy39;
		case 0xCE:
		case 0xCF: goto yy40;
		default: goto yy37;
	}
yy37:
	++YYCURSOR;
yy38:
#line 1103 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Greek_and_Coptic; else return Error; }
#line 1448 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy39:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy41;
		default: goto yy38;
	}
yy40:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy41;
		default: goto yy38;
	}
yy41:
	++YYCURSOR;
#line 1102 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Greek_and_Coptic; }
#line 1543 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1104 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cyrillic:
	
#line 1549 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xD0:
		case 0xD1:
		case 0xD2:
		case 0xD3: goto yy45;
		default: goto yy43;
	}
yy43:
	++YYCURSOR;
yy44:
#line 1109 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cyrillic; else return Error; }
#line 1565 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy45:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy46;
		default: goto yy44;
	}
yy46:
	++YYCURSOR;
#line 1108 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cyrillic; }
#line 1639 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1110 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cyrillic_Supplement:
	
#line 1645 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xD4: goto yy50;
		default: goto yy48;
	}
yy48:
	++YYCURSOR;
yy49:
#line 1115 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cyrillic_Supplement; else return Error; }
#line 1658 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy50:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy51;
		default: goto yy49;
	}
yy51:
	++YYCURSOR;
#line 1114 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cyrillic_Supplement; }
#line 1716 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1116 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Armenian:
	
#line 1722 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xD4: goto yy55;
		case 0xD5: goto yy56;
		case 0xD6: goto yy57;
		default: goto yy53;
	}
yy53:
	++YYCURSOR;
yy54:
#line 1121 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Armenian; else return Error; }
#line 1737 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy55:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy58;
		default: goto yy54;
	}
yy56:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy58;
		default: goto yy54;
	}
yy57:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy58;
		default: goto yy54;
	}
yy58:
	++YYCURSOR;
#line 1120 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Armenian; }
#line 1853 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1122 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hebrew:
	
#line 1859 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xD6: goto yy62;
		case 0xD7: goto yy63;
		default: goto yy60;
	}
yy60:
	++YYCURSOR;
yy61:
#line 1127 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hebrew; else return Error; }
#line 1873 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy62:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy64;
		default: goto yy61;
	}
yy63:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy64;
		default: goto yy61;
	}
yy64:
	++YYCURSOR;
#line 1126 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hebrew; }
#line 2000 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1128 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic:
	
#line 2006 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xD8:
		case 0xD9:
		case 0xDA:
		case 0xDB: goto yy68;
		default: goto yy66;
	}
yy66:
	++YYCURSOR;
yy67:
#line 1133 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic; else return Error; }
#line 2022 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy68:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy69;
		default: goto yy67;
	}
yy69:
	++YYCURSOR;
#line 1132 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic; }
#line 2096 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1134 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Syriac:
	
#line 2102 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xDC: goto yy73;
		case 0xDD: goto yy74;
		default: goto yy71;
	}
yy71:
	++YYCURSOR;
yy72:
#line 1139 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Syriac; else return Error; }
#line 2116 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy73:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy75;
		default: goto yy72;
	}
yy74:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy75;
		default: goto yy72;
	}
yy75:
	++YYCURSOR;
#line 1138 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Syriac; }
#line 2211 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1140 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Supplement:
	
#line 2217 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xDD: goto yy79;
		default: goto yy77;
	}
yy77:
	++YYCURSOR;
yy78:
#line 1145 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Supplement; else return Error; }
#line 2230 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy79:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy80;
		default: goto yy78;
	}
yy80:
	++YYCURSOR;
#line 1144 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Supplement; }
#line 2288 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1146 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Thaana:
	
#line 2294 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xDE: goto yy84;
		default: goto yy82;
	}
yy82:
	++YYCURSOR;
yy83:
#line 1151 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Thaana; else return Error; }
#line 2307 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy84:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy85;
		default: goto yy83;
	}
yy85:
	++YYCURSOR;
#line 1150 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Thaana; }
#line 2381 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1152 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

NKo:
	
#line 2387 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xDF: goto yy89;
		default: goto yy87;
	}
yy87:
	++YYCURSOR;
yy88:
#line 1157 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return NKo; else return Error; }
#line 2400 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy89:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy90;
		default: goto yy88;
	}
yy90:
	++YYCURSOR;
#line 1156 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto NKo; }
#line 2474 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1158 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Samaritan:
	
#line 2480 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy94;
		default: goto yy92;
	}
yy92:
	++YYCURSOR;
yy93:
#line 1163 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Samaritan; else return Error; }
#line 2493 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy94:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0: goto yy95;
		default: goto yy93;
	}
yy95:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy97;
		default: goto yy96;
	}
yy96:
	YYCURSOR = YYMARKER;
	goto yy93;
yy97:
	++YYCURSOR;
#line 1162 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Samaritan; }
#line 2576 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1164 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mandaic:
	
#line 2582 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy101;
		default: goto yy99;
	}
yy99:
	++YYCURSOR;
yy100:
#line 1169 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mandaic; else return Error; }
#line 2595 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy101:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA1: goto yy102;
		default: goto yy100;
	}
yy102:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy104;
		default: goto yy103;
	}
yy103:
	YYCURSOR = YYMARKER;
	goto yy100;
yy104:
	++YYCURSOR;
#line 1168 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mandaic; }
#line 2646 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1170 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Syriac_Supplement:
	
#line 2652 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy108;
		default: goto yy106;
	}
yy106:
	++YYCURSOR;
yy107:
#line 1175 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Syriac_Supplement; else return Error; }
#line 2665 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy108:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA1: goto yy109;
		default: goto yy107;
	}
yy109:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy111;
		default: goto yy110;
	}
yy110:
	YYCURSOR = YYMARKER;
	goto yy107;
yy111:
	++YYCURSOR;
#line 1174 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Syriac_Supplement; }
#line 2700 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1176 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Extended_B:
	
#line 2706 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy115;
		default: goto yy113;
	}
yy113:
	++YYCURSOR;
yy114:
#line 1181 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Extended_B; else return Error; }
#line 2719 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy115:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA1: goto yy116;
		case 0xA2: goto yy118;
		default: goto yy114;
	}
yy116:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy119;
		default: goto yy117;
	}
yy117:
	YYCURSOR = YYMARKER;
	goto yy114;
yy118:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy119;
		default: goto yy117;
	}
yy119:
	++YYCURSOR;
#line 1180 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Extended_B; }
#line 2792 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1182 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Extended_A:
	
#line 2798 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy123;
		default: goto yy121;
	}
yy121:
	++YYCURSOR;
yy122:
#line 1187 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Extended_A; else return Error; }
#line 2811 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy123:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA2: goto yy124;
		case 0xA3: goto yy126;
		default: goto yy122;
	}
yy124:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy127;
		default: goto yy125;
	}
yy125:
	YYCURSOR = YYMARKER;
	goto yy122;
yy126:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy127;
		default: goto yy125;
	}
yy127:
	++YYCURSOR;
#line 1186 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Extended_A; }
#line 2932 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1188 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Devanagari:
	
#line 2938 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy131;
		default: goto yy129;
	}
yy129:
	++YYCURSOR;
yy130:
#line 1193 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Devanagari; else return Error; }
#line 2951 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy131:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA4:
		case 0xA5: goto yy132;
		default: goto yy130;
	}
yy132:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy134;
		default: goto yy133;
	}
yy133:
	YYCURSOR = YYMARKER;
	goto yy130;
yy134:
	++YYCURSOR;
#line 1192 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Devanagari; }
#line 3035 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1194 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bengali:
	
#line 3041 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy138;
		default: goto yy136;
	}
yy136:
	++YYCURSOR;
yy137:
#line 1199 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bengali; else return Error; }
#line 3054 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy138:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA6:
		case 0xA7: goto yy139;
		default: goto yy137;
	}
yy139:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy141;
		default: goto yy140;
	}
yy140:
	YYCURSOR = YYMARKER;
	goto yy137;
yy141:
	++YYCURSOR;
#line 1198 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bengali; }
#line 3138 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1200 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Gurmukhi:
	
#line 3144 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy145;
		default: goto yy143;
	}
yy143:
	++YYCURSOR;
yy144:
#line 1205 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Gurmukhi; else return Error; }
#line 3157 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy145:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA8:
		case 0xA9: goto yy146;
		default: goto yy144;
	}
yy146:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy148;
		default: goto yy147;
	}
yy147:
	YYCURSOR = YYMARKER;
	goto yy144;
yy148:
	++YYCURSOR;
#line 1204 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Gurmukhi; }
#line 3241 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1206 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Gujarati:
	
#line 3247 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy152;
		default: goto yy150;
	}
yy150:
	++YYCURSOR;
yy151:
#line 1211 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Gujarati; else return Error; }
#line 3260 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy152:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAA:
		case 0xAB: goto yy153;
		default: goto yy151;
	}
yy153:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy155;
		default: goto yy154;
	}
yy154:
	YYCURSOR = YYMARKER;
	goto yy151;
yy155:
	++YYCURSOR;
#line 1210 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Gujarati; }
#line 3344 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1212 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Oriya:
	
#line 3350 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy159;
		default: goto yy157;
	}
yy157:
	++YYCURSOR;
yy158:
#line 1217 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Oriya; else return Error; }
#line 3363 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy159:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC:
		case 0xAD: goto yy160;
		default: goto yy158;
	}
yy160:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy162;
		default: goto yy161;
	}
yy161:
	YYCURSOR = YYMARKER;
	goto yy158;
yy162:
	++YYCURSOR;
#line 1216 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Oriya; }
#line 3447 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1218 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tamil:
	
#line 3453 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy166;
		default: goto yy164;
	}
yy164:
	++YYCURSOR;
yy165:
#line 1223 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tamil; else return Error; }
#line 3466 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy166:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAE:
		case 0xAF: goto yy167;
		default: goto yy165;
	}
yy167:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy169;
		default: goto yy168;
	}
yy168:
	YYCURSOR = YYMARKER;
	goto yy165;
yy169:
	++YYCURSOR;
#line 1222 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tamil; }
#line 3550 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1224 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Telugu:
	
#line 3556 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy173;
		default: goto yy171;
	}
yy171:
	++YYCURSOR;
yy172:
#line 1229 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Telugu; else return Error; }
#line 3569 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy173:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB0:
		case 0xB1: goto yy174;
		default: goto yy172;
	}
yy174:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy176;
		default: goto yy175;
	}
yy175:
	YYCURSOR = YYMARKER;
	goto yy172;
yy176:
	++YYCURSOR;
#line 1228 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Telugu; }
#line 3653 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1230 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kannada:
	
#line 3659 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy180;
		default: goto yy178;
	}
yy178:
	++YYCURSOR;
yy179:
#line 1235 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kannada; else return Error; }
#line 3672 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy180:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB2:
		case 0xB3: goto yy181;
		default: goto yy179;
	}
yy181:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy183;
		default: goto yy182;
	}
yy182:
	YYCURSOR = YYMARKER;
	goto yy179;
yy183:
	++YYCURSOR;
#line 1234 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kannada; }
#line 3756 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1236 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Malayalam:
	
#line 3762 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy187;
		default: goto yy185;
	}
yy185:
	++YYCURSOR;
yy186:
#line 1241 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Malayalam; else return Error; }
#line 3775 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy187:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB4:
		case 0xB5: goto yy188;
		default: goto yy186;
	}
yy188:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy190;
		default: goto yy189;
	}
yy189:
	YYCURSOR = YYMARKER;
	goto yy186;
yy190:
	++YYCURSOR;
#line 1240 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Malayalam; }
#line 3859 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1242 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sinhala:
	
#line 3865 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy194;
		default: goto yy192;
	}
yy192:
	++YYCURSOR;
yy193:
#line 1247 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sinhala; else return Error; }
#line 3878 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy194:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB6:
		case 0xB7: goto yy195;
		default: goto yy193;
	}
yy195:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy197;
		default: goto yy196;
	}
yy196:
	YYCURSOR = YYMARKER;
	goto yy193;
yy197:
	++YYCURSOR;
#line 1246 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sinhala; }
#line 3962 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1248 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Thai:
	
#line 3968 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy201;
		default: goto yy199;
	}
yy199:
	++YYCURSOR;
yy200:
#line 1253 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Thai; else return Error; }
#line 3981 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy201:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8:
		case 0xB9: goto yy202;
		default: goto yy200;
	}
yy202:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy204;
		default: goto yy203;
	}
yy203:
	YYCURSOR = YYMARKER;
	goto yy200;
yy204:
	++YYCURSOR;
#line 1252 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Thai; }
#line 4065 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1254 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Lao:
	
#line 4071 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy208;
		default: goto yy206;
	}
yy206:
	++YYCURSOR;
yy207:
#line 1259 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Lao; else return Error; }
#line 4084 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy208:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBA:
		case 0xBB: goto yy209;
		default: goto yy207;
	}
yy209:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy211;
		default: goto yy210;
	}
yy210:
	YYCURSOR = YYMARKER;
	goto yy207;
yy211:
	++YYCURSOR;
#line 1258 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Lao; }
#line 4168 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1260 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tibetan:
	
#line 4174 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE0: goto yy215;
		default: goto yy213;
	}
yy213:
	++YYCURSOR;
yy214:
#line 1265 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tibetan; else return Error; }
#line 4187 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy215:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy216;
		default: goto yy214;
	}
yy216:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy218;
		default: goto yy217;
	}
yy217:
	YYCURSOR = YYMARKER;
	goto yy214;
yy218:
	++YYCURSOR;
#line 1264 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tibetan; }
#line 4273 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1266 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Myanmar:
	
#line 4279 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy222;
		default: goto yy220;
	}
yy220:
	++YYCURSOR;
yy221:
#line 1271 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Myanmar; else return Error; }
#line 4292 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy222:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81: goto yy223;
		case 0x82: goto yy225;
		default: goto yy221;
	}
yy223:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy226;
		default: goto yy224;
	}
yy224:
	YYCURSOR = YYMARKER;
	goto yy221;
yy225:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy226;
		default: goto yy224;
	}
yy226:
	++YYCURSOR;
#line 1270 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Myanmar; }
#line 4414 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1272 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Georgian:
	
#line 4420 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy230;
		default: goto yy228;
	}
yy228:
	++YYCURSOR;
yy229:
#line 1277 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Georgian; else return Error; }
#line 4433 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy230:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x82: goto yy231;
		case 0x83: goto yy233;
		default: goto yy229;
	}
yy231:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy234;
		default: goto yy232;
	}
yy232:
	YYCURSOR = YYMARKER;
	goto yy229;
yy233:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy234;
		default: goto yy232;
	}
yy234:
	++YYCURSOR;
#line 1276 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Georgian; }
#line 4554 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1278 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hangul_Jamo:
	
#line 4560 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy238;
		default: goto yy236;
	}
yy236:
	++YYCURSOR;
yy237:
#line 1283 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hangul_Jamo; else return Error; }
#line 4573 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy238:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87: goto yy239;
		default: goto yy237;
	}
yy239:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy241;
		default: goto yy240;
	}
yy240:
	YYCURSOR = YYMARKER;
	goto yy237;
yy241:
	++YYCURSOR;
#line 1282 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hangul_Jamo; }
#line 4659 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1284 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ethiopic:
	
#line 4665 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy245;
		default: goto yy243;
	}
yy243:
	++YYCURSOR;
yy244:
#line 1289 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ethiopic; else return Error; }
#line 4678 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy245:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D: goto yy246;
		default: goto yy244;
	}
yy246:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy248;
		default: goto yy247;
	}
yy247:
	YYCURSOR = YYMARKER;
	goto yy244;
yy248:
	++YYCURSOR;
#line 1288 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ethiopic; }
#line 4766 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1290 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ethiopic_Supplement:
	
#line 4772 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy252;
		default: goto yy250;
	}
yy250:
	++YYCURSOR;
yy251:
#line 1295 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ethiopic_Supplement; else return Error; }
#line 4785 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy252:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x8E: goto yy253;
		default: goto yy251;
	}
yy253:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy255;
		default: goto yy254;
	}
yy254:
	YYCURSOR = YYMARKER;
	goto yy251;
yy255:
	++YYCURSOR;
#line 1294 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ethiopic_Supplement; }
#line 4836 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1296 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cherokee:
	
#line 4842 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy259;
		default: goto yy257;
	}
yy257:
	++YYCURSOR;
yy258:
#line 1301 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cherokee; else return Error; }
#line 4855 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy259:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x8E: goto yy260;
		case 0x8F: goto yy262;
		default: goto yy258;
	}
yy260:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy263;
		default: goto yy261;
	}
yy261:
	YYCURSOR = YYMARKER;
	goto yy258;
yy262:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy263;
		default: goto yy261;
	}
yy263:
	++YYCURSOR;
#line 1300 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cherokee; }
#line 4976 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1302 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Unified_Canadian_Aboriginal_Syllabics:
	
#line 4982 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy267;
		default: goto yy265;
	}
yy265:
	++YYCURSOR;
yy266:
#line 1307 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Unified_Canadian_Aboriginal_Syllabics; else return Error; }
#line 4995 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy267:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99: goto yy268;
		default: goto yy266;
	}
yy268:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy270;
		default: goto yy269;
	}
yy269:
	YYCURSOR = YYMARKER;
	goto yy266;
yy270:
	++YYCURSOR;
#line 1306 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Unified_Canadian_Aboriginal_Syllabics; }
#line 5087 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1308 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ogham:
	
#line 5093 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy274;
		default: goto yy272;
	}
yy272:
	++YYCURSOR;
yy273:
#line 1313 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ogham; else return Error; }
#line 5106 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy274:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9A: goto yy275;
		default: goto yy273;
	}
yy275:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy277;
		default: goto yy276;
	}
yy276:
	YYCURSOR = YYMARKER;
	goto yy273;
yy277:
	++YYCURSOR;
#line 1312 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ogham; }
#line 5157 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1314 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Runic:
	
#line 5163 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy281;
		default: goto yy279;
	}
yy279:
	++YYCURSOR;
yy280:
#line 1319 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Runic; else return Error; }
#line 5176 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy281:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9A: goto yy282;
		case 0x9B: goto yy284;
		default: goto yy280;
	}
yy282:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy285;
		default: goto yy283;
	}
yy283:
	YYCURSOR = YYMARKER;
	goto yy280;
yy284:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy285;
		default: goto yy283;
	}
yy285:
	++YYCURSOR;
#line 1318 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Runic; }
#line 5297 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1320 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tagalog:
	
#line 5303 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy289;
		default: goto yy287;
	}
yy287:
	++YYCURSOR;
yy288:
#line 1325 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tagalog; else return Error; }
#line 5316 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy289:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy290;
		default: goto yy288;
	}
yy290:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy292;
		default: goto yy291;
	}
yy291:
	YYCURSOR = YYMARKER;
	goto yy288;
yy292:
	++YYCURSOR;
#line 1324 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tagalog; }
#line 5367 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1326 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hanunoo:
	
#line 5373 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy296;
		default: goto yy294;
	}
yy294:
	++YYCURSOR;
yy295:
#line 1331 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hanunoo; else return Error; }
#line 5386 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy296:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy297;
		default: goto yy295;
	}
yy297:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy299;
		default: goto yy298;
	}
yy298:
	YYCURSOR = YYMARKER;
	goto yy295;
yy299:
	++YYCURSOR;
#line 1330 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hanunoo; }
#line 5437 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1332 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Buhid:
	
#line 5443 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy303;
		default: goto yy301;
	}
yy301:
	++YYCURSOR;
yy302:
#line 1337 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Buhid; else return Error; }
#line 5456 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy303:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy304;
		default: goto yy302;
	}
yy304:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy306;
		default: goto yy305;
	}
yy305:
	YYCURSOR = YYMARKER;
	goto yy302;
yy306:
	++YYCURSOR;
#line 1336 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Buhid; }
#line 5507 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1338 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tagbanwa:
	
#line 5513 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy310;
		default: goto yy308;
	}
yy308:
	++YYCURSOR;
yy309:
#line 1343 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tagbanwa; else return Error; }
#line 5526 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy310:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy311;
		default: goto yy309;
	}
yy311:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy313;
		default: goto yy312;
	}
yy312:
	YYCURSOR = YYMARKER;
	goto yy309;
yy313:
	++YYCURSOR;
#line 1342 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tagbanwa; }
#line 5577 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1344 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Khmer:
	
#line 5583 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy317;
		default: goto yy315;
	}
yy315:
	++YYCURSOR;
yy316:
#line 1349 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Khmer; else return Error; }
#line 5596 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy317:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E:
		case 0x9F: goto yy318;
		default: goto yy316;
	}
yy318:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy320;
		default: goto yy319;
	}
yy319:
	YYCURSOR = YYMARKER;
	goto yy316;
yy320:
	++YYCURSOR;
#line 1348 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Khmer; }
#line 5680 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1350 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mongolian:
	
#line 5686 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy324;
		default: goto yy322;
	}
yy322:
	++YYCURSOR;
yy323:
#line 1355 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mongolian; else return Error; }
#line 5699 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy324:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0:
		case 0xA1: goto yy325;
		case 0xA2: goto yy327;
		default: goto yy323;
	}
yy325:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy328;
		default: goto yy326;
	}
yy326:
	YYCURSOR = YYMARKER;
	goto yy323;
yy327:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy328;
		default: goto yy326;
	}
yy328:
	++YYCURSOR;
#line 1354 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mongolian; }
#line 5837 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1356 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Unified_Canadian_Aboriginal_Syllabics_Extended:
	
#line 5843 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy332;
		default: goto yy330;
	}
yy330:
	++YYCURSOR;
yy331:
#line 1361 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Unified_Canadian_Aboriginal_Syllabics_Extended; else return Error; }
#line 5856 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy332:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA2: goto yy333;
		case 0xA3: goto yy335;
		default: goto yy331;
	}
yy333:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy336;
		default: goto yy334;
	}
yy334:
	YYCURSOR = YYMARKER;
	goto yy331;
yy335:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy336;
		default: goto yy334;
	}
yy336:
	++YYCURSOR;
#line 1360 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Unified_Canadian_Aboriginal_Syllabics_Extended; }
#line 5961 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1362 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Limbu:
	
#line 5967 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy340;
		default: goto yy338;
	}
yy338:
	++YYCURSOR;
yy339:
#line 1367 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Limbu; else return Error; }
#line 5980 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy340:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA4: goto yy341;
		case 0xA5: goto yy343;
		default: goto yy339;
	}
yy341:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy344;
		default: goto yy342;
	}
yy342:
	YYCURSOR = YYMARKER;
	goto yy339;
yy343:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy344;
		default: goto yy342;
	}
yy344:
	++YYCURSOR;
#line 1366 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Limbu; }
#line 6085 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1368 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tai_Le:
	
#line 6091 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy348;
		default: goto yy346;
	}
yy346:
	++YYCURSOR;
yy347:
#line 1373 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tai_Le; else return Error; }
#line 6104 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy348:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA5: goto yy349;
		default: goto yy347;
	}
yy349:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy351;
		default: goto yy350;
	}
yy350:
	YYCURSOR = YYMARKER;
	goto yy347;
yy351:
	++YYCURSOR;
#line 1372 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tai_Le; }
#line 6171 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1374 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

New_Tai_Lue:
	
#line 6177 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy355;
		default: goto yy353;
	}
yy353:
	++YYCURSOR;
yy354:
#line 1379 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return New_Tai_Lue; else return Error; }
#line 6190 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy355:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA6: goto yy356;
		case 0xA7: goto yy358;
		default: goto yy354;
	}
yy356:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy359;
		default: goto yy357;
	}
yy357:
	YYCURSOR = YYMARKER;
	goto yy354;
yy358:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy359;
		default: goto yy357;
	}
yy359:
	++YYCURSOR;
#line 1378 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto New_Tai_Lue; }
#line 6311 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1380 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Khmer_Symbols:
	
#line 6317 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy363;
		default: goto yy361;
	}
yy361:
	++YYCURSOR;
yy362:
#line 1385 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Khmer_Symbols; else return Error; }
#line 6330 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy363:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA7: goto yy364;
		default: goto yy362;
	}
yy364:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy366;
		default: goto yy365;
	}
yy365:
	YYCURSOR = YYMARKER;
	goto yy362;
yy366:
	++YYCURSOR;
#line 1384 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Khmer_Symbols; }
#line 6381 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1386 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Buginese:
	
#line 6387 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy370;
		default: goto yy368;
	}
yy368:
	++YYCURSOR;
yy369:
#line 1391 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Buginese; else return Error; }
#line 6400 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy370:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA8: goto yy371;
		default: goto yy369;
	}
yy371:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy373;
		default: goto yy372;
	}
yy372:
	YYCURSOR = YYMARKER;
	goto yy369;
yy373:
	++YYCURSOR;
#line 1390 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Buginese; }
#line 6451 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1392 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tai_Tham:
	
#line 6457 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy377;
		default: goto yy375;
	}
yy375:
	++YYCURSOR;
yy376:
#line 1397 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tai_Tham; else return Error; }
#line 6470 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy377:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA8: goto yy378;
		case 0xA9: goto yy380;
		case 0xAA: goto yy381;
		default: goto yy376;
	}
yy378:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy382;
		default: goto yy379;
	}
yy379:
	YYCURSOR = YYMARKER;
	goto yy376;
yy380:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy382;
		default: goto yy379;
	}
yy381:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy382;
		default: goto yy379;
	}
yy382:
	++YYCURSOR;
#line 1396 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tai_Tham; }
#line 6645 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1398 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Combining_Diacritical_Marks_Extended:
	
#line 6651 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy386;
		default: goto yy384;
	}
yy384:
	++YYCURSOR;
yy385:
#line 1403 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Combining_Diacritical_Marks_Extended; else return Error; }
#line 6664 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy386:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAA: goto yy387;
		case 0xAB: goto yy389;
		default: goto yy385;
	}
yy387:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy390;
		default: goto yy388;
	}
yy388:
	YYCURSOR = YYMARKER;
	goto yy385;
yy389:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy390;
		default: goto yy388;
	}
yy390:
	++YYCURSOR;
#line 1402 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Combining_Diacritical_Marks_Extended; }
#line 6769 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1404 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Balinese:
	
#line 6775 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy394;
		default: goto yy392;
	}
yy392:
	++YYCURSOR;
yy393:
#line 1409 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Balinese; else return Error; }
#line 6788 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy394:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC:
		case 0xAD: goto yy395;
		default: goto yy393;
	}
yy395:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy397;
		default: goto yy396;
	}
yy396:
	YYCURSOR = YYMARKER;
	goto yy393;
yy397:
	++YYCURSOR;
#line 1408 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Balinese; }
#line 6872 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1410 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sundanese:
	
#line 6878 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy401;
		default: goto yy399;
	}
yy399:
	++YYCURSOR;
yy400:
#line 1415 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sundanese; else return Error; }
#line 6891 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy401:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAE: goto yy402;
		default: goto yy400;
	}
yy402:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy404;
		default: goto yy403;
	}
yy403:
	YYCURSOR = YYMARKER;
	goto yy400;
yy404:
	++YYCURSOR;
#line 1414 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sundanese; }
#line 6974 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1416 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Batak:
	
#line 6980 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy408;
		default: goto yy406;
	}
yy406:
	++YYCURSOR;
yy407:
#line 1421 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Batak; else return Error; }
#line 6993 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy408:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAF: goto yy409;
		default: goto yy407;
	}
yy409:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy411;
		default: goto yy410;
	}
yy410:
	YYCURSOR = YYMARKER;
	goto yy407;
yy411:
	++YYCURSOR;
#line 1420 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Batak; }
#line 7076 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1422 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Lepcha:
	
#line 7082 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy415;
		default: goto yy413;
	}
yy413:
	++YYCURSOR;
yy414:
#line 1427 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Lepcha; else return Error; }
#line 7095 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy415:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB0: goto yy416;
		case 0xB1: goto yy418;
		default: goto yy414;
	}
yy416:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy419;
		default: goto yy417;
	}
yy417:
	YYCURSOR = YYMARKER;
	goto yy414;
yy418:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy419;
		default: goto yy417;
	}
yy419:
	++YYCURSOR;
#line 1426 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Lepcha; }
#line 7200 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1428 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ol_Chiki:
	
#line 7206 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy423;
		default: goto yy421;
	}
yy421:
	++YYCURSOR;
yy422:
#line 1433 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ol_Chiki; else return Error; }
#line 7219 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy423:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB1: goto yy424;
		default: goto yy422;
	}
yy424:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy426;
		default: goto yy425;
	}
yy425:
	YYCURSOR = YYMARKER;
	goto yy422;
yy426:
	++YYCURSOR;
#line 1432 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ol_Chiki; }
#line 7286 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1434 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cyrillic_Extended_C:
	
#line 7292 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy430;
		default: goto yy428;
	}
yy428:
	++YYCURSOR;
yy429:
#line 1439 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cyrillic_Extended_C; else return Error; }
#line 7305 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy430:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB2: goto yy431;
		default: goto yy429;
	}
yy431:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy433;
		default: goto yy432;
	}
yy432:
	YYCURSOR = YYMARKER;
	goto yy429;
yy433:
	++YYCURSOR;
#line 1438 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cyrillic_Extended_C; }
#line 7340 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1440 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Georgian_Extended:
	
#line 7346 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy437;
		default: goto yy435;
	}
yy435:
	++YYCURSOR;
yy436:
#line 1445 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Georgian_Extended; else return Error; }
#line 7359 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy437:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB2: goto yy438;
		default: goto yy436;
	}
yy438:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy440;
		default: goto yy439;
	}
yy439:
	YYCURSOR = YYMARKER;
	goto yy436;
yy440:
	++YYCURSOR;
#line 1444 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Georgian_Extended; }
#line 7426 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1446 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sundanese_Supplement:
	
#line 7432 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy444;
		default: goto yy442;
	}
yy442:
	++YYCURSOR;
yy443:
#line 1451 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sundanese_Supplement; else return Error; }
#line 7445 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy444:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB3: goto yy445;
		default: goto yy443;
	}
yy445:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy447;
		default: goto yy446;
	}
yy446:
	YYCURSOR = YYMARKER;
	goto yy443;
yy447:
	++YYCURSOR;
#line 1450 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sundanese_Supplement; }
#line 7480 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1452 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Vedic_Extensions:
	
#line 7486 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy451;
		default: goto yy449;
	}
yy449:
	++YYCURSOR;
yy450:
#line 1457 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Vedic_Extensions; else return Error; }
#line 7499 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy451:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB3: goto yy452;
		default: goto yy450;
	}
yy452:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy454;
		default: goto yy453;
	}
yy453:
	YYCURSOR = YYMARKER;
	goto yy450;
yy454:
	++YYCURSOR;
#line 1456 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Vedic_Extensions; }
#line 7566 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1458 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Phonetic_Extensions:
	
#line 7572 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy458;
		default: goto yy456;
	}
yy456:
	++YYCURSOR;
yy457:
#line 1463 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Phonetic_Extensions; else return Error; }
#line 7585 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy458:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB4:
		case 0xB5: goto yy459;
		default: goto yy457;
	}
yy459:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy461;
		default: goto yy460;
	}
yy460:
	YYCURSOR = YYMARKER;
	goto yy457;
yy461:
	++YYCURSOR;
#line 1462 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Phonetic_Extensions; }
#line 7669 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1464 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Phonetic_Extensions_Supplement:
	
#line 7675 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy465;
		default: goto yy463;
	}
yy463:
	++YYCURSOR;
yy464:
#line 1469 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Phonetic_Extensions_Supplement; else return Error; }
#line 7688 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy465:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB6: goto yy466;
		default: goto yy464;
	}
yy466:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy468;
		default: goto yy467;
	}
yy467:
	YYCURSOR = YYMARKER;
	goto yy464;
yy468:
	++YYCURSOR;
#line 1468 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Phonetic_Extensions_Supplement; }
#line 7771 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1470 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Combining_Diacritical_Marks_Supplement:
	
#line 7777 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy472;
		default: goto yy470;
	}
yy470:
	++YYCURSOR;
yy471:
#line 1475 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Combining_Diacritical_Marks_Supplement; else return Error; }
#line 7790 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy472:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB7: goto yy473;
		default: goto yy471;
	}
yy473:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy475;
		default: goto yy474;
	}
yy474:
	YYCURSOR = YYMARKER;
	goto yy471;
yy475:
	++YYCURSOR;
#line 1474 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Combining_Diacritical_Marks_Supplement; }
#line 7873 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1476 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_Additional:
	
#line 7879 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy479;
		default: goto yy477;
	}
yy477:
	++YYCURSOR;
yy478:
#line 1481 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_Additional; else return Error; }
#line 7892 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy479:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB: goto yy480;
		default: goto yy478;
	}
yy480:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy482;
		default: goto yy481;
	}
yy481:
	YYCURSOR = YYMARKER;
	goto yy478;
yy482:
	++YYCURSOR;
#line 1480 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_Additional; }
#line 7978 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1482 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Greek_Extended:
	
#line 7984 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE1: goto yy486;
		default: goto yy484;
	}
yy484:
	++YYCURSOR;
yy485:
#line 1487 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Greek_Extended; else return Error; }
#line 7997 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy486:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy487;
		default: goto yy485;
	}
yy487:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy489;
		default: goto yy488;
	}
yy488:
	YYCURSOR = YYMARKER;
	goto yy485;
yy489:
	++YYCURSOR;
#line 1486 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Greek_Extended; }
#line 8083 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1488 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

General_Punctuation:
	
#line 8089 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy493;
		default: goto yy491;
	}
yy491:
	++YYCURSOR;
yy492:
#line 1493 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return General_Punctuation; else return Error; }
#line 8102 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy493:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80: goto yy494;
		case 0x81: goto yy496;
		default: goto yy492;
	}
yy494:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy497;
		default: goto yy495;
	}
yy495:
	YYCURSOR = YYMARKER;
	goto yy492;
yy496:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy497;
		default: goto yy495;
	}
yy497:
	++YYCURSOR;
#line 1492 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto General_Punctuation; }
#line 8239 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1494 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Superscripts_and_Subscripts:
	
#line 8245 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy501;
		default: goto yy499;
	}
yy499:
	++YYCURSOR;
yy500:
#line 1499 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Superscripts_and_Subscripts; else return Error; }
#line 8258 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy501:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x81: goto yy502;
		case 0x82: goto yy504;
		default: goto yy500;
	}
yy502:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy505;
		default: goto yy503;
	}
yy503:
	YYCURSOR = YYMARKER;
	goto yy500;
yy504:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy505;
		default: goto yy503;
	}
yy505:
	++YYCURSOR;
#line 1498 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Superscripts_and_Subscripts; }
#line 8331 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1500 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Currency_Symbols:
	
#line 8337 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy509;
		default: goto yy507;
	}
yy507:
	++YYCURSOR;
yy508:
#line 1505 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Currency_Symbols; else return Error; }
#line 8350 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy509:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x82: goto yy510;
		case 0x83: goto yy512;
		default: goto yy508;
	}
yy510:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy513;
		default: goto yy511;
	}
yy511:
	YYCURSOR = YYMARKER;
	goto yy508;
yy512:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy513;
		default: goto yy511;
	}
yy513:
	++YYCURSOR;
#line 1504 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Currency_Symbols; }
#line 8423 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1506 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Combining_Diacritical_Marks_for_Symbols:
	
#line 8429 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy517;
		default: goto yy515;
	}
yy515:
	++YYCURSOR;
yy516:
#line 1511 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Combining_Diacritical_Marks_for_Symbols; else return Error; }
#line 8442 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy517:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x83: goto yy518;
		default: goto yy516;
	}
yy518:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy520;
		default: goto yy519;
	}
yy519:
	YYCURSOR = YYMARKER;
	goto yy516;
yy520:
	++YYCURSOR;
#line 1510 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Combining_Diacritical_Marks_for_Symbols; }
#line 8509 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1512 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Letterlike_Symbols:
	
#line 8515 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy524;
		default: goto yy522;
	}
yy522:
	++YYCURSOR;
yy523:
#line 1517 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Letterlike_Symbols; else return Error; }
#line 8528 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy524:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x84: goto yy525;
		case 0x85: goto yy527;
		default: goto yy523;
	}
yy525:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy528;
		default: goto yy526;
	}
yy526:
	YYCURSOR = YYMARKER;
	goto yy523;
yy527:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy528;
		default: goto yy526;
	}
yy528:
	++YYCURSOR;
#line 1516 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Letterlike_Symbols; }
#line 8633 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1518 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Number_Forms:
	
#line 8639 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy532;
		default: goto yy530;
	}
yy530:
	++YYCURSOR;
yy531:
#line 1523 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Number_Forms; else return Error; }
#line 8652 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy532:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x85: goto yy533;
		case 0x86: goto yy535;
		default: goto yy531;
	}
yy533:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy536;
		default: goto yy534;
	}
yy534:
	YYCURSOR = YYMARKER;
	goto yy531;
yy535:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy536;
		default: goto yy534;
	}
yy536:
	++YYCURSOR;
#line 1522 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Number_Forms; }
#line 8741 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1524 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arrows:
	
#line 8747 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy540;
		default: goto yy538;
	}
yy538:
	++YYCURSOR;
yy539:
#line 1529 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arrows; else return Error; }
#line 8760 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy540:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x86: goto yy541;
		case 0x87: goto yy543;
		default: goto yy539;
	}
yy541:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy544;
		default: goto yy542;
	}
yy542:
	YYCURSOR = YYMARKER;
	goto yy539;
yy543:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy544;
		default: goto yy542;
	}
yy544:
	++YYCURSOR;
#line 1528 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arrows; }
#line 8897 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1530 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mathematical_Operators:
	
#line 8903 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy548;
		default: goto yy546;
	}
yy546:
	++YYCURSOR;
yy547:
#line 1535 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mathematical_Operators; else return Error; }
#line 8916 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy548:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B: goto yy549;
		default: goto yy547;
	}
yy549:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy551;
		default: goto yy550;
	}
yy550:
	YYCURSOR = YYMARKER;
	goto yy547;
yy551:
	++YYCURSOR;
#line 1534 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mathematical_Operators; }
#line 9002 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1536 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Technical:
	
#line 9008 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy555;
		default: goto yy553;
	}
yy553:
	++YYCURSOR;
yy554:
#line 1541 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Technical; else return Error; }
#line 9021 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy555:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy556;
		default: goto yy554;
	}
yy556:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy558;
		default: goto yy557;
	}
yy557:
	YYCURSOR = YYMARKER;
	goto yy554;
yy558:
	++YYCURSOR;
#line 1540 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Technical; }
#line 9107 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1542 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Control_Pictures:
	
#line 9113 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy562;
		default: goto yy560;
	}
yy560:
	++YYCURSOR;
yy561:
#line 1547 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Control_Pictures; else return Error; }
#line 9126 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy562:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy563;
		default: goto yy561;
	}
yy563:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy565;
		default: goto yy564;
	}
yy564:
	YYCURSOR = YYMARKER;
	goto yy561;
yy565:
	++YYCURSOR;
#line 1546 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Control_Pictures; }
#line 9209 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1548 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Optical_Character_Recognition:
	
#line 9215 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy569;
		default: goto yy567;
	}
yy567:
	++YYCURSOR;
yy568:
#line 1553 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Optical_Character_Recognition; else return Error; }
#line 9228 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy569:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy570;
		default: goto yy568;
	}
yy570:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy572;
		default: goto yy571;
	}
yy571:
	YYCURSOR = YYMARKER;
	goto yy568;
yy572:
	++YYCURSOR;
#line 1552 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Optical_Character_Recognition; }
#line 9279 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1554 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Enclosed_Alphanumerics:
	
#line 9285 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy576;
		default: goto yy574;
	}
yy574:
	++YYCURSOR;
yy575:
#line 1559 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Enclosed_Alphanumerics; else return Error; }
#line 9298 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy576:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy577;
		case 0x92:
		case 0x93: goto yy579;
		default: goto yy575;
	}
yy577:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy580;
		default: goto yy578;
	}
yy578:
	YYCURSOR = YYMARKER;
	goto yy575;
yy579:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy580;
		default: goto yy578;
	}
yy580:
	++YYCURSOR;
#line 1558 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Enclosed_Alphanumerics; }
#line 9420 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1560 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Box_Drawing:
	
#line 9426 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy584;
		default: goto yy582;
	}
yy582:
	++YYCURSOR;
yy583:
#line 1565 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Box_Drawing; else return Error; }
#line 9439 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy584:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x94:
		case 0x95: goto yy585;
		default: goto yy583;
	}
yy585:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy587;
		default: goto yy586;
	}
yy586:
	YYCURSOR = YYMARKER;
	goto yy583;
yy587:
	++YYCURSOR;
#line 1564 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Box_Drawing; }
#line 9523 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1566 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Block_Elements:
	
#line 9529 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy591;
		default: goto yy589;
	}
yy589:
	++YYCURSOR;
yy590:
#line 1571 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Block_Elements; else return Error; }
#line 9542 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy591:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy592;
		default: goto yy590;
	}
yy592:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy594;
		default: goto yy593;
	}
yy593:
	YYCURSOR = YYMARKER;
	goto yy590;
yy594:
	++YYCURSOR;
#line 1570 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Block_Elements; }
#line 9593 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1572 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Geometric_Shapes:
	
#line 9599 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy598;
		default: goto yy596;
	}
yy596:
	++YYCURSOR;
yy597:
#line 1577 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Geometric_Shapes; else return Error; }
#line 9612 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy598:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy599;
		case 0x97: goto yy601;
		default: goto yy597;
	}
yy599:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy602;
		default: goto yy600;
	}
yy600:
	YYCURSOR = YYMARKER;
	goto yy597;
yy601:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy602;
		default: goto yy600;
	}
yy602:
	++YYCURSOR;
#line 1576 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Geometric_Shapes; }
#line 9733 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1578 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Symbols:
	
#line 9739 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy606;
		default: goto yy604;
	}
yy604:
	++YYCURSOR;
yy605:
#line 1583 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Symbols; else return Error; }
#line 9752 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy606:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B: goto yy607;
		default: goto yy605;
	}
yy607:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy609;
		default: goto yy608;
	}
yy608:
	YYCURSOR = YYMARKER;
	goto yy605;
yy609:
	++YYCURSOR;
#line 1582 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Symbols; }
#line 9838 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1584 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Dingbats:
	
#line 9844 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy613;
		default: goto yy611;
	}
yy611:
	++YYCURSOR;
yy612:
#line 1589 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Dingbats; else return Error; }
#line 9857 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy613:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C:
		case 0x9D:
		case 0x9E: goto yy614;
		default: goto yy612;
	}
yy614:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy616;
		default: goto yy615;
	}
yy615:
	YYCURSOR = YYMARKER;
	goto yy612;
yy616:
	++YYCURSOR;
#line 1588 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Dingbats; }
#line 9942 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1590 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Mathematical_Symbols_A:
	
#line 9948 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy620;
		default: goto yy618;
	}
yy618:
	++YYCURSOR;
yy619:
#line 1595 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Mathematical_Symbols_A; else return Error; }
#line 9961 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy620:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy621;
		default: goto yy619;
	}
yy621:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy623;
		default: goto yy622;
	}
yy622:
	YYCURSOR = YYMARKER;
	goto yy619;
yy623:
	++YYCURSOR;
#line 1594 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Mathematical_Symbols_A; }
#line 10028 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1596 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplemental_Arrows_A:
	
#line 10034 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy627;
		default: goto yy625;
	}
yy625:
	++YYCURSOR;
yy626:
#line 1601 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplemental_Arrows_A; else return Error; }
#line 10047 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy627:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy628;
		default: goto yy626;
	}
yy628:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy630;
		default: goto yy629;
	}
yy629:
	YYCURSOR = YYMARKER;
	goto yy626;
yy630:
	++YYCURSOR;
#line 1600 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplemental_Arrows_A; }
#line 10082 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1602 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Braille_Patterns:
	
#line 10088 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy634;
		default: goto yy632;
	}
yy632:
	++YYCURSOR;
yy633:
#line 1607 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Braille_Patterns; else return Error; }
#line 10101 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy634:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3: goto yy635;
		default: goto yy633;
	}
yy635:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy637;
		default: goto yy636;
	}
yy636:
	YYCURSOR = YYMARKER;
	goto yy633;
yy637:
	++YYCURSOR;
#line 1606 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Braille_Patterns; }
#line 10187 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1608 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplemental_Arrows_B:
	
#line 10193 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy641;
		default: goto yy639;
	}
yy639:
	++YYCURSOR;
yy640:
#line 1613 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplemental_Arrows_B; else return Error; }
#line 10206 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy641:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA4:
		case 0xA5: goto yy642;
		default: goto yy640;
	}
yy642:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy644;
		default: goto yy643;
	}
yy643:
	YYCURSOR = YYMARKER;
	goto yy640;
yy644:
	++YYCURSOR;
#line 1612 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplemental_Arrows_B; }
#line 10290 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1614 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Mathematical_Symbols_B:
	
#line 10296 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy648;
		default: goto yy646;
	}
yy646:
	++YYCURSOR;
yy647:
#line 1619 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Mathematical_Symbols_B; else return Error; }
#line 10309 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy648:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA6:
		case 0xA7: goto yy649;
		default: goto yy647;
	}
yy649:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy651;
		default: goto yy650;
	}
yy650:
	YYCURSOR = YYMARKER;
	goto yy647;
yy651:
	++YYCURSOR;
#line 1618 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Mathematical_Symbols_B; }
#line 10393 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1620 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplemental_Mathematical_Operators:
	
#line 10399 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy655;
		default: goto yy653;
	}
yy653:
	++YYCURSOR;
yy654:
#line 1625 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplemental_Mathematical_Operators; else return Error; }
#line 10412 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy655:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB: goto yy656;
		default: goto yy654;
	}
yy656:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy658;
		default: goto yy657;
	}
yy657:
	YYCURSOR = YYMARKER;
	goto yy654;
yy658:
	++YYCURSOR;
#line 1624 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplemental_Mathematical_Operators; }
#line 10498 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1626 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Symbols_and_Arrows:
	
#line 10504 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy662;
		default: goto yy660;
	}
yy660:
	++YYCURSOR;
yy661:
#line 1631 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Symbols_and_Arrows; else return Error; }
#line 10517 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy662:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy663;
		default: goto yy661;
	}
yy663:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy665;
		default: goto yy664;
	}
yy664:
	YYCURSOR = YYMARKER;
	goto yy661;
yy665:
	++YYCURSOR;
#line 1630 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Symbols_and_Arrows; }
#line 10603 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1632 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Glagolitic:
	
#line 10609 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy669;
		default: goto yy667;
	}
yy667:
	++YYCURSOR;
yy668:
#line 1637 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Glagolitic; else return Error; }
#line 10622 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy669:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB0: goto yy670;
		case 0xB1: goto yy672;
		default: goto yy668;
	}
yy670:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy673;
		default: goto yy671;
	}
yy671:
	YYCURSOR = YYMARKER;
	goto yy668;
yy672:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy673;
		default: goto yy671;
	}
yy673:
	++YYCURSOR;
#line 1636 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Glagolitic; }
#line 10743 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1638 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_C:
	
#line 10749 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy677;
		default: goto yy675;
	}
yy675:
	++YYCURSOR;
yy676:
#line 1643 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_C; else return Error; }
#line 10762 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy677:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB1: goto yy678;
		default: goto yy676;
	}
yy678:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy680;
		default: goto yy679;
	}
yy679:
	YYCURSOR = YYMARKER;
	goto yy676;
yy680:
	++YYCURSOR;
#line 1642 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_C; }
#line 10813 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1644 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Coptic:
	
#line 10819 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy684;
		default: goto yy682;
	}
yy682:
	++YYCURSOR;
yy683:
#line 1649 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Coptic; else return Error; }
#line 10832 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy684:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB2:
		case 0xB3: goto yy685;
		default: goto yy683;
	}
yy685:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy687;
		default: goto yy686;
	}
yy686:
	YYCURSOR = YYMARKER;
	goto yy683;
yy687:
	++YYCURSOR;
#line 1648 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Coptic; }
#line 10916 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1650 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Georgian_Supplement:
	
#line 10922 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy691;
		default: goto yy689;
	}
yy689:
	++YYCURSOR;
yy690:
#line 1655 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Georgian_Supplement; else return Error; }
#line 10935 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy691:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB4: goto yy692;
		default: goto yy690;
	}
yy692:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy694;
		default: goto yy693;
	}
yy693:
	YYCURSOR = YYMARKER;
	goto yy690;
yy694:
	++YYCURSOR;
#line 1654 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Georgian_Supplement; }
#line 11002 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1656 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tifinagh:
	
#line 11008 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy698;
		default: goto yy696;
	}
yy696:
	++YYCURSOR;
yy697:
#line 1661 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tifinagh; else return Error; }
#line 11021 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy698:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB4: goto yy699;
		case 0xB5: goto yy701;
		default: goto yy697;
	}
yy699:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy702;
		default: goto yy700;
	}
yy700:
	YYCURSOR = YYMARKER;
	goto yy697;
yy701:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy702;
		default: goto yy700;
	}
yy702:
	++YYCURSOR;
#line 1660 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tifinagh; }
#line 11126 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1662 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ethiopic_Extended:
	
#line 11132 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy706;
		default: goto yy704;
	}
yy704:
	++YYCURSOR;
yy705:
#line 1667 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ethiopic_Extended; else return Error; }
#line 11145 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy706:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB6: goto yy707;
		case 0xB7: goto yy709;
		default: goto yy705;
	}
yy707:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy710;
		default: goto yy708;
	}
yy708:
	YYCURSOR = YYMARKER;
	goto yy705;
yy709:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy710;
		default: goto yy708;
	}
yy710:
	++YYCURSOR;
#line 1666 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ethiopic_Extended; }
#line 11266 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1668 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cyrillic_Extended_A:
	
#line 11272 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy714;
		default: goto yy712;
	}
yy712:
	++YYCURSOR;
yy713:
#line 1673 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cyrillic_Extended_A; else return Error; }
#line 11285 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy714:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB7: goto yy715;
		default: goto yy713;
	}
yy715:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy717;
		default: goto yy716;
	}
yy716:
	YYCURSOR = YYMARKER;
	goto yy713;
yy717:
	++YYCURSOR;
#line 1672 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cyrillic_Extended_A; }
#line 11336 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1674 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplemental_Punctuation:
	
#line 11342 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy721;
		default: goto yy719;
	}
yy719:
	++YYCURSOR;
yy720:
#line 1679 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplemental_Punctuation; else return Error; }
#line 11355 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy721:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8:
		case 0xB9: goto yy722;
		default: goto yy720;
	}
yy722:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy724;
		default: goto yy723;
	}
yy723:
	YYCURSOR = YYMARKER;
	goto yy720;
yy724:
	++YYCURSOR;
#line 1678 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplemental_Punctuation; }
#line 11439 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1680 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Radicals_Supplement:
	
#line 11445 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy728;
		default: goto yy726;
	}
yy726:
	++YYCURSOR;
yy727:
#line 1685 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Radicals_Supplement; else return Error; }
#line 11458 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy728:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBA:
		case 0xBB: goto yy729;
		default: goto yy727;
	}
yy729:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy731;
		default: goto yy730;
	}
yy730:
	YYCURSOR = YYMARKER;
	goto yy727;
yy731:
	++YYCURSOR;
#line 1684 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Radicals_Supplement; }
#line 11542 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1686 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kangxi_Radicals:
	
#line 11548 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy735;
		default: goto yy733;
	}
yy733:
	++YYCURSOR;
yy734:
#line 1691 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kangxi_Radicals; else return Error; }
#line 11561 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy735:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBC:
		case 0xBD:
		case 0xBE: goto yy736;
		case 0xBF: goto yy738;
		default: goto yy734;
	}
yy736:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy739;
		default: goto yy737;
	}
yy737:
	YYCURSOR = YYMARKER;
	goto yy734;
yy738:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy739;
		default: goto yy737;
	}
yy739:
	++YYCURSOR;
#line 1690 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kangxi_Radicals; }
#line 11684 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1692 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ideographic_Description_Characters:
	
#line 11690 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE2: goto yy743;
		default: goto yy741;
	}
yy741:
	++YYCURSOR;
yy742:
#line 1697 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ideographic_Description_Characters; else return Error; }
#line 11703 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy743:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBF: goto yy744;
		default: goto yy742;
	}
yy744:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy746;
		default: goto yy745;
	}
yy745:
	YYCURSOR = YYMARKER;
	goto yy742;
yy746:
	++YYCURSOR;
#line 1696 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ideographic_Description_Characters; }
#line 11738 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1698 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Symbols_and_Punctuation:
	
#line 11744 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy750;
		default: goto yy748;
	}
yy748:
	++YYCURSOR;
yy749:
#line 1703 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Symbols_and_Punctuation; else return Error; }
#line 11757 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy750:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80: goto yy751;
		default: goto yy749;
	}
yy751:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy753;
		default: goto yy752;
	}
yy752:
	YYCURSOR = YYMARKER;
	goto yy749;
yy753:
	++YYCURSOR;
#line 1702 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Symbols_and_Punctuation; }
#line 11840 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1704 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hiragana:
	
#line 11846 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy757;
		default: goto yy755;
	}
yy755:
	++YYCURSOR;
yy756:
#line 1709 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hiragana; else return Error; }
#line 11859 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy757:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x81: goto yy758;
		case 0x82: goto yy760;
		default: goto yy756;
	}
yy758:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy761;
		default: goto yy759;
	}
yy759:
	YYCURSOR = YYMARKER;
	goto yy756;
yy760:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy761;
		default: goto yy759;
	}
yy761:
	++YYCURSOR;
#line 1708 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hiragana; }
#line 11980 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1710 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Katakana:
	
#line 11986 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy765;
		default: goto yy763;
	}
yy763:
	++YYCURSOR;
yy764:
#line 1715 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Katakana; else return Error; }
#line 11999 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy765:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x82: goto yy766;
		case 0x83: goto yy768;
		default: goto yy764;
	}
yy766:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy769;
		default: goto yy767;
	}
yy767:
	YYCURSOR = YYMARKER;
	goto yy764;
yy768:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy769;
		default: goto yy767;
	}
yy769:
	++YYCURSOR;
#line 1714 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Katakana; }
#line 12120 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1716 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bopomofo:
	
#line 12126 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy773;
		default: goto yy771;
	}
yy771:
	++YYCURSOR;
yy772:
#line 1721 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bopomofo; else return Error; }
#line 12139 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy773:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x84: goto yy774;
		default: goto yy772;
	}
yy774:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy776;
		default: goto yy775;
	}
yy775:
	YYCURSOR = YYMARKER;
	goto yy772;
yy776:
	++YYCURSOR;
#line 1720 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bopomofo; }
#line 12206 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1722 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hangul_Compatibility_Jamo:
	
#line 12212 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy780;
		default: goto yy778;
	}
yy778:
	++YYCURSOR;
yy779:
#line 1727 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hangul_Compatibility_Jamo; else return Error; }
#line 12225 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy780:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x84: goto yy781;
		case 0x85: goto yy783;
		case 0x86: goto yy784;
		default: goto yy779;
	}
yy781:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy785;
		default: goto yy782;
	}
yy782:
	YYCURSOR = YYMARKER;
	goto yy779;
yy783:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy785;
		default: goto yy782;
	}
yy784:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy785;
		default: goto yy782;
	}
yy785:
	++YYCURSOR;
#line 1726 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hangul_Compatibility_Jamo; }
#line 12352 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1728 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kanbun:
	
#line 12358 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy789;
		default: goto yy787;
	}
yy787:
	++YYCURSOR;
yy788:
#line 1733 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kanbun; else return Error; }
#line 12371 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy789:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x86: goto yy790;
		default: goto yy788;
	}
yy790:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy792;
		default: goto yy791;
	}
yy791:
	YYCURSOR = YYMARKER;
	goto yy788;
yy792:
	++YYCURSOR;
#line 1732 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kanbun; }
#line 12406 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1734 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bopomofo_Extended:
	
#line 12412 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy796;
		default: goto yy794;
	}
yy794:
	++YYCURSOR;
yy795:
#line 1739 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bopomofo_Extended; else return Error; }
#line 12425 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy796:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x86: goto yy797;
		default: goto yy795;
	}
yy797:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy799;
		default: goto yy798;
	}
yy798:
	YYCURSOR = YYMARKER;
	goto yy795;
yy799:
	++YYCURSOR;
#line 1738 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bopomofo_Extended; }
#line 12476 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1740 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Strokes:
	
#line 12482 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy803;
		default: goto yy801;
	}
yy801:
	++YYCURSOR;
yy802:
#line 1745 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Strokes; else return Error; }
#line 12495 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy803:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x87: goto yy804;
		default: goto yy802;
	}
yy804:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy806;
		default: goto yy805;
	}
yy805:
	YYCURSOR = YYMARKER;
	goto yy802;
yy806:
	++YYCURSOR;
#line 1744 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Strokes; }
#line 12562 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1746 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Katakana_Phonetic_Extensions:
	
#line 12568 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy810;
		default: goto yy808;
	}
yy808:
	++YYCURSOR;
yy809:
#line 1751 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Katakana_Phonetic_Extensions; else return Error; }
#line 12581 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy810:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x87: goto yy811;
		default: goto yy809;
	}
yy811:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy813;
		default: goto yy812;
	}
yy812:
	YYCURSOR = YYMARKER;
	goto yy809;
yy813:
	++YYCURSOR;
#line 1750 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Katakana_Phonetic_Extensions; }
#line 12616 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1752 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Enclosed_CJK_Letters_and_Months:
	
#line 12622 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy817;
		default: goto yy815;
	}
yy815:
	++YYCURSOR;
yy816:
#line 1757 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Enclosed_CJK_Letters_and_Months; else return Error; }
#line 12635 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy817:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B: goto yy818;
		default: goto yy816;
	}
yy818:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy820;
		default: goto yy819;
	}
yy819:
	YYCURSOR = YYMARKER;
	goto yy816;
yy820:
	++YYCURSOR;
#line 1756 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Enclosed_CJK_Letters_and_Months; }
#line 12721 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1758 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Compatibility:
	
#line 12727 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy824;
		default: goto yy822;
	}
yy822:
	++YYCURSOR;
yy823:
#line 1763 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Compatibility; else return Error; }
#line 12740 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy824:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy825;
		default: goto yy823;
	}
yy825:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy827;
		default: goto yy826;
	}
yy826:
	YYCURSOR = YYMARKER;
	goto yy823;
yy827:
	++YYCURSOR;
#line 1762 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Compatibility; }
#line 12826 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1764 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_A:
	
#line 12832 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE3: goto yy831;
		case 0xE4: goto yy832;
		default: goto yy829;
	}
yy829:
	++YYCURSOR;
yy830:
#line 1769 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_A; else return Error; }
#line 12846 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy831:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy833;
		default: goto yy830;
	}
yy832:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6: goto yy833;
		default: goto yy830;
	}
yy833:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy835;
		default: goto yy834;
	}
yy834:
	YYCURSOR = YYMARKER;
	goto yy830;
yy835:
	++YYCURSOR;
#line 1768 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_A; }
#line 13036 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1770 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Yijing_Hexagram_Symbols:
	
#line 13042 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE4: goto yy839;
		default: goto yy837;
	}
yy837:
	++YYCURSOR;
yy838:
#line 1775 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Yijing_Hexagram_Symbols; else return Error; }
#line 13055 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy839:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB7: goto yy840;
		default: goto yy838;
	}
yy840:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy842;
		default: goto yy841;
	}
yy841:
	YYCURSOR = YYMARKER;
	goto yy838;
yy842:
	++YYCURSOR;
#line 1774 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Yijing_Hexagram_Symbols; }
#line 13138 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1776 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs:
	
#line 13144 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xE4: goto yy846;
		case 0xE5:
		case 0xE6:
		case 0xE7:
		case 0xE8:
		case 0xE9: goto yy847;
		default: goto yy844;
	}
yy844:
	++YYCURSOR;
yy845:
#line 1781 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs; else return Error; }
#line 13162 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy846:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy848;
		default: goto yy845;
	}
yy847:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy848;
		default: goto yy845;
	}
yy848:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy850;
		default: goto yy849;
	}
yy849:
	YYCURSOR = YYMARKER;
	goto yy845;
yy850:
	++YYCURSOR;
#line 1780 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs; }
#line 13321 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1782 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Yi_Syllables:
	
#line 13327 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy854;
		default: goto yy852;
	}
yy852:
	++YYCURSOR;
yy853:
#line 1787 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Yi_Syllables; else return Error; }
#line 13340 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy854:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91: goto yy855;
		case 0x92: goto yy857;
		default: goto yy853;
	}
yy855:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy858;
		default: goto yy856;
	}
yy856:
	YYCURSOR = YYMARKER;
	goto yy853;
yy857:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy858;
		default: goto yy856;
	}
yy858:
	++YYCURSOR;
#line 1786 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Yi_Syllables; }
#line 13462 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1788 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Yi_Radicals:
	
#line 13468 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy862;
		default: goto yy860;
	}
yy860:
	++YYCURSOR;
yy861:
#line 1793 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Yi_Radicals; else return Error; }
#line 13481 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy862:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x92: goto yy863;
		case 0x93: goto yy865;
		default: goto yy861;
	}
yy863:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy866;
		default: goto yy864;
	}
yy864:
	YYCURSOR = YYMARKER;
	goto yy861;
yy865:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy866;
		default: goto yy864;
	}
yy866:
	++YYCURSOR;
#line 1792 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Yi_Radicals; }
#line 13570 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1794 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Lisu:
	
#line 13576 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy870;
		default: goto yy868;
	}
yy868:
	++YYCURSOR;
yy869:
#line 1799 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Lisu; else return Error; }
#line 13589 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy870:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x93: goto yy871;
		default: goto yy869;
	}
yy871:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy873;
		default: goto yy872;
	}
yy872:
	YYCURSOR = YYMARKER;
	goto yy869;
yy873:
	++YYCURSOR;
#line 1798 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Lisu; }
#line 13656 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1800 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Vai:
	
#line 13662 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy877;
		default: goto yy875;
	}
yy875:
	++YYCURSOR;
yy876:
#line 1805 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Vai; else return Error; }
#line 13675 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy877:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98: goto yy878;
		default: goto yy876;
	}
yy878:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy880;
		default: goto yy879;
	}
yy879:
	YYCURSOR = YYMARKER;
	goto yy876;
yy880:
	++YYCURSOR;
#line 1804 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Vai; }
#line 13762 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1806 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cyrillic_Extended_B:
	
#line 13768 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy884;
		default: goto yy882;
	}
yy882:
	++YYCURSOR;
yy883:
#line 1811 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cyrillic_Extended_B; else return Error; }
#line 13781 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy884:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x99: goto yy885;
		case 0x9A: goto yy887;
		default: goto yy883;
	}
yy885:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy888;
		default: goto yy886;
	}
yy886:
	YYCURSOR = YYMARKER;
	goto yy883;
yy887:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy888;
		default: goto yy886;
	}
yy888:
	++YYCURSOR;
#line 1810 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cyrillic_Extended_B; }
#line 13902 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1812 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bamum:
	
#line 13908 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy892;
		default: goto yy890;
	}
yy890:
	++YYCURSOR;
yy891:
#line 1817 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bamum; else return Error; }
#line 13921 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy892:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9A: goto yy893;
		case 0x9B: goto yy895;
		default: goto yy891;
	}
yy893:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy896;
		default: goto yy894;
	}
yy894:
	YYCURSOR = YYMARKER;
	goto yy891;
yy895:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy896;
		default: goto yy894;
	}
yy896:
	++YYCURSOR;
#line 1816 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bamum; }
#line 14042 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1818 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Modifier_Tone_Letters:
	
#line 14048 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy900;
		default: goto yy898;
	}
yy898:
	++YYCURSOR;
yy899:
#line 1823 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Modifier_Tone_Letters; else return Error; }
#line 14061 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy900:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy901;
		default: goto yy899;
	}
yy901:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy903;
		default: goto yy902;
	}
yy902:
	YYCURSOR = YYMARKER;
	goto yy899;
yy903:
	++YYCURSOR;
#line 1822 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Modifier_Tone_Letters; }
#line 14112 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1824 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_D:
	
#line 14118 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy907;
		default: goto yy905;
	}
yy905:
	++YYCURSOR;
yy906:
#line 1829 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_D; else return Error; }
#line 14131 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy907:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy908;
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy910;
		default: goto yy906;
	}
yy908:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy911;
		default: goto yy909;
	}
yy909:
	YYCURSOR = YYMARKER;
	goto yy906;
yy910:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy911;
		default: goto yy909;
	}
yy911:
	++YYCURSOR;
#line 1828 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_D; }
#line 14254 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1830 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Syloti_Nagri:
	
#line 14260 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy915;
		default: goto yy913;
	}
yy913:
	++YYCURSOR;
yy914:
#line 1835 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Syloti_Nagri; else return Error; }
#line 14273 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy915:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0: goto yy916;
		default: goto yy914;
	}
yy916:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy918;
		default: goto yy917;
	}
yy917:
	YYCURSOR = YYMARKER;
	goto yy914;
yy918:
	++YYCURSOR;
#line 1834 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Syloti_Nagri; }
#line 14340 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1836 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Common_Indic_Number_Forms:
	
#line 14346 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy922;
		default: goto yy920;
	}
yy920:
	++YYCURSOR;
yy921:
#line 1841 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Common_Indic_Number_Forms; else return Error; }
#line 14359 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy922:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0: goto yy923;
		default: goto yy921;
	}
yy923:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy925;
		default: goto yy924;
	}
yy924:
	YYCURSOR = YYMARKER;
	goto yy921;
yy925:
	++YYCURSOR;
#line 1840 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Common_Indic_Number_Forms; }
#line 14394 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1842 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Phags_pa:
	
#line 14400 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy929;
		default: goto yy927;
	}
yy927:
	++YYCURSOR;
yy928:
#line 1847 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Phags_pa; else return Error; }
#line 14413 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy929:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA1: goto yy930;
		default: goto yy928;
	}
yy930:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy932;
		default: goto yy931;
	}
yy931:
	YYCURSOR = YYMARKER;
	goto yy928;
yy932:
	++YYCURSOR;
#line 1846 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Phags_pa; }
#line 14496 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1848 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Saurashtra:
	
#line 14502 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy936;
		default: goto yy934;
	}
yy934:
	++YYCURSOR;
yy935:
#line 1853 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Saurashtra; else return Error; }
#line 14515 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy936:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA2: goto yy937;
		case 0xA3: goto yy939;
		default: goto yy935;
	}
yy937:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy940;
		default: goto yy938;
	}
yy938:
	YYCURSOR = YYMARKER;
	goto yy935;
yy939:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy940;
		default: goto yy938;
	}
yy940:
	++YYCURSOR;
#line 1852 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Saurashtra; }
#line 14636 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1854 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Devanagari_Extended:
	
#line 14642 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy944;
		default: goto yy942;
	}
yy942:
	++YYCURSOR;
yy943:
#line 1859 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Devanagari_Extended; else return Error; }
#line 14655 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy944:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA3: goto yy945;
		default: goto yy943;
	}
yy945:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy947;
		default: goto yy946;
	}
yy946:
	YYCURSOR = YYMARKER;
	goto yy943;
yy947:
	++YYCURSOR;
#line 1858 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Devanagari_Extended; }
#line 14706 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1860 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kayah_Li:
	
#line 14712 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy951;
		default: goto yy949;
	}
yy949:
	++YYCURSOR;
yy950:
#line 1865 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kayah_Li; else return Error; }
#line 14725 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy951:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA4: goto yy952;
		default: goto yy950;
	}
yy952:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy954;
		default: goto yy953;
	}
yy953:
	YYCURSOR = YYMARKER;
	goto yy950;
yy954:
	++YYCURSOR;
#line 1864 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kayah_Li; }
#line 14792 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1866 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Rejang:
	
#line 14798 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy958;
		default: goto yy956;
	}
yy956:
	++YYCURSOR;
yy957:
#line 1871 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Rejang; else return Error; }
#line 14811 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy958:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA4: goto yy959;
		case 0xA5: goto yy961;
		default: goto yy957;
	}
yy959:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy962;
		default: goto yy960;
	}
yy960:
	YYCURSOR = YYMARKER;
	goto yy957;
yy961:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy962;
		default: goto yy960;
	}
yy962:
	++YYCURSOR;
#line 1870 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Rejang; }
#line 14884 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1872 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hangul_Jamo_Extended_A:
	
#line 14890 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy966;
		default: goto yy964;
	}
yy964:
	++YYCURSOR;
yy965:
#line 1877 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hangul_Jamo_Extended_A; else return Error; }
#line 14903 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy966:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA5: goto yy967;
		default: goto yy965;
	}
yy967:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy969;
		default: goto yy968;
	}
yy968:
	YYCURSOR = YYMARKER;
	goto yy965;
yy969:
	++YYCURSOR;
#line 1876 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hangul_Jamo_Extended_A; }
#line 14954 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1878 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Javanese:
	
#line 14960 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy973;
		default: goto yy971;
	}
yy971:
	++YYCURSOR;
yy972:
#line 1883 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Javanese; else return Error; }
#line 14973 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy973:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA6: goto yy974;
		case 0xA7: goto yy976;
		default: goto yy972;
	}
yy974:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy977;
		default: goto yy975;
	}
yy975:
	YYCURSOR = YYMARKER;
	goto yy972;
yy976:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy977;
		default: goto yy975;
	}
yy977:
	++YYCURSOR;
#line 1882 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Javanese; }
#line 15094 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1884 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Myanmar_Extended_B:
	
#line 15100 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy981;
		default: goto yy979;
	}
yy979:
	++YYCURSOR;
yy980:
#line 1889 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Myanmar_Extended_B; else return Error; }
#line 15113 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy981:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA7: goto yy982;
		default: goto yy980;
	}
yy982:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy984;
		default: goto yy983;
	}
yy983:
	YYCURSOR = YYMARKER;
	goto yy980;
yy984:
	++YYCURSOR;
#line 1888 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Myanmar_Extended_B; }
#line 15164 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1890 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cham:
	
#line 15170 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy988;
		default: goto yy986;
	}
yy986:
	++YYCURSOR;
yy987:
#line 1895 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cham; else return Error; }
#line 15183 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy988:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA8: goto yy989;
		case 0xA9: goto yy991;
		default: goto yy987;
	}
yy989:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy992;
		default: goto yy990;
	}
yy990:
	YYCURSOR = YYMARKER;
	goto yy987;
yy991:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy992;
		default: goto yy990;
	}
yy992:
	++YYCURSOR;
#line 1894 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cham; }
#line 15304 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1896 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Myanmar_Extended_A:
	
#line 15310 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy996;
		default: goto yy994;
	}
yy994:
	++YYCURSOR;
yy995:
#line 1901 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Myanmar_Extended_A; else return Error; }
#line 15323 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy996:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA9: goto yy997;
		default: goto yy995;
	}
yy997:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy999;
		default: goto yy998;
	}
yy998:
	YYCURSOR = YYMARKER;
	goto yy995;
yy999:
	++YYCURSOR;
#line 1900 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Myanmar_Extended_A; }
#line 15374 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1902 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tai_Viet:
	
#line 15380 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1003;
		default: goto yy1001;
	}
yy1001:
	++YYCURSOR;
yy1002:
#line 1907 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tai_Viet; else return Error; }
#line 15393 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1003:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAA: goto yy1004;
		case 0xAB: goto yy1006;
		default: goto yy1002;
	}
yy1004:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1007;
		default: goto yy1005;
	}
yy1005:
	YYCURSOR = YYMARKER;
	goto yy1002;
yy1006:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1007;
		default: goto yy1005;
	}
yy1007:
	++YYCURSOR;
#line 1906 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tai_Viet; }
#line 15514 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1908 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Meetei_Mayek_Extensions:
	
#line 15520 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1011;
		default: goto yy1009;
	}
yy1009:
	++YYCURSOR;
yy1010:
#line 1913 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Meetei_Mayek_Extensions; else return Error; }
#line 15533 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1011:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAB: goto yy1012;
		default: goto yy1010;
	}
yy1012:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1014;
		default: goto yy1013;
	}
yy1013:
	YYCURSOR = YYMARKER;
	goto yy1010;
yy1014:
	++YYCURSOR;
#line 1912 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Meetei_Mayek_Extensions; }
#line 15584 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1914 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ethiopic_Extended_A:
	
#line 15590 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1018;
		default: goto yy1016;
	}
yy1016:
	++YYCURSOR;
yy1017:
#line 1919 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ethiopic_Extended_A; else return Error; }
#line 15603 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1018:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC: goto yy1019;
		default: goto yy1017;
	}
yy1019:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1021;
		default: goto yy1020;
	}
yy1020:
	YYCURSOR = YYMARKER;
	goto yy1017;
yy1021:
	++YYCURSOR;
#line 1918 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ethiopic_Extended_A; }
#line 15670 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1920 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_E:
	
#line 15676 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1025;
		default: goto yy1023;
	}
yy1023:
	++YYCURSOR;
yy1024:
#line 1925 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_E; else return Error; }
#line 15689 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1025:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC: goto yy1026;
		case 0xAD: goto yy1028;
		default: goto yy1024;
	}
yy1026:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1029;
		default: goto yy1027;
	}
yy1027:
	YYCURSOR = YYMARKER;
	goto yy1024;
yy1028:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1029;
		default: goto yy1027;
	}
yy1029:
	++YYCURSOR;
#line 1924 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_E; }
#line 15778 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1926 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cherokee_Supplement:
	
#line 15784 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1033;
		default: goto yy1031;
	}
yy1031:
	++YYCURSOR;
yy1032:
#line 1931 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cherokee_Supplement; else return Error; }
#line 15797 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1033:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAD: goto yy1034;
		case 0xAE: goto yy1036;
		default: goto yy1032;
	}
yy1034:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1037;
		default: goto yy1035;
	}
yy1035:
	YYCURSOR = YYMARKER;
	goto yy1032;
yy1036:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1037;
		default: goto yy1035;
	}
yy1037:
	++YYCURSOR;
#line 1930 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cherokee_Supplement; }
#line 15902 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1932 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Meetei_Mayek:
	
#line 15908 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1041;
		default: goto yy1039;
	}
yy1039:
	++YYCURSOR;
yy1040:
#line 1937 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Meetei_Mayek; else return Error; }
#line 15921 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1041:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAF: goto yy1042;
		default: goto yy1040;
	}
yy1042:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1044;
		default: goto yy1043;
	}
yy1043:
	YYCURSOR = YYMARKER;
	goto yy1040;
yy1044:
	++YYCURSOR;
#line 1936 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Meetei_Mayek; }
#line 16004 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1938 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hangul_Syllables:
	
#line 16010 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEA: goto yy1048;
		case 0xEB:
		case 0xEC: goto yy1049;
		case 0xED: goto yy1050;
		default: goto yy1046;
	}
yy1046:
	++YYCURSOR;
yy1047:
#line 1943 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hangul_Syllables; else return Error; }
#line 16026 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1048:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1051;
		default: goto yy1047;
	}
yy1049:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1051;
		default: goto yy1047;
	}
yy1050:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D: goto yy1051;
		case 0x9E: goto yy1053;
		default: goto yy1047;
	}
yy1051:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1054;
		default: goto yy1052;
	}
yy1052:
	YYCURSOR = YYMARKER;
	goto yy1047;
yy1053:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1054;
		default: goto yy1052;
	}
yy1054:
	++YYCURSOR;
#line 1942 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hangul_Syllables; }
#line 16282 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1944 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hangul_Jamo_Extended_B:
	
#line 16288 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xED: goto yy1058;
		default: goto yy1056;
	}
yy1056:
	++YYCURSOR;
yy1057:
#line 1949 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hangul_Jamo_Extended_B; else return Error; }
#line 16301 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1058:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy1059;
		case 0x9F: goto yy1061;
		default: goto yy1057;
	}
yy1059:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1062;
		default: goto yy1060;
	}
yy1060:
	YYCURSOR = YYMARKER;
	goto yy1057;
yy1061:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1062;
		default: goto yy1060;
	}
yy1062:
	++YYCURSOR;
#line 1948 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hangul_Jamo_Extended_B; }
#line 16406 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1950 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

High_Surrogates:
	
#line 16412 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1066;
		default: goto yy1064;
	}
yy1064:
	++YYCURSOR;
yy1065:
#line 1955 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return High_Surrogates; else return Error; }
#line 16425 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1066:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBF: goto yy1067;
		default: goto yy1065;
	}
yy1067:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBD: goto yy1069;
		default: goto yy1068;
	}
yy1068:
	YYCURSOR = YYMARKER;
	goto yy1065;
yy1069:
	++YYCURSOR;
#line 1954 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto High_Surrogates; }
#line 16445 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1956 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

High_Private_Use_Surrogates:
	
#line 16451 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1073;
		default: goto yy1071;
	}
yy1071:
	++YYCURSOR;
yy1072:
#line 1961 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return High_Private_Use_Surrogates; else return Error; }
#line 16464 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1073:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBF: goto yy1074;
		default: goto yy1072;
	}
yy1074:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBD: goto yy1076;
		default: goto yy1075;
	}
yy1075:
	YYCURSOR = YYMARKER;
	goto yy1072;
yy1076:
	++YYCURSOR;
#line 1960 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto High_Private_Use_Surrogates; }
#line 16484 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1962 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Low_Surrogates:
	
#line 16490 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1080;
		default: goto yy1078;
	}
yy1078:
	++YYCURSOR;
yy1079:
#line 1967 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Low_Surrogates; else return Error; }
#line 16503 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1080:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBF: goto yy1081;
		default: goto yy1079;
	}
yy1081:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBD: goto yy1083;
		default: goto yy1082;
	}
yy1082:
	YYCURSOR = YYMARKER;
	goto yy1079;
yy1083:
	++YYCURSOR;
#line 1966 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Low_Surrogates; }
#line 16523 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1968 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Private_Use_Area:
	
#line 16529 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEE: goto yy1087;
		case 0xEF: goto yy1088;
		default: goto yy1085;
	}
yy1085:
	++YYCURSOR;
yy1086:
#line 1973 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Private_Use_Area; else return Error; }
#line 16543 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1087:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1089;
		default: goto yy1086;
	}
yy1088:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3: goto yy1089;
		default: goto yy1086;
	}
yy1089:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1091;
		default: goto yy1090;
	}
yy1090:
	YYCURSOR = YYMARKER;
	goto yy1086;
yy1091:
	++YYCURSOR;
#line 1972 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Private_Use_Area; }
#line 16730 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1974 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Compatibility_Ideographs:
	
#line 16736 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1095;
		default: goto yy1093;
	}
yy1093:
	++YYCURSOR;
yy1094:
#line 1979 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Compatibility_Ideographs; else return Error; }
#line 16749 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1095:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB: goto yy1096;
		default: goto yy1094;
	}
yy1096:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1098;
		default: goto yy1097;
	}
yy1097:
	YYCURSOR = YYMARKER;
	goto yy1094;
yy1098:
	++YYCURSOR;
#line 1978 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Compatibility_Ideographs; }
#line 16839 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1980 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Alphabetic_Presentation_Forms:
	
#line 16845 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1102;
		default: goto yy1100;
	}
yy1100:
	++YYCURSOR;
yy1101:
#line 1985 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Alphabetic_Presentation_Forms; else return Error; }
#line 16858 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1102:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC: goto yy1103;
		case 0xAD: goto yy1105;
		default: goto yy1101;
	}
yy1103:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1106;
		default: goto yy1104;
	}
yy1104:
	YYCURSOR = YYMARKER;
	goto yy1101;
yy1105:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1106;
		default: goto yy1104;
	}
yy1106:
	++YYCURSOR;
#line 1984 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Alphabetic_Presentation_Forms; }
#line 16963 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1986 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Presentation_Forms_A:
	
#line 16969 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1110;
		default: goto yy1108;
	}
yy1108:
	++YYCURSOR;
yy1109:
#line 1991 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Presentation_Forms_A; else return Error; }
#line 16982 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1110:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAD: goto yy1111;
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7: goto yy1113;
		default: goto yy1109;
	}
yy1111:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1114;
		default: goto yy1112;
	}
yy1112:
	YYCURSOR = YYMARKER;
	goto yy1109;
yy1113:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1114;
		default: goto yy1112;
	}
yy1114:
	++YYCURSOR;
#line 1990 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Presentation_Forms_A; }
#line 17128 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1992 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Variation_Selectors:
	
#line 17134 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1118;
		default: goto yy1116;
	}
yy1116:
	++YYCURSOR;
yy1117:
#line 1997 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Variation_Selectors; else return Error; }
#line 17147 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1118:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8: goto yy1119;
		default: goto yy1117;
	}
yy1119:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1121;
		default: goto yy1120;
	}
yy1120:
	YYCURSOR = YYMARKER;
	goto yy1117;
yy1121:
	++YYCURSOR;
#line 1996 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Variation_Selectors; }
#line 17182 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 1998 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Vertical_Forms:
	
#line 17188 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1125;
		default: goto yy1123;
	}
yy1123:
	++YYCURSOR;
yy1124:
#line 2003 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Vertical_Forms; else return Error; }
#line 17201 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1125:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8: goto yy1126;
		default: goto yy1124;
	}
yy1126:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1128;
		default: goto yy1127;
	}
yy1127:
	YYCURSOR = YYMARKER;
	goto yy1124;
yy1128:
	++YYCURSOR;
#line 2002 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Vertical_Forms; }
#line 17236 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2004 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Combining_Half_Marks:
	
#line 17242 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1132;
		default: goto yy1130;
	}
yy1130:
	++YYCURSOR;
yy1131:
#line 2009 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Combining_Half_Marks; else return Error; }
#line 17255 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1132:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8: goto yy1133;
		default: goto yy1131;
	}
yy1133:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1135;
		default: goto yy1134;
	}
yy1134:
	YYCURSOR = YYMARKER;
	goto yy1131;
yy1135:
	++YYCURSOR;
#line 2008 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Combining_Half_Marks; }
#line 17290 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2010 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Compatibility_Forms:
	
#line 17296 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1139;
		default: goto yy1137;
	}
yy1137:
	++YYCURSOR;
yy1138:
#line 2015 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Compatibility_Forms; else return Error; }
#line 17309 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1139:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB8: goto yy1140;
		case 0xB9: goto yy1142;
		default: goto yy1138;
	}
yy1140:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1143;
		default: goto yy1141;
	}
yy1141:
	YYCURSOR = YYMARKER;
	goto yy1138;
yy1142:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1143;
		default: goto yy1141;
	}
yy1143:
	++YYCURSOR;
#line 2014 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Compatibility_Forms; }
#line 17366 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2016 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Small_Form_Variants:
	
#line 17372 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1147;
		default: goto yy1145;
	}
yy1145:
	++YYCURSOR;
yy1146:
#line 2021 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Small_Form_Variants; else return Error; }
#line 17385 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1147:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB9: goto yy1148;
		default: goto yy1146;
	}
yy1148:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1150;
		default: goto yy1149;
	}
yy1149:
	YYCURSOR = YYMARKER;
	goto yy1146;
yy1150:
	++YYCURSOR;
#line 2020 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Small_Form_Variants; }
#line 17436 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2022 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Presentation_Forms_B:
	
#line 17442 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1154;
		default: goto yy1152;
	}
yy1152:
	++YYCURSOR;
yy1153:
#line 2027 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Presentation_Forms_B; else return Error; }
#line 17455 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1154:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB9: goto yy1155;
		case 0xBA:
		case 0xBB: goto yy1157;
		default: goto yy1153;
	}
yy1155:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1158;
		default: goto yy1156;
	}
yy1156:
	YYCURSOR = YYMARKER;
	goto yy1153;
yy1157:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1158;
		default: goto yy1156;
	}
yy1158:
	++YYCURSOR;
#line 2026 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Presentation_Forms_B; }
#line 17561 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2028 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Halfwidth_and_Fullwidth_Forms:
	
#line 17567 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1162;
		default: goto yy1160;
	}
yy1160:
	++YYCURSOR;
yy1161:
#line 2033 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Halfwidth_and_Fullwidth_Forms; else return Error; }
#line 17580 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1162:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBC:
		case 0xBD:
		case 0xBE: goto yy1163;
		case 0xBF: goto yy1165;
		default: goto yy1161;
	}
yy1163:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1166;
		default: goto yy1164;
	}
yy1164:
	YYCURSOR = YYMARKER;
	goto yy1161;
yy1165:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1166;
		default: goto yy1164;
	}
yy1166:
	++YYCURSOR;
#line 2032 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Halfwidth_and_Fullwidth_Forms; }
#line 17719 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2034 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Specials:
	
#line 17725 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xEF: goto yy1170;
		default: goto yy1168;
	}
yy1168:
	++YYCURSOR;
yy1169:
#line 2039 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Specials; else return Error; }
#line 17738 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1170:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xBF: goto yy1171;
		default: goto yy1169;
	}
yy1171:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1173;
		default: goto yy1172;
	}
yy1172:
	YYCURSOR = YYMARKER;
	goto yy1169;
yy1173:
	++YYCURSOR;
#line 2038 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Specials; }
#line 17773 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2040 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Linear_B_Syllabary:
	
#line 17779 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1177;
		default: goto yy1175;
	}
yy1175:
	++YYCURSOR;
yy1176:
#line 2045 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Linear_B_Syllabary; else return Error; }
#line 17792 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1177:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1178;
		default: goto yy1176;
	}
yy1178:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81: goto yy1180;
		default: goto yy1179;
	}
yy1179:
	YYCURSOR = YYMARKER;
	goto yy1176;
yy1180:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1181;
		default: goto yy1179;
	}
yy1181:
	++YYCURSOR;
#line 2044 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Linear_B_Syllabary; }
#line 17882 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2046 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Linear_B_Ideograms:
	
#line 17888 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1185;
		default: goto yy1183;
	}
yy1183:
	++YYCURSOR;
yy1184:
#line 2051 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Linear_B_Ideograms; else return Error; }
#line 17901 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1185:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1186;
		default: goto yy1184;
	}
yy1186:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x82:
		case 0x83: goto yy1188;
		default: goto yy1187;
	}
yy1187:
	YYCURSOR = YYMARKER;
	goto yy1184;
yy1188:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1189;
		default: goto yy1187;
	}
yy1189:
	++YYCURSOR;
#line 2050 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Linear_B_Ideograms; }
#line 17991 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2052 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Aegean_Numbers:
	
#line 17997 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1193;
		default: goto yy1191;
	}
yy1191:
	++YYCURSOR;
yy1192:
#line 2057 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Aegean_Numbers; else return Error; }
#line 18010 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1193:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1194;
		default: goto yy1192;
	}
yy1194:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84: goto yy1196;
		default: goto yy1195;
	}
yy1195:
	YYCURSOR = YYMARKER;
	goto yy1192;
yy1196:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1197;
		default: goto yy1195;
	}
yy1197:
	++YYCURSOR;
#line 2056 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Aegean_Numbers; }
#line 18099 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2058 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ancient_Greek_Numbers:
	
#line 18105 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1201;
		default: goto yy1199;
	}
yy1199:
	++YYCURSOR;
yy1200:
#line 2063 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ancient_Greek_Numbers; else return Error; }
#line 18118 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1201:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1202;
		default: goto yy1200;
	}
yy1202:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x85: goto yy1204;
		case 0x86: goto yy1205;
		default: goto yy1203;
	}
yy1203:
	YYCURSOR = YYMARKER;
	goto yy1200;
yy1204:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1206;
		default: goto yy1203;
	}
yy1205:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1206;
		default: goto yy1203;
	}
yy1206:
	++YYCURSOR;
#line 2062 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ancient_Greek_Numbers; }
#line 18229 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2064 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ancient_Symbols:
	
#line 18235 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1210;
		default: goto yy1208;
	}
yy1208:
	++YYCURSOR;
yy1209:
#line 2069 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ancient_Symbols; else return Error; }
#line 18248 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1210:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1211;
		default: goto yy1209;
	}
yy1211:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x86: goto yy1213;
		case 0x87: goto yy1214;
		default: goto yy1212;
	}
yy1212:
	YYCURSOR = YYMARKER;
	goto yy1209;
yy1213:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1215;
		default: goto yy1212;
	}
yy1214:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1215;
		default: goto yy1212;
	}
yy1215:
	++YYCURSOR;
#line 2068 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ancient_Symbols; }
#line 18343 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2070 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Phaistos_Disc:
	
#line 18349 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1219;
		default: goto yy1217;
	}
yy1217:
	++YYCURSOR;
yy1218:
#line 2075 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Phaistos_Disc; else return Error; }
#line 18362 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1219:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1220;
		default: goto yy1218;
	}
yy1220:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x87: goto yy1222;
		default: goto yy1221;
	}
yy1221:
	YYCURSOR = YYMARKER;
	goto yy1218;
yy1222:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1223;
		default: goto yy1221;
	}
yy1223:
	++YYCURSOR;
#line 2074 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Phaistos_Disc; }
#line 18435 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2076 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Lycian:
	
#line 18441 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1227;
		default: goto yy1225;
	}
yy1225:
	++YYCURSOR;
yy1226:
#line 2081 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Lycian; else return Error; }
#line 18454 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1227:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1228;
		default: goto yy1226;
	}
yy1228:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8A: goto yy1230;
		default: goto yy1229;
	}
yy1229:
	YYCURSOR = YYMARKER;
	goto yy1226;
yy1230:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1231;
		default: goto yy1229;
	}
yy1231:
	++YYCURSOR;
#line 2080 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Lycian; }
#line 18511 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2082 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Carian:
	
#line 18517 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1235;
		default: goto yy1233;
	}
yy1233:
	++YYCURSOR;
yy1234:
#line 2087 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Carian; else return Error; }
#line 18530 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1235:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1236;
		default: goto yy1234;
	}
yy1236:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8A: goto yy1238;
		case 0x8B: goto yy1239;
		default: goto yy1237;
	}
yy1237:
	YYCURSOR = YYMARKER;
	goto yy1234;
yy1238:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1240;
		default: goto yy1237;
	}
yy1239:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1240;
		default: goto yy1237;
	}
yy1240:
	++YYCURSOR;
#line 2086 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Carian; }
#line 18625 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2088 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Coptic_Epact_Numbers:
	
#line 18631 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1244;
		default: goto yy1242;
	}
yy1242:
	++YYCURSOR;
yy1243:
#line 2093 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Coptic_Epact_Numbers; else return Error; }
#line 18644 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1244:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1245;
		default: goto yy1243;
	}
yy1245:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8B: goto yy1247;
		default: goto yy1246;
	}
yy1246:
	YYCURSOR = YYMARKER;
	goto yy1243;
yy1247:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1248;
		default: goto yy1246;
	}
yy1248:
	++YYCURSOR;
#line 2092 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Coptic_Epact_Numbers; }
#line 18701 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2094 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Italic:
	
#line 18707 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1252;
		default: goto yy1250;
	}
yy1250:
	++YYCURSOR;
yy1251:
#line 2099 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Italic; else return Error; }
#line 18720 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1252:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1253;
		default: goto yy1251;
	}
yy1253:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8C: goto yy1255;
		default: goto yy1254;
	}
yy1254:
	YYCURSOR = YYMARKER;
	goto yy1251;
yy1255:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1256;
		default: goto yy1254;
	}
yy1256:
	++YYCURSOR;
#line 2098 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Italic; }
#line 18793 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2100 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Gothic:
	
#line 18799 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1260;
		default: goto yy1258;
	}
yy1258:
	++YYCURSOR;
yy1259:
#line 2105 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Gothic; else return Error; }
#line 18812 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1260:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1261;
		default: goto yy1259;
	}
yy1261:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8C: goto yy1263;
		case 0x8D: goto yy1264;
		default: goto yy1262;
	}
yy1262:
	YYCURSOR = YYMARKER;
	goto yy1259;
yy1263:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1265;
		default: goto yy1262;
	}
yy1264:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1265;
		default: goto yy1262;
	}
yy1265:
	++YYCURSOR;
#line 2104 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Gothic; }
#line 18875 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2106 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Permic:
	
#line 18881 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1269;
		default: goto yy1267;
	}
yy1267:
	++YYCURSOR;
yy1268:
#line 2111 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Permic; else return Error; }
#line 18894 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1269:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1270;
		default: goto yy1268;
	}
yy1270:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8D: goto yy1272;
		default: goto yy1271;
	}
yy1271:
	YYCURSOR = YYMARKER;
	goto yy1268;
yy1272:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1273;
		default: goto yy1271;
	}
yy1273:
	++YYCURSOR;
#line 2110 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Permic; }
#line 18967 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2112 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ugaritic:
	
#line 18973 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1277;
		default: goto yy1275;
	}
yy1275:
	++YYCURSOR;
yy1276:
#line 2117 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ugaritic; else return Error; }
#line 18986 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1277:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1278;
		default: goto yy1276;
	}
yy1278:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8E: goto yy1280;
		default: goto yy1279;
	}
yy1279:
	YYCURSOR = YYMARKER;
	goto yy1276;
yy1280:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1281;
		default: goto yy1279;
	}
yy1281:
	++YYCURSOR;
#line 2116 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ugaritic; }
#line 19043 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2118 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Persian:
	
#line 19049 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1285;
		default: goto yy1283;
	}
yy1283:
	++YYCURSOR;
yy1284:
#line 2123 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Persian; else return Error; }
#line 19062 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1285:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1286;
		default: goto yy1284;
	}
yy1286:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8E: goto yy1288;
		case 0x8F: goto yy1289;
		default: goto yy1287;
	}
yy1287:
	YYCURSOR = YYMARKER;
	goto yy1284;
yy1288:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1290;
		default: goto yy1287;
	}
yy1289:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1290;
		default: goto yy1287;
	}
yy1290:
	++YYCURSOR;
#line 2122 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Persian; }
#line 19157 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2124 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Deseret:
	
#line 19163 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1294;
		default: goto yy1292;
	}
yy1292:
	++YYCURSOR;
yy1293:
#line 2129 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Deseret; else return Error; }
#line 19176 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1294:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1295;
		default: goto yy1293;
	}
yy1295:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90: goto yy1297;
		case 0x91: goto yy1298;
		default: goto yy1296;
	}
yy1296:
	YYCURSOR = YYMARKER;
	goto yy1293;
yy1297:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1299;
		default: goto yy1296;
	}
yy1298:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1299;
		default: goto yy1296;
	}
yy1299:
	++YYCURSOR;
#line 2128 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Deseret; }
#line 19287 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2130 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Shavian:
	
#line 19293 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1303;
		default: goto yy1301;
	}
yy1301:
	++YYCURSOR;
yy1302:
#line 2135 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Shavian; else return Error; }
#line 19306 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1303:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1304;
		default: goto yy1302;
	}
yy1304:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x91: goto yy1306;
		default: goto yy1305;
	}
yy1305:
	YYCURSOR = YYMARKER;
	goto yy1302;
yy1306:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1307;
		default: goto yy1305;
	}
yy1307:
	++YYCURSOR;
#line 2134 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Shavian; }
#line 19379 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2136 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Osmanya:
	
#line 19385 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1311;
		default: goto yy1309;
	}
yy1309:
	++YYCURSOR;
yy1310:
#line 2141 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Osmanya; else return Error; }
#line 19398 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1311:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1312;
		default: goto yy1310;
	}
yy1312:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x92: goto yy1314;
		default: goto yy1313;
	}
yy1313:
	YYCURSOR = YYMARKER;
	goto yy1310;
yy1314:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1315;
		default: goto yy1313;
	}
yy1315:
	++YYCURSOR;
#line 2140 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Osmanya; }
#line 19471 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2142 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Osage:
	
#line 19477 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1319;
		default: goto yy1317;
	}
yy1317:
	++YYCURSOR;
yy1318:
#line 2147 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Osage; else return Error; }
#line 19490 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1319:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1320;
		default: goto yy1318;
	}
yy1320:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x92: goto yy1322;
		case 0x93: goto yy1323;
		default: goto yy1321;
	}
yy1321:
	YYCURSOR = YYMARKER;
	goto yy1318;
yy1322:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1324;
		default: goto yy1321;
	}
yy1323:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1324;
		default: goto yy1321;
	}
yy1324:
	++YYCURSOR;
#line 2146 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Osage; }
#line 19601 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2148 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Elbasan:
	
#line 19607 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1328;
		default: goto yy1326;
	}
yy1326:
	++YYCURSOR;
yy1327:
#line 2153 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Elbasan; else return Error; }
#line 19620 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1328:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1329;
		default: goto yy1327;
	}
yy1329:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x94: goto yy1331;
		default: goto yy1330;
	}
yy1330:
	YYCURSOR = YYMARKER;
	goto yy1327;
yy1331:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1332;
		default: goto yy1330;
	}
yy1332:
	++YYCURSOR;
#line 2152 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Elbasan; }
#line 19693 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2154 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Caucasian_Albanian:
	
#line 19699 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1336;
		default: goto yy1334;
	}
yy1334:
	++YYCURSOR;
yy1335:
#line 2159 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Caucasian_Albanian; else return Error; }
#line 19712 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1336:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1337;
		default: goto yy1335;
	}
yy1337:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x94: goto yy1339;
		case 0x95: goto yy1340;
		default: goto yy1338;
	}
yy1338:
	YYCURSOR = YYMARKER;
	goto yy1335;
yy1339:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1341;
		default: goto yy1338;
	}
yy1340:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1341;
		default: goto yy1338;
	}
yy1341:
	++YYCURSOR;
#line 2158 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Caucasian_Albanian; }
#line 19807 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2160 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Vithkuqi:
	
#line 19813 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1345;
		default: goto yy1343;
	}
yy1343:
	++YYCURSOR;
yy1344:
#line 2165 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Vithkuqi; else return Error; }
#line 19826 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1345:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1346;
		default: goto yy1344;
	}
yy1346:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x95: goto yy1348;
		case 0x96: goto yy1349;
		default: goto yy1347;
	}
yy1347:
	YYCURSOR = YYMARKER;
	goto yy1344;
yy1348:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1350;
		default: goto yy1347;
	}
yy1349:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1350;
		default: goto yy1347;
	}
yy1350:
	++YYCURSOR;
#line 2164 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Vithkuqi; }
#line 19937 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2166 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Todhri:
	
#line 19943 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1354;
		default: goto yy1352;
	}
yy1352:
	++YYCURSOR;
yy1353:
#line 2171 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Todhri; else return Error; }
#line 19956 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1354:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1355;
		default: goto yy1353;
	}
yy1355:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x97: goto yy1357;
		default: goto yy1356;
	}
yy1356:
	YYCURSOR = YYMARKER;
	goto yy1353;
yy1357:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1358;
		default: goto yy1356;
	}
yy1358:
	++YYCURSOR;
#line 2170 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Todhri; }
#line 20045 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2172 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Linear_A:
	
#line 20051 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1362;
		default: goto yy1360;
	}
yy1360:
	++YYCURSOR;
yy1361:
#line 2177 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Linear_A; else return Error; }
#line 20064 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1362:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1363;
		default: goto yy1361;
	}
yy1363:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D: goto yy1365;
		default: goto yy1364;
	}
yy1364:
	YYCURSOR = YYMARKER;
	goto yy1361;
yy1365:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1366;
		default: goto yy1364;
	}
yy1366:
	++YYCURSOR;
#line 2176 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Linear_A; }
#line 20158 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2178 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_F:
	
#line 20164 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1370;
		default: goto yy1368;
	}
yy1368:
	++YYCURSOR;
yy1369:
#line 2183 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_F; else return Error; }
#line 20177 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1370:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1371;
		default: goto yy1369;
	}
yy1371:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9E: goto yy1373;
		default: goto yy1372;
	}
yy1372:
	YYCURSOR = YYMARKER;
	goto yy1369;
yy1373:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1374;
		default: goto yy1372;
	}
yy1374:
	++YYCURSOR;
#line 2182 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_F; }
#line 20266 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2184 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cypriot_Syllabary:
	
#line 20272 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1378;
		default: goto yy1376;
	}
yy1376:
	++YYCURSOR;
yy1377:
#line 2189 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cypriot_Syllabary; else return Error; }
#line 20285 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1378:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1379;
		default: goto yy1377;
	}
yy1379:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0: goto yy1381;
		default: goto yy1380;
	}
yy1380:
	YYCURSOR = YYMARKER;
	goto yy1377;
yy1381:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1382;
		default: goto yy1380;
	}
yy1382:
	++YYCURSOR;
#line 2188 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cypriot_Syllabary; }
#line 20374 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2190 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Imperial_Aramaic:
	
#line 20380 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1386;
		default: goto yy1384;
	}
yy1384:
	++YYCURSOR;
yy1385:
#line 2195 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Imperial_Aramaic; else return Error; }
#line 20393 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1386:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1387;
		default: goto yy1385;
	}
yy1387:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA1: goto yy1389;
		default: goto yy1388;
	}
yy1388:
	YYCURSOR = YYMARKER;
	goto yy1385;
yy1389:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1390;
		default: goto yy1388;
	}
yy1390:
	++YYCURSOR;
#line 2194 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Imperial_Aramaic; }
#line 20450 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2196 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Palmyrene:
	
#line 20456 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1394;
		default: goto yy1392;
	}
yy1392:
	++YYCURSOR;
yy1393:
#line 2201 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Palmyrene; else return Error; }
#line 20469 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1394:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1395;
		default: goto yy1393;
	}
yy1395:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA1: goto yy1397;
		default: goto yy1396;
	}
yy1396:
	YYCURSOR = YYMARKER;
	goto yy1393;
yy1397:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1398;
		default: goto yy1396;
	}
yy1398:
	++YYCURSOR;
#line 2200 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Palmyrene; }
#line 20526 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2202 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Nabataean:
	
#line 20532 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1402;
		default: goto yy1400;
	}
yy1400:
	++YYCURSOR;
yy1401:
#line 2207 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Nabataean; else return Error; }
#line 20545 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1402:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1403;
		default: goto yy1401;
	}
yy1403:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA2: goto yy1405;
		default: goto yy1404;
	}
yy1404:
	YYCURSOR = YYMARKER;
	goto yy1401;
yy1405:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1406;
		default: goto yy1404;
	}
yy1406:
	++YYCURSOR;
#line 2206 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Nabataean; }
#line 20618 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2208 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hatran:
	
#line 20624 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1410;
		default: goto yy1408;
	}
yy1408:
	++YYCURSOR;
yy1409:
#line 2213 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hatran; else return Error; }
#line 20637 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1410:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1411;
		default: goto yy1409;
	}
yy1411:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA3: goto yy1413;
		default: goto yy1412;
	}
yy1412:
	YYCURSOR = YYMARKER;
	goto yy1409;
yy1413:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1414;
		default: goto yy1412;
	}
yy1414:
	++YYCURSOR;
#line 2212 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hatran; }
#line 20694 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2214 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Phoenician:
	
#line 20700 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1418;
		default: goto yy1416;
	}
yy1416:
	++YYCURSOR;
yy1417:
#line 2219 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Phoenician; else return Error; }
#line 20713 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1418:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1419;
		default: goto yy1417;
	}
yy1419:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA4: goto yy1421;
		default: goto yy1420;
	}
yy1420:
	YYCURSOR = YYMARKER;
	goto yy1417;
yy1421:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1422;
		default: goto yy1420;
	}
yy1422:
	++YYCURSOR;
#line 2218 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Phoenician; }
#line 20770 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2220 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Lydian:
	
#line 20776 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1426;
		default: goto yy1424;
	}
yy1424:
	++YYCURSOR;
yy1425:
#line 2225 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Lydian; else return Error; }
#line 20789 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1426:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1427;
		default: goto yy1425;
	}
yy1427:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA4: goto yy1429;
		default: goto yy1428;
	}
yy1428:
	YYCURSOR = YYMARKER;
	goto yy1425;
yy1429:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1430;
		default: goto yy1428;
	}
yy1430:
	++YYCURSOR;
#line 2224 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Lydian; }
#line 20846 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2226 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sidetic:
	
#line 20852 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1434;
		default: goto yy1432;
	}
yy1432:
	++YYCURSOR;
yy1433:
#line 2231 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sidetic; else return Error; }
#line 20865 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1434:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1435;
		default: goto yy1433;
	}
yy1435:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA5: goto yy1437;
		default: goto yy1436;
	}
yy1436:
	YYCURSOR = YYMARKER;
	goto yy1433;
yy1437:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1438;
		default: goto yy1436;
	}
yy1438:
	++YYCURSOR;
#line 2230 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sidetic; }
#line 20922 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2232 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Meroitic_Hieroglyphs:
	
#line 20928 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1442;
		default: goto yy1440;
	}
yy1440:
	++YYCURSOR;
yy1441:
#line 2237 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Meroitic_Hieroglyphs; else return Error; }
#line 20941 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1442:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1443;
		default: goto yy1441;
	}
yy1443:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA6: goto yy1445;
		default: goto yy1444;
	}
yy1444:
	YYCURSOR = YYMARKER;
	goto yy1441;
yy1445:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1446;
		default: goto yy1444;
	}
yy1446:
	++YYCURSOR;
#line 2236 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Meroitic_Hieroglyphs; }
#line 20998 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2238 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Meroitic_Cursive:
	
#line 21004 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1450;
		default: goto yy1448;
	}
yy1448:
	++YYCURSOR;
yy1449:
#line 2243 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Meroitic_Cursive; else return Error; }
#line 21017 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1450:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1451;
		default: goto yy1449;
	}
yy1451:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA6: goto yy1453;
		case 0xA7: goto yy1454;
		default: goto yy1452;
	}
yy1452:
	YYCURSOR = YYMARKER;
	goto yy1449;
yy1453:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1455;
		default: goto yy1452;
	}
yy1454:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1455;
		default: goto yy1452;
	}
yy1455:
	++YYCURSOR;
#line 2242 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Meroitic_Cursive; }
#line 21144 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2244 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kharoshthi:
	
#line 21150 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1459;
		default: goto yy1457;
	}
yy1457:
	++YYCURSOR;
yy1458:
#line 2249 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kharoshthi; else return Error; }
#line 21163 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1459:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1460;
		default: goto yy1458;
	}
yy1460:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA8: goto yy1462;
		case 0xA9: goto yy1463;
		default: goto yy1461;
	}
yy1461:
	YYCURSOR = YYMARKER;
	goto yy1458;
yy1462:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1464;
		default: goto yy1461;
	}
yy1463:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1464;
		default: goto yy1461;
	}
yy1464:
	++YYCURSOR;
#line 2248 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kharoshthi; }
#line 21290 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2250 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_South_Arabian:
	
#line 21296 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1468;
		default: goto yy1466;
	}
yy1466:
	++YYCURSOR;
yy1467:
#line 2255 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_South_Arabian; else return Error; }
#line 21309 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1468:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1469;
		default: goto yy1467;
	}
yy1469:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA9: goto yy1471;
		default: goto yy1470;
	}
yy1470:
	YYCURSOR = YYMARKER;
	goto yy1467;
yy1471:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1472;
		default: goto yy1470;
	}
yy1472:
	++YYCURSOR;
#line 2254 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_South_Arabian; }
#line 21366 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2256 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_North_Arabian:
	
#line 21372 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1476;
		default: goto yy1474;
	}
yy1474:
	++YYCURSOR;
yy1475:
#line 2261 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_North_Arabian; else return Error; }
#line 21385 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1476:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1477;
		default: goto yy1475;
	}
yy1477:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAA: goto yy1479;
		default: goto yy1478;
	}
yy1478:
	YYCURSOR = YYMARKER;
	goto yy1475;
yy1479:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1480;
		default: goto yy1478;
	}
yy1480:
	++YYCURSOR;
#line 2260 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_North_Arabian; }
#line 21442 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2262 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Manichaean:
	
#line 21448 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1484;
		default: goto yy1482;
	}
yy1482:
	++YYCURSOR;
yy1483:
#line 2267 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Manichaean; else return Error; }
#line 21461 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1484:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1485;
		default: goto yy1483;
	}
yy1485:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAB: goto yy1487;
		default: goto yy1486;
	}
yy1486:
	YYCURSOR = YYMARKER;
	goto yy1483;
yy1487:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1488;
		default: goto yy1486;
	}
yy1488:
	++YYCURSOR;
#line 2266 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Manichaean; }
#line 21550 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2268 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Avestan:
	
#line 21556 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1492;
		default: goto yy1490;
	}
yy1490:
	++YYCURSOR;
yy1491:
#line 2273 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Avestan; else return Error; }
#line 21569 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1492:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1493;
		default: goto yy1491;
	}
yy1493:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAC: goto yy1495;
		default: goto yy1494;
	}
yy1494:
	YYCURSOR = YYMARKER;
	goto yy1491;
yy1495:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1496;
		default: goto yy1494;
	}
yy1496:
	++YYCURSOR;
#line 2272 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Avestan; }
#line 21658 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2274 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Inscriptional_Parthian:
	
#line 21664 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1500;
		default: goto yy1498;
	}
yy1498:
	++YYCURSOR;
yy1499:
#line 2279 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Inscriptional_Parthian; else return Error; }
#line 21677 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1500:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1501;
		default: goto yy1499;
	}
yy1501:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAD: goto yy1503;
		default: goto yy1502;
	}
yy1502:
	YYCURSOR = YYMARKER;
	goto yy1499;
yy1503:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1504;
		default: goto yy1502;
	}
yy1504:
	++YYCURSOR;
#line 2278 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Inscriptional_Parthian; }
#line 21734 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2280 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Inscriptional_Pahlavi:
	
#line 21740 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1508;
		default: goto yy1506;
	}
yy1506:
	++YYCURSOR;
yy1507:
#line 2285 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Inscriptional_Pahlavi; else return Error; }
#line 21753 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1508:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1509;
		default: goto yy1507;
	}
yy1509:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAD: goto yy1511;
		default: goto yy1510;
	}
yy1510:
	YYCURSOR = YYMARKER;
	goto yy1507;
yy1511:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1512;
		default: goto yy1510;
	}
yy1512:
	++YYCURSOR;
#line 2284 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Inscriptional_Pahlavi; }
#line 21810 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2286 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Psalter_Pahlavi:
	
#line 21816 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1516;
		default: goto yy1514;
	}
yy1514:
	++YYCURSOR;
yy1515:
#line 2291 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Psalter_Pahlavi; else return Error; }
#line 21829 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1516:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1517;
		default: goto yy1515;
	}
yy1517:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAE: goto yy1519;
		default: goto yy1518;
	}
yy1518:
	YYCURSOR = YYMARKER;
	goto yy1515;
yy1519:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1520;
		default: goto yy1518;
	}
yy1520:
	++YYCURSOR;
#line 2290 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Psalter_Pahlavi; }
#line 21902 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2292 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Turkic:
	
#line 21908 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1524;
		default: goto yy1522;
	}
yy1522:
	++YYCURSOR;
yy1523:
#line 2297 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Turkic; else return Error; }
#line 21921 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1524:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1525;
		default: goto yy1523;
	}
yy1525:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0: goto yy1527;
		case 0xB1: goto yy1528;
		default: goto yy1526;
	}
yy1526:
	YYCURSOR = YYMARKER;
	goto yy1523;
yy1527:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1529;
		default: goto yy1526;
	}
yy1528:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1529;
		default: goto yy1526;
	}
yy1529:
	++YYCURSOR;
#line 2296 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Turkic; }
#line 22032 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2298 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Hungarian:
	
#line 22038 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1533;
		default: goto yy1531;
	}
yy1531:
	++YYCURSOR;
yy1532:
#line 2303 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Hungarian; else return Error; }
#line 22051 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1533:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1534;
		default: goto yy1532;
	}
yy1534:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB2:
		case 0xB3: goto yy1536;
		default: goto yy1535;
	}
yy1535:
	YYCURSOR = YYMARKER;
	goto yy1532;
yy1536:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1537;
		default: goto yy1535;
	}
yy1537:
	++YYCURSOR;
#line 2302 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Hungarian; }
#line 22141 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2304 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Hanifi_Rohingya:
	
#line 22147 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1541;
		default: goto yy1539;
	}
yy1539:
	++YYCURSOR;
yy1540:
#line 2309 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Hanifi_Rohingya; else return Error; }
#line 22160 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1541:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1542;
		default: goto yy1540;
	}
yy1542:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB4: goto yy1544;
		default: goto yy1543;
	}
yy1543:
	YYCURSOR = YYMARKER;
	goto yy1540;
yy1544:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1545;
		default: goto yy1543;
	}
yy1545:
	++YYCURSOR;
#line 2308 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Hanifi_Rohingya; }
#line 22249 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2310 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Garay:
	
#line 22255 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1549;
		default: goto yy1547;
	}
yy1547:
	++YYCURSOR;
yy1548:
#line 2315 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Garay; else return Error; }
#line 22268 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1549:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1550;
		default: goto yy1548;
	}
yy1550:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB5: goto yy1552;
		case 0xB6: goto yy1553;
		default: goto yy1551;
	}
yy1551:
	YYCURSOR = YYMARKER;
	goto yy1548;
yy1552:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1554;
		default: goto yy1551;
	}
yy1553:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1554;
		default: goto yy1551;
	}
yy1554:
	++YYCURSOR;
#line 2314 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Garay; }
#line 22379 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2316 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Rumi_Numeral_Symbols:
	
#line 22385 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1558;
		default: goto yy1556;
	}
yy1556:
	++YYCURSOR;
yy1557:
#line 2321 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Rumi_Numeral_Symbols; else return Error; }
#line 22398 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1558:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1559;
		default: goto yy1557;
	}
yy1559:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB9: goto yy1561;
		default: goto yy1560;
	}
yy1560:
	YYCURSOR = YYMARKER;
	goto yy1557;
yy1561:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1562;
		default: goto yy1560;
	}
yy1562:
	++YYCURSOR;
#line 2320 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Rumi_Numeral_Symbols; }
#line 22455 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2322 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Yezidi:
	
#line 22461 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1566;
		default: goto yy1564;
	}
yy1564:
	++YYCURSOR;
yy1565:
#line 2327 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Yezidi; else return Error; }
#line 22474 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1566:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1567;
		default: goto yy1565;
	}
yy1567:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBA: goto yy1569;
		default: goto yy1568;
	}
yy1568:
	YYCURSOR = YYMARKER;
	goto yy1565;
yy1569:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1570;
		default: goto yy1568;
	}
yy1570:
	++YYCURSOR;
#line 2326 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Yezidi; }
#line 22563 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2328 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Extended_C:
	
#line 22569 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1574;
		default: goto yy1572;
	}
yy1572:
	++YYCURSOR;
yy1573:
#line 2333 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Extended_C; else return Error; }
#line 22582 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1574:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1575;
		default: goto yy1573;
	}
yy1575:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBB: goto yy1577;
		default: goto yy1576;
	}
yy1576:
	YYCURSOR = YYMARKER;
	goto yy1573;
yy1577:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1578;
		default: goto yy1576;
	}
yy1578:
	++YYCURSOR;
#line 2332 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Extended_C; }
#line 22671 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2334 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Sogdian:
	
#line 22677 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1582;
		default: goto yy1580;
	}
yy1580:
	++YYCURSOR;
yy1581:
#line 2339 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Sogdian; else return Error; }
#line 22690 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1582:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1583;
		default: goto yy1581;
	}
yy1583:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBC: goto yy1585;
		default: goto yy1584;
	}
yy1584:
	YYCURSOR = YYMARKER;
	goto yy1581;
yy1585:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1586;
		default: goto yy1584;
	}
yy1586:
	++YYCURSOR;
#line 2338 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Sogdian; }
#line 22763 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2340 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sogdian:
	
#line 22769 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1590;
		default: goto yy1588;
	}
yy1588:
	++YYCURSOR;
yy1589:
#line 2345 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sogdian; else return Error; }
#line 22782 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1590:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1591;
		default: goto yy1589;
	}
yy1591:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBC: goto yy1593;
		case 0xBD: goto yy1594;
		default: goto yy1592;
	}
yy1592:
	YYCURSOR = YYMARKER;
	goto yy1589;
yy1593:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1595;
		default: goto yy1592;
	}
yy1594:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1595;
		default: goto yy1592;
	}
yy1595:
	++YYCURSOR;
#line 2344 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sogdian; }
#line 22877 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2346 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Old_Uyghur:
	
#line 22883 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1599;
		default: goto yy1597;
	}
yy1597:
	++YYCURSOR;
yy1598:
#line 2351 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Old_Uyghur; else return Error; }
#line 22896 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1599:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1600;
		default: goto yy1598;
	}
yy1600:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBD: goto yy1602;
		case 0xBE: goto yy1603;
		default: goto yy1601;
	}
yy1601:
	YYCURSOR = YYMARKER;
	goto yy1598;
yy1602:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1604;
		default: goto yy1601;
	}
yy1603:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1604;
		default: goto yy1601;
	}
yy1604:
	++YYCURSOR;
#line 2350 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Old_Uyghur; }
#line 22991 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2352 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Chorasmian:
	
#line 22997 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1608;
		default: goto yy1606;
	}
yy1606:
	++YYCURSOR;
yy1607:
#line 2357 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Chorasmian; else return Error; }
#line 23010 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1608:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1609;
		default: goto yy1607;
	}
yy1609:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBE: goto yy1611;
		case 0xBF: goto yy1612;
		default: goto yy1610;
	}
yy1610:
	YYCURSOR = YYMARKER;
	goto yy1607;
yy1611:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1613;
		default: goto yy1610;
	}
yy1612:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1613;
		default: goto yy1610;
	}
yy1613:
	++YYCURSOR;
#line 2356 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Chorasmian; }
#line 23089 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2358 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Elymaic:
	
#line 23095 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1617;
		default: goto yy1615;
	}
yy1615:
	++YYCURSOR;
yy1616:
#line 2363 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Elymaic; else return Error; }
#line 23108 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1617:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x90: goto yy1618;
		default: goto yy1616;
	}
yy1618:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBF: goto yy1620;
		default: goto yy1619;
	}
yy1619:
	YYCURSOR = YYMARKER;
	goto yy1616;
yy1620:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1621;
		default: goto yy1619;
	}
yy1621:
	++YYCURSOR;
#line 2362 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Elymaic; }
#line 23165 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2364 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Brahmi:
	
#line 23171 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1625;
		default: goto yy1623;
	}
yy1623:
	++YYCURSOR;
yy1624:
#line 2369 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Brahmi; else return Error; }
#line 23184 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1625:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1626;
		default: goto yy1624;
	}
yy1626:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81: goto yy1628;
		default: goto yy1627;
	}
yy1627:
	YYCURSOR = YYMARKER;
	goto yy1624;
yy1628:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1629;
		default: goto yy1627;
	}
yy1629:
	++YYCURSOR;
#line 2368 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Brahmi; }
#line 23274 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2370 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kaithi:
	
#line 23280 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1633;
		default: goto yy1631;
	}
yy1631:
	++YYCURSOR;
yy1632:
#line 2375 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kaithi; else return Error; }
#line 23293 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1633:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1634;
		default: goto yy1632;
	}
yy1634:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x82: goto yy1636;
		case 0x83: goto yy1637;
		default: goto yy1635;
	}
yy1635:
	YYCURSOR = YYMARKER;
	goto yy1632;
yy1636:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1638;
		default: goto yy1635;
	}
yy1637:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1638;
		default: goto yy1635;
	}
yy1638:
	++YYCURSOR;
#line 2374 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kaithi; }
#line 23404 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2376 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sora_Sompeng:
	
#line 23410 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1642;
		default: goto yy1640;
	}
yy1640:
	++YYCURSOR;
yy1641:
#line 2381 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sora_Sompeng; else return Error; }
#line 23423 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1642:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1643;
		default: goto yy1641;
	}
yy1643:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x83: goto yy1645;
		default: goto yy1644;
	}
yy1644:
	YYCURSOR = YYMARKER;
	goto yy1641;
yy1645:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1646;
		default: goto yy1644;
	}
yy1646:
	++YYCURSOR;
#line 2380 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sora_Sompeng; }
#line 23496 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2382 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Chakma:
	
#line 23502 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1650;
		default: goto yy1648;
	}
yy1648:
	++YYCURSOR;
yy1649:
#line 2387 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Chakma; else return Error; }
#line 23515 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1650:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1651;
		default: goto yy1649;
	}
yy1651:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84: goto yy1653;
		case 0x85: goto yy1654;
		default: goto yy1652;
	}
yy1652:
	YYCURSOR = YYMARKER;
	goto yy1649;
yy1653:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1655;
		default: goto yy1652;
	}
yy1654:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1655;
		default: goto yy1652;
	}
yy1655:
	++YYCURSOR;
#line 2386 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Chakma; }
#line 23626 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2388 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mahajani:
	
#line 23632 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1659;
		default: goto yy1657;
	}
yy1657:
	++YYCURSOR;
yy1658:
#line 2393 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mahajani; else return Error; }
#line 23645 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1659:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1660;
		default: goto yy1658;
	}
yy1660:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x85: goto yy1662;
		default: goto yy1661;
	}
yy1661:
	YYCURSOR = YYMARKER;
	goto yy1658;
yy1662:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1663;
		default: goto yy1661;
	}
yy1663:
	++YYCURSOR;
#line 2392 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mahajani; }
#line 23718 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2394 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sharada:
	
#line 23724 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1667;
		default: goto yy1665;
	}
yy1665:
	++YYCURSOR;
yy1666:
#line 2399 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sharada; else return Error; }
#line 23737 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1667:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1668;
		default: goto yy1666;
	}
yy1668:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x86: goto yy1670;
		case 0x87: goto yy1671;
		default: goto yy1669;
	}
yy1669:
	YYCURSOR = YYMARKER;
	goto yy1666;
yy1670:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1672;
		default: goto yy1669;
	}
yy1671:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1672;
		default: goto yy1669;
	}
yy1672:
	++YYCURSOR;
#line 2398 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sharada; }
#line 23864 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2400 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sinhala_Archaic_Numbers:
	
#line 23870 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1676;
		default: goto yy1674;
	}
yy1674:
	++YYCURSOR;
yy1675:
#line 2405 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sinhala_Archaic_Numbers; else return Error; }
#line 23883 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1676:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1677;
		default: goto yy1675;
	}
yy1677:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x87: goto yy1679;
		default: goto yy1678;
	}
yy1678:
	YYCURSOR = YYMARKER;
	goto yy1675;
yy1679:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1680;
		default: goto yy1678;
	}
yy1680:
	++YYCURSOR;
#line 2404 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sinhala_Archaic_Numbers; }
#line 23940 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2406 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Khojki:
	
#line 23946 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1684;
		default: goto yy1682;
	}
yy1682:
	++YYCURSOR;
yy1683:
#line 2411 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Khojki; else return Error; }
#line 23959 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1684:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1685;
		default: goto yy1683;
	}
yy1685:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88: goto yy1687;
		case 0x89: goto yy1688;
		default: goto yy1686;
	}
yy1686:
	YYCURSOR = YYMARKER;
	goto yy1683;
yy1687:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1689;
		default: goto yy1686;
	}
yy1688:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1689;
		default: goto yy1686;
	}
yy1689:
	++YYCURSOR;
#line 2410 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Khojki; }
#line 24070 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2412 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Multani:
	
#line 24076 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1693;
		default: goto yy1691;
	}
yy1691:
	++YYCURSOR;
yy1692:
#line 2417 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Multani; else return Error; }
#line 24089 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1693:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1694;
		default: goto yy1692;
	}
yy1694:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8A: goto yy1696;
		default: goto yy1695;
	}
yy1695:
	YYCURSOR = YYMARKER;
	goto yy1692;
yy1696:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1697;
		default: goto yy1695;
	}
yy1697:
	++YYCURSOR;
#line 2416 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Multani; }
#line 24162 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2418 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Khudawadi:
	
#line 24168 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1701;
		default: goto yy1699;
	}
yy1699:
	++YYCURSOR;
yy1700:
#line 2423 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Khudawadi; else return Error; }
#line 24181 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1701:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1702;
		default: goto yy1700;
	}
yy1702:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8A: goto yy1704;
		case 0x8B: goto yy1705;
		default: goto yy1703;
	}
yy1703:
	YYCURSOR = YYMARKER;
	goto yy1700;
yy1704:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1706;
		default: goto yy1703;
	}
yy1705:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1706;
		default: goto yy1703;
	}
yy1706:
	++YYCURSOR;
#line 2422 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Khudawadi; }
#line 24292 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2424 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Grantha:
	
#line 24298 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1710;
		default: goto yy1708;
	}
yy1708:
	++YYCURSOR;
yy1709:
#line 2429 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Grantha; else return Error; }
#line 24311 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1710:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1711;
		default: goto yy1709;
	}
yy1711:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8C:
		case 0x8D: goto yy1713;
		default: goto yy1712;
	}
yy1712:
	YYCURSOR = YYMARKER;
	goto yy1709;
yy1713:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1714;
		default: goto yy1712;
	}
yy1714:
	++YYCURSOR;
#line 2428 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Grantha; }
#line 24401 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2430 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tulu_Tigalari:
	
#line 24407 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1718;
		default: goto yy1716;
	}
yy1716:
	++YYCURSOR;
yy1717:
#line 2435 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tulu_Tigalari; else return Error; }
#line 24420 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1718:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1719;
		default: goto yy1717;
	}
yy1719:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8E:
		case 0x8F: goto yy1721;
		default: goto yy1720;
	}
yy1720:
	YYCURSOR = YYMARKER;
	goto yy1717;
yy1721:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1722;
		default: goto yy1720;
	}
yy1722:
	++YYCURSOR;
#line 2434 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tulu_Tigalari; }
#line 24510 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2436 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Newa:
	
#line 24516 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1726;
		default: goto yy1724;
	}
yy1724:
	++YYCURSOR;
yy1725:
#line 2441 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Newa; else return Error; }
#line 24529 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1726:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1727;
		default: goto yy1725;
	}
yy1727:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91: goto yy1729;
		default: goto yy1728;
	}
yy1728:
	YYCURSOR = YYMARKER;
	goto yy1725;
yy1729:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1730;
		default: goto yy1728;
	}
yy1730:
	++YYCURSOR;
#line 2440 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Newa; }
#line 24619 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2442 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tirhuta:
	
#line 24625 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1734;
		default: goto yy1732;
	}
yy1732:
	++YYCURSOR;
yy1733:
#line 2447 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tirhuta; else return Error; }
#line 24638 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1734:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1735;
		default: goto yy1733;
	}
yy1735:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x92: goto yy1737;
		case 0x93: goto yy1738;
		default: goto yy1736;
	}
yy1736:
	YYCURSOR = YYMARKER;
	goto yy1733;
yy1737:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1739;
		default: goto yy1736;
	}
yy1738:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1739;
		default: goto yy1736;
	}
yy1739:
	++YYCURSOR;
#line 2446 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tirhuta; }
#line 24765 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2448 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Siddham:
	
#line 24771 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1743;
		default: goto yy1741;
	}
yy1741:
	++YYCURSOR;
yy1742:
#line 2453 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Siddham; else return Error; }
#line 24784 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1743:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1744;
		default: goto yy1742;
	}
yy1744:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x96:
		case 0x97: goto yy1746;
		default: goto yy1745;
	}
yy1745:
	YYCURSOR = YYMARKER;
	goto yy1742;
yy1746:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1747;
		default: goto yy1745;
	}
yy1747:
	++YYCURSOR;
#line 2452 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Siddham; }
#line 24874 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2454 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Modi:
	
#line 24880 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1751;
		default: goto yy1749;
	}
yy1749:
	++YYCURSOR;
yy1750:
#line 2459 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Modi; else return Error; }
#line 24893 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1751:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1752;
		default: goto yy1750;
	}
yy1752:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x98: goto yy1754;
		case 0x99: goto yy1755;
		default: goto yy1753;
	}
yy1753:
	YYCURSOR = YYMARKER;
	goto yy1750;
yy1754:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1756;
		default: goto yy1753;
	}
yy1755:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1756;
		default: goto yy1753;
	}
yy1756:
	++YYCURSOR;
#line 2458 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Modi; }
#line 25020 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2460 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mongolian_Supplement:
	
#line 25026 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1760;
		default: goto yy1758;
	}
yy1758:
	++YYCURSOR;
yy1759:
#line 2465 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mongolian_Supplement; else return Error; }
#line 25039 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1760:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1761;
		default: goto yy1759;
	}
yy1761:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x99: goto yy1763;
		default: goto yy1762;
	}
yy1762:
	YYCURSOR = YYMARKER;
	goto yy1759;
yy1763:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1764;
		default: goto yy1762;
	}
yy1764:
	++YYCURSOR;
#line 2464 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mongolian_Supplement; }
#line 25096 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2466 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Takri:
	
#line 25102 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1768;
		default: goto yy1766;
	}
yy1766:
	++YYCURSOR;
yy1767:
#line 2471 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Takri; else return Error; }
#line 25115 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1768:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1769;
		default: goto yy1767;
	}
yy1769:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9A: goto yy1771;
		case 0x9B: goto yy1772;
		default: goto yy1770;
	}
yy1770:
	YYCURSOR = YYMARKER;
	goto yy1767;
yy1771:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1773;
		default: goto yy1770;
	}
yy1772:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1773;
		default: goto yy1770;
	}
yy1773:
	++YYCURSOR;
#line 2470 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Takri; }
#line 25226 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2472 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Myanmar_Extended_C:
	
#line 25232 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1777;
		default: goto yy1775;
	}
yy1775:
	++YYCURSOR;
yy1776:
#line 2477 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Myanmar_Extended_C; else return Error; }
#line 25245 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1777:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1778;
		default: goto yy1776;
	}
yy1778:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9B: goto yy1780;
		default: goto yy1779;
	}
yy1779:
	YYCURSOR = YYMARKER;
	goto yy1776;
yy1780:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1781;
		default: goto yy1779;
	}
yy1781:
	++YYCURSOR;
#line 2476 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Myanmar_Extended_C; }
#line 25318 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2478 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ahom:
	
#line 25324 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1785;
		default: goto yy1783;
	}
yy1783:
	++YYCURSOR;
yy1784:
#line 2483 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ahom; else return Error; }
#line 25337 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1785:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1786;
		default: goto yy1784;
	}
yy1786:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9C: goto yy1788;
		case 0x9D: goto yy1789;
		default: goto yy1787;
	}
yy1787:
	YYCURSOR = YYMARKER;
	goto yy1784;
yy1788:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1790;
		default: goto yy1787;
	}
yy1789:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1790;
		default: goto yy1787;
	}
yy1790:
	++YYCURSOR;
#line 2482 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ahom; }
#line 25448 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2484 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Dogra:
	
#line 25454 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1794;
		default: goto yy1792;
	}
yy1792:
	++YYCURSOR;
yy1793:
#line 2489 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Dogra; else return Error; }
#line 25467 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1794:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1795;
		default: goto yy1793;
	}
yy1795:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0: goto yy1797;
		case 0xA1: goto yy1798;
		default: goto yy1796;
	}
yy1796:
	YYCURSOR = YYMARKER;
	goto yy1793;
yy1797:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1799;
		default: goto yy1796;
	}
yy1798:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1799;
		default: goto yy1796;
	}
yy1799:
	++YYCURSOR;
#line 2488 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Dogra; }
#line 25578 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2490 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Warang_Citi:
	
#line 25584 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1803;
		default: goto yy1801;
	}
yy1801:
	++YYCURSOR;
yy1802:
#line 2495 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Warang_Citi; else return Error; }
#line 25597 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1803:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1804;
		default: goto yy1802;
	}
yy1804:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA2: goto yy1806;
		case 0xA3: goto yy1807;
		default: goto yy1805;
	}
yy1805:
	YYCURSOR = YYMARKER;
	goto yy1802;
yy1806:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1808;
		default: goto yy1805;
	}
yy1807:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1808;
		default: goto yy1805;
	}
yy1808:
	++YYCURSOR;
#line 2494 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Warang_Citi; }
#line 25724 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2496 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Dives_Akuru:
	
#line 25730 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1812;
		default: goto yy1810;
	}
yy1810:
	++YYCURSOR;
yy1811:
#line 2501 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Dives_Akuru; else return Error; }
#line 25743 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1812:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1813;
		default: goto yy1811;
	}
yy1813:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA4: goto yy1815;
		case 0xA5: goto yy1816;
		default: goto yy1814;
	}
yy1814:
	YYCURSOR = YYMARKER;
	goto yy1811;
yy1815:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1817;
		default: goto yy1814;
	}
yy1816:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1817;
		default: goto yy1814;
	}
yy1817:
	++YYCURSOR;
#line 2500 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Dives_Akuru; }
#line 25870 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2502 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Nandinagari:
	
#line 25876 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1821;
		default: goto yy1819;
	}
yy1819:
	++YYCURSOR;
yy1820:
#line 2507 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Nandinagari; else return Error; }
#line 25889 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1821:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1822;
		default: goto yy1820;
	}
yy1822:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA6: goto yy1824;
		case 0xA7: goto yy1825;
		default: goto yy1823;
	}
yy1823:
	YYCURSOR = YYMARKER;
	goto yy1820;
yy1824:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1826;
		default: goto yy1823;
	}
yy1825:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1826;
		default: goto yy1823;
	}
yy1826:
	++YYCURSOR;
#line 2506 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Nandinagari; }
#line 26016 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2508 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Zanabazar_Square:
	
#line 26022 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1830;
		default: goto yy1828;
	}
yy1828:
	++YYCURSOR;
yy1829:
#line 2513 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Zanabazar_Square; else return Error; }
#line 26035 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1830:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1831;
		default: goto yy1829;
	}
yy1831:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA8: goto yy1833;
		case 0xA9: goto yy1834;
		default: goto yy1832;
	}
yy1832:
	YYCURSOR = YYMARKER;
	goto yy1829;
yy1833:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1835;
		default: goto yy1832;
	}
yy1834:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1835;
		default: goto yy1832;
	}
yy1835:
	++YYCURSOR;
#line 2512 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Zanabazar_Square; }
#line 26146 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2514 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Soyombo:
	
#line 26152 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1839;
		default: goto yy1837;
	}
yy1837:
	++YYCURSOR;
yy1838:
#line 2519 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Soyombo; else return Error; }
#line 26165 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1839:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1840;
		default: goto yy1838;
	}
yy1840:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA9: goto yy1842;
		case 0xAA: goto yy1843;
		default: goto yy1841;
	}
yy1841:
	YYCURSOR = YYMARKER;
	goto yy1838;
yy1842:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1844;
		default: goto yy1841;
	}
yy1843:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1844;
		default: goto yy1841;
	}
yy1844:
	++YYCURSOR;
#line 2518 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Soyombo; }
#line 26292 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2520 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Unified_Canadian_Aboriginal_Syllabics_Extended_A:
	
#line 26298 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1848;
		default: goto yy1846;
	}
yy1846:
	++YYCURSOR;
yy1847:
#line 2525 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Unified_Canadian_Aboriginal_Syllabics_Extended_A; else return Error; }
#line 26311 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1848:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1849;
		default: goto yy1847;
	}
yy1849:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAA: goto yy1851;
		default: goto yy1850;
	}
yy1850:
	YYCURSOR = YYMARKER;
	goto yy1847;
yy1851:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1852;
		default: goto yy1850;
	}
yy1852:
	++YYCURSOR;
#line 2524 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Unified_Canadian_Aboriginal_Syllabics_Extended_A; }
#line 26352 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2526 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Pau_Cin_Hau:
	
#line 26358 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1856;
		default: goto yy1854;
	}
yy1854:
	++YYCURSOR;
yy1855:
#line 2531 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Pau_Cin_Hau; else return Error; }
#line 26371 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1856:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1857;
		default: goto yy1855;
	}
yy1857:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAB: goto yy1859;
		default: goto yy1858;
	}
yy1858:
	YYCURSOR = YYMARKER;
	goto yy1855;
yy1859:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1860;
		default: goto yy1858;
	}
yy1860:
	++YYCURSOR;
#line 2530 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Pau_Cin_Hau; }
#line 26460 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2532 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Devanagari_Extended_A:
	
#line 26466 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1864;
		default: goto yy1862;
	}
yy1862:
	++YYCURSOR;
yy1863:
#line 2537 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Devanagari_Extended_A; else return Error; }
#line 26479 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1864:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1865;
		default: goto yy1863;
	}
yy1865:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAC: goto yy1867;
		case 0xAD: goto yy1868;
		default: goto yy1866;
	}
yy1866:
	YYCURSOR = YYMARKER;
	goto yy1863;
yy1867:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1869;
		default: goto yy1866;
	}
yy1868:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1869;
		default: goto yy1866;
	}
yy1869:
	++YYCURSOR;
#line 2536 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Devanagari_Extended_A; }
#line 26606 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2538 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sharada_Supplement:
	
#line 26612 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1873;
		default: goto yy1871;
	}
yy1871:
	++YYCURSOR;
yy1872:
#line 2543 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sharada_Supplement; else return Error; }
#line 26625 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1873:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1874;
		default: goto yy1872;
	}
yy1874:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAD: goto yy1876;
		default: goto yy1875;
	}
yy1875:
	YYCURSOR = YYMARKER;
	goto yy1872;
yy1876:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1877;
		default: goto yy1875;
	}
yy1877:
	++YYCURSOR;
#line 2542 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sharada_Supplement; }
#line 26682 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2544 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sunuwar:
	
#line 26688 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1881;
		default: goto yy1879;
	}
yy1879:
	++YYCURSOR;
yy1880:
#line 2549 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sunuwar; else return Error; }
#line 26701 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1881:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1882;
		default: goto yy1880;
	}
yy1882:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAF: goto yy1884;
		default: goto yy1883;
	}
yy1883:
	YYCURSOR = YYMARKER;
	goto yy1880;
yy1884:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1885;
		default: goto yy1883;
	}
yy1885:
	++YYCURSOR;
#line 2548 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sunuwar; }
#line 26790 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2550 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bhaiksuki:
	
#line 26796 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1889;
		default: goto yy1887;
	}
yy1887:
	++YYCURSOR;
yy1888:
#line 2555 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bhaiksuki; else return Error; }
#line 26809 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1889:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1890;
		default: goto yy1888;
	}
yy1890:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0: goto yy1892;
		case 0xB1: goto yy1893;
		default: goto yy1891;
	}
yy1891:
	YYCURSOR = YYMARKER;
	goto yy1888;
yy1892:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1894;
		default: goto yy1891;
	}
yy1893:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1894;
		default: goto yy1891;
	}
yy1894:
	++YYCURSOR;
#line 2554 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bhaiksuki; }
#line 26952 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2556 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Marchen:
	
#line 26958 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1898;
		default: goto yy1896;
	}
yy1896:
	++YYCURSOR;
yy1897:
#line 2561 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Marchen; else return Error; }
#line 26971 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1898:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1899;
		default: goto yy1897;
	}
yy1899:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB1: goto yy1901;
		case 0xB2: goto yy1902;
		default: goto yy1900;
	}
yy1900:
	YYCURSOR = YYMARKER;
	goto yy1897;
yy1901:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1903;
		default: goto yy1900;
	}
yy1902:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1903;
		default: goto yy1900;
	}
yy1903:
	++YYCURSOR;
#line 2560 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Marchen; }
#line 27082 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2562 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Masaram_Gondi:
	
#line 27088 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1907;
		default: goto yy1905;
	}
yy1905:
	++YYCURSOR;
yy1906:
#line 2567 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Masaram_Gondi; else return Error; }
#line 27101 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1907:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1908;
		default: goto yy1906;
	}
yy1908:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB4: goto yy1910;
		case 0xB5: goto yy1911;
		default: goto yy1909;
	}
yy1909:
	YYCURSOR = YYMARKER;
	goto yy1906;
yy1910:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1912;
		default: goto yy1909;
	}
yy1911:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1912;
		default: goto yy1909;
	}
yy1912:
	++YYCURSOR;
#line 2566 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Masaram_Gondi; }
#line 27228 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2568 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Gunjala_Gondi:
	
#line 27234 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1916;
		default: goto yy1914;
	}
yy1914:
	++YYCURSOR;
yy1915:
#line 2573 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Gunjala_Gondi; else return Error; }
#line 27247 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1916:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1917;
		default: goto yy1915;
	}
yy1917:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB5: goto yy1919;
		case 0xB6: goto yy1920;
		default: goto yy1918;
	}
yy1918:
	YYCURSOR = YYMARKER;
	goto yy1915;
yy1919:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1921;
		default: goto yy1918;
	}
yy1920:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1921;
		default: goto yy1918;
	}
yy1921:
	++YYCURSOR;
#line 2572 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Gunjala_Gondi; }
#line 27358 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2574 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tolong_Siki:
	
#line 27364 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1925;
		default: goto yy1923;
	}
yy1923:
	++YYCURSOR;
yy1924:
#line 2579 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tolong_Siki; else return Error; }
#line 27377 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1925:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1926;
		default: goto yy1924;
	}
yy1926:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB6: goto yy1928;
		case 0xB7: goto yy1929;
		default: goto yy1927;
	}
yy1927:
	YYCURSOR = YYMARKER;
	goto yy1924;
yy1928:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1930;
		default: goto yy1927;
	}
yy1929:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy1930;
		default: goto yy1927;
	}
yy1930:
	++YYCURSOR;
#line 2578 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tolong_Siki; }
#line 27472 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2580 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Makasar:
	
#line 27478 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1934;
		default: goto yy1932;
	}
yy1932:
	++YYCURSOR;
yy1933:
#line 2585 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Makasar; else return Error; }
#line 27491 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1934:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1935;
		default: goto yy1933;
	}
yy1935:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBB: goto yy1937;
		default: goto yy1936;
	}
yy1936:
	YYCURSOR = YYMARKER;
	goto yy1933;
yy1937:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1938;
		default: goto yy1936;
	}
yy1938:
	++YYCURSOR;
#line 2584 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Makasar; }
#line 27548 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2586 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kawi:
	
#line 27554 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1942;
		default: goto yy1940;
	}
yy1940:
	++YYCURSOR;
yy1941:
#line 2591 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kawi; else return Error; }
#line 27567 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1942:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1943;
		default: goto yy1941;
	}
yy1943:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBC: goto yy1945;
		case 0xBD: goto yy1946;
		default: goto yy1944;
	}
yy1944:
	YYCURSOR = YYMARKER;
	goto yy1941;
yy1945:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1947;
		default: goto yy1944;
	}
yy1946:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy1947;
		default: goto yy1944;
	}
yy1947:
	++YYCURSOR;
#line 2590 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kawi; }
#line 27694 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2592 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Lisu_Supplement:
	
#line 27700 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1951;
		default: goto yy1949;
	}
yy1949:
	++YYCURSOR;
yy1950:
#line 2597 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Lisu_Supplement; else return Error; }
#line 27713 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1951:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1952;
		default: goto yy1950;
	}
yy1952:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBE: goto yy1954;
		default: goto yy1953;
	}
yy1953:
	YYCURSOR = YYMARKER;
	goto yy1950;
yy1954:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1955;
		default: goto yy1953;
	}
yy1955:
	++YYCURSOR;
#line 2596 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Lisu_Supplement; }
#line 27754 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2598 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tamil_Supplement:
	
#line 27760 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1959;
		default: goto yy1957;
	}
yy1957:
	++YYCURSOR;
yy1958:
#line 2603 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tamil_Supplement; else return Error; }
#line 27773 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1959:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x91: goto yy1960;
		default: goto yy1958;
	}
yy1960:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBF: goto yy1962;
		default: goto yy1961;
	}
yy1961:
	YYCURSOR = YYMARKER;
	goto yy1958;
yy1962:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1963;
		default: goto yy1961;
	}
yy1963:
	++YYCURSOR;
#line 2602 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tamil_Supplement; }
#line 27862 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2604 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cuneiform:
	
#line 27868 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1967;
		default: goto yy1965;
	}
yy1965:
	++YYCURSOR;
yy1966:
#line 2609 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cuneiform; else return Error; }
#line 27881 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1967:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x92: goto yy1968;
		default: goto yy1966;
	}
yy1968:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1970;
		default: goto yy1969;
	}
yy1969:
	YYCURSOR = YYMARKER;
	goto yy1966;
yy1970:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1971;
		default: goto yy1969;
	}
yy1971:
	++YYCURSOR;
#line 2608 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cuneiform; }
#line 27985 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2610 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cuneiform_Numbers_and_Punctuation:
	
#line 27991 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1975;
		default: goto yy1973;
	}
yy1973:
	++YYCURSOR;
yy1974:
#line 2615 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cuneiform_Numbers_and_Punctuation; else return Error; }
#line 28004 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1975:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x92: goto yy1976;
		default: goto yy1974;
	}
yy1976:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91: goto yy1978;
		default: goto yy1977;
	}
yy1977:
	YYCURSOR = YYMARKER;
	goto yy1974;
yy1978:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1979;
		default: goto yy1977;
	}
yy1979:
	++YYCURSOR;
#line 2614 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cuneiform_Numbers_and_Punctuation; }
#line 28094 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2616 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Early_Dynastic_Cuneiform:
	
#line 28100 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1983;
		default: goto yy1981;
	}
yy1981:
	++YYCURSOR;
yy1982:
#line 2621 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Early_Dynastic_Cuneiform; else return Error; }
#line 28113 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1983:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x92: goto yy1984;
		default: goto yy1982;
	}
yy1984:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x92:
		case 0x93:
		case 0x94: goto yy1986;
		case 0x95: goto yy1987;
		default: goto yy1985;
	}
yy1985:
	YYCURSOR = YYMARKER;
	goto yy1982;
yy1986:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1988;
		default: goto yy1985;
	}
yy1987:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy1988;
		default: goto yy1985;
	}
yy1988:
	++YYCURSOR;
#line 2620 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Early_Dynastic_Cuneiform; }
#line 28226 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2622 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cypro_Minoan:
	
#line 28232 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy1992;
		default: goto yy1990;
	}
yy1990:
	++YYCURSOR;
yy1991:
#line 2627 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cypro_Minoan; else return Error; }
#line 28245 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy1992:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x92: goto yy1993;
		default: goto yy1991;
	}
yy1993:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBE: goto yy1995;
		case 0xBF: goto yy1996;
		default: goto yy1994;
	}
yy1994:
	YYCURSOR = YYMARKER;
	goto yy1991;
yy1995:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1997;
		default: goto yy1994;
	}
yy1996:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy1997;
		default: goto yy1994;
	}
yy1997:
	++YYCURSOR;
#line 2626 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cypro_Minoan; }
#line 28388 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2628 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Egyptian_Hieroglyphs:
	
#line 28394 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2001;
		default: goto yy1999;
	}
yy1999:
	++YYCURSOR;
yy2000:
#line 2633 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Egyptian_Hieroglyphs; else return Error; }
#line 28407 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2001:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x93: goto yy2002;
		default: goto yy2000;
	}
yy2002:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2004;
		case 0x90: goto yy2005;
		default: goto yy2003;
	}
yy2003:
	YYCURSOR = YYMARKER;
	goto yy2000;
yy2004:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2006;
		default: goto yy2003;
	}
yy2005:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2006;
		default: goto yy2003;
	}
yy2006:
	++YYCURSOR;
#line 2632 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Egyptian_Hieroglyphs; }
#line 28565 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2634 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Egyptian_Hieroglyph_Format_Controls:
	
#line 28571 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2010;
		default: goto yy2008;
	}
yy2008:
	++YYCURSOR;
yy2009:
#line 2639 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Egyptian_Hieroglyph_Format_Controls; else return Error; }
#line 28584 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2010:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x93: goto yy2011;
		default: goto yy2009;
	}
yy2011:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90: goto yy2013;
		case 0x91: goto yy2014;
		default: goto yy2012;
	}
yy2012:
	YYCURSOR = YYMARKER;
	goto yy2009;
yy2013:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2015;
		default: goto yy2012;
	}
yy2014:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2015;
		default: goto yy2012;
	}
yy2015:
	++YYCURSOR;
#line 2638 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Egyptian_Hieroglyph_Format_Controls; }
#line 28663 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2640 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Egyptian_Hieroglyphs_Extended_A:
	
#line 28669 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2019;
		default: goto yy2017;
	}
yy2017:
	++YYCURSOR;
yy2018:
#line 2645 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Egyptian_Hieroglyphs_Extended_A; else return Error; }
#line 28682 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2019:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x93: goto yy2020;
		case 0x94: goto yy2022;
		default: goto yy2018;
	}
yy2020:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x91: goto yy2023;
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2024;
		default: goto yy2021;
	}
yy2021:
	YYCURSOR = YYMARKER;
	goto yy2018;
yy2022:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2024;
		default: goto yy2021;
	}
yy2023:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2025;
		default: goto yy2021;
	}
yy2024:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2025;
		default: goto yy2021;
	}
yy2025:
	++YYCURSOR;
#line 2644 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Egyptian_Hieroglyphs_Extended_A; }
#line 28876 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2646 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Anatolian_Hieroglyphs:
	
#line 28882 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2029;
		default: goto yy2027;
	}
yy2027:
	++YYCURSOR;
yy2028:
#line 2651 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Anatolian_Hieroglyphs; else return Error; }
#line 28895 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2029:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x94: goto yy2030;
		default: goto yy2028;
	}
yy2030:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99: goto yy2032;
		default: goto yy2031;
	}
yy2031:
	YYCURSOR = YYMARKER;
	goto yy2028;
yy2032:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2033;
		default: goto yy2031;
	}
yy2033:
	++YYCURSOR;
#line 2650 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Anatolian_Hieroglyphs; }
#line 28993 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2652 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Gurung_Khema:
	
#line 28999 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2037;
		default: goto yy2035;
	}
yy2035:
	++YYCURSOR;
yy2036:
#line 2657 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Gurung_Khema; else return Error; }
#line 29012 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2037:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2038;
		default: goto yy2036;
	}
yy2038:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84: goto yy2040;
		default: goto yy2039;
	}
yy2039:
	YYCURSOR = YYMARKER;
	goto yy2036;
yy2040:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2041;
		default: goto yy2039;
	}
yy2041:
	++YYCURSOR;
#line 2656 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Gurung_Khema; }
#line 29101 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2658 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bamum_Supplement:
	
#line 29107 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2045;
		default: goto yy2043;
	}
yy2043:
	++YYCURSOR;
yy2044:
#line 2663 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bamum_Supplement; else return Error; }
#line 29120 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2045:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2046;
		default: goto yy2044;
	}
yy2046:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8: goto yy2048;
		default: goto yy2047;
	}
yy2047:
	YYCURSOR = YYMARKER;
	goto yy2044;
yy2048:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2049;
		default: goto yy2047;
	}
yy2049:
	++YYCURSOR;
#line 2662 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bamum_Supplement; }
#line 29217 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2664 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mro:
	
#line 29223 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2053;
		default: goto yy2051;
	}
yy2051:
	++YYCURSOR;
yy2052:
#line 2669 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mro; else return Error; }
#line 29236 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2053:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2054;
		default: goto yy2052;
	}
yy2054:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA9: goto yy2056;
		default: goto yy2055;
	}
yy2055:
	YYCURSOR = YYMARKER;
	goto yy2052;
yy2056:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2057;
		default: goto yy2055;
	}
yy2057:
	++YYCURSOR;
#line 2668 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mro; }
#line 29309 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2670 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tangsa:
	
#line 29315 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2061;
		default: goto yy2059;
	}
yy2059:
	++YYCURSOR;
yy2060:
#line 2675 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tangsa; else return Error; }
#line 29328 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2061:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2062;
		default: goto yy2060;
	}
yy2062:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA9: goto yy2064;
		case 0xAA: goto yy2065;
		case 0xAB: goto yy2066;
		default: goto yy2063;
	}
yy2063:
	YYCURSOR = YYMARKER;
	goto yy2060;
yy2064:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2067;
		default: goto yy2063;
	}
yy2065:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2067;
		default: goto yy2063;
	}
yy2066:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2067;
		default: goto yy2063;
	}
yy2067:
	++YYCURSOR;
#line 2674 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tangsa; }
#line 29461 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2676 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Bassa_Vah:
	
#line 29467 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2071;
		default: goto yy2069;
	}
yy2069:
	++YYCURSOR;
yy2070:
#line 2681 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Bassa_Vah; else return Error; }
#line 29480 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2071:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2072;
		default: goto yy2070;
	}
yy2072:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAB: goto yy2074;
		default: goto yy2073;
	}
yy2073:
	YYCURSOR = YYMARKER;
	goto yy2070;
yy2074:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2075;
		default: goto yy2073;
	}
yy2075:
	++YYCURSOR;
#line 2680 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Bassa_Vah; }
#line 29553 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2682 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Pahawh_Hmong:
	
#line 29559 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2079;
		default: goto yy2077;
	}
yy2077:
	++YYCURSOR;
yy2078:
#line 2687 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Pahawh_Hmong; else return Error; }
#line 29572 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2079:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2080;
		default: goto yy2078;
	}
yy2080:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAC:
		case 0xAD: goto yy2082;
		case 0xAE: goto yy2083;
		default: goto yy2081;
	}
yy2081:
	YYCURSOR = YYMARKER;
	goto yy2078;
yy2082:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2084;
		default: goto yy2081;
	}
yy2083:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2084;
		default: goto yy2081;
	}
yy2084:
	++YYCURSOR;
#line 2686 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Pahawh_Hmong; }
#line 29684 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2688 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kirat_Rai:
	
#line 29690 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2088;
		default: goto yy2086;
	}
yy2086:
	++YYCURSOR;
yy2087:
#line 2693 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kirat_Rai; else return Error; }
#line 29703 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2088:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2089;
		default: goto yy2087;
	}
yy2089:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB5: goto yy2091;
		default: goto yy2090;
	}
yy2090:
	YYCURSOR = YYMARKER;
	goto yy2087;
yy2091:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2092;
		default: goto yy2090;
	}
yy2092:
	++YYCURSOR;
#line 2692 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kirat_Rai; }
#line 29792 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2694 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Medefaidrin:
	
#line 29798 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2096;
		default: goto yy2094;
	}
yy2094:
	++YYCURSOR;
yy2095:
#line 2699 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Medefaidrin; else return Error; }
#line 29811 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2096:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2097;
		default: goto yy2095;
	}
yy2097:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB9: goto yy2099;
		case 0xBA: goto yy2100;
		default: goto yy2098;
	}
yy2098:
	YYCURSOR = YYMARKER;
	goto yy2095;
yy2099:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2101;
		default: goto yy2098;
	}
yy2100:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2101;
		default: goto yy2098;
	}
yy2101:
	++YYCURSOR;
#line 2698 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Medefaidrin; }
#line 29938 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2700 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Beria_Erfe:
	
#line 29944 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2105;
		default: goto yy2103;
	}
yy2103:
	++YYCURSOR;
yy2104:
#line 2705 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Beria_Erfe; else return Error; }
#line 29957 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2105:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2106;
		default: goto yy2104;
	}
yy2106:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBA: goto yy2108;
		case 0xBB: goto yy2109;
		default: goto yy2107;
	}
yy2107:
	YYCURSOR = YYMARKER;
	goto yy2104;
yy2108:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2110;
		default: goto yy2107;
	}
yy2109:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2110;
		default: goto yy2107;
	}
yy2110:
	++YYCURSOR;
#line 2704 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Beria_Erfe; }
#line 30052 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2706 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miao:
	
#line 30058 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2114;
		default: goto yy2112;
	}
yy2112:
	++YYCURSOR;
yy2113:
#line 2711 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miao; else return Error; }
#line 30071 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2114:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2115;
		default: goto yy2113;
	}
yy2115:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBC:
		case 0xBD: goto yy2117;
		case 0xBE: goto yy2118;
		default: goto yy2116;
	}
yy2116:
	YYCURSOR = YYMARKER;
	goto yy2113;
yy2117:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2119;
		default: goto yy2116;
	}
yy2118:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2119;
		default: goto yy2116;
	}
yy2119:
	++YYCURSOR;
#line 2710 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miao; }
#line 30199 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2712 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ideographic_Symbols_and_Punctuation:
	
#line 30205 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2123;
		default: goto yy2121;
	}
yy2121:
	++YYCURSOR;
yy2122:
#line 2717 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ideographic_Symbols_and_Punctuation; else return Error; }
#line 30218 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2123:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x96: goto yy2124;
		default: goto yy2122;
	}
yy2124:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBF: goto yy2126;
		default: goto yy2125;
	}
yy2125:
	YYCURSOR = YYMARKER;
	goto yy2122;
yy2126:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2127;
		default: goto yy2125;
	}
yy2127:
	++YYCURSOR;
#line 2716 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ideographic_Symbols_and_Punctuation; }
#line 30275 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2718 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tangut:
	
#line 30281 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2131;
		default: goto yy2129;
	}
yy2129:
	++YYCURSOR;
yy2130:
#line 2723 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tangut; else return Error; }
#line 30294 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2131:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x97: goto yy2132;
		case 0x98: goto yy2134;
		default: goto yy2130;
	}
yy2132:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2135;
		default: goto yy2133;
	}
yy2133:
	YYCURSOR = YYMARKER;
	goto yy2130;
yy2134:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2135;
		default: goto yy2133;
	}
yy2135:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2136;
		default: goto yy2133;
	}
yy2136:
	++YYCURSOR;
#line 2722 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tangut; }
#line 30484 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2724 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tangut_Components:
	
#line 30490 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2140;
		default: goto yy2138;
	}
yy2138:
	++YYCURSOR;
yy2139:
#line 2729 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tangut_Components; else return Error; }
#line 30503 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2140:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x98: goto yy2141;
		default: goto yy2139;
	}
yy2141:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB: goto yy2143;
		default: goto yy2142;
	}
yy2142:
	YYCURSOR = YYMARKER;
	goto yy2139;
yy2143:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2144;
		default: goto yy2142;
	}
yy2144:
	++YYCURSOR;
#line 2728 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tangut_Components; }
#line 30603 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2730 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Khitan_Small_Script:
	
#line 30609 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2148;
		default: goto yy2146;
	}
yy2146:
	++YYCURSOR;
yy2147:
#line 2735 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Khitan_Small_Script; else return Error; }
#line 30622 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2148:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x98: goto yy2149;
		default: goto yy2147;
	}
yy2149:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3: goto yy2151;
		default: goto yy2150;
	}
yy2150:
	YYCURSOR = YYMARKER;
	goto yy2147;
yy2151:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2152;
		default: goto yy2150;
	}
yy2152:
	++YYCURSOR;
#line 2734 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Khitan_Small_Script; }
#line 30718 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2736 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tangut_Supplement:
	
#line 30724 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2156;
		default: goto yy2154;
	}
yy2154:
	++YYCURSOR;
yy2155:
#line 2741 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tangut_Supplement; else return Error; }
#line 30737 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2156:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x98: goto yy2157;
		default: goto yy2155;
	}
yy2157:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB4:
		case 0xB5: goto yy2159;
		default: goto yy2158;
	}
yy2158:
	YYCURSOR = YYMARKER;
	goto yy2155;
yy2159:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2160;
		default: goto yy2158;
	}
yy2160:
	++YYCURSOR;
#line 2740 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tangut_Supplement; }
#line 30827 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2742 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tangut_Components_Supplement:
	
#line 30833 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2164;
		default: goto yy2162;
	}
yy2162:
	++YYCURSOR;
yy2163:
#line 2747 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tangut_Components_Supplement; else return Error; }
#line 30846 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2164:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x98: goto yy2165;
		default: goto yy2163;
	}
yy2165:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB6:
		case 0xB7: goto yy2167;
		default: goto yy2166;
	}
yy2166:
	YYCURSOR = YYMARKER;
	goto yy2163;
yy2167:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2168;
		default: goto yy2166;
	}
yy2168:
	++YYCURSOR;
#line 2746 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tangut_Components_Supplement; }
#line 30936 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2748 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kana_Extended_B:
	
#line 30942 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2172;
		default: goto yy2170;
	}
yy2170:
	++YYCURSOR;
yy2171:
#line 2753 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kana_Extended_B; else return Error; }
#line 30955 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2172:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9A: goto yy2173;
		default: goto yy2171;
	}
yy2173:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBF: goto yy2175;
		default: goto yy2174;
	}
yy2174:
	YYCURSOR = YYMARKER;
	goto yy2171;
yy2175:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2176;
		default: goto yy2174;
	}
yy2176:
	++YYCURSOR;
#line 2752 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kana_Extended_B; }
#line 30996 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2754 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kana_Supplement:
	
#line 31002 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2180;
		default: goto yy2178;
	}
yy2178:
	++YYCURSOR;
yy2179:
#line 2759 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kana_Supplement; else return Error; }
#line 31015 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2180:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9B: goto yy2181;
		default: goto yy2179;
	}
yy2181:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83: goto yy2183;
		default: goto yy2182;
	}
yy2182:
	YYCURSOR = YYMARKER;
	goto yy2179;
yy2183:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2184;
		default: goto yy2182;
	}
yy2184:
	++YYCURSOR;
#line 2758 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kana_Supplement; }
#line 31107 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2760 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kana_Extended_A:
	
#line 31113 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2188;
		default: goto yy2186;
	}
yy2186:
	++YYCURSOR;
yy2187:
#line 2765 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kana_Extended_A; else return Error; }
#line 31126 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2188:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9B: goto yy2189;
		default: goto yy2187;
	}
yy2189:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84: goto yy2191;
		default: goto yy2190;
	}
yy2190:
	YYCURSOR = YYMARKER;
	goto yy2187;
yy2191:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2192;
		default: goto yy2190;
	}
yy2192:
	++YYCURSOR;
#line 2764 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kana_Extended_A; }
#line 31199 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2766 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Small_Kana_Extension:
	
#line 31205 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2196;
		default: goto yy2194;
	}
yy2194:
	++YYCURSOR;
yy2195:
#line 2771 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Small_Kana_Extension; else return Error; }
#line 31218 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2196:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9B: goto yy2197;
		default: goto yy2195;
	}
yy2197:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84: goto yy2199;
		case 0x85: goto yy2200;
		default: goto yy2198;
	}
yy2198:
	YYCURSOR = YYMARKER;
	goto yy2195;
yy2199:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2201;
		default: goto yy2198;
	}
yy2200:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2201;
		default: goto yy2198;
	}
yy2201:
	++YYCURSOR;
#line 2770 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Small_Kana_Extension; }
#line 31313 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2772 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Nushu:
	
#line 31319 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2205;
		default: goto yy2203;
	}
yy2203:
	++YYCURSOR;
yy2204:
#line 2777 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Nushu; else return Error; }
#line 31332 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2205:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9B: goto yy2206;
		default: goto yy2204;
	}
yy2206:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x85: goto yy2208;
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B: goto yy2209;
		default: goto yy2207;
	}
yy2207:
	YYCURSOR = YYMARKER;
	goto yy2204;
yy2208:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2210;
		default: goto yy2207;
	}
yy2209:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2210;
		default: goto yy2207;
	}
yy2210:
	++YYCURSOR;
#line 2776 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Nushu; }
#line 31448 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2778 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Duployan:
	
#line 31454 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2214;
		default: goto yy2212;
	}
yy2212:
	++YYCURSOR;
yy2213:
#line 2783 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Duployan; else return Error; }
#line 31467 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2214:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9B: goto yy2215;
		default: goto yy2213;
	}
yy2215:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1: goto yy2217;
		case 0xB2: goto yy2218;
		default: goto yy2216;
	}
yy2216:
	YYCURSOR = YYMARKER;
	goto yy2213;
yy2217:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2219;
		default: goto yy2216;
	}
yy2218:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2219;
		default: goto yy2216;
	}
yy2219:
	++YYCURSOR;
#line 2782 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Duployan; }
#line 31595 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2784 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Shorthand_Format_Controls:
	
#line 31601 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2223;
		default: goto yy2221;
	}
yy2221:
	++YYCURSOR;
yy2222:
#line 2789 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Shorthand_Format_Controls; else return Error; }
#line 31614 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2223:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9B: goto yy2224;
		default: goto yy2222;
	}
yy2224:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB2: goto yy2226;
		default: goto yy2225;
	}
yy2225:
	YYCURSOR = YYMARKER;
	goto yy2222;
yy2226:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2227;
		default: goto yy2225;
	}
yy2227:
	++YYCURSOR;
#line 2788 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Shorthand_Format_Controls; }
#line 31655 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2790 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Symbols_for_Legacy_Computing_Supplement:
	
#line 31661 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2231;
		default: goto yy2229;
	}
yy2229:
	++YYCURSOR;
yy2230:
#line 2795 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Symbols_for_Legacy_Computing_Supplement; else return Error; }
#line 31674 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2231:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy2232;
		default: goto yy2230;
	}
yy2232:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA: goto yy2234;
		default: goto yy2233;
	}
yy2233:
	YYCURSOR = YYMARKER;
	goto yy2230;
yy2234:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2235;
		default: goto yy2233;
	}
yy2235:
	++YYCURSOR;
#line 2794 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Symbols_for_Legacy_Computing_Supplement; }
#line 31773 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2796 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Symbols_Supplement:
	
#line 31779 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2239;
		default: goto yy2237;
	}
yy2237:
	++YYCURSOR;
yy2238:
#line 2801 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Symbols_Supplement; else return Error; }
#line 31792 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2239:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy2240;
		default: goto yy2238;
	}
yy2240:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBB: goto yy2242;
		default: goto yy2241;
	}
yy2241:
	YYCURSOR = YYMARKER;
	goto yy2238;
yy2242:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2243;
		default: goto yy2241;
	}
yy2243:
	++YYCURSOR;
#line 2800 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Symbols_Supplement; }
#line 31881 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2802 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Znamenny_Musical_Notation:
	
#line 31887 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2247;
		default: goto yy2245;
	}
yy2245:
	++YYCURSOR;
yy2246:
#line 2807 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Znamenny_Musical_Notation; else return Error; }
#line 31900 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2247:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9C: goto yy2248;
		default: goto yy2246;
	}
yy2248:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBC:
		case 0xBD:
		case 0xBE: goto yy2250;
		case 0xBF: goto yy2251;
		default: goto yy2249;
	}
yy2249:
	YYCURSOR = YYMARKER;
	goto yy2246;
yy2250:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2252;
		default: goto yy2249;
	}
yy2251:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2252;
		default: goto yy2249;
	}
yy2252:
	++YYCURSOR;
#line 2806 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Znamenny_Musical_Notation; }
#line 32013 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2808 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Byzantine_Musical_Symbols:
	
#line 32019 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2256;
		default: goto yy2254;
	}
yy2254:
	++YYCURSOR;
yy2255:
#line 2813 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Byzantine_Musical_Symbols; else return Error; }
#line 32032 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2256:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2257;
		default: goto yy2255;
	}
yy2257:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83: goto yy2259;
		default: goto yy2258;
	}
yy2258:
	YYCURSOR = YYMARKER;
	goto yy2255;
yy2259:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2260;
		default: goto yy2258;
	}
yy2260:
	++YYCURSOR;
#line 2812 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Byzantine_Musical_Symbols; }
#line 32124 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2814 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Musical_Symbols:
	
#line 32130 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2264;
		default: goto yy2262;
	}
yy2262:
	++YYCURSOR;
yy2263:
#line 2819 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Musical_Symbols; else return Error; }
#line 32143 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2264:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2265;
		default: goto yy2263;
	}
yy2265:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87: goto yy2267;
		default: goto yy2266;
	}
yy2266:
	YYCURSOR = YYMARKER;
	goto yy2263;
yy2267:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2268;
		default: goto yy2266;
	}
yy2268:
	++YYCURSOR;
#line 2818 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Musical_Symbols; }
#line 32235 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2820 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ancient_Greek_Musical_Notation:
	
#line 32241 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2272;
		default: goto yy2270;
	}
yy2270:
	++YYCURSOR;
yy2271:
#line 2825 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ancient_Greek_Musical_Notation; else return Error; }
#line 32254 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2272:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2273;
		default: goto yy2271;
	}
yy2273:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88: goto yy2275;
		case 0x89: goto yy2276;
		default: goto yy2274;
	}
yy2274:
	YYCURSOR = YYMARKER;
	goto yy2271;
yy2275:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2277;
		default: goto yy2274;
	}
yy2276:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2277;
		default: goto yy2274;
	}
yy2277:
	++YYCURSOR;
#line 2824 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ancient_Greek_Musical_Notation; }
#line 32365 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2826 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Kaktovik_Numerals:
	
#line 32371 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2281;
		default: goto yy2279;
	}
yy2279:
	++YYCURSOR;
yy2280:
#line 2831 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Kaktovik_Numerals; else return Error; }
#line 32384 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2281:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2282;
		default: goto yy2280;
	}
yy2282:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8B: goto yy2284;
		default: goto yy2283;
	}
yy2283:
	YYCURSOR = YYMARKER;
	goto yy2280;
yy2284:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2285;
		default: goto yy2283;
	}
yy2285:
	++YYCURSOR;
#line 2830 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Kaktovik_Numerals; }
#line 32441 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2832 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mayan_Numerals:
	
#line 32447 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2289;
		default: goto yy2287;
	}
yy2287:
	++YYCURSOR;
yy2288:
#line 2837 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mayan_Numerals; else return Error; }
#line 32460 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2289:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2290;
		default: goto yy2288;
	}
yy2290:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8B: goto yy2292;
		default: goto yy2291;
	}
yy2291:
	YYCURSOR = YYMARKER;
	goto yy2288;
yy2292:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2293;
		default: goto yy2291;
	}
yy2293:
	++YYCURSOR;
#line 2836 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mayan_Numerals; }
#line 32517 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2838 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tai_Xuan_Jing_Symbols:
	
#line 32523 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2297;
		default: goto yy2295;
	}
yy2295:
	++YYCURSOR;
yy2296:
#line 2843 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tai_Xuan_Jing_Symbols; else return Error; }
#line 32536 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2297:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2298;
		default: goto yy2296;
	}
yy2298:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8C: goto yy2300;
		case 0x8D: goto yy2301;
		default: goto yy2299;
	}
yy2299:
	YYCURSOR = YYMARKER;
	goto yy2296;
yy2300:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2302;
		default: goto yy2299;
	}
yy2301:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2302;
		default: goto yy2299;
	}
yy2302:
	++YYCURSOR;
#line 2842 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tai_Xuan_Jing_Symbols; }
#line 32663 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2844 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Counting_Rod_Numerals:
	
#line 32669 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2306;
		default: goto yy2304;
	}
yy2304:
	++YYCURSOR;
yy2305:
#line 2849 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Counting_Rod_Numerals; else return Error; }
#line 32682 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2306:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2307;
		default: goto yy2305;
	}
yy2307:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8D: goto yy2309;
		default: goto yy2308;
	}
yy2308:
	YYCURSOR = YYMARKER;
	goto yy2305;
yy2309:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2310;
		default: goto yy2308;
	}
yy2310:
	++YYCURSOR;
#line 2848 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Counting_Rod_Numerals; }
#line 32739 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2850 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mathematical_Alphanumeric_Symbols:
	
#line 32745 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2314;
		default: goto yy2312;
	}
yy2312:
	++YYCURSOR;
yy2313:
#line 2855 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mathematical_Alphanumeric_Symbols; else return Error; }
#line 32758 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2314:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2315;
		default: goto yy2313;
	}
yy2315:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2317;
		default: goto yy2316;
	}
yy2316:
	YYCURSOR = YYMARKER;
	goto yy2313;
yy2317:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2318;
		default: goto yy2316;
	}
yy2318:
	++YYCURSOR;
#line 2854 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mathematical_Alphanumeric_Symbols; }
#line 32862 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2856 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Sutton_SignWriting:
	
#line 32868 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2322;
		default: goto yy2320;
	}
yy2320:
	++YYCURSOR;
yy2321:
#line 2861 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Sutton_SignWriting; else return Error; }
#line 32881 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2322:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2323;
		default: goto yy2321;
	}
yy2323:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9: goto yy2325;
		case 0xAA: goto yy2326;
		default: goto yy2324;
	}
yy2324:
	YYCURSOR = YYMARKER;
	goto yy2321;
yy2325:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2327;
		default: goto yy2324;
	}
yy2326:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2327;
		default: goto yy2324;
	}
yy2327:
	++YYCURSOR;
#line 2860 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Sutton_SignWriting; }
#line 33033 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2862 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Latin_Extended_G:
	
#line 33039 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2331;
		default: goto yy2329;
	}
yy2329:
	++YYCURSOR;
yy2330:
#line 2867 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Latin_Extended_G; else return Error; }
#line 33052 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2331:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9D: goto yy2332;
		default: goto yy2330;
	}
yy2332:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2334;
		default: goto yy2333;
	}
yy2333:
	YYCURSOR = YYMARKER;
	goto yy2330;
yy2334:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2335;
		default: goto yy2333;
	}
yy2335:
	++YYCURSOR;
#line 2866 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Latin_Extended_G; }
#line 33144 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2868 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Glagolitic_Supplement:
	
#line 33150 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2339;
		default: goto yy2337;
	}
yy2337:
	++YYCURSOR;
yy2338:
#line 2873 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Glagolitic_Supplement; else return Error; }
#line 33163 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2339:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2340;
		default: goto yy2338;
	}
yy2340:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80: goto yy2342;
		default: goto yy2341;
	}
yy2341:
	YYCURSOR = YYMARKER;
	goto yy2338;
yy2342:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2343;
		default: goto yy2341;
	}
yy2343:
	++YYCURSOR;
#line 2872 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Glagolitic_Supplement; }
#line 33236 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2874 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Cyrillic_Extended_D:
	
#line 33242 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2347;
		default: goto yy2345;
	}
yy2345:
	++YYCURSOR;
yy2346:
#line 2879 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Cyrillic_Extended_D; else return Error; }
#line 33255 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2347:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2348;
		default: goto yy2346;
	}
yy2348:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80: goto yy2350;
		case 0x81: goto yy2351;
		case 0x82: goto yy2352;
		default: goto yy2349;
	}
yy2349:
	YYCURSOR = YYMARKER;
	goto yy2346;
yy2350:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2353;
		default: goto yy2349;
	}
yy2351:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2353;
		default: goto yy2349;
	}
yy2352:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2353;
		default: goto yy2349;
	}
yy2353:
	++YYCURSOR;
#line 2878 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Cyrillic_Extended_D; }
#line 33388 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2880 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Nyiakeng_Puachue_Hmong:
	
#line 33394 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2357;
		default: goto yy2355;
	}
yy2355:
	++YYCURSOR;
yy2356:
#line 2885 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Nyiakeng_Puachue_Hmong; else return Error; }
#line 33407 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2357:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2358;
		default: goto yy2356;
	}
yy2358:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84: goto yy2360;
		case 0x85: goto yy2361;
		default: goto yy2359;
	}
yy2359:
	YYCURSOR = YYMARKER;
	goto yy2356;
yy2360:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2362;
		default: goto yy2359;
	}
yy2361:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2362;
		default: goto yy2359;
	}
yy2362:
	++YYCURSOR;
#line 2884 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Nyiakeng_Puachue_Hmong; }
#line 33518 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2886 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Toto:
	
#line 33524 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2366;
		default: goto yy2364;
	}
yy2364:
	++YYCURSOR;
yy2365:
#line 2891 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Toto; else return Error; }
#line 33537 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2366:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2367;
		default: goto yy2365;
	}
yy2367:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8A: goto yy2369;
		default: goto yy2368;
	}
yy2368:
	YYCURSOR = YYMARKER;
	goto yy2365;
yy2369:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2370;
		default: goto yy2368;
	}
yy2370:
	++YYCURSOR;
#line 2890 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Toto; }
#line 33610 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2892 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Wancho:
	
#line 33616 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2374;
		default: goto yy2372;
	}
yy2372:
	++YYCURSOR;
yy2373:
#line 2897 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Wancho; else return Error; }
#line 33629 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2374:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2375;
		default: goto yy2373;
	}
yy2375:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8B: goto yy2377;
		default: goto yy2376;
	}
yy2376:
	YYCURSOR = YYMARKER;
	goto yy2373;
yy2377:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2378;
		default: goto yy2376;
	}
yy2378:
	++YYCURSOR;
#line 2896 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Wancho; }
#line 33718 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2898 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Nag_Mundari:
	
#line 33724 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2382;
		default: goto yy2380;
	}
yy2380:
	++YYCURSOR;
yy2381:
#line 2903 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Nag_Mundari; else return Error; }
#line 33737 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2382:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2383;
		default: goto yy2381;
	}
yy2383:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x93: goto yy2385;
		default: goto yy2384;
	}
yy2384:
	YYCURSOR = YYMARKER;
	goto yy2381;
yy2385:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2386;
		default: goto yy2384;
	}
yy2386:
	++YYCURSOR;
#line 2902 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Nag_Mundari; }
#line 33810 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2904 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ol_Onal:
	
#line 33816 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2390;
		default: goto yy2388;
	}
yy2388:
	++YYCURSOR;
yy2389:
#line 2909 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ol_Onal; else return Error; }
#line 33829 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2390:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2391;
		default: goto yy2389;
	}
yy2391:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x97: goto yy2393;
		default: goto yy2392;
	}
yy2392:
	YYCURSOR = YYMARKER;
	goto yy2389;
yy2393:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2394;
		default: goto yy2392;
	}
yy2394:
	++YYCURSOR;
#line 2908 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ol_Onal; }
#line 33902 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2910 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tai_Yo:
	
#line 33908 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2398;
		default: goto yy2396;
	}
yy2396:
	++YYCURSOR;
yy2397:
#line 2915 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tai_Yo; else return Error; }
#line 33921 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2398:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2399;
		default: goto yy2397;
	}
yy2399:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9B: goto yy2401;
		default: goto yy2400;
	}
yy2400:
	YYCURSOR = YYMARKER;
	goto yy2397;
yy2401:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2402;
		default: goto yy2400;
	}
yy2402:
	++YYCURSOR;
#line 2914 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tai_Yo; }
#line 34010 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2916 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ethiopic_Extended_B:
	
#line 34016 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2406;
		default: goto yy2404;
	}
yy2404:
	++YYCURSOR;
yy2405:
#line 2921 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ethiopic_Extended_B; else return Error; }
#line 34029 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2406:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2407;
		default: goto yy2405;
	}
yy2407:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9F: goto yy2409;
		default: goto yy2408;
	}
yy2408:
	YYCURSOR = YYMARKER;
	goto yy2405;
yy2409:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2410;
		default: goto yy2408;
	}
yy2410:
	++YYCURSOR;
#line 2920 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ethiopic_Extended_B; }
#line 34086 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2922 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mende_Kikakui:
	
#line 34092 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2414;
		default: goto yy2412;
	}
yy2412:
	++YYCURSOR;
yy2413:
#line 2927 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mende_Kikakui; else return Error; }
#line 34105 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2414:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2415;
		default: goto yy2413;
	}
yy2415:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2: goto yy2417;
		case 0xA3: goto yy2418;
		default: goto yy2416;
	}
yy2416:
	YYCURSOR = YYMARKER;
	goto yy2413;
yy2417:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2419;
		default: goto yy2416;
	}
yy2418:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2419;
		default: goto yy2416;
	}
yy2419:
	++YYCURSOR;
#line 2926 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mende_Kikakui; }
#line 34234 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2928 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Adlam:
	
#line 34240 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2423;
		default: goto yy2421;
	}
yy2421:
	++YYCURSOR;
yy2422:
#line 2933 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Adlam; else return Error; }
#line 34253 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2423:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2424;
		default: goto yy2422;
	}
yy2424:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA4: goto yy2426;
		case 0xA5: goto yy2427;
		default: goto yy2425;
	}
yy2425:
	YYCURSOR = YYMARKER;
	goto yy2422;
yy2426:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2428;
		default: goto yy2425;
	}
yy2427:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2428;
		default: goto yy2425;
	}
yy2428:
	++YYCURSOR;
#line 2932 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Adlam; }
#line 34380 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2934 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Indic_Siyaq_Numbers:
	
#line 34386 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2432;
		default: goto yy2430;
	}
yy2430:
	++YYCURSOR;
yy2431:
#line 2939 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Indic_Siyaq_Numbers; else return Error; }
#line 34399 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2432:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2433;
		default: goto yy2431;
	}
yy2433:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB1: goto yy2435;
		case 0xB2: goto yy2436;
		default: goto yy2434;
	}
yy2434:
	YYCURSOR = YYMARKER;
	goto yy2431;
yy2435:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2437;
		default: goto yy2434;
	}
yy2436:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2437;
		default: goto yy2434;
	}
yy2437:
	++YYCURSOR;
#line 2938 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Indic_Siyaq_Numbers; }
#line 34510 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2940 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ottoman_Siyaq_Numbers:
	
#line 34516 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2441;
		default: goto yy2439;
	}
yy2439:
	++YYCURSOR;
yy2440:
#line 2945 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ottoman_Siyaq_Numbers; else return Error; }
#line 34529 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2441:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2442;
		default: goto yy2440;
	}
yy2442:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB4: goto yy2444;
		case 0xB5: goto yy2445;
		default: goto yy2443;
	}
yy2443:
	YYCURSOR = YYMARKER;
	goto yy2440;
yy2444:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2446;
		default: goto yy2443;
	}
yy2445:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2446;
		default: goto yy2443;
	}
yy2446:
	++YYCURSOR;
#line 2944 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ottoman_Siyaq_Numbers; }
#line 34640 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2946 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Arabic_Mathematical_Alphabetic_Symbols:
	
#line 34646 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2450;
		default: goto yy2448;
	}
yy2448:
	++YYCURSOR;
yy2449:
#line 2951 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Arabic_Mathematical_Alphabetic_Symbols; else return Error; }
#line 34659 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2450:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9E: goto yy2451;
		default: goto yy2449;
	}
yy2451:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB: goto yy2453;
		default: goto yy2452;
	}
yy2452:
	YYCURSOR = YYMARKER;
	goto yy2449;
yy2453:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2454;
		default: goto yy2452;
	}
yy2454:
	++YYCURSOR;
#line 2950 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Arabic_Mathematical_Alphabetic_Symbols; }
#line 34751 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2952 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Mahjong_Tiles:
	
#line 34757 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2458;
		default: goto yy2456;
	}
yy2456:
	++YYCURSOR;
yy2457:
#line 2957 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Mahjong_Tiles; else return Error; }
#line 34770 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2458:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2459;
		default: goto yy2457;
	}
yy2459:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80: goto yy2461;
		default: goto yy2460;
	}
yy2460:
	YYCURSOR = YYMARKER;
	goto yy2457;
yy2461:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2462;
		default: goto yy2460;
	}
yy2462:
	++YYCURSOR;
#line 2956 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Mahjong_Tiles; }
#line 34843 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2958 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Domino_Tiles:
	
#line 34849 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2466;
		default: goto yy2464;
	}
yy2464:
	++YYCURSOR;
yy2465:
#line 2963 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Domino_Tiles; else return Error; }
#line 34862 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2466:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2467;
		default: goto yy2465;
	}
yy2467:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80: goto yy2469;
		case 0x81: goto yy2470;
		case 0x82: goto yy2471;
		default: goto yy2468;
	}
yy2468:
	YYCURSOR = YYMARKER;
	goto yy2465;
yy2469:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2472;
		default: goto yy2468;
	}
yy2470:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2472;
		default: goto yy2468;
	}
yy2471:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2472;
		default: goto yy2468;
	}
yy2472:
	++YYCURSOR;
#line 2962 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Domino_Tiles; }
#line 35011 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2964 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Playing_Cards:
	
#line 35017 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2476;
		default: goto yy2474;
	}
yy2474:
	++YYCURSOR;
yy2475:
#line 2969 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Playing_Cards; else return Error; }
#line 35030 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2476:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2477;
		default: goto yy2475;
	}
yy2477:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x82: goto yy2479;
		case 0x83: goto yy2480;
		default: goto yy2478;
	}
yy2478:
	YYCURSOR = YYMARKER;
	goto yy2475;
yy2479:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2481;
		default: goto yy2478;
	}
yy2480:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2481;
		default: goto yy2478;
	}
yy2481:
	++YYCURSOR;
#line 2968 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Playing_Cards; }
#line 35157 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2970 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Enclosed_Alphanumeric_Supplement:
	
#line 35163 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2485;
		default: goto yy2483;
	}
yy2483:
	++YYCURSOR;
yy2484:
#line 2975 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Enclosed_Alphanumeric_Supplement; else return Error; }
#line 35176 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2485:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2486;
		default: goto yy2484;
	}
yy2486:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87: goto yy2488;
		default: goto yy2487;
	}
yy2487:
	YYCURSOR = YYMARKER;
	goto yy2484;
yy2488:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2489;
		default: goto yy2487;
	}
yy2489:
	++YYCURSOR;
#line 2974 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Enclosed_Alphanumeric_Supplement; }
#line 35268 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2976 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Enclosed_Ideographic_Supplement:
	
#line 35274 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2493;
		default: goto yy2491;
	}
yy2491:
	++YYCURSOR;
yy2492:
#line 2981 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Enclosed_Ideographic_Supplement; else return Error; }
#line 35287 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2493:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2494;
		default: goto yy2492;
	}
yy2494:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B: goto yy2496;
		default: goto yy2495;
	}
yy2495:
	YYCURSOR = YYMARKER;
	goto yy2492;
yy2496:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2497;
		default: goto yy2495;
	}
yy2497:
	++YYCURSOR;
#line 2980 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Enclosed_Ideographic_Supplement; }
#line 35379 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2982 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Miscellaneous_Symbols_and_Pictographs:
	
#line 35385 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2501;
		default: goto yy2499;
	}
yy2499:
	++YYCURSOR;
yy2500:
#line 2987 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Miscellaneous_Symbols_and_Pictographs; else return Error; }
#line 35398 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2501:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2502;
		default: goto yy2500;
	}
yy2502:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97: goto yy2504;
		default: goto yy2503;
	}
yy2503:
	YYCURSOR = YYMARKER;
	goto yy2500;
yy2504:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2505;
		default: goto yy2503;
	}
yy2505:
	++YYCURSOR;
#line 2986 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Miscellaneous_Symbols_and_Pictographs; }
#line 35498 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2988 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Emoticons:
	
#line 35504 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2509;
		default: goto yy2507;
	}
yy2507:
	++YYCURSOR;
yy2508:
#line 2993 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Emoticons; else return Error; }
#line 35517 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2509:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2510;
		default: goto yy2508;
	}
yy2510:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x98: goto yy2512;
		case 0x99: goto yy2513;
		default: goto yy2511;
	}
yy2511:
	YYCURSOR = YYMARKER;
	goto yy2508;
yy2512:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2514;
		default: goto yy2511;
	}
yy2513:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2514;
		default: goto yy2511;
	}
yy2514:
	++YYCURSOR;
#line 2992 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Emoticons; }
#line 35628 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 2994 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Ornamental_Dingbats:
	
#line 35634 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2518;
		default: goto yy2516;
	}
yy2516:
	++YYCURSOR;
yy2517:
#line 2999 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Ornamental_Dingbats; else return Error; }
#line 35647 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2518:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2519;
		default: goto yy2517;
	}
yy2519:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x99: goto yy2521;
		default: goto yy2520;
	}
yy2520:
	YYCURSOR = YYMARKER;
	goto yy2517;
yy2521:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2522;
		default: goto yy2520;
	}
yy2522:
	++YYCURSOR;
#line 2998 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Ornamental_Dingbats; }
#line 35720 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3000 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Transport_and_Map_Symbols:
	
#line 35726 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2526;
		default: goto yy2524;
	}
yy2524:
	++YYCURSOR;
yy2525:
#line 3005 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Transport_and_Map_Symbols; else return Error; }
#line 35739 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2526:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2527;
		default: goto yy2525;
	}
yy2527:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9A:
		case 0x9B: goto yy2529;
		default: goto yy2528;
	}
yy2528:
	YYCURSOR = YYMARKER;
	goto yy2525;
yy2529:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2530;
		default: goto yy2528;
	}
yy2530:
	++YYCURSOR;
#line 3004 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Transport_and_Map_Symbols; }
#line 35829 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3006 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Alchemical_Symbols:
	
#line 35835 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2534;
		default: goto yy2532;
	}
yy2532:
	++YYCURSOR;
yy2533:
#line 3011 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Alchemical_Symbols; else return Error; }
#line 35848 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2534:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2535;
		default: goto yy2533;
	}
yy2535:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9C:
		case 0x9D: goto yy2537;
		default: goto yy2536;
	}
yy2536:
	YYCURSOR = YYMARKER;
	goto yy2533;
yy2537:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2538;
		default: goto yy2536;
	}
yy2538:
	++YYCURSOR;
#line 3010 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Alchemical_Symbols; }
#line 35938 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3012 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Geometric_Shapes_Extended:
	
#line 35944 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2542;
		default: goto yy2540;
	}
yy2540:
	++YYCURSOR;
yy2541:
#line 3017 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Geometric_Shapes_Extended; else return Error; }
#line 35957 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2542:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2543;
		default: goto yy2541;
	}
yy2543:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9E:
		case 0x9F: goto yy2545;
		default: goto yy2544;
	}
yy2544:
	YYCURSOR = YYMARKER;
	goto yy2541;
yy2545:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2546;
		default: goto yy2544;
	}
yy2546:
	++YYCURSOR;
#line 3016 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Geometric_Shapes_Extended; }
#line 36047 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3018 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplemental_Arrows_C:
	
#line 36053 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2550;
		default: goto yy2548;
	}
yy2548:
	++YYCURSOR;
yy2549:
#line 3023 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplemental_Arrows_C; else return Error; }
#line 36066 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2550:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2551;
		default: goto yy2549;
	}
yy2551:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3: goto yy2553;
		default: goto yy2552;
	}
yy2552:
	YYCURSOR = YYMARKER;
	goto yy2549;
yy2553:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2554;
		default: goto yy2552;
	}
yy2554:
	++YYCURSOR;
#line 3022 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplemental_Arrows_C; }
#line 36158 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3024 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplemental_Symbols_and_Pictographs:
	
#line 36164 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2558;
		default: goto yy2556;
	}
yy2556:
	++YYCURSOR;
yy2557:
#line 3029 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplemental_Symbols_and_Pictographs; else return Error; }
#line 36177 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2558:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2559;
		default: goto yy2557;
	}
yy2559:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7: goto yy2561;
		default: goto yy2560;
	}
yy2560:
	YYCURSOR = YYMARKER;
	goto yy2557;
yy2561:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2562;
		default: goto yy2560;
	}
yy2562:
	++YYCURSOR;
#line 3028 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplemental_Symbols_and_Pictographs; }
#line 36269 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3030 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Chess_Symbols:
	
#line 36275 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2566;
		default: goto yy2564;
	}
yy2564:
	++YYCURSOR;
yy2565:
#line 3035 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Chess_Symbols; else return Error; }
#line 36288 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2566:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2567;
		default: goto yy2565;
	}
yy2567:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA8: goto yy2569;
		case 0xA9: goto yy2570;
		default: goto yy2568;
	}
yy2568:
	YYCURSOR = YYMARKER;
	goto yy2565;
yy2569:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2571;
		default: goto yy2568;
	}
yy2570:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2571;
		default: goto yy2568;
	}
yy2571:
	++YYCURSOR;
#line 3034 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Chess_Symbols; }
#line 36431 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3036 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Symbols_and_Pictographs_Extended_A:
	
#line 36437 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2575;
		default: goto yy2573;
	}
yy2573:
	++YYCURSOR;
yy2574:
#line 3041 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Symbols_and_Pictographs_Extended_A; else return Error; }
#line 36450 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2575:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2576;
		default: goto yy2574;
	}
yy2576:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA9: goto yy2578;
		case 0xAA:
		case 0xAB: goto yy2579;
		default: goto yy2577;
	}
yy2577:
	YYCURSOR = YYMARKER;
	goto yy2574;
yy2578:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2580;
		default: goto yy2577;
	}
yy2579:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2580;
		default: goto yy2577;
	}
yy2580:
	++YYCURSOR;
#line 3040 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Symbols_and_Pictographs_Extended_A; }
#line 36562 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3042 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Symbols_for_Legacy_Computing:
	
#line 36568 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2584;
		default: goto yy2582;
	}
yy2582:
	++YYCURSOR;
yy2583:
#line 3047 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Symbols_for_Legacy_Computing; else return Error; }
#line 36581 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2584:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x9F: goto yy2585;
		default: goto yy2583;
	}
yy2585:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2587;
		default: goto yy2586;
	}
yy2586:
	YYCURSOR = YYMARKER;
	goto yy2583;
yy2587:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2588;
		default: goto yy2586;
	}
yy2588:
	++YYCURSOR;
#line 3046 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Symbols_for_Legacy_Computing; }
#line 36673 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3048 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_B:
	
#line 36679 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2592;
		default: goto yy2590;
	}
yy2590:
	++YYCURSOR;
yy2591:
#line 3053 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_B; else return Error; }
#line 36692 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2592:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9: goto yy2593;
		case 0xAA: goto yy2595;
		default: goto yy2591;
	}
yy2593:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2596;
		default: goto yy2594;
	}
yy2594:
	YYCURSOR = YYMARKER;
	goto yy2591;
yy2595:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A: goto yy2596;
		case 0x9B: goto yy2597;
		default: goto yy2594;
	}
yy2596:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2598;
		default: goto yy2594;
	}
yy2597:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2598;
		default: goto yy2594;
	}
yy2598:
	++YYCURSOR;
#line 3052 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_B; }
#line 36924 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3054 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_C:
	
#line 36930 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2602;
		default: goto yy2600;
	}
yy2600:
	++YYCURSOR;
yy2601:
#line 3059 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_C; else return Error; }
#line 36943 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2602:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAA: goto yy2603;
		case 0xAB: goto yy2605;
		default: goto yy2601;
	}
yy2603:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2606;
		default: goto yy2604;
	}
yy2604:
	YYCURSOR = YYMARKER;
	goto yy2601;
yy2605:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C: goto yy2606;
		default: goto yy2604;
	}
yy2606:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2607;
		default: goto yy2604;
	}
yy2607:
	++YYCURSOR;
#line 3058 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_C; }
#line 37102 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3060 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_D:
	
#line 37108 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2611;
		default: goto yy2609;
	}
yy2609:
	++YYCURSOR;
yy2610:
#line 3065 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_D; else return Error; }
#line 37121 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2611:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAB: goto yy2612;
		default: goto yy2610;
	}
yy2612:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2614;
		case 0xA0: goto yy2615;
		default: goto yy2613;
	}
yy2613:
	YYCURSOR = YYMARKER;
	goto yy2610;
yy2614:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2616;
		default: goto yy2613;
	}
yy2615:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2616;
		default: goto yy2613;
	}
yy2616:
	++YYCURSOR;
#line 3064 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_D; }
#line 37250 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3066 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_E:
	
#line 37256 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2620;
		default: goto yy2618;
	}
yy2618:
	++YYCURSOR;
yy2619:
#line 3071 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_E; else return Error; }
#line 37269 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2620:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAB: goto yy2621;
		case 0xAC: goto yy2623;
		default: goto yy2619;
	}
yy2621:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0: goto yy2624;
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2625;
		default: goto yy2622;
	}
yy2622:
	YYCURSOR = YYMARKER;
	goto yy2619;
yy2623:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9: goto yy2625;
		case 0xBA: goto yy2626;
		default: goto yy2622;
	}
yy2624:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2627;
		default: goto yy2622;
	}
yy2625:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2627;
		default: goto yy2622;
	}
yy2626:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2627;
		default: goto yy2622;
	}
yy2627:
	++YYCURSOR;
#line 3070 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_E; }
#line 37544 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3072 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_F:
	
#line 37550 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2631;
		default: goto yy2629;
	}
yy2629:
	++YYCURSOR;
yy2630:
#line 3077 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_F; else return Error; }
#line 37563 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2631:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAC: goto yy2632;
		case 0xAD: goto yy2634;
		case 0xAE: goto yy2635;
		default: goto yy2630;
	}
yy2632:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xBA: goto yy2636;
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2637;
		default: goto yy2633;
	}
yy2633:
	YYCURSOR = YYMARKER;
	goto yy2630;
yy2634:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2637;
		default: goto yy2633;
	}
yy2635:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE: goto yy2637;
		case 0xAF: goto yy2638;
		default: goto yy2633;
	}
yy2636:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2639;
		default: goto yy2633;
	}
yy2637:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2639;
		default: goto yy2633;
	}
yy2638:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2639;
		default: goto yy2633;
	}
yy2639:
	++YYCURSOR;
#line 3076 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_F; }
#line 37855 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3078 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_I:
	
#line 37861 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2643;
		default: goto yy2641;
	}
yy2641:
	++YYCURSOR;
yy2642:
#line 3083 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_I; else return Error; }
#line 37874 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2643:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAE: goto yy2644;
		default: goto yy2642;
	}
yy2644:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xAF: goto yy2646;
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8: goto yy2647;
		case 0xB9: goto yy2648;
		default: goto yy2645;
	}
yy2645:
	YYCURSOR = YYMARKER;
	goto yy2642;
yy2646:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2649;
		default: goto yy2645;
	}
yy2647:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2649;
		default: goto yy2645;
	}
yy2648:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2649;
		default: goto yy2645;
	}
yy2649:
	++YYCURSOR;
#line 3082 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_I; }
#line 38031 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3084 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Compatibility_Ideographs_Supplement:
	
#line 38037 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2653;
		default: goto yy2651;
	}
yy2651:
	++YYCURSOR;
yy2652:
#line 3089 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Compatibility_Ideographs_Supplement; else return Error; }
#line 38050 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2653:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xAF: goto yy2654;
		default: goto yy2652;
	}
yy2654:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7: goto yy2656;
		case 0xA8: goto yy2657;
		default: goto yy2655;
	}
yy2655:
	YYCURSOR = YYMARKER;
	goto yy2652;
yy2656:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2658;
		default: goto yy2655;
	}
yy2657:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F: goto yy2658;
		default: goto yy2655;
	}
yy2658:
	++YYCURSOR;
#line 3088 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Compatibility_Ideographs_Supplement; }
#line 38184 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3090 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_G:
	
#line 38190 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2662;
		default: goto yy2660;
	}
yy2660:
	++YYCURSOR;
yy2661:
#line 3095 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_G; else return Error; }
#line 38203 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2662:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB0: goto yy2663;
		case 0xB1: goto yy2665;
		default: goto yy2661;
	}
yy2663:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2666;
		default: goto yy2664;
	}
yy2664:
	YYCURSOR = YYMARKER;
	goto yy2661;
yy2665:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C: goto yy2666;
		case 0x8D: goto yy2667;
		default: goto yy2664;
	}
yy2666:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2668;
		default: goto yy2664;
	}
yy2667:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2668;
		default: goto yy2664;
	}
yy2668:
	++YYCURSOR;
#line 3094 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_G; }
#line 38396 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3096 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_H:
	
#line 38402 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2672;
		default: goto yy2670;
	}
yy2670:
	++YYCURSOR;
yy2671:
#line 3101 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_H; else return Error; }
#line 38415 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2672:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB1: goto yy2673;
		case 0xB2: goto yy2675;
		default: goto yy2671;
	}
yy2673:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8D: goto yy2676;
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2677;
		default: goto yy2674;
	}
yy2674:
	YYCURSOR = YYMARKER;
	goto yy2671;
yy2675:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D: goto yy2677;
		case 0x8E: goto yy2678;
		default: goto yy2674;
	}
yy2676:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2679;
		default: goto yy2674;
	}
yy2677:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2679;
		default: goto yy2674;
	}
yy2678:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2679;
		default: goto yy2674;
	}
yy2679:
	++YYCURSOR;
#line 3100 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_H; }
#line 38681 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3102 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

CJK_Unified_Ideographs_Extension_J:
	
#line 38687 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF0: goto yy2683;
		default: goto yy2681;
	}
yy2681:
	++YYCURSOR;
yy2682:
#line 3107 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return CJK_Unified_Ideographs_Extension_J; else return Error; }
#line 38700 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2683:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB2: goto yy2684;
		case 0xB3: goto yy2686;
		default: goto yy2682;
	}
yy2684:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x8E: goto yy2687;
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2688;
		default: goto yy2685;
	}
yy2685:
	YYCURSOR = YYMARKER;
	goto yy2682;
yy2686:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91: goto yy2688;
		default: goto yy2685;
	}
yy2687:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2689;
		default: goto yy2685;
	}
yy2688:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2689;
		default: goto yy2685;
	}
yy2689:
	++YYCURSOR;
#line 3106 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto CJK_Unified_Ideographs_Extension_J; }
#line 38883 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3108 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Tags:
	
#line 38889 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF3: goto yy2693;
		default: goto yy2691;
	}
yy2691:
	++YYCURSOR;
yy2692:
#line 3113 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Tags; else return Error; }
#line 38902 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2693:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0: goto yy2694;
		default: goto yy2692;
	}
yy2694:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81: goto yy2696;
		default: goto yy2695;
	}
yy2695:
	YYCURSOR = YYMARKER;
	goto yy2692;
yy2696:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2697;
		default: goto yy2695;
	}
yy2697:
	++YYCURSOR;
#line 3112 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Tags; }
#line 38992 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3114 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Variation_Selectors_Supplement:
	
#line 38998 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF3: goto yy2701;
		default: goto yy2699;
	}
yy2699:
	++YYCURSOR;
yy2700:
#line 3119 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Variation_Selectors_Supplement; else return Error; }
#line 39011 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2701:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xA0: goto yy2702;
		default: goto yy2700;
	}
yy2702:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x84:
		case 0x85:
		case 0x86: goto yy2704;
		case 0x87: goto yy2705;
		default: goto yy2703;
	}
yy2703:
	YYCURSOR = YYMARKER;
	goto yy2700;
yy2704:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2706;
		default: goto yy2703;
	}
yy2705:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF: goto yy2706;
		default: goto yy2703;
	}
yy2706:
	++YYCURSOR;
#line 3118 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Variation_Selectors_Supplement; }
#line 39156 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3120 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplementary_Private_Use_Area_A:
	
#line 39162 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF3: goto yy2710;
		default: goto yy2708;
	}
yy2708:
	++YYCURSOR;
yy2709:
#line 3125 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplementary_Private_Use_Area_A; else return Error; }
#line 39175 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2710:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2711;
		default: goto yy2709;
	}
yy2711:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2713;
		default: goto yy2712;
	}
yy2712:
	YYCURSOR = YYMARKER;
	goto yy2709;
yy2713:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2714;
		default: goto yy2712;
	}
yy2714:
	++YYCURSOR;
#line 3124 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplementary_Private_Use_Area_A; }
#line 39342 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3126 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

Supplementary_Private_Use_Area_B:
	
#line 39348 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	switch (yych) {
		case 0xF4: goto yy2718;
		default: goto yy2716;
	}
yy2716:
	++YYCURSOR;
yy2717:
#line 3131 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ if (YYCURSOR - 1 == limit) return Supplementary_Private_Use_Area_B; else return Error; }
#line 39361 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
yy2718:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F: goto yy2719;
		default: goto yy2717;
	}
yy2719:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2721;
		default: goto yy2720;
	}
yy2720:
	YYCURSOR = YYMARKER;
	goto yy2717;
yy2721:
	yych = *++YYCURSOR;
	switch (yych) {
		case 0x80:
		case 0x81:
		case 0x82:
		case 0x83:
		case 0x84:
		case 0x85:
		case 0x86:
		case 0x87:
		case 0x88:
		case 0x89:
		case 0x8A:
		case 0x8B:
		case 0x8C:
		case 0x8D:
		case 0x8E:
		case 0x8F:
		case 0x90:
		case 0x91:
		case 0x92:
		case 0x93:
		case 0x94:
		case 0x95:
		case 0x96:
		case 0x97:
		case 0x98:
		case 0x99:
		case 0x9A:
		case 0x9B:
		case 0x9C:
		case 0x9D:
		case 0x9E:
		case 0x9F:
		case 0xA0:
		case 0xA1:
		case 0xA2:
		case 0xA3:
		case 0xA4:
		case 0xA5:
		case 0xA6:
		case 0xA7:
		case 0xA8:
		case 0xA9:
		case 0xAA:
		case 0xAB:
		case 0xAC:
		case 0xAD:
		case 0xAE:
		case 0xAF:
		case 0xB0:
		case 0xB1:
		case 0xB2:
		case 0xB3:
		case 0xB4:
		case 0xB5:
		case 0xB6:
		case 0xB7:
		case 0xB8:
		case 0xB9:
		case 0xBA:
		case 0xBB:
		case 0xBC:
		case 0xBD:
		case 0xBE:
		case 0xBF: goto yy2722;
		default: goto yy2720;
	}
yy2722:
	++YYCURSOR;
#line 3130 "encodings/unicode_blocks_8_encoding_policy_substitute.re"
	{ goto Supplementary_Private_Use_Area_B; }
#line 39528 "encodings/unicode_blocks_8_encoding_policy_substitute.c"
}
#line 3132 "encodings/unicode_blocks_8_encoding_policy_substitute.re"

}

static const uint32_t chars_Basic_Latin[] = {0x0,0x7f};
static const uint32_t chars_Latin_1_Supplement[] = {0x80,0xff};
static const uint32_t chars_Latin_Extended_A[] = {0x100,0x17f};
static const uint32_t chars_Latin_Extended_B[] = {0x180,0x24f};
static const uint32_t chars_IPA_Extensions[] = {0x250,0x2af};
static const uint32_t chars_Spacing_Modifier_Letters[] = {0x2b0,0x2ff};
static const uint32_t chars_Combining_Diacritical_Marks[] = {0x300,0x36f};
static const uint32_t chars_Greek_and_Coptic[] = {0x370,0x3ff};
static const uint32_t chars_Cyrillic[] = {0x400,0x4ff};
static const uint32_t chars_Cyrillic_Supplement[] = {0x500,0x52f};
static const uint32_t chars_Armenian[] = {0x530,0x58f};
static const uint32_t chars_Hebrew[] = {0x590,0x5ff};
static const uint32_t chars_Arabic[] = {0x600,0x6ff};
static const uint32_t chars_Syriac[] = {0x700,0x74f};
static const uint32_t chars_Arabic_Supplement[] = {0x750,0x77f};
static const uint32_t chars_Thaana[] = {0x780,0x7bf};
static const uint32_t chars_NKo[] = {0x7c0,0x7ff};
static const uint32_t chars_Samaritan[] = {0x800,0x83f};
static const uint32_t chars_Mandaic[] = {0x840,0x85f};
static const uint32_t chars_Syriac_Supplement[] = {0x860,0x86f};
static const uint32_t chars_Arabic_Extended_B[] = {0x870,0x89f};
static const uint32_t chars_Arabic_Extended_A[] = {0x8a0,0x8ff};
static const uint32_t chars_Devanagari[] = {0x900,0x97f};
static const uint32_t chars_Bengali[] = {0x980,0x9ff};
static const uint32_t chars_Gurmukhi[] = {0xa00,0xa7f};
static const uint32_t chars_Gujarati[] = {0xa80,0xaff};
static const uint32_t chars_Oriya[] = {0xb00,0xb7f};
static const uint32_t chars_Tamil[] = {0xb80,0xbff};
static const uint32_t chars_Telugu[] = {0xc00,0xc7f};
static const uint32_t chars_Kannada[] = {0xc80,0xcff};
static const uint32_t chars_Malayalam[] = {0xd00,0xd7f};
static const uint32_t chars_Sinhala[] = {0xd80,0xdff};
static const uint32_t chars_Thai[] = {0xe00,0xe7f};
static const uint32_t chars_Lao[] = {0xe80,0xeff};
static const uint32_t chars_Tibetan[] = {0xf00,0xfff};
static const uint32_t chars_Myanmar[] = {0x1000,0x109f};
static const uint32_t chars_Georgian[] = {0x10a0,0x10ff};
static const uint32_t chars_Hangul_Jamo[] = {0x1100,0x11ff};
static const uint32_t chars_Ethiopic[] = {0x1200,0x137f};
static const uint32_t chars_Ethiopic_Supplement[] = {0x1380,0x139f};
static const uint32_t chars_Cherokee[] = {0x13a0,0x13ff};
static const uint32_t chars_Unified_Canadian_Aboriginal_Syllabics[] = {0x1400,0x167f};
static const uint32_t chars_Ogham[] = {0x1680,0x169f};
static const uint32_t chars_Runic[] = {0x16a0,0x16ff};
static const uint32_t chars_Tagalog[] = {0x1700,0x171f};
static const uint32_t chars_Hanunoo[] = {0x1720,0x173f};
static const uint32_t chars_Buhid[] = {0x1740,0x175f};
static const uint32_t chars_Tagbanwa[] = {0x1760,0x177f};
static const uint32_t chars_Khmer[] = {0x1780,0x17ff};
static const uint32_t chars_Mongolian[] = {0x1800,0x18af};
static const uint32_t chars_Unified_Canadian_Aboriginal_Syllabics_Extended[] = {0x18b0,0x18ff};
static const uint32_t chars_Limbu[] = {0x1900,0x194f};
static const uint32_t chars_Tai_Le[] = {0x1950,0x197f};
static const uint32_t chars_New_Tai_Lue[] = {0x1980,0x19df};
static const uint32_t chars_Khmer_Symbols[] = {0x19e0,0x19ff};
static const uint32_t chars_Buginese[] = {0x1a00,0x1a1f};
static const uint32_t chars_Tai_Tham[] = {0x1a20,0x1aaf};
static const uint32_t chars_Combining_Diacritical_Marks_Extended[] = {0x1ab0,0x1aff};
static const uint32_t chars_Balinese[] = {0x1b00,0x1b7f};
static const uint32_t chars_Sundanese[] = {0x1b80,0x1bbf};
static const uint32_t chars_Batak[] = {0x1bc0,0x1bff};
static const uint32_t chars_Lepcha[] = {0x1c00,0x1c4f};
static const uint32_t chars_Ol_Chiki[] = {0x1c50,0x1c7f};
static const uint32_t chars_Cyrillic_Extended_C[] = {0x1c80,0x1c8f};
static const uint32_t chars_Georgian_Extended[] = {0x1c90,0x1cbf};
static const uint32_t chars_Sundanese_Supplement[] = {0x1cc0,0x1ccf};
static const uint32_t chars_Vedic_Extensions[] = {0x1cd0,0x1cff};
static const uint32_t chars_Phonetic_Extensions[] = {0x1d00,0x1d7f};
static const uint32_t chars_Phonetic_Extensions_Supplement[] = {0x1d80,0x1dbf};
static const uint32_t chars_Combining_Diacritical_Marks_Supplement[] = {0x1dc0,0x1dff};
static const uint32_t chars_Latin_Extended_Additional[] = {0x1e00,0x1eff};
static const uint32_t chars_Greek_Extended[] = {0x1f00,0x1fff};
static const uint32_t chars_General_Punctuation[] = {0x2000,0x206f};
static const uint32_t chars_Superscripts_and_Subscripts[] = {0x2070,0x209f};
static const uint32_t chars_Currency_Symbols[] = {0x20a0,0x20cf};
static const uint32_t chars_Combining_Diacritical_Marks_for_Symbols[] = {0x20d0,0x20ff};
static const uint32_t chars_Letterlike_Symbols[] = {0x2100,0x214f};
static const uint32_t chars_Number_Forms[] = {0x2150,0x218f};
static const uint32_t chars_Arrows[] = {0x2190,0x21ff};
static const uint32_t chars_Mathematical_Operators[] = {0x2200,0x22ff};
static const uint32_t chars_Miscellaneous_Technical[] = {0x2300,0x23ff};
static const uint32_t chars_Control_Pictures[] = {0x2400,0x243f};
static const uint32_t chars_Optical_Character_Recognition[] = {0x2440,0x245f};
static const uint32_t chars_Enclosed_Alphanumerics[] = {0x2460,0x24ff};
static const uint32_t chars_Box_Drawing[] = {0x2500,0x257f};
static const uint32_t chars_Block_Elements[] = {0x2580,0x259f};
static const uint32_t chars_Geometric_Shapes[] = {0x25a0,0x25ff};
static const uint32_t chars_Miscellaneous_Symbols[] = {0x2600,0x26ff};
static const uint32_t chars_Dingbats[] = {0x2700,0x27bf};
static const uint32_t chars_Miscellaneous_Mathematical_Symbols_A[] = {0x27c0,0x27ef};
static const uint32_t chars_Supplemental_Arrows_A[] = {0x27f0,0x27ff};
static const uint32_t chars_Braille_Patterns[] = {0x2800,0x28ff};
static const uint32_t chars_Supplemental_Arrows_B[] = {0x2900,0x297f};
static const uint32_t chars_Miscellaneous_Mathematical_Symbols_B[] = {0x2980,0x29ff};
static const uint32_t chars_Supplemental_Mathematical_Operators[] = {0x2a00,0x2aff};
static const uint32_t chars_Miscellaneous_Symbols_and_Arrows[] = {0x2b00,0x2bff};
static const uint32_t chars_Glagolitic[] = {0x2c00,0x2c5f};
static const uint32_t chars_Latin_Extended_C[] = {0x2c60,0x2c7f};
static const uint32_t chars_Coptic[] = {0x2c80,0x2cff};
static const uint32_t chars_Georgian_Supplement[] = {0x2d00,0x2d2f};
static const uint32_t chars_Tifinagh[] = {0x2d30,0x2d7f};
static const uint32_t chars_Ethiopic_Extended[] = {0x2d80,0x2ddf};
static const uint32_t chars_Cyrillic_Extended_A[] = {0x2de0,0x2dff};
static const uint32_t chars_Supplemental_Punctuation[] = {0x2e00,0x2e7f};
static const uint32_t chars_CJK_Radicals_Supplement[] = {0x2e80,0x2eff};
static const uint32_t chars_Kangxi_Radicals[] = {0x2f00,0x2fdf};
static const uint32_t chars_Ideographic_Description_Characters[] = {0x2ff0,0x2fff};
static const uint32_t chars_CJK_Symbols_and_Punctuation[] = {0x3000,0x303f};
static const uint32_t chars_Hiragana[] = {0x3040,0x309f};
static const uint32_t chars_Katakana[] = {0x30a0,0x30ff};
static const uint32_t chars_Bopomofo[] = {0x3100,0x312f};
static const uint32_t chars_Hangul_Compatibility_Jamo[] = {0x3130,0x318f};
static const uint32_t chars_Kanbun[] = {0x3190,0x319f};
static const uint32_t chars_Bopomofo_Extended[] = {0x31a0,0x31bf};
static const uint32_t chars_CJK_Strokes[] = {0x31c0,0x31ef};
static const uint32_t chars_Katakana_Phonetic_Extensions[] = {0x31f0,0x31ff};
static const uint32_t chars_Enclosed_CJK_Letters_and_Months[] = {0x3200,0x32ff};
static const uint32_t chars_CJK_Compatibility[] = {0x3300,0x33ff};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_A[] = {0x3400,0x4dbf};
static const uint32_t chars_Yijing_Hexagram_Symbols[] = {0x4dc0,0x4dff};
static const uint32_t chars_CJK_Unified_Ideographs[] = {0x4e00,0x9fff};
static const uint32_t chars_Yi_Syllables[] = {0xa000,0xa48f};
static const uint32_t chars_Yi_Radicals[] = {0xa490,0xa4cf};
static const uint32_t chars_Lisu[] = {0xa4d0,0xa4ff};
static const uint32_t chars_Vai[] = {0xa500,0xa63f};
static const uint32_t chars_Cyrillic_Extended_B[] = {0xa640,0xa69f};
static const uint32_t chars_Bamum[] = {0xa6a0,0xa6ff};
static const uint32_t chars_Modifier_Tone_Letters[] = {0xa700,0xa71f};
static const uint32_t chars_Latin_Extended_D[] = {0xa720,0xa7ff};
static const uint32_t chars_Syloti_Nagri[] = {0xa800,0xa82f};
static const uint32_t chars_Common_Indic_Number_Forms[] = {0xa830,0xa83f};
static const uint32_t chars_Phags_pa[] = {0xa840,0xa87f};
static const uint32_t chars_Saurashtra[] = {0xa880,0xa8df};
static const uint32_t chars_Devanagari_Extended[] = {0xa8e0,0xa8ff};
static const uint32_t chars_Kayah_Li[] = {0xa900,0xa92f};
static const uint32_t chars_Rejang[] = {0xa930,0xa95f};
static const uint32_t chars_Hangul_Jamo_Extended_A[] = {0xa960,0xa97f};
static const uint32_t chars_Javanese[] = {0xa980,0xa9df};
static const uint32_t chars_Myanmar_Extended_B[] = {0xa9e0,0xa9ff};
static const uint32_t chars_Cham[] = {0xaa00,0xaa5f};
static const uint32_t chars_Myanmar_Extended_A[] = {0xaa60,0xaa7f};
static const uint32_t chars_Tai_Viet[] = {0xaa80,0xaadf};
static const uint32_t chars_Meetei_Mayek_Extensions[] = {0xaae0,0xaaff};
static const uint32_t chars_Ethiopic_Extended_A[] = {0xab00,0xab2f};
static const uint32_t chars_Latin_Extended_E[] = {0xab30,0xab6f};
static const uint32_t chars_Cherokee_Supplement[] = {0xab70,0xabbf};
static const uint32_t chars_Meetei_Mayek[] = {0xabc0,0xabff};
static const uint32_t chars_Hangul_Syllables[] = {0xac00,0xd7af};
static const uint32_t chars_Hangul_Jamo_Extended_B[] = {0xd7b0,0xd7ff};
static const uint32_t chars_High_Surrogates[] = {0xd800,0xdb7f};
static const uint32_t chars_High_Private_Use_Surrogates[] = {0xdb80,0xdbff};
static const uint32_t chars_Low_Surrogates[] = {0xdc00,0xdfff};
static const uint32_t chars_Private_Use_Area[] = {0xe000,0xf8ff};
static const uint32_t chars_CJK_Compatibility_Ideographs[] = {0xf900,0xfaff};
static const uint32_t chars_Alphabetic_Presentation_Forms[] = {0xfb00,0xfb4f};
static const uint32_t chars_Arabic_Presentation_Forms_A[] = {0xfb50,0xfdff};
static const uint32_t chars_Variation_Selectors[] = {0xfe00,0xfe0f};
static const uint32_t chars_Vertical_Forms[] = {0xfe10,0xfe1f};
static const uint32_t chars_Combining_Half_Marks[] = {0xfe20,0xfe2f};
static const uint32_t chars_CJK_Compatibility_Forms[] = {0xfe30,0xfe4f};
static const uint32_t chars_Small_Form_Variants[] = {0xfe50,0xfe6f};
static const uint32_t chars_Arabic_Presentation_Forms_B[] = {0xfe70,0xfeff};
static const uint32_t chars_Halfwidth_and_Fullwidth_Forms[] = {0xff00,0xffef};
static const uint32_t chars_Specials[] = {0xfff0,0xffff};
static const uint32_t chars_Linear_B_Syllabary[] = {0x10000,0x1007f};
static const uint32_t chars_Linear_B_Ideograms[] = {0x10080,0x100ff};
static const uint32_t chars_Aegean_Numbers[] = {0x10100,0x1013f};
static const uint32_t chars_Ancient_Greek_Numbers[] = {0x10140,0x1018f};
static const uint32_t chars_Ancient_Symbols[] = {0x10190,0x101cf};
static const uint32_t chars_Phaistos_Disc[] = {0x101d0,0x101ff};
static const uint32_t chars_Lycian[] = {0x10280,0x1029f};
static const uint32_t chars_Carian[] = {0x102a0,0x102df};
static const uint32_t chars_Coptic_Epact_Numbers[] = {0x102e0,0x102ff};
static const uint32_t chars_Old_Italic[] = {0x10300,0x1032f};
static const uint32_t chars_Gothic[] = {0x10330,0x1034f};
static const uint32_t chars_Old_Permic[] = {0x10350,0x1037f};
static const uint32_t chars_Ugaritic[] = {0x10380,0x1039f};
static const uint32_t chars_Old_Persian[] = {0x103a0,0x103df};
static const uint32_t chars_Deseret[] = {0x10400,0x1044f};
static const uint32_t chars_Shavian[] = {0x10450,0x1047f};
static const uint32_t chars_Osmanya[] = {0x10480,0x104af};
static const uint32_t chars_Osage[] = {0x104b0,0x104ff};
static const uint32_t chars_Elbasan[] = {0x10500,0x1052f};
static const uint32_t chars_Caucasian_Albanian[] = {0x10530,0x1056f};
static const uint32_t chars_Vithkuqi[] = {0x10570,0x105bf};
static const uint32_t chars_Todhri[] = {0x105c0,0x105ff};
static const uint32_t chars_Linear_A[] = {0x10600,0x1077f};
static const uint32_t chars_Latin_Extended_F[] = {0x10780,0x107bf};
static const uint32_t chars_Cypriot_Syllabary[] = {0x10800,0x1083f};
static const uint32_t chars_Imperial_Aramaic[] = {0x10840,0x1085f};
static const uint32_t chars_Palmyrene[] = {0x10860,0x1087f};
static const uint32_t chars_Nabataean[] = {0x10880,0x108af};
static const uint32_t chars_Hatran[] = {0x108e0,0x108ff};
static const uint32_t chars_Phoenician[] = {0x10900,0x1091f};
static const uint32_t chars_Lydian[] = {0x10920,0x1093f};
static const uint32_t chars_Sidetic[] = {0x10940,0x1095f};
static const uint32_t chars_Meroitic_Hieroglyphs[] = {0x10980,0x1099f};
static const uint32_t chars_Meroitic_Cursive[] = {0x109a0,0x109ff};
static const uint32_t chars_Kharoshthi[] = {0x10a00,0x10a5f};
static const uint32_t chars_Old_South_Arabian[] = {0x10a60,0x10a7f};
static const uint32_t chars_Old_North_Arabian[] = {0x10a80,0x10a9f};
static const uint32_t chars_Manichaean[] = {0x10ac0,0x10aff};
static const uint32_t chars_Avestan[] = {0x10b00,0x10b3f};
static const uint32_t chars_Inscriptional_Parthian[] = {0x10b40,0x10b5f};
static const uint32_t chars_Inscriptional_Pahlavi[] = {0x10b60,0x10b7f};
static const uint32_t chars_Psalter_Pahlavi[] = {0x10b80,0x10baf};
static const uint32_t chars_Old_Turkic[] = {0x10c00,0x10c4f};
static const uint32_t chars_Old_Hungarian[] = {0x10c80,0x10cff};
static const uint32_t chars_Hanifi_Rohingya[] = {0x10d00,0x10d3f};
static const uint32_t chars_Garay[] = {0x10d40,0x10d8f};
static const uint32_t chars_Rumi_Numeral_Symbols[] = {0x10e60,0x10e7f};
static const uint32_t chars_Yezidi[] = {0x10e80,0x10ebf};
static const uint32_t chars_Arabic_Extended_C[] = {0x10ec0,0x10eff};
static const uint32_t chars_Old_Sogdian[] = {0x10f00,0x10f2f};
static const uint32_t chars_Sogdian[] = {0x10f30,0x10f6f};
static const uint32_t chars_Old_Uyghur[] = {0x10f70,0x10faf};
static const uint32_t chars_Chorasmian[] = {0x10fb0,0x10fdf};
static const uint32_t chars_Elymaic[] = {0x10fe0,0x10fff};
static const uint32_t chars_Brahmi[] = {0x11000,0x1107f};
static const uint32_t chars_Kaithi[] = {0x11080,0x110cf};
static const uint32_t chars_Sora_Sompeng[] = {0x110d0,0x110ff};
static const uint32_t chars_Chakma[] = {0x11100,0x1114f};
static const uint32_t chars_Mahajani[] = {0x11150,0x1117f};
static const uint32_t chars_Sharada[] = {0x11180,0x111df};
static const uint32_t chars_Sinhala_Archaic_Numbers[] = {0x111e0,0x111ff};
static const uint32_t chars_Khojki[] = {0x11200,0x1124f};
static const uint32_t chars_Multani[] = {0x11280,0x112af};
static const uint32_t chars_Khudawadi[] = {0x112b0,0x112ff};
static const uint32_t chars_Grantha[] = {0x11300,0x1137f};
static const uint32_t chars_Tulu_Tigalari[] = {0x11380,0x113ff};
static const uint32_t chars_Newa[] = {0x11400,0x1147f};
static const uint32_t chars_Tirhuta[] = {0x11480,0x114df};
static const uint32_t chars_Siddham[] = {0x11580,0x115ff};
static const uint32_t chars_Modi[] = {0x11600,0x1165f};
static const uint32_t chars_Mongolian_Supplement[] = {0x11660,0x1167f};
static const uint32_t chars_Takri[] = {0x11680,0x116cf};
static const uint32_t chars_Myanmar_Extended_C[] = {0x116d0,0x116ff};
static const uint32_t chars_Ahom[] = {0x11700,0x1174f};
static const uint32_t chars_Dogra[] = {0x11800,0x1184f};
static const uint32_t chars_Warang_Citi[] = {0x118a0,0x118ff};
static const uint32_t chars_Dives_Akuru[] = {0x11900,0x1195f};
static const uint32_t chars_Nandinagari[] = {0x119a0,0x119ff};
static const uint32_t chars_Zanabazar_Square[] = {0x11a00,0x11a4f};
static const uint32_t chars_Soyombo[] = {0x11a50,0x11aaf};
static const uint32_t chars_Unified_Canadian_Aboriginal_Syllabics_Extended_A[] = {0x11ab0,0x11abf};
static const uint32_t chars_Pau_Cin_Hau[] = {0x11ac0,0x11aff};
static const uint32_t chars_Devanagari_Extended_A[] = {0x11b00,0x11b5f};
static const uint32_t chars_Sharada_Supplement[] = {0x11b60,0x11b7f};
static const uint32_t chars_Sunuwar[] = {0x11bc0,0x11bff};
static const uint32_t chars_Bhaiksuki[] = {0x11c00,0x11c6f};
static const uint32_t chars_Marchen[] = {0x11c70,0x11cbf};
static const uint32_t chars_Masaram_Gondi[] = {0x11d00,0x11d5f};
static const uint32_t chars_Gunjala_Gondi[] = {0x11d60,0x11daf};
static const uint32_t chars_Tolong_Siki[] = {0x11db0,0x11def};
static const uint32_t chars_Makasar[] = {0x11ee0,0x11eff};
static const uint32_t chars_Kawi[] = {0x11f00,0x11f5f};
static const uint32_t chars_Lisu_Supplement[] = {0x11fb0,0x11fbf};
static const uint32_t chars_Tamil_Supplement[] = {0x11fc0,0x11fff};
static const uint32_t chars_Cuneiform[] = {0x12000,0x123ff};
static const uint32_t chars_Cuneiform_Numbers_and_Punctuation[] = {0x12400,0x1247f};
static const uint32_t chars_Early_Dynastic_Cuneiform[] = {0x12480,0x1254f};
static const uint32_t chars_Cypro_Minoan[] = {0x12f90,0x12fff};
static const uint32_t chars_Egyptian_Hieroglyphs[] = {0x13000,0x1342f};
static const uint32_t chars_Egyptian_Hieroglyph_Format_Controls[] = {0x13430,0x1345f};
static const uint32_t chars_Egyptian_Hieroglyphs_Extended_A[] = {0x13460,0x143ff};
static const uint32_t chars_Anatolian_Hieroglyphs[] = {0x14400,0x1467f};
static const uint32_t chars_Gurung_Khema[] = {0x16100,0x1613f};
static const uint32_t chars_Bamum_Supplement[] = {0x16800,0x16a3f};
static const uint32_t chars_Mro[] = {0x16a40,0x16a6f};
static const uint32_t chars_Tangsa[] = {0x16a70,0x16acf};
static const uint32_t chars_Bassa_Vah[] = {0x16ad0,0x16aff};
static const uint32_t chars_Pahawh_Hmong[] = {0x16b00,0x16b8f};
static const uint32_t chars_Kirat_Rai[] = {0x16d40,0x16d7f};
static const uint32_t chars_Medefaidrin[] = {0x16e40,0x16e9f};
static const uint32_t chars_Beria_Erfe[] = {0x16ea0,0x16edf};
static const uint32_t chars_Miao[] = {0x16f00,0x16f9f};
static const uint32_t chars_Ideographic_Symbols_and_Punctuation[] = {0x16fe0,0x16fff};
static const uint32_t chars_Tangut[] = {0x17000,0x187ff};
static const uint32_t chars_Tangut_Components[] = {0x18800,0x18aff};
static const uint32_t chars_Khitan_Small_Script[] = {0x18b00,0x18cff};
static const uint32_t chars_Tangut_Supplement[] = {0x18d00,0x18d7f};
static const uint32_t chars_Tangut_Components_Supplement[] = {0x18d80,0x18dff};
static const uint32_t chars_Kana_Extended_B[] = {0x1aff0,0x1afff};
static const uint32_t chars_Kana_Supplement[] = {0x1b000,0x1b0ff};
static const uint32_t chars_Kana_Extended_A[] = {0x1b100,0x1b12f};
static const uint32_t chars_Small_Kana_Extension[] = {0x1b130,0x1b16f};
static const uint32_t chars_Nushu[] = {0x1b170,0x1b2ff};
static const uint32_t chars_Duployan[] = {0x1bc00,0x1bc9f};
static const uint32_t chars_Shorthand_Format_Controls[] = {0x1bca0,0x1bcaf};
static const uint32_t chars_Symbols_for_Legacy_Computing_Supplement[] = {0x1cc00,0x1cebf};
static const uint32_t chars_Miscellaneous_Symbols_Supplement[] = {0x1cec0,0x1ceff};
static const uint32_t chars_Znamenny_Musical_Notation[] = {0x1cf00,0x1cfcf};
static const uint32_t chars_Byzantine_Musical_Symbols[] = {0x1d000,0x1d0ff};
static const uint32_t chars_Musical_Symbols[] = {0x1d100,0x1d1ff};
static const uint32_t chars_Ancient_Greek_Musical_Notation[] = {0x1d200,0x1d24f};
static const uint32_t chars_Kaktovik_Numerals[] = {0x1d2c0,0x1d2df};
static const uint32_t chars_Mayan_Numerals[] = {0x1d2e0,0x1d2ff};
static const uint32_t chars_Tai_Xuan_Jing_Symbols[] = {0x1d300,0x1d35f};
static const uint32_t chars_Counting_Rod_Numerals[] = {0x1d360,0x1d37f};
static const uint32_t chars_Mathematical_Alphanumeric_Symbols[] = {0x1d400,0x1d7ff};
static const uint32_t chars_Sutton_SignWriting[] = {0x1d800,0x1daaf};
static const uint32_t chars_Latin_Extended_G[] = {0x1df00,0x1dfff};
static const uint32_t chars_Glagolitic_Supplement[] = {0x1e000,0x1e02f};
static const uint32_t chars_Cyrillic_Extended_D[] = {0x1e030,0x1e08f};
static const uint32_t chars_Nyiakeng_Puachue_Hmong[] = {0x1e100,0x1e14f};
static const uint32_t chars_Toto[] = {0x1e290,0x1e2bf};
static const uint32_t chars_Wancho[] = {0x1e2c0,0x1e2ff};
static const uint32_t chars_Nag_Mundari[] = {0x1e4d0,0x1e4ff};
static const uint32_t chars_Ol_Onal[] = {0x1e5d0,0x1e5ff};
static const uint32_t chars_Tai_Yo[] = {0x1e6c0,0x1e6ff};
static const uint32_t chars_Ethiopic_Extended_B[] = {0x1e7e0,0x1e7ff};
static const uint32_t chars_Mende_Kikakui[] = {0x1e800,0x1e8df};
static const uint32_t chars_Adlam[] = {0x1e900,0x1e95f};
static const uint32_t chars_Indic_Siyaq_Numbers[] = {0x1ec70,0x1ecbf};
static const uint32_t chars_Ottoman_Siyaq_Numbers[] = {0x1ed00,0x1ed4f};
static const uint32_t chars_Arabic_Mathematical_Alphabetic_Symbols[] = {0x1ee00,0x1eeff};
static const uint32_t chars_Mahjong_Tiles[] = {0x1f000,0x1f02f};
static const uint32_t chars_Domino_Tiles[] = {0x1f030,0x1f09f};
static const uint32_t chars_Playing_Cards[] = {0x1f0a0,0x1f0ff};
static const uint32_t chars_Enclosed_Alphanumeric_Supplement[] = {0x1f100,0x1f1ff};
static const uint32_t chars_Enclosed_Ideographic_Supplement[] = {0x1f200,0x1f2ff};
static const uint32_t chars_Miscellaneous_Symbols_and_Pictographs[] = {0x1f300,0x1f5ff};
static const uint32_t chars_Emoticons[] = {0x1f600,0x1f64f};
static const uint32_t chars_Ornamental_Dingbats[] = {0x1f650,0x1f67f};
static const uint32_t chars_Transport_and_Map_Symbols[] = {0x1f680,0x1f6ff};
static const uint32_t chars_Alchemical_Symbols[] = {0x1f700,0x1f77f};
static const uint32_t chars_Geometric_Shapes_Extended[] = {0x1f780,0x1f7ff};
static const uint32_t chars_Supplemental_Arrows_C[] = {0x1f800,0x1f8ff};
static const uint32_t chars_Supplemental_Symbols_and_Pictographs[] = {0x1f900,0x1f9ff};
static const uint32_t chars_Chess_Symbols[] = {0x1fa00,0x1fa6f};
static const uint32_t chars_Symbols_and_Pictographs_Extended_A[] = {0x1fa70,0x1faff};
static const uint32_t chars_Symbols_for_Legacy_Computing[] = {0x1fb00,0x1fbff};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_B[] = {0x20000,0x2a6df};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_C[] = {0x2a700,0x2b73f};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_D[] = {0x2b740,0x2b81f};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_E[] = {0x2b820,0x2ceaf};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_F[] = {0x2ceb0,0x2ebef};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_I[] = {0x2ebf0,0x2ee5f};
static const uint32_t chars_CJK_Compatibility_Ideographs_Supplement[] = {0x2f800,0x2fa1f};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_G[] = {0x30000,0x3134f};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_H[] = {0x31350,0x323af};
static const uint32_t chars_CJK_Unified_Ideographs_Extension_J[] = {0x323b0,0x3347f};
static const uint32_t chars_Tags[] = {0xe0000,0xe007f};
static const uint32_t chars_Variation_Selectors_Supplement[] = {0xe0100,0xe01ef};
static const uint32_t chars_Supplementary_Private_Use_Area_A[] = {0xf0000,0xfffff};
static const uint32_t chars_Supplementary_Private_Use_Area_B[] = {0x100000,0x10ffff};

static uint32_t encode_utf8(uint32_t first, uint32_t last, uint8_t* s) {
	uint8_t* const s0 = s;
	for (uint32_t i = first; i <= last; ++i) s += re2c::utf8::rune_to_bytes(s, i);
	for (uint32_t i = 0; i < 6; ++i) *s++ = (first == 0) ? 0xFF : 0;
	return s - s0;
}

int main() {
	YYCTYPE *buffer_Basic_Latin = new YYCTYPE[774];
	uint32_t buffer_Basic_Latin_len = encode_utf8(chars_Basic_Latin[0], chars_Basic_Latin[1], buffer_Basic_Latin) - 6;
	if (scan(buffer_Basic_Latin, buffer_Basic_Latin + buffer_Basic_Latin_len, Basic_Latin) != Basic_Latin)
		printf("test 'Basic_Latin' failed\n");
	delete[] buffer_Basic_Latin;

	YYCTYPE *buffer_Latin_1_Supplement = new YYCTYPE[774];
	uint32_t buffer_Latin_1_Supplement_len = encode_utf8(chars_Latin_1_Supplement[0], chars_Latin_1_Supplement[1], buffer_Latin_1_Supplement) - 6;
	if (scan(buffer_Latin_1_Supplement, buffer_Latin_1_Supplement + buffer_Latin_1_Supplement_len, Latin_1_Supplement) != Latin_1_Supplement)
		printf("test 'Latin_1_Supplement' failed\n");
	delete[] buffer_Latin_1_Supplement;

	YYCTYPE *buffer_Latin_Extended_A = new YYCTYPE[774];
	uint32_t buffer_Latin_Extended_A_len = encode_utf8(chars_Latin_Extended_A[0], chars_Latin_Extended_A[1], buffer_Latin_Extended_A) - 6;
	if (scan(buffer_Latin_Extended_A, buffer_Latin_Extended_A + buffer_Latin_Extended_A_len, Latin_Extended_A) != Latin_Extended_A)
		printf("test 'Latin_Extended_A' failed\n");
	delete[] buffer_Latin_Extended_A;

	YYCTYPE *buffer_Latin_Extended_B = new YYCTYPE[1254];
	uint32_t buffer_Latin_Extended_B_len = encode_utf8(chars_Latin_Extended_B[0], chars_Latin_Extended_B[1], buffer_Latin_Extended_B) - 6;
	if (scan(buffer_Latin_Extended_B, buffer_Latin_Extended_B + buffer_Latin_Extended_B_len, Latin_Extended_B) != Latin_Extended_B)
		printf("test 'Latin_Extended_B' failed\n");
	delete[] buffer_Latin_Extended_B;

	YYCTYPE *buffer_IPA_Extensions = new YYCTYPE[582];
	uint32_t buffer_IPA_Extensions_len = encode_utf8(chars_IPA_Extensions[0], chars_IPA_Extensions[1], buffer_IPA_Extensions) - 6;
	if (scan(buffer_IPA_Extensions, buffer_IPA_Extensions + buffer_IPA_Extensions_len, IPA_Extensions) != IPA_Extensions)
		printf("test 'IPA_Extensions' failed\n");
	delete[] buffer_IPA_Extensions;

	YYCTYPE *buffer_Spacing_Modifier_Letters = new YYCTYPE[486];
	uint32_t buffer_Spacing_Modifier_Letters_len = encode_utf8(chars_Spacing_Modifier_Letters[0], chars_Spacing_Modifier_Letters[1], buffer_Spacing_Modifier_Letters) - 6;
	if (scan(buffer_Spacing_Modifier_Letters, buffer_Spacing_Modifier_Letters + buffer_Spacing_Modifier_Letters_len, Spacing_Modifier_Letters) != Spacing_Modifier_Letters)
		printf("test 'Spacing_Modifier_Letters' failed\n");
	delete[] buffer_Spacing_Modifier_Letters;

	YYCTYPE *buffer_Combining_Diacritical_Marks = new YYCTYPE[678];
	uint32_t buffer_Combining_Diacritical_Marks_len = encode_utf8(chars_Combining_Diacritical_Marks[0], chars_Combining_Diacritical_Marks[1], buffer_Combining_Diacritical_Marks) - 6;
	if (scan(buffer_Combining_Diacritical_Marks, buffer_Combining_Diacritical_Marks + buffer_Combining_Diacritical_Marks_len, Combining_Diacritical_Marks) != Combining_Diacritical_Marks)
		printf("test 'Combining_Diacritical_Marks' failed\n");
	delete[] buffer_Combining_Diacritical_Marks;

	YYCTYPE *buffer_Greek_and_Coptic = new YYCTYPE[870];
	uint32_t buffer_Greek_and_Coptic_len = encode_utf8(chars_Greek_and_Coptic[0], chars_Greek_and_Coptic[1], buffer_Greek_and_Coptic) - 6;
	if (scan(buffer_Greek_and_Coptic, buffer_Greek_and_Coptic + buffer_Greek_and_Coptic_len, Greek_and_Coptic) != Greek_and_Coptic)
		printf("test 'Greek_and_Coptic' failed\n");
	delete[] buffer_Greek_and_Coptic;

	YYCTYPE *buffer_Cyrillic = new YYCTYPE[1542];
	uint32_t buffer_Cyrillic_len = encode_utf8(chars_Cyrillic[0], chars_Cyrillic[1], buffer_Cyrillic) - 6;
	if (scan(buffer_Cyrillic, buffer_Cyrillic + buffer_Cyrillic_len, Cyrillic) != Cyrillic)
		printf("test 'Cyrillic' failed\n");
	delete[] buffer_Cyrillic;

	YYCTYPE *buffer_Cyrillic_Supplement = new YYCTYPE[294];
	uint32_t buffer_Cyrillic_Supplement_len = encode_utf8(chars_Cyrillic_Supplement[0], chars_Cyrillic_Supplement[1], buffer_Cyrillic_Supplement) - 6;
	if (scan(buffer_Cyrillic_Supplement, buffer_Cyrillic_Supplement + buffer_Cyrillic_Supplement_len, Cyrillic_Supplement) != Cyrillic_Supplement)
		printf("test 'Cyrillic_Supplement' failed\n");
	delete[] buffer_Cyrillic_Supplement;

	YYCTYPE *buffer_Armenian = new YYCTYPE[582];
	uint32_t buffer_Armenian_len = encode_utf8(chars_Armenian[0], chars_Armenian[1], buffer_Armenian) - 6;
	if (scan(buffer_Armenian, buffer_Armenian + buffer_Armenian_len, Armenian) != Armenian)
		printf("test 'Armenian' failed\n");
	delete[] buffer_Armenian;

	YYCTYPE *buffer_Hebrew = new YYCTYPE[678];
	uint32_t buffer_Hebrew_len = encode_utf8(chars_Hebrew[0], chars_Hebrew[1], buffer_Hebrew) - 6;
	if (scan(buffer_Hebrew, buffer_Hebrew + buffer_Hebrew_len, Hebrew) != Hebrew)
		printf("test 'Hebrew' failed\n");
	delete[] buffer_Hebrew;

	YYCTYPE *buffer_Arabic = new YYCTYPE[1542];
	uint32_t buffer_Arabic_len = encode_utf8(chars_Arabic[0], chars_Arabic[1], buffer_Arabic) - 6;
	if (scan(buffer_Arabic, buffer_Arabic + buffer_Arabic_len, Arabic) != Arabic)
		printf("test 'Arabic' failed\n");
	delete[] buffer_Arabic;

	YYCTYPE *buffer_Syriac = new YYCTYPE[486];
	uint32_t buffer_Syriac_len = encode_utf8(chars_Syriac[0], chars_Syriac[1], buffer_Syriac) - 6;
	if (scan(buffer_Syriac, buffer_Syriac + buffer_Syriac_len, Syriac) != Syriac)
		printf("test 'Syriac' failed\n");
	delete[] buffer_Syriac;

	YYCTYPE *buffer_Arabic_Supplement = new YYCTYPE[294];
	uint32_t buffer_Arabic_Supplement_len = encode_utf8(chars_Arabic_Supplement[0], chars_Arabic_Supplement[1], buffer_Arabic_Supplement) - 6;
	if (scan(buffer_Arabic_Supplement, buffer_Arabic_Supplement + buffer_Arabic_Supplement_len, Arabic_Supplement) != Arabic_Supplement)
		printf("test 'Arabic_Supplement' failed\n");
	delete[] buffer_Arabic_Supplement;

	YYCTYPE *buffer_Thaana = new YYCTYPE[390];
	uint32_t buffer_Thaana_len = encode_utf8(chars_Thaana[0], chars_Thaana[1], buffer_Thaana) - 6;
	if (scan(buffer_Thaana, buffer_Thaana + buffer_Thaana_len, Thaana) != Thaana)
		printf("test 'Thaana' failed\n");
	delete[] buffer_Thaana;

	YYCTYPE *buffer_NKo = new YYCTYPE[390];
	uint32_t buffer_NKo_len = encode_utf8(chars_NKo[0], chars_NKo[1], buffer_NKo) - 6;
	if (scan(buffer_NKo, buffer_NKo + buffer_NKo_len, NKo) != NKo)
		printf("test 'NKo' failed\n");
	delete[] buffer_NKo;

	YYCTYPE *buffer_Samaritan = new YYCTYPE[390];
	uint32_t buffer_Samaritan_len = encode_utf8(chars_Samaritan[0], chars_Samaritan[1], buffer_Samaritan) - 6;
	if (scan(buffer_Samaritan, buffer_Samaritan + buffer_Samaritan_len, Samaritan) != Samaritan)
		printf("test 'Samaritan' failed\n");
	delete[] buffer_Samaritan;

	YYCTYPE *buffer_Mandaic = new YYCTYPE[198];
	uint32_t buffer_Mandaic_len = encode_utf8(chars_Mandaic[0], chars_Mandaic[1], buffer_Mandaic) - 6;
	if (scan(buffer_Mandaic, buffer_Mandaic + buffer_Mandaic_len, Mandaic) != Mandaic)
		printf("test 'Mandaic' failed\n");
	delete[] buffer_Mandaic;

	YYCTYPE *buffer_Syriac_Supplement = new YYCTYPE[102];
	uint32_t buffer_Syriac_Supplement_len = encode_utf8(chars_Syriac_Supplement[0], chars_Syriac_Supplement[1], buffer_Syriac_Supplement) - 6;
	if (scan(buffer_Syriac_Supplement, buffer_Syriac_Supplement + buffer_Syriac_Supplement_len, Syriac_Supplement) != Syriac_Supplement)
		printf("test 'Syriac_Supplement' failed\n");
	delete[] buffer_Syriac_Supplement;

	YYCTYPE *buffer_Arabic_Extended_B = new YYCTYPE[294];
	uint32_t buffer_Arabic_Extended_B_len = encode_utf8(chars_Arabic_Extended_B[0], chars_Arabic_Extended_B[1], buffer_Arabic_Extended_B) - 6;
	if (scan(buffer_Arabic_Extended_B, buffer_Arabic_Extended_B + buffer_Arabic_Extended_B_len, Arabic_Extended_B) != Arabic_Extended_B)
		printf("test 'Arabic_Extended_B' failed\n");
	delete[] buffer_Arabic_Extended_B;

	YYCTYPE *buffer_Arabic_Extended_A = new YYCTYPE[582];
	uint32_t buffer_Arabic_Extended_A_len = encode_utf8(chars_Arabic_Extended_A[0], chars_Arabic_Extended_A[1], buffer_Arabic_Extended_A) - 6;
	if (scan(buffer_Arabic_Extended_A, buffer_Arabic_Extended_A + buffer_Arabic_Extended_A_len, Arabic_Extended_A) != Arabic_Extended_A)
		printf("test 'Arabic_Extended_A' failed\n");
	delete[] buffer_Arabic_Extended_A;

	YYCTYPE *buffer_Devanagari = new YYCTYPE[774];
	uint32_t buffer_Devanagari_len = encode_utf8(chars_Devanagari[0], chars_Devanagari[1], buffer_Devanagari) - 6;
	if (scan(buffer_Devanagari, buffer_Devanagari + buffer_Devanagari_len, Devanagari) != Devanagari)
		printf("test 'Devanagari' failed\n");
	delete[] buffer_Devanagari;

	YYCTYPE *buffer_Bengali = new YYCTYPE[774];
	uint32_t buffer_Bengali_len = encode_utf8(chars_Bengali[0], chars_Bengali[1], buffer_Bengali) - 6;
	if (scan(buffer_Bengali, buffer_Bengali + buffer_Bengali_len, Bengali) != Bengali)
		printf("test 'Bengali' failed\n");
	delete[] buffer_Bengali;

	YYCTYPE *buffer_Gurmukhi = new YYCTYPE[774];
	uint32_t buffer_Gurmukhi_len = encode_utf8(chars_Gurmukhi[0], chars_Gurmukhi[1], buffer_Gurmukhi) - 6;
	if (scan(buffer_Gurmukhi, buffer_Gurmukhi + buffer_Gurmukhi_len, Gurmukhi) != Gurmukhi)
		printf("test 'Gurmukhi' failed\n");
	delete[] buffer_Gurmukhi;

	YYCTYPE *buffer_Gujarati = new YYCTYPE[774];
	uint32_t buffer_Gujarati_len = encode_utf8(chars_Gujarati[0], chars_Gujarati[1], buffer_Gujarati) - 6;
	if (scan(buffer_Gujarati, buffer_Gujarati + buffer_Gujarati_len, Gujarati) != Gujarati)
		printf("test 'Gujarati' failed\n");
	delete[] buffer_Gujarati;

	YYCTYPE *buffer_Oriya = new YYCTYPE[774];
	uint32_t buffer_Oriya_len = encode_utf8(chars_Oriya[0], chars_Oriya[1], buffer_Oriya) - 6;
	if (scan(buffer_Oriya, buffer_Oriya + buffer_Oriya_len, Oriya) != Oriya)
		printf("test 'Oriya' failed\n");
	delete[] buffer_Oriya;

	YYCTYPE *buffer_Tamil = new YYCTYPE[774];
	uint32_t buffer_Tamil_len = encode_utf8(chars_Tamil[0], chars_Tamil[1], buffer_Tamil) - 6;
	if (scan(buffer_Tamil, buffer_Tamil + buffer_Tamil_len, Tamil) != Tamil)
		printf("test 'Tamil' failed\n");
	delete[] buffer_Tamil;

	YYCTYPE *buffer_Telugu = new YYCTYPE[774];
	uint32_t buffer_Telugu_len = encode_utf8(chars_Telugu[0], chars_Telugu[1], buffer_Telugu) - 6;
	if (scan(buffer_Telugu, buffer_Telugu + buffer_Telugu_len, Telugu) != Telugu)
		printf("test 'Telugu' failed\n");
	delete[] buffer_Telugu;

	YYCTYPE *buffer_Kannada = new YYCTYPE[774];
	uint32_t buffer_Kannada_len = encode_utf8(chars_Kannada[0], chars_Kannada[1], buffer_Kannada) - 6;
	if (scan(buffer_Kannada, buffer_Kannada + buffer_Kannada_len, Kannada) != Kannada)
		printf("test 'Kannada' failed\n");
	delete[] buffer_Kannada;

	YYCTYPE *buffer_Malayalam = new YYCTYPE[774];
	uint32_t buffer_Malayalam_len = encode_utf8(chars_Malayalam[0], chars_Malayalam[1], buffer_Malayalam) - 6;
	if (scan(buffer_Malayalam, buffer_Malayalam + buffer_Malayalam_len, Malayalam) != Malayalam)
		printf("test 'Malayalam' failed\n");
	delete[] buffer_Malayalam;

	YYCTYPE *buffer_Sinhala = new YYCTYPE[774];
	uint32_t buffer_Sinhala_len = encode_utf8(chars_Sinhala[0], chars_Sinhala[1], buffer_Sinhala) - 6;
	if (scan(buffer_Sinhala, buffer_Sinhala + buffer_Sinhala_len, Sinhala) != Sinhala)
		printf("test 'Sinhala' failed\n");
	delete[] buffer_Sinhala;

	YYCTYPE *buffer_Thai = new YYCTYPE[774];
	uint32_t buffer_Thai_len = encode_utf8(chars_Thai[0], chars_Thai[1], buffer_Thai) - 6;
	if (scan(buffer_Thai, buffer_Thai + buffer_Thai_len, Thai) != Thai)
		printf("test 'Thai' failed\n");
	delete[] buffer_Thai;

	YYCTYPE *buffer_Lao = new YYCTYPE[774];
	uint32_t buffer_Lao_len = encode_utf8(chars_Lao[0], chars_Lao[1], buffer_Lao) - 6;
	if (scan(buffer_Lao, buffer_Lao + buffer_Lao_len, Lao) != Lao)
		printf("test 'Lao' failed\n");
	delete[] buffer_Lao;

	YYCTYPE *buffer_Tibetan = new YYCTYPE[1542];
	uint32_t buffer_Tibetan_len = encode_utf8(chars_Tibetan[0], chars_Tibetan[1], buffer_Tibetan) - 6;
	if (scan(buffer_Tibetan, buffer_Tibetan + buffer_Tibetan_len, Tibetan) != Tibetan)
		printf("test 'Tibetan' failed\n");
	delete[] buffer_Tibetan;

	YYCTYPE *buffer_Myanmar = new YYCTYPE[966];
	uint32_t buffer_Myanmar_len = encode_utf8(chars_Myanmar[0], chars_Myanmar[1], buffer_Myanmar) - 6;
	if (scan(buffer_Myanmar, buffer_Myanmar + buffer_Myanmar_len, Myanmar) != Myanmar)
		printf("test 'Myanmar' failed\n");
	delete[] buffer_Myanmar;

	YYCTYPE *buffer_Georgian = new YYCTYPE[582];
	uint32_t buffer_Georgian_len = encode_utf8(chars_Georgian[0], chars_Georgian[1], buffer_Georgian) - 6;
	if (scan(buffer_Georgian, buffer_Georgian + buffer_Georgian_len, Georgian) != Georgian)
		printf("test 'Georgian' failed\n");
	delete[] buffer_Georgian;

	YYCTYPE *buffer_Hangul_Jamo = new YYCTYPE[1542];
	uint32_t buffer_Hangul_Jamo_len = encode_utf8(chars_Hangul_Jamo[0], chars_Hangul_Jamo[1], buffer_Hangul_Jamo) - 6;
	if (scan(buffer_Hangul_Jamo, buffer_Hangul_Jamo + buffer_Hangul_Jamo_len, Hangul_Jamo) != Hangul_Jamo)
		printf("test 'Hangul_Jamo' failed\n");
	delete[] buffer_Hangul_Jamo;

	YYCTYPE *buffer_Ethiopic = new YYCTYPE[2310];
	uint32_t buffer_Ethiopic_len = encode_utf8(chars_Ethiopic[0], chars_Ethiopic[1], buffer_Ethiopic) - 6;
	if (scan(buffer_Ethiopic, buffer_Ethiopic + buffer_Ethiopic_len, Ethiopic) != Ethiopic)
		printf("test 'Ethiopic' failed\n");
	delete[] buffer_Ethiopic;

	YYCTYPE *buffer_Ethiopic_Supplement = new YYCTYPE[198];
	uint32_t buffer_Ethiopic_Supplement_len = encode_utf8(chars_Ethiopic_Supplement[0], chars_Ethiopic_Supplement[1], buffer_Ethiopic_Supplement) - 6;
	if (scan(buffer_Ethiopic_Supplement, buffer_Ethiopic_Supplement + buffer_Ethiopic_Supplement_len, Ethiopic_Supplement) != Ethiopic_Supplement)
		printf("test 'Ethiopic_Supplement' failed\n");
	delete[] buffer_Ethiopic_Supplement;

	YYCTYPE *buffer_Cherokee = new YYCTYPE[582];
	uint32_t buffer_Cherokee_len = encode_utf8(chars_Cherokee[0], chars_Cherokee[1], buffer_Cherokee) - 6;
	if (scan(buffer_Cherokee, buffer_Cherokee + buffer_Cherokee_len, Cherokee) != Cherokee)
		printf("test 'Cherokee' failed\n");
	delete[] buffer_Cherokee;

	YYCTYPE *buffer_Unified_Canadian_Aboriginal_Syllabics = new YYCTYPE[3846];
	uint32_t buffer_Unified_Canadian_Aboriginal_Syllabics_len = encode_utf8(chars_Unified_Canadian_Aboriginal_Syllabics[0], chars_Unified_Canadian_Aboriginal_Syllabics[1], buffer_Unified_Canadian_Aboriginal_Syllabics) - 6;
	if (scan(buffer_Unified_Canadian_Aboriginal_Syllabics, buffer_Unified_Canadian_Aboriginal_Syllabics + buffer_Unified_Canadian_Aboriginal_Syllabics_len, Unified_Canadian_Aboriginal_Syllabics) != Unified_Canadian_Aboriginal_Syllabics)
		printf("test 'Unified_Canadian_Aboriginal_Syllabics' failed\n");
	delete[] buffer_Unified_Canadian_Aboriginal_Syllabics;

	YYCTYPE *buffer_Ogham = new YYCTYPE[198];
	uint32_t buffer_Ogham_len = encode_utf8(chars_Ogham[0], chars_Ogham[1], buffer_Ogham) - 6;
	if (scan(buffer_Ogham, buffer_Ogham + buffer_Ogham_len, Ogham) != Ogham)
		printf("test 'Ogham' failed\n");
	delete[] buffer_Ogham;

	YYCTYPE *buffer_Runic = new YYCTYPE[582];
	uint32_t buffer_Runic_len = encode_utf8(chars_Runic[0], chars_Runic[1], buffer_Runic) - 6;
	if (scan(buffer_Runic, buffer_Runic + buffer_Runic_len, Runic) != Runic)
		printf("test 'Runic' failed\n");
	delete[] buffer_Runic;

	YYCTYPE *buffer_Tagalog = new YYCTYPE[198];
	uint32_t buffer_Tagalog_len = encode_utf8(chars_Tagalog[0], chars_Tagalog[1], buffer_Tagalog) - 6;
	if (scan(buffer_Tagalog, buffer_Tagalog + buffer_Tagalog_len, Tagalog) != Tagalog)
		printf("test 'Tagalog' failed\n");
	delete[] buffer_Tagalog;

	YYCTYPE *buffer_Hanunoo = new YYCTYPE[198];
	uint32_t buffer_Hanunoo_len = encode_utf8(chars_Hanunoo[0], chars_Hanunoo[1], buffer_Hanunoo) - 6;
	if (scan(buffer_Hanunoo, buffer_Hanunoo + buffer_Hanunoo_len, Hanunoo) != Hanunoo)
		printf("test 'Hanunoo' failed\n");
	delete[] buffer_Hanunoo;

	YYCTYPE *buffer_Buhid = new YYCTYPE[198];
	uint32_t buffer_Buhid_len = encode_utf8(chars_Buhid[0], chars_Buhid[1], buffer_Buhid) - 6;
	if (scan(buffer_Buhid, buffer_Buhid + buffer_Buhid_len, Buhid) != Buhid)
		printf("test 'Buhid' failed\n");
	delete[] buffer_Buhid;

	YYCTYPE *buffer_Tagbanwa = new YYCTYPE[198];
	uint32_t buffer_Tagbanwa_len = encode_utf8(chars_Tagbanwa[0], chars_Tagbanwa[1], buffer_Tagbanwa) - 6;
	if (scan(buffer_Tagbanwa, buffer_Tagbanwa + buffer_Tagbanwa_len, Tagbanwa) != Tagbanwa)
		printf("test 'Tagbanwa' failed\n");
	delete[] buffer_Tagbanwa;

	YYCTYPE *buffer_Khmer = new YYCTYPE[774];
	uint32_t buffer_Khmer_len = encode_utf8(chars_Khmer[0], chars_Khmer[1], buffer_Khmer) - 6;
	if (scan(buffer_Khmer, buffer_Khmer + buffer_Khmer_len, Khmer) != Khmer)
		printf("test 'Khmer' failed\n");
	delete[] buffer_Khmer;

	YYCTYPE *buffer_Mongolian = new YYCTYPE[1062];
	uint32_t buffer_Mongolian_len = encode_utf8(chars_Mongolian[0], chars_Mongolian[1], buffer_Mongolian) - 6;
	if (scan(buffer_Mongolian, buffer_Mongolian + buffer_Mongolian_len, Mongolian) != Mongolian)
		printf("test 'Mongolian' failed\n");
	delete[] buffer_Mongolian;

	YYCTYPE *buffer_Unified_Canadian_Aboriginal_Syllabics_Extended = new YYCTYPE[486];
	uint32_t buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_len = encode_utf8(chars_Unified_Canadian_Aboriginal_Syllabics_Extended[0], chars_Unified_Canadian_Aboriginal_Syllabics_Extended[1], buffer_Unified_Canadian_Aboriginal_Syllabics_Extended) - 6;
	if (scan(buffer_Unified_Canadian_Aboriginal_Syllabics_Extended, buffer_Unified_Canadian_Aboriginal_Syllabics_Extended + buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_len, Unified_Canadian_Aboriginal_Syllabics_Extended) != Unified_Canadian_Aboriginal_Syllabics_Extended)
		printf("test 'Unified_Canadian_Aboriginal_Syllabics_Extended' failed\n");
	delete[] buffer_Unified_Canadian_Aboriginal_Syllabics_Extended;

	YYCTYPE *buffer_Limbu = new YYCTYPE[486];
	uint32_t buffer_Limbu_len = encode_utf8(chars_Limbu[0], chars_Limbu[1], buffer_Limbu) - 6;
	if (scan(buffer_Limbu, buffer_Limbu + buffer_Limbu_len, Limbu) != Limbu)
		printf("test 'Limbu' failed\n");
	delete[] buffer_Limbu;

	YYCTYPE *buffer_Tai_Le = new YYCTYPE[294];
	uint32_t buffer_Tai_Le_len = encode_utf8(chars_Tai_Le[0], chars_Tai_Le[1], buffer_Tai_Le) - 6;
	if (scan(buffer_Tai_Le, buffer_Tai_Le + buffer_Tai_Le_len, Tai_Le) != Tai_Le)
		printf("test 'Tai_Le' failed\n");
	delete[] buffer_Tai_Le;

	YYCTYPE *buffer_New_Tai_Lue = new YYCTYPE[582];
	uint32_t buffer_New_Tai_Lue_len = encode_utf8(chars_New_Tai_Lue[0], chars_New_Tai_Lue[1], buffer_New_Tai_Lue) - 6;
	if (scan(buffer_New_Tai_Lue, buffer_New_Tai_Lue + buffer_New_Tai_Lue_len, New_Tai_Lue) != New_Tai_Lue)
		printf("test 'New_Tai_Lue' failed\n");
	delete[] buffer_New_Tai_Lue;

	YYCTYPE *buffer_Khmer_Symbols = new YYCTYPE[198];
	uint32_t buffer_Khmer_Symbols_len = encode_utf8(chars_Khmer_Symbols[0], chars_Khmer_Symbols[1], buffer_Khmer_Symbols) - 6;
	if (scan(buffer_Khmer_Symbols, buffer_Khmer_Symbols + buffer_Khmer_Symbols_len, Khmer_Symbols) != Khmer_Symbols)
		printf("test 'Khmer_Symbols' failed\n");
	delete[] buffer_Khmer_Symbols;

	YYCTYPE *buffer_Buginese = new YYCTYPE[198];
	uint32_t buffer_Buginese_len = encode_utf8(chars_Buginese[0], chars_Buginese[1], buffer_Buginese) - 6;
	if (scan(buffer_Buginese, buffer_Buginese + buffer_Buginese_len, Buginese) != Buginese)
		printf("test 'Buginese' failed\n");
	delete[] buffer_Buginese;

	YYCTYPE *buffer_Tai_Tham = new YYCTYPE[870];
	uint32_t buffer_Tai_Tham_len = encode_utf8(chars_Tai_Tham[0], chars_Tai_Tham[1], buffer_Tai_Tham) - 6;
	if (scan(buffer_Tai_Tham, buffer_Tai_Tham + buffer_Tai_Tham_len, Tai_Tham) != Tai_Tham)
		printf("test 'Tai_Tham' failed\n");
	delete[] buffer_Tai_Tham;

	YYCTYPE *buffer_Combining_Diacritical_Marks_Extended = new YYCTYPE[486];
	uint32_t buffer_Combining_Diacritical_Marks_Extended_len = encode_utf8(chars_Combining_Diacritical_Marks_Extended[0], chars_Combining_Diacritical_Marks_Extended[1], buffer_Combining_Diacritical_Marks_Extended) - 6;
	if (scan(buffer_Combining_Diacritical_Marks_Extended, buffer_Combining_Diacritical_Marks_Extended + buffer_Combining_Diacritical_Marks_Extended_len, Combining_Diacritical_Marks_Extended) != Combining_Diacritical_Marks_Extended)
		printf("test 'Combining_Diacritical_Marks_Extended' failed\n");
	delete[] buffer_Combining_Diacritical_Marks_Extended;

	YYCTYPE *buffer_Balinese = new YYCTYPE[774];
	uint32_t buffer_Balinese_len = encode_utf8(chars_Balinese[0], chars_Balinese[1], buffer_Balinese) - 6;
	if (scan(buffer_Balinese, buffer_Balinese + buffer_Balinese_len, Balinese) != Balinese)
		printf("test 'Balinese' failed\n");
	delete[] buffer_Balinese;

	YYCTYPE *buffer_Sundanese = new YYCTYPE[390];
	uint32_t buffer_Sundanese_len = encode_utf8(chars_Sundanese[0], chars_Sundanese[1], buffer_Sundanese) - 6;
	if (scan(buffer_Sundanese, buffer_Sundanese + buffer_Sundanese_len, Sundanese) != Sundanese)
		printf("test 'Sundanese' failed\n");
	delete[] buffer_Sundanese;

	YYCTYPE *buffer_Batak = new YYCTYPE[390];
	uint32_t buffer_Batak_len = encode_utf8(chars_Batak[0], chars_Batak[1], buffer_Batak) - 6;
	if (scan(buffer_Batak, buffer_Batak + buffer_Batak_len, Batak) != Batak)
		printf("test 'Batak' failed\n");
	delete[] buffer_Batak;

	YYCTYPE *buffer_Lepcha = new YYCTYPE[486];
	uint32_t buffer_Lepcha_len = encode_utf8(chars_Lepcha[0], chars_Lepcha[1], buffer_Lepcha) - 6;
	if (scan(buffer_Lepcha, buffer_Lepcha + buffer_Lepcha_len, Lepcha) != Lepcha)
		printf("test 'Lepcha' failed\n");
	delete[] buffer_Lepcha;

	YYCTYPE *buffer_Ol_Chiki = new YYCTYPE[294];
	uint32_t buffer_Ol_Chiki_len = encode_utf8(chars_Ol_Chiki[0], chars_Ol_Chiki[1], buffer_Ol_Chiki) - 6;
	if (scan(buffer_Ol_Chiki, buffer_Ol_Chiki + buffer_Ol_Chiki_len, Ol_Chiki) != Ol_Chiki)
		printf("test 'Ol_Chiki' failed\n");
	delete[] buffer_Ol_Chiki;

	YYCTYPE *buffer_Cyrillic_Extended_C = new YYCTYPE[102];
	uint32_t buffer_Cyrillic_Extended_C_len = encode_utf8(chars_Cyrillic_Extended_C[0], chars_Cyrillic_Extended_C[1], buffer_Cyrillic_Extended_C) - 6;
	if (scan(buffer_Cyrillic_Extended_C, buffer_Cyrillic_Extended_C + buffer_Cyrillic_Extended_C_len, Cyrillic_Extended_C) != Cyrillic_Extended_C)
		printf("test 'Cyrillic_Extended_C' failed\n");
	delete[] buffer_Cyrillic_Extended_C;

	YYCTYPE *buffer_Georgian_Extended = new YYCTYPE[294];
	uint32_t buffer_Georgian_Extended_len = encode_utf8(chars_Georgian_Extended[0], chars_Georgian_Extended[1], buffer_Georgian_Extended) - 6;
	if (scan(buffer_Georgian_Extended, buffer_Georgian_Extended + buffer_Georgian_Extended_len, Georgian_Extended) != Georgian_Extended)
		printf("test 'Georgian_Extended' failed\n");
	delete[] buffer_Georgian_Extended;

	YYCTYPE *buffer_Sundanese_Supplement = new YYCTYPE[102];
	uint32_t buffer_Sundanese_Supplement_len = encode_utf8(chars_Sundanese_Supplement[0], chars_Sundanese_Supplement[1], buffer_Sundanese_Supplement) - 6;
	if (scan(buffer_Sundanese_Supplement, buffer_Sundanese_Supplement + buffer_Sundanese_Supplement_len, Sundanese_Supplement) != Sundanese_Supplement)
		printf("test 'Sundanese_Supplement' failed\n");
	delete[] buffer_Sundanese_Supplement;

	YYCTYPE *buffer_Vedic_Extensions = new YYCTYPE[294];
	uint32_t buffer_Vedic_Extensions_len = encode_utf8(chars_Vedic_Extensions[0], chars_Vedic_Extensions[1], buffer_Vedic_Extensions) - 6;
	if (scan(buffer_Vedic_Extensions, buffer_Vedic_Extensions + buffer_Vedic_Extensions_len, Vedic_Extensions) != Vedic_Extensions)
		printf("test 'Vedic_Extensions' failed\n");
	delete[] buffer_Vedic_Extensions;

	YYCTYPE *buffer_Phonetic_Extensions = new YYCTYPE[774];
	uint32_t buffer_Phonetic_Extensions_len = encode_utf8(chars_Phonetic_Extensions[0], chars_Phonetic_Extensions[1], buffer_Phonetic_Extensions) - 6;
	if (scan(buffer_Phonetic_Extensions, buffer_Phonetic_Extensions + buffer_Phonetic_Extensions_len, Phonetic_Extensions) != Phonetic_Extensions)
		printf("test 'Phonetic_Extensions' failed\n");
	delete[] buffer_Phonetic_Extensions;

	YYCTYPE *buffer_Phonetic_Extensions_Supplement = new YYCTYPE[390];
	uint32_t buffer_Phonetic_Extensions_Supplement_len = encode_utf8(chars_Phonetic_Extensions_Supplement[0], chars_Phonetic_Extensions_Supplement[1], buffer_Phonetic_Extensions_Supplement) - 6;
	if (scan(buffer_Phonetic_Extensions_Supplement, buffer_Phonetic_Extensions_Supplement + buffer_Phonetic_Extensions_Supplement_len, Phonetic_Extensions_Supplement) != Phonetic_Extensions_Supplement)
		printf("test 'Phonetic_Extensions_Supplement' failed\n");
	delete[] buffer_Phonetic_Extensions_Supplement;

	YYCTYPE *buffer_Combining_Diacritical_Marks_Supplement = new YYCTYPE[390];
	uint32_t buffer_Combining_Diacritical_Marks_Supplement_len = encode_utf8(chars_Combining_Diacritical_Marks_Supplement[0], chars_Combining_Diacritical_Marks_Supplement[1], buffer_Combining_Diacritical_Marks_Supplement) - 6;
	if (scan(buffer_Combining_Diacritical_Marks_Supplement, buffer_Combining_Diacritical_Marks_Supplement + buffer_Combining_Diacritical_Marks_Supplement_len, Combining_Diacritical_Marks_Supplement) != Combining_Diacritical_Marks_Supplement)
		printf("test 'Combining_Diacritical_Marks_Supplement' failed\n");
	delete[] buffer_Combining_Diacritical_Marks_Supplement;

	YYCTYPE *buffer_Latin_Extended_Additional = new YYCTYPE[1542];
	uint32_t buffer_Latin_Extended_Additional_len = encode_utf8(chars_Latin_Extended_Additional[0], chars_Latin_Extended_Additional[1], buffer_Latin_Extended_Additional) - 6;
	if (scan(buffer_Latin_Extended_Additional, buffer_Latin_Extended_Additional + buffer_Latin_Extended_Additional_len, Latin_Extended_Additional) != Latin_Extended_Additional)
		printf("test 'Latin_Extended_Additional' failed\n");
	delete[] buffer_Latin_Extended_Additional;

	YYCTYPE *buffer_Greek_Extended = new YYCTYPE[1542];
	uint32_t buffer_Greek_Extended_len = encode_utf8(chars_Greek_Extended[0], chars_Greek_Extended[1], buffer_Greek_Extended) - 6;
	if (scan(buffer_Greek_Extended, buffer_Greek_Extended + buffer_Greek_Extended_len, Greek_Extended) != Greek_Extended)
		printf("test 'Greek_Extended' failed\n");
	delete[] buffer_Greek_Extended;

	YYCTYPE *buffer_General_Punctuation = new YYCTYPE[678];
	uint32_t buffer_General_Punctuation_len = encode_utf8(chars_General_Punctuation[0], chars_General_Punctuation[1], buffer_General_Punctuation) - 6;
	if (scan(buffer_General_Punctuation, buffer_General_Punctuation + buffer_General_Punctuation_len, General_Punctuation) != General_Punctuation)
		printf("test 'General_Punctuation' failed\n");
	delete[] buffer_General_Punctuation;

	YYCTYPE *buffer_Superscripts_and_Subscripts = new YYCTYPE[294];
	uint32_t buffer_Superscripts_and_Subscripts_len = encode_utf8(chars_Superscripts_and_Subscripts[0], chars_Superscripts_and_Subscripts[1], buffer_Superscripts_and_Subscripts) - 6;
	if (scan(buffer_Superscripts_and_Subscripts, buffer_Superscripts_and_Subscripts + buffer_Superscripts_and_Subscripts_len, Superscripts_and_Subscripts) != Superscripts_and_Subscripts)
		printf("test 'Superscripts_and_Subscripts' failed\n");
	delete[] buffer_Superscripts_and_Subscripts;

	YYCTYPE *buffer_Currency_Symbols = new YYCTYPE[294];
	uint32_t buffer_Currency_Symbols_len = encode_utf8(chars_Currency_Symbols[0], chars_Currency_Symbols[1], buffer_Currency_Symbols) - 6;
	if (scan(buffer_Currency_Symbols, buffer_Currency_Symbols + buffer_Currency_Symbols_len, Currency_Symbols) != Currency_Symbols)
		printf("test 'Currency_Symbols' failed\n");
	delete[] buffer_Currency_Symbols;

	YYCTYPE *buffer_Combining_Diacritical_Marks_for_Symbols = new YYCTYPE[294];
	uint32_t buffer_Combining_Diacritical_Marks_for_Symbols_len = encode_utf8(chars_Combining_Diacritical_Marks_for_Symbols[0], chars_Combining_Diacritical_Marks_for_Symbols[1], buffer_Combining_Diacritical_Marks_for_Symbols) - 6;
	if (scan(buffer_Combining_Diacritical_Marks_for_Symbols, buffer_Combining_Diacritical_Marks_for_Symbols + buffer_Combining_Diacritical_Marks_for_Symbols_len, Combining_Diacritical_Marks_for_Symbols) != Combining_Diacritical_Marks_for_Symbols)
		printf("test 'Combining_Diacritical_Marks_for_Symbols' failed\n");
	delete[] buffer_Combining_Diacritical_Marks_for_Symbols;

	YYCTYPE *buffer_Letterlike_Symbols = new YYCTYPE[486];
	uint32_t buffer_Letterlike_Symbols_len = encode_utf8(chars_Letterlike_Symbols[0], chars_Letterlike_Symbols[1], buffer_Letterlike_Symbols) - 6;
	if (scan(buffer_Letterlike_Symbols, buffer_Letterlike_Symbols + buffer_Letterlike_Symbols_len, Letterlike_Symbols) != Letterlike_Symbols)
		printf("test 'Letterlike_Symbols' failed\n");
	delete[] buffer_Letterlike_Symbols;

	YYCTYPE *buffer_Number_Forms = new YYCTYPE[390];
	uint32_t buffer_Number_Forms_len = encode_utf8(chars_Number_Forms[0], chars_Number_Forms[1], buffer_Number_Forms) - 6;
	if (scan(buffer_Number_Forms, buffer_Number_Forms + buffer_Number_Forms_len, Number_Forms) != Number_Forms)
		printf("test 'Number_Forms' failed\n");
	delete[] buffer_Number_Forms;

	YYCTYPE *buffer_Arrows = new YYCTYPE[678];
	uint32_t buffer_Arrows_len = encode_utf8(chars_Arrows[0], chars_Arrows[1], buffer_Arrows) - 6;
	if (scan(buffer_Arrows, buffer_Arrows + buffer_Arrows_len, Arrows) != Arrows)
		printf("test 'Arrows' failed\n");
	delete[] buffer_Arrows;

	YYCTYPE *buffer_Mathematical_Operators = new YYCTYPE[1542];
	uint32_t buffer_Mathematical_Operators_len = encode_utf8(chars_Mathematical_Operators[0], chars_Mathematical_Operators[1], buffer_Mathematical_Operators) - 6;
	if (scan(buffer_Mathematical_Operators, buffer_Mathematical_Operators + buffer_Mathematical_Operators_len, Mathematical_Operators) != Mathematical_Operators)
		printf("test 'Mathematical_Operators' failed\n");
	delete[] buffer_Mathematical_Operators;

	YYCTYPE *buffer_Miscellaneous_Technical = new YYCTYPE[1542];
	uint32_t buffer_Miscellaneous_Technical_len = encode_utf8(chars_Miscellaneous_Technical[0], chars_Miscellaneous_Technical[1], buffer_Miscellaneous_Technical) - 6;
	if (scan(buffer_Miscellaneous_Technical, buffer_Miscellaneous_Technical + buffer_Miscellaneous_Technical_len, Miscellaneous_Technical) != Miscellaneous_Technical)
		printf("test 'Miscellaneous_Technical' failed\n");
	delete[] buffer_Miscellaneous_Technical;

	YYCTYPE *buffer_Control_Pictures = new YYCTYPE[390];
	uint32_t buffer_Control_Pictures_len = encode_utf8(chars_Control_Pictures[0], chars_Control_Pictures[1], buffer_Control_Pictures) - 6;
	if (scan(buffer_Control_Pictures, buffer_Control_Pictures + buffer_Control_Pictures_len, Control_Pictures) != Control_Pictures)
		printf("test 'Control_Pictures' failed\n");
	delete[] buffer_Control_Pictures;

	YYCTYPE *buffer_Optical_Character_Recognition = new YYCTYPE[198];
	uint32_t buffer_Optical_Character_Recognition_len = encode_utf8(chars_Optical_Character_Recognition[0], chars_Optical_Character_Recognition[1], buffer_Optical_Character_Recognition) - 6;
	if (scan(buffer_Optical_Character_Recognition, buffer_Optical_Character_Recognition + buffer_Optical_Character_Recognition_len, Optical_Character_Recognition) != Optical_Character_Recognition)
		printf("test 'Optical_Character_Recognition' failed\n");
	delete[] buffer_Optical_Character_Recognition;

	YYCTYPE *buffer_Enclosed_Alphanumerics = new YYCTYPE[966];
	uint32_t buffer_Enclosed_Alphanumerics_len = encode_utf8(chars_Enclosed_Alphanumerics[0], chars_Enclosed_Alphanumerics[1], buffer_Enclosed_Alphanumerics) - 6;
	if (scan(buffer_Enclosed_Alphanumerics, buffer_Enclosed_Alphanumerics + buffer_Enclosed_Alphanumerics_len, Enclosed_Alphanumerics) != Enclosed_Alphanumerics)
		printf("test 'Enclosed_Alphanumerics' failed\n");
	delete[] buffer_Enclosed_Alphanumerics;

	YYCTYPE *buffer_Box_Drawing = new YYCTYPE[774];
	uint32_t buffer_Box_Drawing_len = encode_utf8(chars_Box_Drawing[0], chars_Box_Drawing[1], buffer_Box_Drawing) - 6;
	if (scan(buffer_Box_Drawing, buffer_Box_Drawing + buffer_Box_Drawing_len, Box_Drawing) != Box_Drawing)
		printf("test 'Box_Drawing' failed\n");
	delete[] buffer_Box_Drawing;

	YYCTYPE *buffer_Block_Elements = new YYCTYPE[198];
	uint32_t buffer_Block_Elements_len = encode_utf8(chars_Block_Elements[0], chars_Block_Elements[1], buffer_Block_Elements) - 6;
	if (scan(buffer_Block_Elements, buffer_Block_Elements + buffer_Block_Elements_len, Block_Elements) != Block_Elements)
		printf("test 'Block_Elements' failed\n");
	delete[] buffer_Block_Elements;

	YYCTYPE *buffer_Geometric_Shapes = new YYCTYPE[582];
	uint32_t buffer_Geometric_Shapes_len = encode_utf8(chars_Geometric_Shapes[0], chars_Geometric_Shapes[1], buffer_Geometric_Shapes) - 6;
	if (scan(buffer_Geometric_Shapes, buffer_Geometric_Shapes + buffer_Geometric_Shapes_len, Geometric_Shapes) != Geometric_Shapes)
		printf("test 'Geometric_Shapes' failed\n");
	delete[] buffer_Geometric_Shapes;

	YYCTYPE *buffer_Miscellaneous_Symbols = new YYCTYPE[1542];
	uint32_t buffer_Miscellaneous_Symbols_len = encode_utf8(chars_Miscellaneous_Symbols[0], chars_Miscellaneous_Symbols[1], buffer_Miscellaneous_Symbols) - 6;
	if (scan(buffer_Miscellaneous_Symbols, buffer_Miscellaneous_Symbols + buffer_Miscellaneous_Symbols_len, Miscellaneous_Symbols) != Miscellaneous_Symbols)
		printf("test 'Miscellaneous_Symbols' failed\n");
	delete[] buffer_Miscellaneous_Symbols;

	YYCTYPE *buffer_Dingbats = new YYCTYPE[1158];
	uint32_t buffer_Dingbats_len = encode_utf8(chars_Dingbats[0], chars_Dingbats[1], buffer_Dingbats) - 6;
	if (scan(buffer_Dingbats, buffer_Dingbats + buffer_Dingbats_len, Dingbats) != Dingbats)
		printf("test 'Dingbats' failed\n");
	delete[] buffer_Dingbats;

	YYCTYPE *buffer_Miscellaneous_Mathematical_Symbols_A = new YYCTYPE[294];
	uint32_t buffer_Miscellaneous_Mathematical_Symbols_A_len = encode_utf8(chars_Miscellaneous_Mathematical_Symbols_A[0], chars_Miscellaneous_Mathematical_Symbols_A[1], buffer_Miscellaneous_Mathematical_Symbols_A) - 6;
	if (scan(buffer_Miscellaneous_Mathematical_Symbols_A, buffer_Miscellaneous_Mathematical_Symbols_A + buffer_Miscellaneous_Mathematical_Symbols_A_len, Miscellaneous_Mathematical_Symbols_A) != Miscellaneous_Mathematical_Symbols_A)
		printf("test 'Miscellaneous_Mathematical_Symbols_A' failed\n");
	delete[] buffer_Miscellaneous_Mathematical_Symbols_A;

	YYCTYPE *buffer_Supplemental_Arrows_A = new YYCTYPE[102];
	uint32_t buffer_Supplemental_Arrows_A_len = encode_utf8(chars_Supplemental_Arrows_A[0], chars_Supplemental_Arrows_A[1], buffer_Supplemental_Arrows_A) - 6;
	if (scan(buffer_Supplemental_Arrows_A, buffer_Supplemental_Arrows_A + buffer_Supplemental_Arrows_A_len, Supplemental_Arrows_A) != Supplemental_Arrows_A)
		printf("test 'Supplemental_Arrows_A' failed\n");
	delete[] buffer_Supplemental_Arrows_A;

	YYCTYPE *buffer_Braille_Patterns = new YYCTYPE[1542];
	uint32_t buffer_Braille_Patterns_len = encode_utf8(chars_Braille_Patterns[0], chars_Braille_Patterns[1], buffer_Braille_Patterns) - 6;
	if (scan(buffer_Braille_Patterns, buffer_Braille_Patterns + buffer_Braille_Patterns_len, Braille_Patterns) != Braille_Patterns)
		printf("test 'Braille_Patterns' failed\n");
	delete[] buffer_Braille_Patterns;

	YYCTYPE *buffer_Supplemental_Arrows_B = new YYCTYPE[774];
	uint32_t buffer_Supplemental_Arrows_B_len = encode_utf8(chars_Supplemental_Arrows_B[0], chars_Supplemental_Arrows_B[1], buffer_Supplemental_Arrows_B) - 6;
	if (scan(buffer_Supplemental_Arrows_B, buffer_Supplemental_Arrows_B + buffer_Supplemental_Arrows_B_len, Supplemental_Arrows_B) != Supplemental_Arrows_B)
		printf("test 'Supplemental_Arrows_B' failed\n");
	delete[] buffer_Supplemental_Arrows_B;

	YYCTYPE *buffer_Miscellaneous_Mathematical_Symbols_B = new YYCTYPE[774];
	uint32_t buffer_Miscellaneous_Mathematical_Symbols_B_len = encode_utf8(chars_Miscellaneous_Mathematical_Symbols_B[0], chars_Miscellaneous_Mathematical_Symbols_B[1], buffer_Miscellaneous_Mathematical_Symbols_B) - 6;
	if (scan(buffer_Miscellaneous_Mathematical_Symbols_B, buffer_Miscellaneous_Mathematical_Symbols_B + buffer_Miscellaneous_Mathematical_Symbols_B_len, Miscellaneous_Mathematical_Symbols_B) != Miscellaneous_Mathematical_Symbols_B)
		printf("test 'Miscellaneous_Mathematical_Symbols_B' failed\n");
	delete[] buffer_Miscellaneous_Mathematical_Symbols_B;

	YYCTYPE *buffer_Supplemental_Mathematical_Operators = new YYCTYPE[1542];
	uint32_t buffer_Supplemental_Mathematical_Operators_len = encode_utf8(chars_Supplemental_Mathematical_Operators[0], chars_Supplemental_Mathematical_Operators[1], buffer_Supplemental_Mathematical_Operators) - 6;
	if (scan(buffer_Supplemental_Mathematical_Operators, buffer_Supplemental_Mathematical_Operators + buffer_Supplemental_Mathematical_Operators_len, Supplemental_Mathematical_Operators) != Supplemental_Mathematical_Operators)
		printf("test 'Supplemental_Mathematical_Operators' failed\n");
	delete[] buffer_Supplemental_Mathematical_Operators;

	YYCTYPE *buffer_Miscellaneous_Symbols_and_Arrows = new YYCTYPE[1542];
	uint32_t buffer_Miscellaneous_Symbols_and_Arrows_len = encode_utf8(chars_Miscellaneous_Symbols_and_Arrows[0], chars_Miscellaneous_Symbols_and_Arrows[1], buffer_Miscellaneous_Symbols_and_Arrows) - 6;
	if (scan(buffer_Miscellaneous_Symbols_and_Arrows, buffer_Miscellaneous_Symbols_and_Arrows + buffer_Miscellaneous_Symbols_and_Arrows_len, Miscellaneous_Symbols_and_Arrows) != Miscellaneous_Symbols_and_Arrows)
		printf("test 'Miscellaneous_Symbols_and_Arrows' failed\n");
	delete[] buffer_Miscellaneous_Symbols_and_Arrows;

	YYCTYPE *buffer_Glagolitic = new YYCTYPE[582];
	uint32_t buffer_Glagolitic_len = encode_utf8(chars_Glagolitic[0], chars_Glagolitic[1], buffer_Glagolitic) - 6;
	if (scan(buffer_Glagolitic, buffer_Glagolitic + buffer_Glagolitic_len, Glagolitic) != Glagolitic)
		printf("test 'Glagolitic' failed\n");
	delete[] buffer_Glagolitic;

	YYCTYPE *buffer_Latin_Extended_C = new YYCTYPE[198];
	uint32_t buffer_Latin_Extended_C_len = encode_utf8(chars_Latin_Extended_C[0], chars_Latin_Extended_C[1], buffer_Latin_Extended_C) - 6;
	if (scan(buffer_Latin_Extended_C, buffer_Latin_Extended_C + buffer_Latin_Extended_C_len, Latin_Extended_C) != Latin_Extended_C)
		printf("test 'Latin_Extended_C' failed\n");
	delete[] buffer_Latin_Extended_C;

	YYCTYPE *buffer_Coptic = new YYCTYPE[774];
	uint32_t buffer_Coptic_len = encode_utf8(chars_Coptic[0], chars_Coptic[1], buffer_Coptic) - 6;
	if (scan(buffer_Coptic, buffer_Coptic + buffer_Coptic_len, Coptic) != Coptic)
		printf("test 'Coptic' failed\n");
	delete[] buffer_Coptic;

	YYCTYPE *buffer_Georgian_Supplement = new YYCTYPE[294];
	uint32_t buffer_Georgian_Supplement_len = encode_utf8(chars_Georgian_Supplement[0], chars_Georgian_Supplement[1], buffer_Georgian_Supplement) - 6;
	if (scan(buffer_Georgian_Supplement, buffer_Georgian_Supplement + buffer_Georgian_Supplement_len, Georgian_Supplement) != Georgian_Supplement)
		printf("test 'Georgian_Supplement' failed\n");
	delete[] buffer_Georgian_Supplement;

	YYCTYPE *buffer_Tifinagh = new YYCTYPE[486];
	uint32_t buffer_Tifinagh_len = encode_utf8(chars_Tifinagh[0], chars_Tifinagh[1], buffer_Tifinagh) - 6;
	if (scan(buffer_Tifinagh, buffer_Tifinagh + buffer_Tifinagh_len, Tifinagh) != Tifinagh)
		printf("test 'Tifinagh' failed\n");
	delete[] buffer_Tifinagh;

	YYCTYPE *buffer_Ethiopic_Extended = new YYCTYPE[582];
	uint32_t buffer_Ethiopic_Extended_len = encode_utf8(chars_Ethiopic_Extended[0], chars_Ethiopic_Extended[1], buffer_Ethiopic_Extended) - 6;
	if (scan(buffer_Ethiopic_Extended, buffer_Ethiopic_Extended + buffer_Ethiopic_Extended_len, Ethiopic_Extended) != Ethiopic_Extended)
		printf("test 'Ethiopic_Extended' failed\n");
	delete[] buffer_Ethiopic_Extended;

	YYCTYPE *buffer_Cyrillic_Extended_A = new YYCTYPE[198];
	uint32_t buffer_Cyrillic_Extended_A_len = encode_utf8(chars_Cyrillic_Extended_A[0], chars_Cyrillic_Extended_A[1], buffer_Cyrillic_Extended_A) - 6;
	if (scan(buffer_Cyrillic_Extended_A, buffer_Cyrillic_Extended_A + buffer_Cyrillic_Extended_A_len, Cyrillic_Extended_A) != Cyrillic_Extended_A)
		printf("test 'Cyrillic_Extended_A' failed\n");
	delete[] buffer_Cyrillic_Extended_A;

	YYCTYPE *buffer_Supplemental_Punctuation = new YYCTYPE[774];
	uint32_t buffer_Supplemental_Punctuation_len = encode_utf8(chars_Supplemental_Punctuation[0], chars_Supplemental_Punctuation[1], buffer_Supplemental_Punctuation) - 6;
	if (scan(buffer_Supplemental_Punctuation, buffer_Supplemental_Punctuation + buffer_Supplemental_Punctuation_len, Supplemental_Punctuation) != Supplemental_Punctuation)
		printf("test 'Supplemental_Punctuation' failed\n");
	delete[] buffer_Supplemental_Punctuation;

	YYCTYPE *buffer_CJK_Radicals_Supplement = new YYCTYPE[774];
	uint32_t buffer_CJK_Radicals_Supplement_len = encode_utf8(chars_CJK_Radicals_Supplement[0], chars_CJK_Radicals_Supplement[1], buffer_CJK_Radicals_Supplement) - 6;
	if (scan(buffer_CJK_Radicals_Supplement, buffer_CJK_Radicals_Supplement + buffer_CJK_Radicals_Supplement_len, CJK_Radicals_Supplement) != CJK_Radicals_Supplement)
		printf("test 'CJK_Radicals_Supplement' failed\n");
	delete[] buffer_CJK_Radicals_Supplement;

	YYCTYPE *buffer_Kangxi_Radicals = new YYCTYPE[1350];
	uint32_t buffer_Kangxi_Radicals_len = encode_utf8(chars_Kangxi_Radicals[0], chars_Kangxi_Radicals[1], buffer_Kangxi_Radicals) - 6;
	if (scan(buffer_Kangxi_Radicals, buffer_Kangxi_Radicals + buffer_Kangxi_Radicals_len, Kangxi_Radicals) != Kangxi_Radicals)
		printf("test 'Kangxi_Radicals' failed\n");
	delete[] buffer_Kangxi_Radicals;

	YYCTYPE *buffer_Ideographic_Description_Characters = new YYCTYPE[102];
	uint32_t buffer_Ideographic_Description_Characters_len = encode_utf8(chars_Ideographic_Description_Characters[0], chars_Ideographic_Description_Characters[1], buffer_Ideographic_Description_Characters) - 6;
	if (scan(buffer_Ideographic_Description_Characters, buffer_Ideographic_Description_Characters + buffer_Ideographic_Description_Characters_len, Ideographic_Description_Characters) != Ideographic_Description_Characters)
		printf("test 'Ideographic_Description_Characters' failed\n");
	delete[] buffer_Ideographic_Description_Characters;

	YYCTYPE *buffer_CJK_Symbols_and_Punctuation = new YYCTYPE[390];
	uint32_t buffer_CJK_Symbols_and_Punctuation_len = encode_utf8(chars_CJK_Symbols_and_Punctuation[0], chars_CJK_Symbols_and_Punctuation[1], buffer_CJK_Symbols_and_Punctuation) - 6;
	if (scan(buffer_CJK_Symbols_and_Punctuation, buffer_CJK_Symbols_and_Punctuation + buffer_CJK_Symbols_and_Punctuation_len, CJK_Symbols_and_Punctuation) != CJK_Symbols_and_Punctuation)
		printf("test 'CJK_Symbols_and_Punctuation' failed\n");
	delete[] buffer_CJK_Symbols_and_Punctuation;

	YYCTYPE *buffer_Hiragana = new YYCTYPE[582];
	uint32_t buffer_Hiragana_len = encode_utf8(chars_Hiragana[0], chars_Hiragana[1], buffer_Hiragana) - 6;
	if (scan(buffer_Hiragana, buffer_Hiragana + buffer_Hiragana_len, Hiragana) != Hiragana)
		printf("test 'Hiragana' failed\n");
	delete[] buffer_Hiragana;

	YYCTYPE *buffer_Katakana = new YYCTYPE[582];
	uint32_t buffer_Katakana_len = encode_utf8(chars_Katakana[0], chars_Katakana[1], buffer_Katakana) - 6;
	if (scan(buffer_Katakana, buffer_Katakana + buffer_Katakana_len, Katakana) != Katakana)
		printf("test 'Katakana' failed\n");
	delete[] buffer_Katakana;

	YYCTYPE *buffer_Bopomofo = new YYCTYPE[294];
	uint32_t buffer_Bopomofo_len = encode_utf8(chars_Bopomofo[0], chars_Bopomofo[1], buffer_Bopomofo) - 6;
	if (scan(buffer_Bopomofo, buffer_Bopomofo + buffer_Bopomofo_len, Bopomofo) != Bopomofo)
		printf("test 'Bopomofo' failed\n");
	delete[] buffer_Bopomofo;

	YYCTYPE *buffer_Hangul_Compatibility_Jamo = new YYCTYPE[582];
	uint32_t buffer_Hangul_Compatibility_Jamo_len = encode_utf8(chars_Hangul_Compatibility_Jamo[0], chars_Hangul_Compatibility_Jamo[1], buffer_Hangul_Compatibility_Jamo) - 6;
	if (scan(buffer_Hangul_Compatibility_Jamo, buffer_Hangul_Compatibility_Jamo + buffer_Hangul_Compatibility_Jamo_len, Hangul_Compatibility_Jamo) != Hangul_Compatibility_Jamo)
		printf("test 'Hangul_Compatibility_Jamo' failed\n");
	delete[] buffer_Hangul_Compatibility_Jamo;

	YYCTYPE *buffer_Kanbun = new YYCTYPE[102];
	uint32_t buffer_Kanbun_len = encode_utf8(chars_Kanbun[0], chars_Kanbun[1], buffer_Kanbun) - 6;
	if (scan(buffer_Kanbun, buffer_Kanbun + buffer_Kanbun_len, Kanbun) != Kanbun)
		printf("test 'Kanbun' failed\n");
	delete[] buffer_Kanbun;

	YYCTYPE *buffer_Bopomofo_Extended = new YYCTYPE[198];
	uint32_t buffer_Bopomofo_Extended_len = encode_utf8(chars_Bopomofo_Extended[0], chars_Bopomofo_Extended[1], buffer_Bopomofo_Extended) - 6;
	if (scan(buffer_Bopomofo_Extended, buffer_Bopomofo_Extended + buffer_Bopomofo_Extended_len, Bopomofo_Extended) != Bopomofo_Extended)
		printf("test 'Bopomofo_Extended' failed\n");
	delete[] buffer_Bopomofo_Extended;

	YYCTYPE *buffer_CJK_Strokes = new YYCTYPE[294];
	uint32_t buffer_CJK_Strokes_len = encode_utf8(chars_CJK_Strokes[0], chars_CJK_Strokes[1], buffer_CJK_Strokes) - 6;
	if (scan(buffer_CJK_Strokes, buffer_CJK_Strokes + buffer_CJK_Strokes_len, CJK_Strokes) != CJK_Strokes)
		printf("test 'CJK_Strokes' failed\n");
	delete[] buffer_CJK_Strokes;

	YYCTYPE *buffer_Katakana_Phonetic_Extensions = new YYCTYPE[102];
	uint32_t buffer_Katakana_Phonetic_Extensions_len = encode_utf8(chars_Katakana_Phonetic_Extensions[0], chars_Katakana_Phonetic_Extensions[1], buffer_Katakana_Phonetic_Extensions) - 6;
	if (scan(buffer_Katakana_Phonetic_Extensions, buffer_Katakana_Phonetic_Extensions + buffer_Katakana_Phonetic_Extensions_len, Katakana_Phonetic_Extensions) != Katakana_Phonetic_Extensions)
		printf("test 'Katakana_Phonetic_Extensions' failed\n");
	delete[] buffer_Katakana_Phonetic_Extensions;

	YYCTYPE *buffer_Enclosed_CJK_Letters_and_Months = new YYCTYPE[1542];
	uint32_t buffer_Enclosed_CJK_Letters_and_Months_len = encode_utf8(chars_Enclosed_CJK_Letters_and_Months[0], chars_Enclosed_CJK_Letters_and_Months[1], buffer_Enclosed_CJK_Letters_and_Months) - 6;
	if (scan(buffer_Enclosed_CJK_Letters_and_Months, buffer_Enclosed_CJK_Letters_and_Months + buffer_Enclosed_CJK_Letters_and_Months_len, Enclosed_CJK_Letters_and_Months) != Enclosed_CJK_Letters_and_Months)
		printf("test 'Enclosed_CJK_Letters_and_Months' failed\n");
	delete[] buffer_Enclosed_CJK_Letters_and_Months;

	YYCTYPE *buffer_CJK_Compatibility = new YYCTYPE[1542];
	uint32_t buffer_CJK_Compatibility_len = encode_utf8(chars_CJK_Compatibility[0], chars_CJK_Compatibility[1], buffer_CJK_Compatibility) - 6;
	if (scan(buffer_CJK_Compatibility, buffer_CJK_Compatibility + buffer_CJK_Compatibility_len, CJK_Compatibility) != CJK_Compatibility)
		printf("test 'CJK_Compatibility' failed\n");
	delete[] buffer_CJK_Compatibility;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_A = new YYCTYPE[39558];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_A_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_A[0], chars_CJK_Unified_Ideographs_Extension_A[1], buffer_CJK_Unified_Ideographs_Extension_A) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_A, buffer_CJK_Unified_Ideographs_Extension_A + buffer_CJK_Unified_Ideographs_Extension_A_len, CJK_Unified_Ideographs_Extension_A) != CJK_Unified_Ideographs_Extension_A)
		printf("test 'CJK_Unified_Ideographs_Extension_A' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_A;

	YYCTYPE *buffer_Yijing_Hexagram_Symbols = new YYCTYPE[390];
	uint32_t buffer_Yijing_Hexagram_Symbols_len = encode_utf8(chars_Yijing_Hexagram_Symbols[0], chars_Yijing_Hexagram_Symbols[1], buffer_Yijing_Hexagram_Symbols) - 6;
	if (scan(buffer_Yijing_Hexagram_Symbols, buffer_Yijing_Hexagram_Symbols + buffer_Yijing_Hexagram_Symbols_len, Yijing_Hexagram_Symbols) != Yijing_Hexagram_Symbols)
		printf("test 'Yijing_Hexagram_Symbols' failed\n");
	delete[] buffer_Yijing_Hexagram_Symbols;

	YYCTYPE *buffer_CJK_Unified_Ideographs = new YYCTYPE[125958];
	uint32_t buffer_CJK_Unified_Ideographs_len = encode_utf8(chars_CJK_Unified_Ideographs[0], chars_CJK_Unified_Ideographs[1], buffer_CJK_Unified_Ideographs) - 6;
	if (scan(buffer_CJK_Unified_Ideographs, buffer_CJK_Unified_Ideographs + buffer_CJK_Unified_Ideographs_len, CJK_Unified_Ideographs) != CJK_Unified_Ideographs)
		printf("test 'CJK_Unified_Ideographs' failed\n");
	delete[] buffer_CJK_Unified_Ideographs;

	YYCTYPE *buffer_Yi_Syllables = new YYCTYPE[7014];
	uint32_t buffer_Yi_Syllables_len = encode_utf8(chars_Yi_Syllables[0], chars_Yi_Syllables[1], buffer_Yi_Syllables) - 6;
	if (scan(buffer_Yi_Syllables, buffer_Yi_Syllables + buffer_Yi_Syllables_len, Yi_Syllables) != Yi_Syllables)
		printf("test 'Yi_Syllables' failed\n");
	delete[] buffer_Yi_Syllables;

	YYCTYPE *buffer_Yi_Radicals = new YYCTYPE[390];
	uint32_t buffer_Yi_Radicals_len = encode_utf8(chars_Yi_Radicals[0], chars_Yi_Radicals[1], buffer_Yi_Radicals) - 6;
	if (scan(buffer_Yi_Radicals, buffer_Yi_Radicals + buffer_Yi_Radicals_len, Yi_Radicals) != Yi_Radicals)
		printf("test 'Yi_Radicals' failed\n");
	delete[] buffer_Yi_Radicals;

	YYCTYPE *buffer_Lisu = new YYCTYPE[294];
	uint32_t buffer_Lisu_len = encode_utf8(chars_Lisu[0], chars_Lisu[1], buffer_Lisu) - 6;
	if (scan(buffer_Lisu, buffer_Lisu + buffer_Lisu_len, Lisu) != Lisu)
		printf("test 'Lisu' failed\n");
	delete[] buffer_Lisu;

	YYCTYPE *buffer_Vai = new YYCTYPE[1926];
	uint32_t buffer_Vai_len = encode_utf8(chars_Vai[0], chars_Vai[1], buffer_Vai) - 6;
	if (scan(buffer_Vai, buffer_Vai + buffer_Vai_len, Vai) != Vai)
		printf("test 'Vai' failed\n");
	delete[] buffer_Vai;

	YYCTYPE *buffer_Cyrillic_Extended_B = new YYCTYPE[582];
	uint32_t buffer_Cyrillic_Extended_B_len = encode_utf8(chars_Cyrillic_Extended_B[0], chars_Cyrillic_Extended_B[1], buffer_Cyrillic_Extended_B) - 6;
	if (scan(buffer_Cyrillic_Extended_B, buffer_Cyrillic_Extended_B + buffer_Cyrillic_Extended_B_len, Cyrillic_Extended_B) != Cyrillic_Extended_B)
		printf("test 'Cyrillic_Extended_B' failed\n");
	delete[] buffer_Cyrillic_Extended_B;

	YYCTYPE *buffer_Bamum = new YYCTYPE[582];
	uint32_t buffer_Bamum_len = encode_utf8(chars_Bamum[0], chars_Bamum[1], buffer_Bamum) - 6;
	if (scan(buffer_Bamum, buffer_Bamum + buffer_Bamum_len, Bamum) != Bamum)
		printf("test 'Bamum' failed\n");
	delete[] buffer_Bamum;

	YYCTYPE *buffer_Modifier_Tone_Letters = new YYCTYPE[198];
	uint32_t buffer_Modifier_Tone_Letters_len = encode_utf8(chars_Modifier_Tone_Letters[0], chars_Modifier_Tone_Letters[1], buffer_Modifier_Tone_Letters) - 6;
	if (scan(buffer_Modifier_Tone_Letters, buffer_Modifier_Tone_Letters + buffer_Modifier_Tone_Letters_len, Modifier_Tone_Letters) != Modifier_Tone_Letters)
		printf("test 'Modifier_Tone_Letters' failed\n");
	delete[] buffer_Modifier_Tone_Letters;

	YYCTYPE *buffer_Latin_Extended_D = new YYCTYPE[1350];
	uint32_t buffer_Latin_Extended_D_len = encode_utf8(chars_Latin_Extended_D[0], chars_Latin_Extended_D[1], buffer_Latin_Extended_D) - 6;
	if (scan(buffer_Latin_Extended_D, buffer_Latin_Extended_D + buffer_Latin_Extended_D_len, Latin_Extended_D) != Latin_Extended_D)
		printf("test 'Latin_Extended_D' failed\n");
	delete[] buffer_Latin_Extended_D;

	YYCTYPE *buffer_Syloti_Nagri = new YYCTYPE[294];
	uint32_t buffer_Syloti_Nagri_len = encode_utf8(chars_Syloti_Nagri[0], chars_Syloti_Nagri[1], buffer_Syloti_Nagri) - 6;
	if (scan(buffer_Syloti_Nagri, buffer_Syloti_Nagri + buffer_Syloti_Nagri_len, Syloti_Nagri) != Syloti_Nagri)
		printf("test 'Syloti_Nagri' failed\n");
	delete[] buffer_Syloti_Nagri;

	YYCTYPE *buffer_Common_Indic_Number_Forms = new YYCTYPE[102];
	uint32_t buffer_Common_Indic_Number_Forms_len = encode_utf8(chars_Common_Indic_Number_Forms[0], chars_Common_Indic_Number_Forms[1], buffer_Common_Indic_Number_Forms) - 6;
	if (scan(buffer_Common_Indic_Number_Forms, buffer_Common_Indic_Number_Forms + buffer_Common_Indic_Number_Forms_len, Common_Indic_Number_Forms) != Common_Indic_Number_Forms)
		printf("test 'Common_Indic_Number_Forms' failed\n");
	delete[] buffer_Common_Indic_Number_Forms;

	YYCTYPE *buffer_Phags_pa = new YYCTYPE[390];
	uint32_t buffer_Phags_pa_len = encode_utf8(chars_Phags_pa[0], chars_Phags_pa[1], buffer_Phags_pa) - 6;
	if (scan(buffer_Phags_pa, buffer_Phags_pa + buffer_Phags_pa_len, Phags_pa) != Phags_pa)
		printf("test 'Phags_pa' failed\n");
	delete[] buffer_Phags_pa;

	YYCTYPE *buffer_Saurashtra = new YYCTYPE[582];
	uint32_t buffer_Saurashtra_len = encode_utf8(chars_Saurashtra[0], chars_Saurashtra[1], buffer_Saurashtra) - 6;
	if (scan(buffer_Saurashtra, buffer_Saurashtra + buffer_Saurashtra_len, Saurashtra) != Saurashtra)
		printf("test 'Saurashtra' failed\n");
	delete[] buffer_Saurashtra;

	YYCTYPE *buffer_Devanagari_Extended = new YYCTYPE[198];
	uint32_t buffer_Devanagari_Extended_len = encode_utf8(chars_Devanagari_Extended[0], chars_Devanagari_Extended[1], buffer_Devanagari_Extended) - 6;
	if (scan(buffer_Devanagari_Extended, buffer_Devanagari_Extended + buffer_Devanagari_Extended_len, Devanagari_Extended) != Devanagari_Extended)
		printf("test 'Devanagari_Extended' failed\n");
	delete[] buffer_Devanagari_Extended;

	YYCTYPE *buffer_Kayah_Li = new YYCTYPE[294];
	uint32_t buffer_Kayah_Li_len = encode_utf8(chars_Kayah_Li[0], chars_Kayah_Li[1], buffer_Kayah_Li) - 6;
	if (scan(buffer_Kayah_Li, buffer_Kayah_Li + buffer_Kayah_Li_len, Kayah_Li) != Kayah_Li)
		printf("test 'Kayah_Li' failed\n");
	delete[] buffer_Kayah_Li;

	YYCTYPE *buffer_Rejang = new YYCTYPE[294];
	uint32_t buffer_Rejang_len = encode_utf8(chars_Rejang[0], chars_Rejang[1], buffer_Rejang) - 6;
	if (scan(buffer_Rejang, buffer_Rejang + buffer_Rejang_len, Rejang) != Rejang)
		printf("test 'Rejang' failed\n");
	delete[] buffer_Rejang;

	YYCTYPE *buffer_Hangul_Jamo_Extended_A = new YYCTYPE[198];
	uint32_t buffer_Hangul_Jamo_Extended_A_len = encode_utf8(chars_Hangul_Jamo_Extended_A[0], chars_Hangul_Jamo_Extended_A[1], buffer_Hangul_Jamo_Extended_A) - 6;
	if (scan(buffer_Hangul_Jamo_Extended_A, buffer_Hangul_Jamo_Extended_A + buffer_Hangul_Jamo_Extended_A_len, Hangul_Jamo_Extended_A) != Hangul_Jamo_Extended_A)
		printf("test 'Hangul_Jamo_Extended_A' failed\n");
	delete[] buffer_Hangul_Jamo_Extended_A;

	YYCTYPE *buffer_Javanese = new YYCTYPE[582];
	uint32_t buffer_Javanese_len = encode_utf8(chars_Javanese[0], chars_Javanese[1], buffer_Javanese) - 6;
	if (scan(buffer_Javanese, buffer_Javanese + buffer_Javanese_len, Javanese) != Javanese)
		printf("test 'Javanese' failed\n");
	delete[] buffer_Javanese;

	YYCTYPE *buffer_Myanmar_Extended_B = new YYCTYPE[198];
	uint32_t buffer_Myanmar_Extended_B_len = encode_utf8(chars_Myanmar_Extended_B[0], chars_Myanmar_Extended_B[1], buffer_Myanmar_Extended_B) - 6;
	if (scan(buffer_Myanmar_Extended_B, buffer_Myanmar_Extended_B + buffer_Myanmar_Extended_B_len, Myanmar_Extended_B) != Myanmar_Extended_B)
		printf("test 'Myanmar_Extended_B' failed\n");
	delete[] buffer_Myanmar_Extended_B;

	YYCTYPE *buffer_Cham = new YYCTYPE[582];
	uint32_t buffer_Cham_len = encode_utf8(chars_Cham[0], chars_Cham[1], buffer_Cham) - 6;
	if (scan(buffer_Cham, buffer_Cham + buffer_Cham_len, Cham) != Cham)
		printf("test 'Cham' failed\n");
	delete[] buffer_Cham;

	YYCTYPE *buffer_Myanmar_Extended_A = new YYCTYPE[198];
	uint32_t buffer_Myanmar_Extended_A_len = encode_utf8(chars_Myanmar_Extended_A[0], chars_Myanmar_Extended_A[1], buffer_Myanmar_Extended_A) - 6;
	if (scan(buffer_Myanmar_Extended_A, buffer_Myanmar_Extended_A + buffer_Myanmar_Extended_A_len, Myanmar_Extended_A) != Myanmar_Extended_A)
		printf("test 'Myanmar_Extended_A' failed\n");
	delete[] buffer_Myanmar_Extended_A;

	YYCTYPE *buffer_Tai_Viet = new YYCTYPE[582];
	uint32_t buffer_Tai_Viet_len = encode_utf8(chars_Tai_Viet[0], chars_Tai_Viet[1], buffer_Tai_Viet) - 6;
	if (scan(buffer_Tai_Viet, buffer_Tai_Viet + buffer_Tai_Viet_len, Tai_Viet) != Tai_Viet)
		printf("test 'Tai_Viet' failed\n");
	delete[] buffer_Tai_Viet;

	YYCTYPE *buffer_Meetei_Mayek_Extensions = new YYCTYPE[198];
	uint32_t buffer_Meetei_Mayek_Extensions_len = encode_utf8(chars_Meetei_Mayek_Extensions[0], chars_Meetei_Mayek_Extensions[1], buffer_Meetei_Mayek_Extensions) - 6;
	if (scan(buffer_Meetei_Mayek_Extensions, buffer_Meetei_Mayek_Extensions + buffer_Meetei_Mayek_Extensions_len, Meetei_Mayek_Extensions) != Meetei_Mayek_Extensions)
		printf("test 'Meetei_Mayek_Extensions' failed\n");
	delete[] buffer_Meetei_Mayek_Extensions;

	YYCTYPE *buffer_Ethiopic_Extended_A = new YYCTYPE[294];
	uint32_t buffer_Ethiopic_Extended_A_len = encode_utf8(chars_Ethiopic_Extended_A[0], chars_Ethiopic_Extended_A[1], buffer_Ethiopic_Extended_A) - 6;
	if (scan(buffer_Ethiopic_Extended_A, buffer_Ethiopic_Extended_A + buffer_Ethiopic_Extended_A_len, Ethiopic_Extended_A) != Ethiopic_Extended_A)
		printf("test 'Ethiopic_Extended_A' failed\n");
	delete[] buffer_Ethiopic_Extended_A;

	YYCTYPE *buffer_Latin_Extended_E = new YYCTYPE[390];
	uint32_t buffer_Latin_Extended_E_len = encode_utf8(chars_Latin_Extended_E[0], chars_Latin_Extended_E[1], buffer_Latin_Extended_E) - 6;
	if (scan(buffer_Latin_Extended_E, buffer_Latin_Extended_E + buffer_Latin_Extended_E_len, Latin_Extended_E) != Latin_Extended_E)
		printf("test 'Latin_Extended_E' failed\n");
	delete[] buffer_Latin_Extended_E;

	YYCTYPE *buffer_Cherokee_Supplement = new YYCTYPE[486];
	uint32_t buffer_Cherokee_Supplement_len = encode_utf8(chars_Cherokee_Supplement[0], chars_Cherokee_Supplement[1], buffer_Cherokee_Supplement) - 6;
	if (scan(buffer_Cherokee_Supplement, buffer_Cherokee_Supplement + buffer_Cherokee_Supplement_len, Cherokee_Supplement) != Cherokee_Supplement)
		printf("test 'Cherokee_Supplement' failed\n");
	delete[] buffer_Cherokee_Supplement;

	YYCTYPE *buffer_Meetei_Mayek = new YYCTYPE[390];
	uint32_t buffer_Meetei_Mayek_len = encode_utf8(chars_Meetei_Mayek[0], chars_Meetei_Mayek[1], buffer_Meetei_Mayek) - 6;
	if (scan(buffer_Meetei_Mayek, buffer_Meetei_Mayek + buffer_Meetei_Mayek_len, Meetei_Mayek) != Meetei_Mayek)
		printf("test 'Meetei_Mayek' failed\n");
	delete[] buffer_Meetei_Mayek;

	YYCTYPE *buffer_Hangul_Syllables = new YYCTYPE[67110];
	uint32_t buffer_Hangul_Syllables_len = encode_utf8(chars_Hangul_Syllables[0], chars_Hangul_Syllables[1], buffer_Hangul_Syllables) - 6;
	if (scan(buffer_Hangul_Syllables, buffer_Hangul_Syllables + buffer_Hangul_Syllables_len, Hangul_Syllables) != Hangul_Syllables)
		printf("test 'Hangul_Syllables' failed\n");
	delete[] buffer_Hangul_Syllables;

	YYCTYPE *buffer_Hangul_Jamo_Extended_B = new YYCTYPE[486];
	uint32_t buffer_Hangul_Jamo_Extended_B_len = encode_utf8(chars_Hangul_Jamo_Extended_B[0], chars_Hangul_Jamo_Extended_B[1], buffer_Hangul_Jamo_Extended_B) - 6;
	if (scan(buffer_Hangul_Jamo_Extended_B, buffer_Hangul_Jamo_Extended_B + buffer_Hangul_Jamo_Extended_B_len, Hangul_Jamo_Extended_B) != Hangul_Jamo_Extended_B)
		printf("test 'Hangul_Jamo_Extended_B' failed\n");
	delete[] buffer_Hangul_Jamo_Extended_B;

	YYCTYPE *buffer_High_Surrogates = new YYCTYPE[5382];
	uint32_t buffer_High_Surrogates_len = encode_utf8(chars_High_Surrogates[0], chars_High_Surrogates[1], buffer_High_Surrogates) - 6;
	if (scan(buffer_High_Surrogates, buffer_High_Surrogates + buffer_High_Surrogates_len, High_Surrogates) != High_Surrogates)
		printf("test 'High_Surrogates' failed\n");
	delete[] buffer_High_Surrogates;

	YYCTYPE *buffer_High_Private_Use_Surrogates = new YYCTYPE[774];
	uint32_t buffer_High_Private_Use_Surrogates_len = encode_utf8(chars_High_Private_Use_Surrogates[0], chars_High_Private_Use_Surrogates[1], buffer_High_Private_Use_Surrogates) - 6;
	if (scan(buffer_High_Private_Use_Surrogates, buffer_High_Private_Use_Surrogates + buffer_High_Private_Use_Surrogates_len, High_Private_Use_Surrogates) != High_Private_Use_Surrogates)
		printf("test 'High_Private_Use_Surrogates' failed\n");
	delete[] buffer_High_Private_Use_Surrogates;

	YYCTYPE *buffer_Low_Surrogates = new YYCTYPE[6150];
	uint32_t buffer_Low_Surrogates_len = encode_utf8(chars_Low_Surrogates[0], chars_Low_Surrogates[1], buffer_Low_Surrogates) - 6;
	if (scan(buffer_Low_Surrogates, buffer_Low_Surrogates + buffer_Low_Surrogates_len, Low_Surrogates) != Low_Surrogates)
		printf("test 'Low_Surrogates' failed\n");
	delete[] buffer_Low_Surrogates;

	YYCTYPE *buffer_Private_Use_Area = new YYCTYPE[38406];
	uint32_t buffer_Private_Use_Area_len = encode_utf8(chars_Private_Use_Area[0], chars_Private_Use_Area[1], buffer_Private_Use_Area) - 6;
	if (scan(buffer_Private_Use_Area, buffer_Private_Use_Area + buffer_Private_Use_Area_len, Private_Use_Area) != Private_Use_Area)
		printf("test 'Private_Use_Area' failed\n");
	delete[] buffer_Private_Use_Area;

	YYCTYPE *buffer_CJK_Compatibility_Ideographs = new YYCTYPE[3078];
	uint32_t buffer_CJK_Compatibility_Ideographs_len = encode_utf8(chars_CJK_Compatibility_Ideographs[0], chars_CJK_Compatibility_Ideographs[1], buffer_CJK_Compatibility_Ideographs) - 6;
	if (scan(buffer_CJK_Compatibility_Ideographs, buffer_CJK_Compatibility_Ideographs + buffer_CJK_Compatibility_Ideographs_len, CJK_Compatibility_Ideographs) != CJK_Compatibility_Ideographs)
		printf("test 'CJK_Compatibility_Ideographs' failed\n");
	delete[] buffer_CJK_Compatibility_Ideographs;

	YYCTYPE *buffer_Alphabetic_Presentation_Forms = new YYCTYPE[486];
	uint32_t buffer_Alphabetic_Presentation_Forms_len = encode_utf8(chars_Alphabetic_Presentation_Forms[0], chars_Alphabetic_Presentation_Forms[1], buffer_Alphabetic_Presentation_Forms) - 6;
	if (scan(buffer_Alphabetic_Presentation_Forms, buffer_Alphabetic_Presentation_Forms + buffer_Alphabetic_Presentation_Forms_len, Alphabetic_Presentation_Forms) != Alphabetic_Presentation_Forms)
		printf("test 'Alphabetic_Presentation_Forms' failed\n");
	delete[] buffer_Alphabetic_Presentation_Forms;

	YYCTYPE *buffer_Arabic_Presentation_Forms_A = new YYCTYPE[4134];
	uint32_t buffer_Arabic_Presentation_Forms_A_len = encode_utf8(chars_Arabic_Presentation_Forms_A[0], chars_Arabic_Presentation_Forms_A[1], buffer_Arabic_Presentation_Forms_A) - 6;
	if (scan(buffer_Arabic_Presentation_Forms_A, buffer_Arabic_Presentation_Forms_A + buffer_Arabic_Presentation_Forms_A_len, Arabic_Presentation_Forms_A) != Arabic_Presentation_Forms_A)
		printf("test 'Arabic_Presentation_Forms_A' failed\n");
	delete[] buffer_Arabic_Presentation_Forms_A;

	YYCTYPE *buffer_Variation_Selectors = new YYCTYPE[102];
	uint32_t buffer_Variation_Selectors_len = encode_utf8(chars_Variation_Selectors[0], chars_Variation_Selectors[1], buffer_Variation_Selectors) - 6;
	if (scan(buffer_Variation_Selectors, buffer_Variation_Selectors + buffer_Variation_Selectors_len, Variation_Selectors) != Variation_Selectors)
		printf("test 'Variation_Selectors' failed\n");
	delete[] buffer_Variation_Selectors;

	YYCTYPE *buffer_Vertical_Forms = new YYCTYPE[102];
	uint32_t buffer_Vertical_Forms_len = encode_utf8(chars_Vertical_Forms[0], chars_Vertical_Forms[1], buffer_Vertical_Forms) - 6;
	if (scan(buffer_Vertical_Forms, buffer_Vertical_Forms + buffer_Vertical_Forms_len, Vertical_Forms) != Vertical_Forms)
		printf("test 'Vertical_Forms' failed\n");
	delete[] buffer_Vertical_Forms;

	YYCTYPE *buffer_Combining_Half_Marks = new YYCTYPE[102];
	uint32_t buffer_Combining_Half_Marks_len = encode_utf8(chars_Combining_Half_Marks[0], chars_Combining_Half_Marks[1], buffer_Combining_Half_Marks) - 6;
	if (scan(buffer_Combining_Half_Marks, buffer_Combining_Half_Marks + buffer_Combining_Half_Marks_len, Combining_Half_Marks) != Combining_Half_Marks)
		printf("test 'Combining_Half_Marks' failed\n");
	delete[] buffer_Combining_Half_Marks;

	YYCTYPE *buffer_CJK_Compatibility_Forms = new YYCTYPE[198];
	uint32_t buffer_CJK_Compatibility_Forms_len = encode_utf8(chars_CJK_Compatibility_Forms[0], chars_CJK_Compatibility_Forms[1], buffer_CJK_Compatibility_Forms) - 6;
	if (scan(buffer_CJK_Compatibility_Forms, buffer_CJK_Compatibility_Forms + buffer_CJK_Compatibility_Forms_len, CJK_Compatibility_Forms) != CJK_Compatibility_Forms)
		printf("test 'CJK_Compatibility_Forms' failed\n");
	delete[] buffer_CJK_Compatibility_Forms;

	YYCTYPE *buffer_Small_Form_Variants = new YYCTYPE[198];
	uint32_t buffer_Small_Form_Variants_len = encode_utf8(chars_Small_Form_Variants[0], chars_Small_Form_Variants[1], buffer_Small_Form_Variants) - 6;
	if (scan(buffer_Small_Form_Variants, buffer_Small_Form_Variants + buffer_Small_Form_Variants_len, Small_Form_Variants) != Small_Form_Variants)
		printf("test 'Small_Form_Variants' failed\n");
	delete[] buffer_Small_Form_Variants;

	YYCTYPE *buffer_Arabic_Presentation_Forms_B = new YYCTYPE[870];
	uint32_t buffer_Arabic_Presentation_Forms_B_len = encode_utf8(chars_Arabic_Presentation_Forms_B[0], chars_Arabic_Presentation_Forms_B[1], buffer_Arabic_Presentation_Forms_B) - 6;
	if (scan(buffer_Arabic_Presentation_Forms_B, buffer_Arabic_Presentation_Forms_B + buffer_Arabic_Presentation_Forms_B_len, Arabic_Presentation_Forms_B) != Arabic_Presentation_Forms_B)
		printf("test 'Arabic_Presentation_Forms_B' failed\n");
	delete[] buffer_Arabic_Presentation_Forms_B;

	YYCTYPE *buffer_Halfwidth_and_Fullwidth_Forms = new YYCTYPE[1446];
	uint32_t buffer_Halfwidth_and_Fullwidth_Forms_len = encode_utf8(chars_Halfwidth_and_Fullwidth_Forms[0], chars_Halfwidth_and_Fullwidth_Forms[1], buffer_Halfwidth_and_Fullwidth_Forms) - 6;
	if (scan(buffer_Halfwidth_and_Fullwidth_Forms, buffer_Halfwidth_and_Fullwidth_Forms + buffer_Halfwidth_and_Fullwidth_Forms_len, Halfwidth_and_Fullwidth_Forms) != Halfwidth_and_Fullwidth_Forms)
		printf("test 'Halfwidth_and_Fullwidth_Forms' failed\n");
	delete[] buffer_Halfwidth_and_Fullwidth_Forms;

	YYCTYPE *buffer_Specials = new YYCTYPE[102];
	uint32_t buffer_Specials_len = encode_utf8(chars_Specials[0], chars_Specials[1], buffer_Specials) - 6;
	if (scan(buffer_Specials, buffer_Specials + buffer_Specials_len, Specials) != Specials)
		printf("test 'Specials' failed\n");
	delete[] buffer_Specials;

	YYCTYPE *buffer_Linear_B_Syllabary = new YYCTYPE[774];
	uint32_t buffer_Linear_B_Syllabary_len = encode_utf8(chars_Linear_B_Syllabary[0], chars_Linear_B_Syllabary[1], buffer_Linear_B_Syllabary) - 6;
	if (scan(buffer_Linear_B_Syllabary, buffer_Linear_B_Syllabary + buffer_Linear_B_Syllabary_len, Linear_B_Syllabary) != Linear_B_Syllabary)
		printf("test 'Linear_B_Syllabary' failed\n");
	delete[] buffer_Linear_B_Syllabary;

	YYCTYPE *buffer_Linear_B_Ideograms = new YYCTYPE[774];
	uint32_t buffer_Linear_B_Ideograms_len = encode_utf8(chars_Linear_B_Ideograms[0], chars_Linear_B_Ideograms[1], buffer_Linear_B_Ideograms) - 6;
	if (scan(buffer_Linear_B_Ideograms, buffer_Linear_B_Ideograms + buffer_Linear_B_Ideograms_len, Linear_B_Ideograms) != Linear_B_Ideograms)
		printf("test 'Linear_B_Ideograms' failed\n");
	delete[] buffer_Linear_B_Ideograms;

	YYCTYPE *buffer_Aegean_Numbers = new YYCTYPE[390];
	uint32_t buffer_Aegean_Numbers_len = encode_utf8(chars_Aegean_Numbers[0], chars_Aegean_Numbers[1], buffer_Aegean_Numbers) - 6;
	if (scan(buffer_Aegean_Numbers, buffer_Aegean_Numbers + buffer_Aegean_Numbers_len, Aegean_Numbers) != Aegean_Numbers)
		printf("test 'Aegean_Numbers' failed\n");
	delete[] buffer_Aegean_Numbers;

	YYCTYPE *buffer_Ancient_Greek_Numbers = new YYCTYPE[486];
	uint32_t buffer_Ancient_Greek_Numbers_len = encode_utf8(chars_Ancient_Greek_Numbers[0], chars_Ancient_Greek_Numbers[1], buffer_Ancient_Greek_Numbers) - 6;
	if (scan(buffer_Ancient_Greek_Numbers, buffer_Ancient_Greek_Numbers + buffer_Ancient_Greek_Numbers_len, Ancient_Greek_Numbers) != Ancient_Greek_Numbers)
		printf("test 'Ancient_Greek_Numbers' failed\n");
	delete[] buffer_Ancient_Greek_Numbers;

	YYCTYPE *buffer_Ancient_Symbols = new YYCTYPE[390];
	uint32_t buffer_Ancient_Symbols_len = encode_utf8(chars_Ancient_Symbols[0], chars_Ancient_Symbols[1], buffer_Ancient_Symbols) - 6;
	if (scan(buffer_Ancient_Symbols, buffer_Ancient_Symbols + buffer_Ancient_Symbols_len, Ancient_Symbols) != Ancient_Symbols)
		printf("test 'Ancient_Symbols' failed\n");
	delete[] buffer_Ancient_Symbols;

	YYCTYPE *buffer_Phaistos_Disc = new YYCTYPE[294];
	uint32_t buffer_Phaistos_Disc_len = encode_utf8(chars_Phaistos_Disc[0], chars_Phaistos_Disc[1], buffer_Phaistos_Disc) - 6;
	if (scan(buffer_Phaistos_Disc, buffer_Phaistos_Disc + buffer_Phaistos_Disc_len, Phaistos_Disc) != Phaistos_Disc)
		printf("test 'Phaistos_Disc' failed\n");
	delete[] buffer_Phaistos_Disc;

	YYCTYPE *buffer_Lycian = new YYCTYPE[198];
	uint32_t buffer_Lycian_len = encode_utf8(chars_Lycian[0], chars_Lycian[1], buffer_Lycian) - 6;
	if (scan(buffer_Lycian, buffer_Lycian + buffer_Lycian_len, Lycian) != Lycian)
		printf("test 'Lycian' failed\n");
	delete[] buffer_Lycian;

	YYCTYPE *buffer_Carian = new YYCTYPE[390];
	uint32_t buffer_Carian_len = encode_utf8(chars_Carian[0], chars_Carian[1], buffer_Carian) - 6;
	if (scan(buffer_Carian, buffer_Carian + buffer_Carian_len, Carian) != Carian)
		printf("test 'Carian' failed\n");
	delete[] buffer_Carian;

	YYCTYPE *buffer_Coptic_Epact_Numbers = new YYCTYPE[198];
	uint32_t buffer_Coptic_Epact_Numbers_len = encode_utf8(chars_Coptic_Epact_Numbers[0], chars_Coptic_Epact_Numbers[1], buffer_Coptic_Epact_Numbers) - 6;
	if (scan(buffer_Coptic_Epact_Numbers, buffer_Coptic_Epact_Numbers + buffer_Coptic_Epact_Numbers_len, Coptic_Epact_Numbers) != Coptic_Epact_Numbers)
		printf("test 'Coptic_Epact_Numbers' failed\n");
	delete[] buffer_Coptic_Epact_Numbers;

	YYCTYPE *buffer_Old_Italic = new YYCTYPE[294];
	uint32_t buffer_Old_Italic_len = encode_utf8(chars_Old_Italic[0], chars_Old_Italic[1], buffer_Old_Italic) - 6;
	if (scan(buffer_Old_Italic, buffer_Old_Italic + buffer_Old_Italic_len, Old_Italic) != Old_Italic)
		printf("test 'Old_Italic' failed\n");
	delete[] buffer_Old_Italic;

	YYCTYPE *buffer_Gothic = new YYCTYPE[198];
	uint32_t buffer_Gothic_len = encode_utf8(chars_Gothic[0], chars_Gothic[1], buffer_Gothic) - 6;
	if (scan(buffer_Gothic, buffer_Gothic + buffer_Gothic_len, Gothic) != Gothic)
		printf("test 'Gothic' failed\n");
	delete[] buffer_Gothic;

	YYCTYPE *buffer_Old_Permic = new YYCTYPE[294];
	uint32_t buffer_Old_Permic_len = encode_utf8(chars_Old_Permic[0], chars_Old_Permic[1], buffer_Old_Permic) - 6;
	if (scan(buffer_Old_Permic, buffer_Old_Permic + buffer_Old_Permic_len, Old_Permic) != Old_Permic)
		printf("test 'Old_Permic' failed\n");
	delete[] buffer_Old_Permic;

	YYCTYPE *buffer_Ugaritic = new YYCTYPE[198];
	uint32_t buffer_Ugaritic_len = encode_utf8(chars_Ugaritic[0], chars_Ugaritic[1], buffer_Ugaritic) - 6;
	if (scan(buffer_Ugaritic, buffer_Ugaritic + buffer_Ugaritic_len, Ugaritic) != Ugaritic)
		printf("test 'Ugaritic' failed\n");
	delete[] buffer_Ugaritic;

	YYCTYPE *buffer_Old_Persian = new YYCTYPE[390];
	uint32_t buffer_Old_Persian_len = encode_utf8(chars_Old_Persian[0], chars_Old_Persian[1], buffer_Old_Persian) - 6;
	if (scan(buffer_Old_Persian, buffer_Old_Persian + buffer_Old_Persian_len, Old_Persian) != Old_Persian)
		printf("test 'Old_Persian' failed\n");
	delete[] buffer_Old_Persian;

	YYCTYPE *buffer_Deseret = new YYCTYPE[486];
	uint32_t buffer_Deseret_len = encode_utf8(chars_Deseret[0], chars_Deseret[1], buffer_Deseret) - 6;
	if (scan(buffer_Deseret, buffer_Deseret + buffer_Deseret_len, Deseret) != Deseret)
		printf("test 'Deseret' failed\n");
	delete[] buffer_Deseret;

	YYCTYPE *buffer_Shavian = new YYCTYPE[294];
	uint32_t buffer_Shavian_len = encode_utf8(chars_Shavian[0], chars_Shavian[1], buffer_Shavian) - 6;
	if (scan(buffer_Shavian, buffer_Shavian + buffer_Shavian_len, Shavian) != Shavian)
		printf("test 'Shavian' failed\n");
	delete[] buffer_Shavian;

	YYCTYPE *buffer_Osmanya = new YYCTYPE[294];
	uint32_t buffer_Osmanya_len = encode_utf8(chars_Osmanya[0], chars_Osmanya[1], buffer_Osmanya) - 6;
	if (scan(buffer_Osmanya, buffer_Osmanya + buffer_Osmanya_len, Osmanya) != Osmanya)
		printf("test 'Osmanya' failed\n");
	delete[] buffer_Osmanya;

	YYCTYPE *buffer_Osage = new YYCTYPE[486];
	uint32_t buffer_Osage_len = encode_utf8(chars_Osage[0], chars_Osage[1], buffer_Osage) - 6;
	if (scan(buffer_Osage, buffer_Osage + buffer_Osage_len, Osage) != Osage)
		printf("test 'Osage' failed\n");
	delete[] buffer_Osage;

	YYCTYPE *buffer_Elbasan = new YYCTYPE[294];
	uint32_t buffer_Elbasan_len = encode_utf8(chars_Elbasan[0], chars_Elbasan[1], buffer_Elbasan) - 6;
	if (scan(buffer_Elbasan, buffer_Elbasan + buffer_Elbasan_len, Elbasan) != Elbasan)
		printf("test 'Elbasan' failed\n");
	delete[] buffer_Elbasan;

	YYCTYPE *buffer_Caucasian_Albanian = new YYCTYPE[390];
	uint32_t buffer_Caucasian_Albanian_len = encode_utf8(chars_Caucasian_Albanian[0], chars_Caucasian_Albanian[1], buffer_Caucasian_Albanian) - 6;
	if (scan(buffer_Caucasian_Albanian, buffer_Caucasian_Albanian + buffer_Caucasian_Albanian_len, Caucasian_Albanian) != Caucasian_Albanian)
		printf("test 'Caucasian_Albanian' failed\n");
	delete[] buffer_Caucasian_Albanian;

	YYCTYPE *buffer_Vithkuqi = new YYCTYPE[486];
	uint32_t buffer_Vithkuqi_len = encode_utf8(chars_Vithkuqi[0], chars_Vithkuqi[1], buffer_Vithkuqi) - 6;
	if (scan(buffer_Vithkuqi, buffer_Vithkuqi + buffer_Vithkuqi_len, Vithkuqi) != Vithkuqi)
		printf("test 'Vithkuqi' failed\n");
	delete[] buffer_Vithkuqi;

	YYCTYPE *buffer_Todhri = new YYCTYPE[390];
	uint32_t buffer_Todhri_len = encode_utf8(chars_Todhri[0], chars_Todhri[1], buffer_Todhri) - 6;
	if (scan(buffer_Todhri, buffer_Todhri + buffer_Todhri_len, Todhri) != Todhri)
		printf("test 'Todhri' failed\n");
	delete[] buffer_Todhri;

	YYCTYPE *buffer_Linear_A = new YYCTYPE[2310];
	uint32_t buffer_Linear_A_len = encode_utf8(chars_Linear_A[0], chars_Linear_A[1], buffer_Linear_A) - 6;
	if (scan(buffer_Linear_A, buffer_Linear_A + buffer_Linear_A_len, Linear_A) != Linear_A)
		printf("test 'Linear_A' failed\n");
	delete[] buffer_Linear_A;

	YYCTYPE *buffer_Latin_Extended_F = new YYCTYPE[390];
	uint32_t buffer_Latin_Extended_F_len = encode_utf8(chars_Latin_Extended_F[0], chars_Latin_Extended_F[1], buffer_Latin_Extended_F) - 6;
	if (scan(buffer_Latin_Extended_F, buffer_Latin_Extended_F + buffer_Latin_Extended_F_len, Latin_Extended_F) != Latin_Extended_F)
		printf("test 'Latin_Extended_F' failed\n");
	delete[] buffer_Latin_Extended_F;

	YYCTYPE *buffer_Cypriot_Syllabary = new YYCTYPE[390];
	uint32_t buffer_Cypriot_Syllabary_len = encode_utf8(chars_Cypriot_Syllabary[0], chars_Cypriot_Syllabary[1], buffer_Cypriot_Syllabary) - 6;
	if (scan(buffer_Cypriot_Syllabary, buffer_Cypriot_Syllabary + buffer_Cypriot_Syllabary_len, Cypriot_Syllabary) != Cypriot_Syllabary)
		printf("test 'Cypriot_Syllabary' failed\n");
	delete[] buffer_Cypriot_Syllabary;

	YYCTYPE *buffer_Imperial_Aramaic = new YYCTYPE[198];
	uint32_t buffer_Imperial_Aramaic_len = encode_utf8(chars_Imperial_Aramaic[0], chars_Imperial_Aramaic[1], buffer_Imperial_Aramaic) - 6;
	if (scan(buffer_Imperial_Aramaic, buffer_Imperial_Aramaic + buffer_Imperial_Aramaic_len, Imperial_Aramaic) != Imperial_Aramaic)
		printf("test 'Imperial_Aramaic' failed\n");
	delete[] buffer_Imperial_Aramaic;

	YYCTYPE *buffer_Palmyrene = new YYCTYPE[198];
	uint32_t buffer_Palmyrene_len = encode_utf8(chars_Palmyrene[0], chars_Palmyrene[1], buffer_Palmyrene) - 6;
	if (scan(buffer_Palmyrene, buffer_Palmyrene + buffer_Palmyrene_len, Palmyrene) != Palmyrene)
		printf("test 'Palmyrene' failed\n");
	delete[] buffer_Palmyrene;

	YYCTYPE *buffer_Nabataean = new YYCTYPE[294];
	uint32_t buffer_Nabataean_len = encode_utf8(chars_Nabataean[0], chars_Nabataean[1], buffer_Nabataean) - 6;
	if (scan(buffer_Nabataean, buffer_Nabataean + buffer_Nabataean_len, Nabataean) != Nabataean)
		printf("test 'Nabataean' failed\n");
	delete[] buffer_Nabataean;

	YYCTYPE *buffer_Hatran = new YYCTYPE[198];
	uint32_t buffer_Hatran_len = encode_utf8(chars_Hatran[0], chars_Hatran[1], buffer_Hatran) - 6;
	if (scan(buffer_Hatran, buffer_Hatran + buffer_Hatran_len, Hatran) != Hatran)
		printf("test 'Hatran' failed\n");
	delete[] buffer_Hatran;

	YYCTYPE *buffer_Phoenician = new YYCTYPE[198];
	uint32_t buffer_Phoenician_len = encode_utf8(chars_Phoenician[0], chars_Phoenician[1], buffer_Phoenician) - 6;
	if (scan(buffer_Phoenician, buffer_Phoenician + buffer_Phoenician_len, Phoenician) != Phoenician)
		printf("test 'Phoenician' failed\n");
	delete[] buffer_Phoenician;

	YYCTYPE *buffer_Lydian = new YYCTYPE[198];
	uint32_t buffer_Lydian_len = encode_utf8(chars_Lydian[0], chars_Lydian[1], buffer_Lydian) - 6;
	if (scan(buffer_Lydian, buffer_Lydian + buffer_Lydian_len, Lydian) != Lydian)
		printf("test 'Lydian' failed\n");
	delete[] buffer_Lydian;

	YYCTYPE *buffer_Sidetic = new YYCTYPE[198];
	uint32_t buffer_Sidetic_len = encode_utf8(chars_Sidetic[0], chars_Sidetic[1], buffer_Sidetic) - 6;
	if (scan(buffer_Sidetic, buffer_Sidetic + buffer_Sidetic_len, Sidetic) != Sidetic)
		printf("test 'Sidetic' failed\n");
	delete[] buffer_Sidetic;

	YYCTYPE *buffer_Meroitic_Hieroglyphs = new YYCTYPE[198];
	uint32_t buffer_Meroitic_Hieroglyphs_len = encode_utf8(chars_Meroitic_Hieroglyphs[0], chars_Meroitic_Hieroglyphs[1], buffer_Meroitic_Hieroglyphs) - 6;
	if (scan(buffer_Meroitic_Hieroglyphs, buffer_Meroitic_Hieroglyphs + buffer_Meroitic_Hieroglyphs_len, Meroitic_Hieroglyphs) != Meroitic_Hieroglyphs)
		printf("test 'Meroitic_Hieroglyphs' failed\n");
	delete[] buffer_Meroitic_Hieroglyphs;

	YYCTYPE *buffer_Meroitic_Cursive = new YYCTYPE[582];
	uint32_t buffer_Meroitic_Cursive_len = encode_utf8(chars_Meroitic_Cursive[0], chars_Meroitic_Cursive[1], buffer_Meroitic_Cursive) - 6;
	if (scan(buffer_Meroitic_Cursive, buffer_Meroitic_Cursive + buffer_Meroitic_Cursive_len, Meroitic_Cursive) != Meroitic_Cursive)
		printf("test 'Meroitic_Cursive' failed\n");
	delete[] buffer_Meroitic_Cursive;

	YYCTYPE *buffer_Kharoshthi = new YYCTYPE[582];
	uint32_t buffer_Kharoshthi_len = encode_utf8(chars_Kharoshthi[0], chars_Kharoshthi[1], buffer_Kharoshthi) - 6;
	if (scan(buffer_Kharoshthi, buffer_Kharoshthi + buffer_Kharoshthi_len, Kharoshthi) != Kharoshthi)
		printf("test 'Kharoshthi' failed\n");
	delete[] buffer_Kharoshthi;

	YYCTYPE *buffer_Old_South_Arabian = new YYCTYPE[198];
	uint32_t buffer_Old_South_Arabian_len = encode_utf8(chars_Old_South_Arabian[0], chars_Old_South_Arabian[1], buffer_Old_South_Arabian) - 6;
	if (scan(buffer_Old_South_Arabian, buffer_Old_South_Arabian + buffer_Old_South_Arabian_len, Old_South_Arabian) != Old_South_Arabian)
		printf("test 'Old_South_Arabian' failed\n");
	delete[] buffer_Old_South_Arabian;

	YYCTYPE *buffer_Old_North_Arabian = new YYCTYPE[198];
	uint32_t buffer_Old_North_Arabian_len = encode_utf8(chars_Old_North_Arabian[0], chars_Old_North_Arabian[1], buffer_Old_North_Arabian) - 6;
	if (scan(buffer_Old_North_Arabian, buffer_Old_North_Arabian + buffer_Old_North_Arabian_len, Old_North_Arabian) != Old_North_Arabian)
		printf("test 'Old_North_Arabian' failed\n");
	delete[] buffer_Old_North_Arabian;

	YYCTYPE *buffer_Manichaean = new YYCTYPE[390];
	uint32_t buffer_Manichaean_len = encode_utf8(chars_Manichaean[0], chars_Manichaean[1], buffer_Manichaean) - 6;
	if (scan(buffer_Manichaean, buffer_Manichaean + buffer_Manichaean_len, Manichaean) != Manichaean)
		printf("test 'Manichaean' failed\n");
	delete[] buffer_Manichaean;

	YYCTYPE *buffer_Avestan = new YYCTYPE[390];
	uint32_t buffer_Avestan_len = encode_utf8(chars_Avestan[0], chars_Avestan[1], buffer_Avestan) - 6;
	if (scan(buffer_Avestan, buffer_Avestan + buffer_Avestan_len, Avestan) != Avestan)
		printf("test 'Avestan' failed\n");
	delete[] buffer_Avestan;

	YYCTYPE *buffer_Inscriptional_Parthian = new YYCTYPE[198];
	uint32_t buffer_Inscriptional_Parthian_len = encode_utf8(chars_Inscriptional_Parthian[0], chars_Inscriptional_Parthian[1], buffer_Inscriptional_Parthian) - 6;
	if (scan(buffer_Inscriptional_Parthian, buffer_Inscriptional_Parthian + buffer_Inscriptional_Parthian_len, Inscriptional_Parthian) != Inscriptional_Parthian)
		printf("test 'Inscriptional_Parthian' failed\n");
	delete[] buffer_Inscriptional_Parthian;

	YYCTYPE *buffer_Inscriptional_Pahlavi = new YYCTYPE[198];
	uint32_t buffer_Inscriptional_Pahlavi_len = encode_utf8(chars_Inscriptional_Pahlavi[0], chars_Inscriptional_Pahlavi[1], buffer_Inscriptional_Pahlavi) - 6;
	if (scan(buffer_Inscriptional_Pahlavi, buffer_Inscriptional_Pahlavi + buffer_Inscriptional_Pahlavi_len, Inscriptional_Pahlavi) != Inscriptional_Pahlavi)
		printf("test 'Inscriptional_Pahlavi' failed\n");
	delete[] buffer_Inscriptional_Pahlavi;

	YYCTYPE *buffer_Psalter_Pahlavi = new YYCTYPE[294];
	uint32_t buffer_Psalter_Pahlavi_len = encode_utf8(chars_Psalter_Pahlavi[0], chars_Psalter_Pahlavi[1], buffer_Psalter_Pahlavi) - 6;
	if (scan(buffer_Psalter_Pahlavi, buffer_Psalter_Pahlavi + buffer_Psalter_Pahlavi_len, Psalter_Pahlavi) != Psalter_Pahlavi)
		printf("test 'Psalter_Pahlavi' failed\n");
	delete[] buffer_Psalter_Pahlavi;

	YYCTYPE *buffer_Old_Turkic = new YYCTYPE[486];
	uint32_t buffer_Old_Turkic_len = encode_utf8(chars_Old_Turkic[0], chars_Old_Turkic[1], buffer_Old_Turkic) - 6;
	if (scan(buffer_Old_Turkic, buffer_Old_Turkic + buffer_Old_Turkic_len, Old_Turkic) != Old_Turkic)
		printf("test 'Old_Turkic' failed\n");
	delete[] buffer_Old_Turkic;

	YYCTYPE *buffer_Old_Hungarian = new YYCTYPE[774];
	uint32_t buffer_Old_Hungarian_len = encode_utf8(chars_Old_Hungarian[0], chars_Old_Hungarian[1], buffer_Old_Hungarian) - 6;
	if (scan(buffer_Old_Hungarian, buffer_Old_Hungarian + buffer_Old_Hungarian_len, Old_Hungarian) != Old_Hungarian)
		printf("test 'Old_Hungarian' failed\n");
	delete[] buffer_Old_Hungarian;

	YYCTYPE *buffer_Hanifi_Rohingya = new YYCTYPE[390];
	uint32_t buffer_Hanifi_Rohingya_len = encode_utf8(chars_Hanifi_Rohingya[0], chars_Hanifi_Rohingya[1], buffer_Hanifi_Rohingya) - 6;
	if (scan(buffer_Hanifi_Rohingya, buffer_Hanifi_Rohingya + buffer_Hanifi_Rohingya_len, Hanifi_Rohingya) != Hanifi_Rohingya)
		printf("test 'Hanifi_Rohingya' failed\n");
	delete[] buffer_Hanifi_Rohingya;

	YYCTYPE *buffer_Garay = new YYCTYPE[486];
	uint32_t buffer_Garay_len = encode_utf8(chars_Garay[0], chars_Garay[1], buffer_Garay) - 6;
	if (scan(buffer_Garay, buffer_Garay + buffer_Garay_len, Garay) != Garay)
		printf("test 'Garay' failed\n");
	delete[] buffer_Garay;

	YYCTYPE *buffer_Rumi_Numeral_Symbols = new YYCTYPE[198];
	uint32_t buffer_Rumi_Numeral_Symbols_len = encode_utf8(chars_Rumi_Numeral_Symbols[0], chars_Rumi_Numeral_Symbols[1], buffer_Rumi_Numeral_Symbols) - 6;
	if (scan(buffer_Rumi_Numeral_Symbols, buffer_Rumi_Numeral_Symbols + buffer_Rumi_Numeral_Symbols_len, Rumi_Numeral_Symbols) != Rumi_Numeral_Symbols)
		printf("test 'Rumi_Numeral_Symbols' failed\n");
	delete[] buffer_Rumi_Numeral_Symbols;

	YYCTYPE *buffer_Yezidi = new YYCTYPE[390];
	uint32_t buffer_Yezidi_len = encode_utf8(chars_Yezidi[0], chars_Yezidi[1], buffer_Yezidi) - 6;
	if (scan(buffer_Yezidi, buffer_Yezidi + buffer_Yezidi_len, Yezidi) != Yezidi)
		printf("test 'Yezidi' failed\n");
	delete[] buffer_Yezidi;

	YYCTYPE *buffer_Arabic_Extended_C = new YYCTYPE[390];
	uint32_t buffer_Arabic_Extended_C_len = encode_utf8(chars_Arabic_Extended_C[0], chars_Arabic_Extended_C[1], buffer_Arabic_Extended_C) - 6;
	if (scan(buffer_Arabic_Extended_C, buffer_Arabic_Extended_C + buffer_Arabic_Extended_C_len, Arabic_Extended_C) != Arabic_Extended_C)
		printf("test 'Arabic_Extended_C' failed\n");
	delete[] buffer_Arabic_Extended_C;

	YYCTYPE *buffer_Old_Sogdian = new YYCTYPE[294];
	uint32_t buffer_Old_Sogdian_len = encode_utf8(chars_Old_Sogdian[0], chars_Old_Sogdian[1], buffer_Old_Sogdian) - 6;
	if (scan(buffer_Old_Sogdian, buffer_Old_Sogdian + buffer_Old_Sogdian_len, Old_Sogdian) != Old_Sogdian)
		printf("test 'Old_Sogdian' failed\n");
	delete[] buffer_Old_Sogdian;

	YYCTYPE *buffer_Sogdian = new YYCTYPE[390];
	uint32_t buffer_Sogdian_len = encode_utf8(chars_Sogdian[0], chars_Sogdian[1], buffer_Sogdian) - 6;
	if (scan(buffer_Sogdian, buffer_Sogdian + buffer_Sogdian_len, Sogdian) != Sogdian)
		printf("test 'Sogdian' failed\n");
	delete[] buffer_Sogdian;

	YYCTYPE *buffer_Old_Uyghur = new YYCTYPE[390];
	uint32_t buffer_Old_Uyghur_len = encode_utf8(chars_Old_Uyghur[0], chars_Old_Uyghur[1], buffer_Old_Uyghur) - 6;
	if (scan(buffer_Old_Uyghur, buffer_Old_Uyghur + buffer_Old_Uyghur_len, Old_Uyghur) != Old_Uyghur)
		printf("test 'Old_Uyghur' failed\n");
	delete[] buffer_Old_Uyghur;

	YYCTYPE *buffer_Chorasmian = new YYCTYPE[294];
	uint32_t buffer_Chorasmian_len = encode_utf8(chars_Chorasmian[0], chars_Chorasmian[1], buffer_Chorasmian) - 6;
	if (scan(buffer_Chorasmian, buffer_Chorasmian + buffer_Chorasmian_len, Chorasmian) != Chorasmian)
		printf("test 'Chorasmian' failed\n");
	delete[] buffer_Chorasmian;

	YYCTYPE *buffer_Elymaic = new YYCTYPE[198];
	uint32_t buffer_Elymaic_len = encode_utf8(chars_Elymaic[0], chars_Elymaic[1], buffer_Elymaic) - 6;
	if (scan(buffer_Elymaic, buffer_Elymaic + buffer_Elymaic_len, Elymaic) != Elymaic)
		printf("test 'Elymaic' failed\n");
	delete[] buffer_Elymaic;

	YYCTYPE *buffer_Brahmi = new YYCTYPE[774];
	uint32_t buffer_Brahmi_len = encode_utf8(chars_Brahmi[0], chars_Brahmi[1], buffer_Brahmi) - 6;
	if (scan(buffer_Brahmi, buffer_Brahmi + buffer_Brahmi_len, Brahmi) != Brahmi)
		printf("test 'Brahmi' failed\n");
	delete[] buffer_Brahmi;

	YYCTYPE *buffer_Kaithi = new YYCTYPE[486];
	uint32_t buffer_Kaithi_len = encode_utf8(chars_Kaithi[0], chars_Kaithi[1], buffer_Kaithi) - 6;
	if (scan(buffer_Kaithi, buffer_Kaithi + buffer_Kaithi_len, Kaithi) != Kaithi)
		printf("test 'Kaithi' failed\n");
	delete[] buffer_Kaithi;

	YYCTYPE *buffer_Sora_Sompeng = new YYCTYPE[294];
	uint32_t buffer_Sora_Sompeng_len = encode_utf8(chars_Sora_Sompeng[0], chars_Sora_Sompeng[1], buffer_Sora_Sompeng) - 6;
	if (scan(buffer_Sora_Sompeng, buffer_Sora_Sompeng + buffer_Sora_Sompeng_len, Sora_Sompeng) != Sora_Sompeng)
		printf("test 'Sora_Sompeng' failed\n");
	delete[] buffer_Sora_Sompeng;

	YYCTYPE *buffer_Chakma = new YYCTYPE[486];
	uint32_t buffer_Chakma_len = encode_utf8(chars_Chakma[0], chars_Chakma[1], buffer_Chakma) - 6;
	if (scan(buffer_Chakma, buffer_Chakma + buffer_Chakma_len, Chakma) != Chakma)
		printf("test 'Chakma' failed\n");
	delete[] buffer_Chakma;

	YYCTYPE *buffer_Mahajani = new YYCTYPE[294];
	uint32_t buffer_Mahajani_len = encode_utf8(chars_Mahajani[0], chars_Mahajani[1], buffer_Mahajani) - 6;
	if (scan(buffer_Mahajani, buffer_Mahajani + buffer_Mahajani_len, Mahajani) != Mahajani)
		printf("test 'Mahajani' failed\n");
	delete[] buffer_Mahajani;

	YYCTYPE *buffer_Sharada = new YYCTYPE[582];
	uint32_t buffer_Sharada_len = encode_utf8(chars_Sharada[0], chars_Sharada[1], buffer_Sharada) - 6;
	if (scan(buffer_Sharada, buffer_Sharada + buffer_Sharada_len, Sharada) != Sharada)
		printf("test 'Sharada' failed\n");
	delete[] buffer_Sharada;

	YYCTYPE *buffer_Sinhala_Archaic_Numbers = new YYCTYPE[198];
	uint32_t buffer_Sinhala_Archaic_Numbers_len = encode_utf8(chars_Sinhala_Archaic_Numbers[0], chars_Sinhala_Archaic_Numbers[1], buffer_Sinhala_Archaic_Numbers) - 6;
	if (scan(buffer_Sinhala_Archaic_Numbers, buffer_Sinhala_Archaic_Numbers + buffer_Sinhala_Archaic_Numbers_len, Sinhala_Archaic_Numbers) != Sinhala_Archaic_Numbers)
		printf("test 'Sinhala_Archaic_Numbers' failed\n");
	delete[] buffer_Sinhala_Archaic_Numbers;

	YYCTYPE *buffer_Khojki = new YYCTYPE[486];
	uint32_t buffer_Khojki_len = encode_utf8(chars_Khojki[0], chars_Khojki[1], buffer_Khojki) - 6;
	if (scan(buffer_Khojki, buffer_Khojki + buffer_Khojki_len, Khojki) != Khojki)
		printf("test 'Khojki' failed\n");
	delete[] buffer_Khojki;

	YYCTYPE *buffer_Multani = new YYCTYPE[294];
	uint32_t buffer_Multani_len = encode_utf8(chars_Multani[0], chars_Multani[1], buffer_Multani) - 6;
	if (scan(buffer_Multani, buffer_Multani + buffer_Multani_len, Multani) != Multani)
		printf("test 'Multani' failed\n");
	delete[] buffer_Multani;

	YYCTYPE *buffer_Khudawadi = new YYCTYPE[486];
	uint32_t buffer_Khudawadi_len = encode_utf8(chars_Khudawadi[0], chars_Khudawadi[1], buffer_Khudawadi) - 6;
	if (scan(buffer_Khudawadi, buffer_Khudawadi + buffer_Khudawadi_len, Khudawadi) != Khudawadi)
		printf("test 'Khudawadi' failed\n");
	delete[] buffer_Khudawadi;

	YYCTYPE *buffer_Grantha = new YYCTYPE[774];
	uint32_t buffer_Grantha_len = encode_utf8(chars_Grantha[0], chars_Grantha[1], buffer_Grantha) - 6;
	if (scan(buffer_Grantha, buffer_Grantha + buffer_Grantha_len, Grantha) != Grantha)
		printf("test 'Grantha' failed\n");
	delete[] buffer_Grantha;

	YYCTYPE *buffer_Tulu_Tigalari = new YYCTYPE[774];
	uint32_t buffer_Tulu_Tigalari_len = encode_utf8(chars_Tulu_Tigalari[0], chars_Tulu_Tigalari[1], buffer_Tulu_Tigalari) - 6;
	if (scan(buffer_Tulu_Tigalari, buffer_Tulu_Tigalari + buffer_Tulu_Tigalari_len, Tulu_Tigalari) != Tulu_Tigalari)
		printf("test 'Tulu_Tigalari' failed\n");
	delete[] buffer_Tulu_Tigalari;

	YYCTYPE *buffer_Newa = new YYCTYPE[774];
	uint32_t buffer_Newa_len = encode_utf8(chars_Newa[0], chars_Newa[1], buffer_Newa) - 6;
	if (scan(buffer_Newa, buffer_Newa + buffer_Newa_len, Newa) != Newa)
		printf("test 'Newa' failed\n");
	delete[] buffer_Newa;

	YYCTYPE *buffer_Tirhuta = new YYCTYPE[582];
	uint32_t buffer_Tirhuta_len = encode_utf8(chars_Tirhuta[0], chars_Tirhuta[1], buffer_Tirhuta) - 6;
	if (scan(buffer_Tirhuta, buffer_Tirhuta + buffer_Tirhuta_len, Tirhuta) != Tirhuta)
		printf("test 'Tirhuta' failed\n");
	delete[] buffer_Tirhuta;

	YYCTYPE *buffer_Siddham = new YYCTYPE[774];
	uint32_t buffer_Siddham_len = encode_utf8(chars_Siddham[0], chars_Siddham[1], buffer_Siddham) - 6;
	if (scan(buffer_Siddham, buffer_Siddham + buffer_Siddham_len, Siddham) != Siddham)
		printf("test 'Siddham' failed\n");
	delete[] buffer_Siddham;

	YYCTYPE *buffer_Modi = new YYCTYPE[582];
	uint32_t buffer_Modi_len = encode_utf8(chars_Modi[0], chars_Modi[1], buffer_Modi) - 6;
	if (scan(buffer_Modi, buffer_Modi + buffer_Modi_len, Modi) != Modi)
		printf("test 'Modi' failed\n");
	delete[] buffer_Modi;

	YYCTYPE *buffer_Mongolian_Supplement = new YYCTYPE[198];
	uint32_t buffer_Mongolian_Supplement_len = encode_utf8(chars_Mongolian_Supplement[0], chars_Mongolian_Supplement[1], buffer_Mongolian_Supplement) - 6;
	if (scan(buffer_Mongolian_Supplement, buffer_Mongolian_Supplement + buffer_Mongolian_Supplement_len, Mongolian_Supplement) != Mongolian_Supplement)
		printf("test 'Mongolian_Supplement' failed\n");
	delete[] buffer_Mongolian_Supplement;

	YYCTYPE *buffer_Takri = new YYCTYPE[486];
	uint32_t buffer_Takri_len = encode_utf8(chars_Takri[0], chars_Takri[1], buffer_Takri) - 6;
	if (scan(buffer_Takri, buffer_Takri + buffer_Takri_len, Takri) != Takri)
		printf("test 'Takri' failed\n");
	delete[] buffer_Takri;

	YYCTYPE *buffer_Myanmar_Extended_C = new YYCTYPE[294];
	uint32_t buffer_Myanmar_Extended_C_len = encode_utf8(chars_Myanmar_Extended_C[0], chars_Myanmar_Extended_C[1], buffer_Myanmar_Extended_C) - 6;
	if (scan(buffer_Myanmar_Extended_C, buffer_Myanmar_Extended_C + buffer_Myanmar_Extended_C_len, Myanmar_Extended_C) != Myanmar_Extended_C)
		printf("test 'Myanmar_Extended_C' failed\n");
	delete[] buffer_Myanmar_Extended_C;

	YYCTYPE *buffer_Ahom = new YYCTYPE[486];
	uint32_t buffer_Ahom_len = encode_utf8(chars_Ahom[0], chars_Ahom[1], buffer_Ahom) - 6;
	if (scan(buffer_Ahom, buffer_Ahom + buffer_Ahom_len, Ahom) != Ahom)
		printf("test 'Ahom' failed\n");
	delete[] buffer_Ahom;

	YYCTYPE *buffer_Dogra = new YYCTYPE[486];
	uint32_t buffer_Dogra_len = encode_utf8(chars_Dogra[0], chars_Dogra[1], buffer_Dogra) - 6;
	if (scan(buffer_Dogra, buffer_Dogra + buffer_Dogra_len, Dogra) != Dogra)
		printf("test 'Dogra' failed\n");
	delete[] buffer_Dogra;

	YYCTYPE *buffer_Warang_Citi = new YYCTYPE[582];
	uint32_t buffer_Warang_Citi_len = encode_utf8(chars_Warang_Citi[0], chars_Warang_Citi[1], buffer_Warang_Citi) - 6;
	if (scan(buffer_Warang_Citi, buffer_Warang_Citi + buffer_Warang_Citi_len, Warang_Citi) != Warang_Citi)
		printf("test 'Warang_Citi' failed\n");
	delete[] buffer_Warang_Citi;

	YYCTYPE *buffer_Dives_Akuru = new YYCTYPE[582];
	uint32_t buffer_Dives_Akuru_len = encode_utf8(chars_Dives_Akuru[0], chars_Dives_Akuru[1], buffer_Dives_Akuru) - 6;
	if (scan(buffer_Dives_Akuru, buffer_Dives_Akuru + buffer_Dives_Akuru_len, Dives_Akuru) != Dives_Akuru)
		printf("test 'Dives_Akuru' failed\n");
	delete[] buffer_Dives_Akuru;

	YYCTYPE *buffer_Nandinagari = new YYCTYPE[582];
	uint32_t buffer_Nandinagari_len = encode_utf8(chars_Nandinagari[0], chars_Nandinagari[1], buffer_Nandinagari) - 6;
	if (scan(buffer_Nandinagari, buffer_Nandinagari + buffer_Nandinagari_len, Nandinagari) != Nandinagari)
		printf("test 'Nandinagari' failed\n");
	delete[] buffer_Nandinagari;

	YYCTYPE *buffer_Zanabazar_Square = new YYCTYPE[486];
	uint32_t buffer_Zanabazar_Square_len = encode_utf8(chars_Zanabazar_Square[0], chars_Zanabazar_Square[1], buffer_Zanabazar_Square) - 6;
	if (scan(buffer_Zanabazar_Square, buffer_Zanabazar_Square + buffer_Zanabazar_Square_len, Zanabazar_Square) != Zanabazar_Square)
		printf("test 'Zanabazar_Square' failed\n");
	delete[] buffer_Zanabazar_Square;

	YYCTYPE *buffer_Soyombo = new YYCTYPE[582];
	uint32_t buffer_Soyombo_len = encode_utf8(chars_Soyombo[0], chars_Soyombo[1], buffer_Soyombo) - 6;
	if (scan(buffer_Soyombo, buffer_Soyombo + buffer_Soyombo_len, Soyombo) != Soyombo)
		printf("test 'Soyombo' failed\n");
	delete[] buffer_Soyombo;

	YYCTYPE *buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A = new YYCTYPE[102];
	uint32_t buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A_len = encode_utf8(chars_Unified_Canadian_Aboriginal_Syllabics_Extended_A[0], chars_Unified_Canadian_Aboriginal_Syllabics_Extended_A[1], buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A) - 6;
	if (scan(buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A, buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A + buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A_len, Unified_Canadian_Aboriginal_Syllabics_Extended_A) != Unified_Canadian_Aboriginal_Syllabics_Extended_A)
		printf("test 'Unified_Canadian_Aboriginal_Syllabics_Extended_A' failed\n");
	delete[] buffer_Unified_Canadian_Aboriginal_Syllabics_Extended_A;

	YYCTYPE *buffer_Pau_Cin_Hau = new YYCTYPE[390];
	uint32_t buffer_Pau_Cin_Hau_len = encode_utf8(chars_Pau_Cin_Hau[0], chars_Pau_Cin_Hau[1], buffer_Pau_Cin_Hau) - 6;
	if (scan(buffer_Pau_Cin_Hau, buffer_Pau_Cin_Hau + buffer_Pau_Cin_Hau_len, Pau_Cin_Hau) != Pau_Cin_Hau)
		printf("test 'Pau_Cin_Hau' failed\n");
	delete[] buffer_Pau_Cin_Hau;

	YYCTYPE *buffer_Devanagari_Extended_A = new YYCTYPE[582];
	uint32_t buffer_Devanagari_Extended_A_len = encode_utf8(chars_Devanagari_Extended_A[0], chars_Devanagari_Extended_A[1], buffer_Devanagari_Extended_A) - 6;
	if (scan(buffer_Devanagari_Extended_A, buffer_Devanagari_Extended_A + buffer_Devanagari_Extended_A_len, Devanagari_Extended_A) != Devanagari_Extended_A)
		printf("test 'Devanagari_Extended_A' failed\n");
	delete[] buffer_Devanagari_Extended_A;

	YYCTYPE *buffer_Sharada_Supplement = new YYCTYPE[198];
	uint32_t buffer_Sharada_Supplement_len = encode_utf8(chars_Sharada_Supplement[0], chars_Sharada_Supplement[1], buffer_Sharada_Supplement) - 6;
	if (scan(buffer_Sharada_Supplement, buffer_Sharada_Supplement + buffer_Sharada_Supplement_len, Sharada_Supplement) != Sharada_Supplement)
		printf("test 'Sharada_Supplement' failed\n");
	delete[] buffer_Sharada_Supplement;

	YYCTYPE *buffer_Sunuwar = new YYCTYPE[390];
	uint32_t buffer_Sunuwar_len = encode_utf8(chars_Sunuwar[0], chars_Sunuwar[1], buffer_Sunuwar) - 6;
	if (scan(buffer_Sunuwar, buffer_Sunuwar + buffer_Sunuwar_len, Sunuwar) != Sunuwar)
		printf("test 'Sunuwar' failed\n");
	delete[] buffer_Sunuwar;

	YYCTYPE *buffer_Bhaiksuki = new YYCTYPE[678];
	uint32_t buffer_Bhaiksuki_len = encode_utf8(chars_Bhaiksuki[0], chars_Bhaiksuki[1], buffer_Bhaiksuki) - 6;
	if (scan(buffer_Bhaiksuki, buffer_Bhaiksuki + buffer_Bhaiksuki_len, Bhaiksuki) != Bhaiksuki)
		printf("test 'Bhaiksuki' failed\n");
	delete[] buffer_Bhaiksuki;

	YYCTYPE *buffer_Marchen = new YYCTYPE[486];
	uint32_t buffer_Marchen_len = encode_utf8(chars_Marchen[0], chars_Marchen[1], buffer_Marchen) - 6;
	if (scan(buffer_Marchen, buffer_Marchen + buffer_Marchen_len, Marchen) != Marchen)
		printf("test 'Marchen' failed\n");
	delete[] buffer_Marchen;

	YYCTYPE *buffer_Masaram_Gondi = new YYCTYPE[582];
	uint32_t buffer_Masaram_Gondi_len = encode_utf8(chars_Masaram_Gondi[0], chars_Masaram_Gondi[1], buffer_Masaram_Gondi) - 6;
	if (scan(buffer_Masaram_Gondi, buffer_Masaram_Gondi + buffer_Masaram_Gondi_len, Masaram_Gondi) != Masaram_Gondi)
		printf("test 'Masaram_Gondi' failed\n");
	delete[] buffer_Masaram_Gondi;

	YYCTYPE *buffer_Gunjala_Gondi = new YYCTYPE[486];
	uint32_t buffer_Gunjala_Gondi_len = encode_utf8(chars_Gunjala_Gondi[0], chars_Gunjala_Gondi[1], buffer_Gunjala_Gondi) - 6;
	if (scan(buffer_Gunjala_Gondi, buffer_Gunjala_Gondi + buffer_Gunjala_Gondi_len, Gunjala_Gondi) != Gunjala_Gondi)
		printf("test 'Gunjala_Gondi' failed\n");
	delete[] buffer_Gunjala_Gondi;

	YYCTYPE *buffer_Tolong_Siki = new YYCTYPE[390];
	uint32_t buffer_Tolong_Siki_len = encode_utf8(chars_Tolong_Siki[0], chars_Tolong_Siki[1], buffer_Tolong_Siki) - 6;
	if (scan(buffer_Tolong_Siki, buffer_Tolong_Siki + buffer_Tolong_Siki_len, Tolong_Siki) != Tolong_Siki)
		printf("test 'Tolong_Siki' failed\n");
	delete[] buffer_Tolong_Siki;

	YYCTYPE *buffer_Makasar = new YYCTYPE[198];
	uint32_t buffer_Makasar_len = encode_utf8(chars_Makasar[0], chars_Makasar[1], buffer_Makasar) - 6;
	if (scan(buffer_Makasar, buffer_Makasar + buffer_Makasar_len, Makasar) != Makasar)
		printf("test 'Makasar' failed\n");
	delete[] buffer_Makasar;

	YYCTYPE *buffer_Kawi = new YYCTYPE[582];
	uint32_t buffer_Kawi_len = encode_utf8(chars_Kawi[0], chars_Kawi[1], buffer_Kawi) - 6;
	if (scan(buffer_Kawi, buffer_Kawi + buffer_Kawi_len, Kawi) != Kawi)
		printf("test 'Kawi' failed\n");
	delete[] buffer_Kawi;

	YYCTYPE *buffer_Lisu_Supplement = new YYCTYPE[102];
	uint32_t buffer_Lisu_Supplement_len = encode_utf8(chars_Lisu_Supplement[0], chars_Lisu_Supplement[1], buffer_Lisu_Supplement) - 6;
	if (scan(buffer_Lisu_Supplement, buffer_Lisu_Supplement + buffer_Lisu_Supplement_len, Lisu_Supplement) != Lisu_Supplement)
		printf("test 'Lisu_Supplement' failed\n");
	delete[] buffer_Lisu_Supplement;

	YYCTYPE *buffer_Tamil_Supplement = new YYCTYPE[390];
	uint32_t buffer_Tamil_Supplement_len = encode_utf8(chars_Tamil_Supplement[0], chars_Tamil_Supplement[1], buffer_Tamil_Supplement) - 6;
	if (scan(buffer_Tamil_Supplement, buffer_Tamil_Supplement + buffer_Tamil_Supplement_len, Tamil_Supplement) != Tamil_Supplement)
		printf("test 'Tamil_Supplement' failed\n");
	delete[] buffer_Tamil_Supplement;

	YYCTYPE *buffer_Cuneiform = new YYCTYPE[6150];
	uint32_t buffer_Cuneiform_len = encode_utf8(chars_Cuneiform[0], chars_Cuneiform[1], buffer_Cuneiform) - 6;
	if (scan(buffer_Cuneiform, buffer_Cuneiform + buffer_Cuneiform_len, Cuneiform) != Cuneiform)
		printf("test 'Cuneiform' failed\n");
	delete[] buffer_Cuneiform;

	YYCTYPE *buffer_Cuneiform_Numbers_and_Punctuation = new YYCTYPE[774];
	uint32_t buffer_Cuneiform_Numbers_and_Punctuation_len = encode_utf8(chars_Cuneiform_Numbers_and_Punctuation[0], chars_Cuneiform_Numbers_and_Punctuation[1], buffer_Cuneiform_Numbers_and_Punctuation) - 6;
	if (scan(buffer_Cuneiform_Numbers_and_Punctuation, buffer_Cuneiform_Numbers_and_Punctuation + buffer_Cuneiform_Numbers_and_Punctuation_len, Cuneiform_Numbers_and_Punctuation) != Cuneiform_Numbers_and_Punctuation)
		printf("test 'Cuneiform_Numbers_and_Punctuation' failed\n");
	delete[] buffer_Cuneiform_Numbers_and_Punctuation;

	YYCTYPE *buffer_Early_Dynastic_Cuneiform = new YYCTYPE[1254];
	uint32_t buffer_Early_Dynastic_Cuneiform_len = encode_utf8(chars_Early_Dynastic_Cuneiform[0], chars_Early_Dynastic_Cuneiform[1], buffer_Early_Dynastic_Cuneiform) - 6;
	if (scan(buffer_Early_Dynastic_Cuneiform, buffer_Early_Dynastic_Cuneiform + buffer_Early_Dynastic_Cuneiform_len, Early_Dynastic_Cuneiform) != Early_Dynastic_Cuneiform)
		printf("test 'Early_Dynastic_Cuneiform' failed\n");
	delete[] buffer_Early_Dynastic_Cuneiform;

	YYCTYPE *buffer_Cypro_Minoan = new YYCTYPE[678];
	uint32_t buffer_Cypro_Minoan_len = encode_utf8(chars_Cypro_Minoan[0], chars_Cypro_Minoan[1], buffer_Cypro_Minoan) - 6;
	if (scan(buffer_Cypro_Minoan, buffer_Cypro_Minoan + buffer_Cypro_Minoan_len, Cypro_Minoan) != Cypro_Minoan)
		printf("test 'Cypro_Minoan' failed\n");
	delete[] buffer_Cypro_Minoan;

	YYCTYPE *buffer_Egyptian_Hieroglyphs = new YYCTYPE[6438];
	uint32_t buffer_Egyptian_Hieroglyphs_len = encode_utf8(chars_Egyptian_Hieroglyphs[0], chars_Egyptian_Hieroglyphs[1], buffer_Egyptian_Hieroglyphs) - 6;
	if (scan(buffer_Egyptian_Hieroglyphs, buffer_Egyptian_Hieroglyphs + buffer_Egyptian_Hieroglyphs_len, Egyptian_Hieroglyphs) != Egyptian_Hieroglyphs)
		printf("test 'Egyptian_Hieroglyphs' failed\n");
	delete[] buffer_Egyptian_Hieroglyphs;

	YYCTYPE *buffer_Egyptian_Hieroglyph_Format_Controls = new YYCTYPE[294];
	uint32_t buffer_Egyptian_Hieroglyph_Format_Controls_len = encode_utf8(chars_Egyptian_Hieroglyph_Format_Controls[0], chars_Egyptian_Hieroglyph_Format_Controls[1], buffer_Egyptian_Hieroglyph_Format_Controls) - 6;
	if (scan(buffer_Egyptian_Hieroglyph_Format_Controls, buffer_Egyptian_Hieroglyph_Format_Controls + buffer_Egyptian_Hieroglyph_Format_Controls_len, Egyptian_Hieroglyph_Format_Controls) != Egyptian_Hieroglyph_Format_Controls)
		printf("test 'Egyptian_Hieroglyph_Format_Controls' failed\n");
	delete[] buffer_Egyptian_Hieroglyph_Format_Controls;

	YYCTYPE *buffer_Egyptian_Hieroglyphs_Extended_A = new YYCTYPE[24006];
	uint32_t buffer_Egyptian_Hieroglyphs_Extended_A_len = encode_utf8(chars_Egyptian_Hieroglyphs_Extended_A[0], chars_Egyptian_Hieroglyphs_Extended_A[1], buffer_Egyptian_Hieroglyphs_Extended_A) - 6;
	if (scan(buffer_Egyptian_Hieroglyphs_Extended_A, buffer_Egyptian_Hieroglyphs_Extended_A + buffer_Egyptian_Hieroglyphs_Extended_A_len, Egyptian_Hieroglyphs_Extended_A) != Egyptian_Hieroglyphs_Extended_A)
		printf("test 'Egyptian_Hieroglyphs_Extended_A' failed\n");
	delete[] buffer_Egyptian_Hieroglyphs_Extended_A;

	YYCTYPE *buffer_Anatolian_Hieroglyphs = new YYCTYPE[3846];
	uint32_t buffer_Anatolian_Hieroglyphs_len = encode_utf8(chars_Anatolian_Hieroglyphs[0], chars_Anatolian_Hieroglyphs[1], buffer_Anatolian_Hieroglyphs) - 6;
	if (scan(buffer_Anatolian_Hieroglyphs, buffer_Anatolian_Hieroglyphs + buffer_Anatolian_Hieroglyphs_len, Anatolian_Hieroglyphs) != Anatolian_Hieroglyphs)
		printf("test 'Anatolian_Hieroglyphs' failed\n");
	delete[] buffer_Anatolian_Hieroglyphs;

	YYCTYPE *buffer_Gurung_Khema = new YYCTYPE[390];
	uint32_t buffer_Gurung_Khema_len = encode_utf8(chars_Gurung_Khema[0], chars_Gurung_Khema[1], buffer_Gurung_Khema) - 6;
	if (scan(buffer_Gurung_Khema, buffer_Gurung_Khema + buffer_Gurung_Khema_len, Gurung_Khema) != Gurung_Khema)
		printf("test 'Gurung_Khema' failed\n");
	delete[] buffer_Gurung_Khema;

	YYCTYPE *buffer_Bamum_Supplement = new YYCTYPE[3462];
	uint32_t buffer_Bamum_Supplement_len = encode_utf8(chars_Bamum_Supplement[0], chars_Bamum_Supplement[1], buffer_Bamum_Supplement) - 6;
	if (scan(buffer_Bamum_Supplement, buffer_Bamum_Supplement + buffer_Bamum_Supplement_len, Bamum_Supplement) != Bamum_Supplement)
		printf("test 'Bamum_Supplement' failed\n");
	delete[] buffer_Bamum_Supplement;

	YYCTYPE *buffer_Mro = new YYCTYPE[294];
	uint32_t buffer_Mro_len = encode_utf8(chars_Mro[0], chars_Mro[1], buffer_Mro) - 6;
	if (scan(buffer_Mro, buffer_Mro + buffer_Mro_len, Mro) != Mro)
		printf("test 'Mro' failed\n");
	delete[] buffer_Mro;

	YYCTYPE *buffer_Tangsa = new YYCTYPE[582];
	uint32_t buffer_Tangsa_len = encode_utf8(chars_Tangsa[0], chars_Tangsa[1], buffer_Tangsa) - 6;
	if (scan(buffer_Tangsa, buffer_Tangsa + buffer_Tangsa_len, Tangsa) != Tangsa)
		printf("test 'Tangsa' failed\n");
	delete[] buffer_Tangsa;

	YYCTYPE *buffer_Bassa_Vah = new YYCTYPE[294];
	uint32_t buffer_Bassa_Vah_len = encode_utf8(chars_Bassa_Vah[0], chars_Bassa_Vah[1], buffer_Bassa_Vah) - 6;
	if (scan(buffer_Bassa_Vah, buffer_Bassa_Vah + buffer_Bassa_Vah_len, Bassa_Vah) != Bassa_Vah)
		printf("test 'Bassa_Vah' failed\n");
	delete[] buffer_Bassa_Vah;

	YYCTYPE *buffer_Pahawh_Hmong = new YYCTYPE[870];
	uint32_t buffer_Pahawh_Hmong_len = encode_utf8(chars_Pahawh_Hmong[0], chars_Pahawh_Hmong[1], buffer_Pahawh_Hmong) - 6;
	if (scan(buffer_Pahawh_Hmong, buffer_Pahawh_Hmong + buffer_Pahawh_Hmong_len, Pahawh_Hmong) != Pahawh_Hmong)
		printf("test 'Pahawh_Hmong' failed\n");
	delete[] buffer_Pahawh_Hmong;

	YYCTYPE *buffer_Kirat_Rai = new YYCTYPE[390];
	uint32_t buffer_Kirat_Rai_len = encode_utf8(chars_Kirat_Rai[0], chars_Kirat_Rai[1], buffer_Kirat_Rai) - 6;
	if (scan(buffer_Kirat_Rai, buffer_Kirat_Rai + buffer_Kirat_Rai_len, Kirat_Rai) != Kirat_Rai)
		printf("test 'Kirat_Rai' failed\n");
	delete[] buffer_Kirat_Rai;

	YYCTYPE *buffer_Medefaidrin = new YYCTYPE[582];
	uint32_t buffer_Medefaidrin_len = encode_utf8(chars_Medefaidrin[0], chars_Medefaidrin[1], buffer_Medefaidrin) - 6;
	if (scan(buffer_Medefaidrin, buffer_Medefaidrin + buffer_Medefaidrin_len, Medefaidrin) != Medefaidrin)
		printf("test 'Medefaidrin' failed\n");
	delete[] buffer_Medefaidrin;

	YYCTYPE *buffer_Beria_Erfe = new YYCTYPE[390];
	uint32_t buffer_Beria_Erfe_len = encode_utf8(chars_Beria_Erfe[0], chars_Beria_Erfe[1], buffer_Beria_Erfe) - 6;
	if (scan(buffer_Beria_Erfe, buffer_Beria_Erfe + buffer_Beria_Erfe_len, Beria_Erfe) != Beria_Erfe)
		printf("test 'Beria_Erfe' failed\n");
	delete[] buffer_Beria_Erfe;

	YYCTYPE *buffer_Miao = new YYCTYPE[966];
	uint32_t buffer_Miao_len = encode_utf8(chars_Miao[0], chars_Miao[1], buffer_Miao) - 6;
	if (scan(buffer_Miao, buffer_Miao + buffer_Miao_len, Miao) != Miao)
		printf("test 'Miao' failed\n");
	delete[] buffer_Miao;

	YYCTYPE *buffer_Ideographic_Symbols_and_Punctuation = new YYCTYPE[198];
	uint32_t buffer_Ideographic_Symbols_and_Punctuation_len = encode_utf8(chars_Ideographic_Symbols_and_Punctuation[0], chars_Ideographic_Symbols_and_Punctuation[1], buffer_Ideographic_Symbols_and_Punctuation) - 6;
	if (scan(buffer_Ideographic_Symbols_and_Punctuation, buffer_Ideographic_Symbols_and_Punctuation + buffer_Ideographic_Symbols_and_Punctuation_len, Ideographic_Symbols_and_Punctuation) != Ideographic_Symbols_and_Punctuation)
		printf("test 'Ideographic_Symbols_and_Punctuation' failed\n");
	delete[] buffer_Ideographic_Symbols_and_Punctuation;

	YYCTYPE *buffer_Tangut = new YYCTYPE[36870];
	uint32_t buffer_Tangut_len = encode_utf8(chars_Tangut[0], chars_Tangut[1], buffer_Tangut) - 6;
	if (scan(buffer_Tangut, buffer_Tangut + buffer_Tangut_len, Tangut) != Tangut)
		printf("test 'Tangut' failed\n");
	delete[] buffer_Tangut;

	YYCTYPE *buffer_Tangut_Components = new YYCTYPE[4614];
	uint32_t buffer_Tangut_Components_len = encode_utf8(chars_Tangut_Components[0], chars_Tangut_Components[1], buffer_Tangut_Components) - 6;
	if (scan(buffer_Tangut_Components, buffer_Tangut_Components + buffer_Tangut_Components_len, Tangut_Components) != Tangut_Components)
		printf("test 'Tangut_Components' failed\n");
	delete[] buffer_Tangut_Components;

	YYCTYPE *buffer_Khitan_Small_Script = new YYCTYPE[3078];
	uint32_t buffer_Khitan_Small_Script_len = encode_utf8(chars_Khitan_Small_Script[0], chars_Khitan_Small_Script[1], buffer_Khitan_Small_Script) - 6;
	if (scan(buffer_Khitan_Small_Script, buffer_Khitan_Small_Script + buffer_Khitan_Small_Script_len, Khitan_Small_Script) != Khitan_Small_Script)
		printf("test 'Khitan_Small_Script' failed\n");
	delete[] buffer_Khitan_Small_Script;

	YYCTYPE *buffer_Tangut_Supplement = new YYCTYPE[774];
	uint32_t buffer_Tangut_Supplement_len = encode_utf8(chars_Tangut_Supplement[0], chars_Tangut_Supplement[1], buffer_Tangut_Supplement) - 6;
	if (scan(buffer_Tangut_Supplement, buffer_Tangut_Supplement + buffer_Tangut_Supplement_len, Tangut_Supplement) != Tangut_Supplement)
		printf("test 'Tangut_Supplement' failed\n");
	delete[] buffer_Tangut_Supplement;

	YYCTYPE *buffer_Tangut_Components_Supplement = new YYCTYPE[774];
	uint32_t buffer_Tangut_Components_Supplement_len = encode_utf8(chars_Tangut_Components_Supplement[0], chars_Tangut_Components_Supplement[1], buffer_Tangut_Components_Supplement) - 6;
	if (scan(buffer_Tangut_Components_Supplement, buffer_Tangut_Components_Supplement + buffer_Tangut_Components_Supplement_len, Tangut_Components_Supplement) != Tangut_Components_Supplement)
		printf("test 'Tangut_Components_Supplement' failed\n");
	delete[] buffer_Tangut_Components_Supplement;

	YYCTYPE *buffer_Kana_Extended_B = new YYCTYPE[102];
	uint32_t buffer_Kana_Extended_B_len = encode_utf8(chars_Kana_Extended_B[0], chars_Kana_Extended_B[1], buffer_Kana_Extended_B) - 6;
	if (scan(buffer_Kana_Extended_B, buffer_Kana_Extended_B + buffer_Kana_Extended_B_len, Kana_Extended_B) != Kana_Extended_B)
		printf("test 'Kana_Extended_B' failed\n");
	delete[] buffer_Kana_Extended_B;

	YYCTYPE *buffer_Kana_Supplement = new YYCTYPE[1542];
	uint32_t buffer_Kana_Supplement_len = encode_utf8(chars_Kana_Supplement[0], chars_Kana_Supplement[1], buffer_Kana_Supplement) - 6;
	if (scan(buffer_Kana_Supplement, buffer_Kana_Supplement + buffer_Kana_Supplement_len, Kana_Supplement) != Kana_Supplement)
		printf("test 'Kana_Supplement' failed\n");
	delete[] buffer_Kana_Supplement;

	YYCTYPE *buffer_Kana_Extended_A = new YYCTYPE[294];
	uint32_t buffer_Kana_Extended_A_len = encode_utf8(chars_Kana_Extended_A[0], chars_Kana_Extended_A[1], buffer_Kana_Extended_A) - 6;
	if (scan(buffer_Kana_Extended_A, buffer_Kana_Extended_A + buffer_Kana_Extended_A_len, Kana_Extended_A) != Kana_Extended_A)
		printf("test 'Kana_Extended_A' failed\n");
	delete[] buffer_Kana_Extended_A;

	YYCTYPE *buffer_Small_Kana_Extension = new YYCTYPE[390];
	uint32_t buffer_Small_Kana_Extension_len = encode_utf8(chars_Small_Kana_Extension[0], chars_Small_Kana_Extension[1], buffer_Small_Kana_Extension) - 6;
	if (scan(buffer_Small_Kana_Extension, buffer_Small_Kana_Extension + buffer_Small_Kana_Extension_len, Small_Kana_Extension) != Small_Kana_Extension)
		printf("test 'Small_Kana_Extension' failed\n");
	delete[] buffer_Small_Kana_Extension;

	YYCTYPE *buffer_Nushu = new YYCTYPE[2406];
	uint32_t buffer_Nushu_len = encode_utf8(chars_Nushu[0], chars_Nushu[1], buffer_Nushu) - 6;
	if (scan(buffer_Nushu, buffer_Nushu + buffer_Nushu_len, Nushu) != Nushu)
		printf("test 'Nushu' failed\n");
	delete[] buffer_Nushu;

	YYCTYPE *buffer_Duployan = new YYCTYPE[966];
	uint32_t buffer_Duployan_len = encode_utf8(chars_Duployan[0], chars_Duployan[1], buffer_Duployan) - 6;
	if (scan(buffer_Duployan, buffer_Duployan + buffer_Duployan_len, Duployan) != Duployan)
		printf("test 'Duployan' failed\n");
	delete[] buffer_Duployan;

	YYCTYPE *buffer_Shorthand_Format_Controls = new YYCTYPE[102];
	uint32_t buffer_Shorthand_Format_Controls_len = encode_utf8(chars_Shorthand_Format_Controls[0], chars_Shorthand_Format_Controls[1], buffer_Shorthand_Format_Controls) - 6;
	if (scan(buffer_Shorthand_Format_Controls, buffer_Shorthand_Format_Controls + buffer_Shorthand_Format_Controls_len, Shorthand_Format_Controls) != Shorthand_Format_Controls)
		printf("test 'Shorthand_Format_Controls' failed\n");
	delete[] buffer_Shorthand_Format_Controls;

	YYCTYPE *buffer_Symbols_for_Legacy_Computing_Supplement = new YYCTYPE[4230];
	uint32_t buffer_Symbols_for_Legacy_Computing_Supplement_len = encode_utf8(chars_Symbols_for_Legacy_Computing_Supplement[0], chars_Symbols_for_Legacy_Computing_Supplement[1], buffer_Symbols_for_Legacy_Computing_Supplement) - 6;
	if (scan(buffer_Symbols_for_Legacy_Computing_Supplement, buffer_Symbols_for_Legacy_Computing_Supplement + buffer_Symbols_for_Legacy_Computing_Supplement_len, Symbols_for_Legacy_Computing_Supplement) != Symbols_for_Legacy_Computing_Supplement)
		printf("test 'Symbols_for_Legacy_Computing_Supplement' failed\n");
	delete[] buffer_Symbols_for_Legacy_Computing_Supplement;

	YYCTYPE *buffer_Miscellaneous_Symbols_Supplement = new YYCTYPE[390];
	uint32_t buffer_Miscellaneous_Symbols_Supplement_len = encode_utf8(chars_Miscellaneous_Symbols_Supplement[0], chars_Miscellaneous_Symbols_Supplement[1], buffer_Miscellaneous_Symbols_Supplement) - 6;
	if (scan(buffer_Miscellaneous_Symbols_Supplement, buffer_Miscellaneous_Symbols_Supplement + buffer_Miscellaneous_Symbols_Supplement_len, Miscellaneous_Symbols_Supplement) != Miscellaneous_Symbols_Supplement)
		printf("test 'Miscellaneous_Symbols_Supplement' failed\n");
	delete[] buffer_Miscellaneous_Symbols_Supplement;

	YYCTYPE *buffer_Znamenny_Musical_Notation = new YYCTYPE[1254];
	uint32_t buffer_Znamenny_Musical_Notation_len = encode_utf8(chars_Znamenny_Musical_Notation[0], chars_Znamenny_Musical_Notation[1], buffer_Znamenny_Musical_Notation) - 6;
	if (scan(buffer_Znamenny_Musical_Notation, buffer_Znamenny_Musical_Notation + buffer_Znamenny_Musical_Notation_len, Znamenny_Musical_Notation) != Znamenny_Musical_Notation)
		printf("test 'Znamenny_Musical_Notation' failed\n");
	delete[] buffer_Znamenny_Musical_Notation;

	YYCTYPE *buffer_Byzantine_Musical_Symbols = new YYCTYPE[1542];
	uint32_t buffer_Byzantine_Musical_Symbols_len = encode_utf8(chars_Byzantine_Musical_Symbols[0], chars_Byzantine_Musical_Symbols[1], buffer_Byzantine_Musical_Symbols) - 6;
	if (scan(buffer_Byzantine_Musical_Symbols, buffer_Byzantine_Musical_Symbols + buffer_Byzantine_Musical_Symbols_len, Byzantine_Musical_Symbols) != Byzantine_Musical_Symbols)
		printf("test 'Byzantine_Musical_Symbols' failed\n");
	delete[] buffer_Byzantine_Musical_Symbols;

	YYCTYPE *buffer_Musical_Symbols = new YYCTYPE[1542];
	uint32_t buffer_Musical_Symbols_len = encode_utf8(chars_Musical_Symbols[0], chars_Musical_Symbols[1], buffer_Musical_Symbols) - 6;
	if (scan(buffer_Musical_Symbols, buffer_Musical_Symbols + buffer_Musical_Symbols_len, Musical_Symbols) != Musical_Symbols)
		printf("test 'Musical_Symbols' failed\n");
	delete[] buffer_Musical_Symbols;

	YYCTYPE *buffer_Ancient_Greek_Musical_Notation = new YYCTYPE[486];
	uint32_t buffer_Ancient_Greek_Musical_Notation_len = encode_utf8(chars_Ancient_Greek_Musical_Notation[0], chars_Ancient_Greek_Musical_Notation[1], buffer_Ancient_Greek_Musical_Notation) - 6;
	if (scan(buffer_Ancient_Greek_Musical_Notation, buffer_Ancient_Greek_Musical_Notation + buffer_Ancient_Greek_Musical_Notation_len, Ancient_Greek_Musical_Notation) != Ancient_Greek_Musical_Notation)
		printf("test 'Ancient_Greek_Musical_Notation' failed\n");
	delete[] buffer_Ancient_Greek_Musical_Notation;

	YYCTYPE *buffer_Kaktovik_Numerals = new YYCTYPE[198];
	uint32_t buffer_Kaktovik_Numerals_len = encode_utf8(chars_Kaktovik_Numerals[0], chars_Kaktovik_Numerals[1], buffer_Kaktovik_Numerals) - 6;
	if (scan(buffer_Kaktovik_Numerals, buffer_Kaktovik_Numerals + buffer_Kaktovik_Numerals_len, Kaktovik_Numerals) != Kaktovik_Numerals)
		printf("test 'Kaktovik_Numerals' failed\n");
	delete[] buffer_Kaktovik_Numerals;

	YYCTYPE *buffer_Mayan_Numerals = new YYCTYPE[198];
	uint32_t buffer_Mayan_Numerals_len = encode_utf8(chars_Mayan_Numerals[0], chars_Mayan_Numerals[1], buffer_Mayan_Numerals) - 6;
	if (scan(buffer_Mayan_Numerals, buffer_Mayan_Numerals + buffer_Mayan_Numerals_len, Mayan_Numerals) != Mayan_Numerals)
		printf("test 'Mayan_Numerals' failed\n");
	delete[] buffer_Mayan_Numerals;

	YYCTYPE *buffer_Tai_Xuan_Jing_Symbols = new YYCTYPE[582];
	uint32_t buffer_Tai_Xuan_Jing_Symbols_len = encode_utf8(chars_Tai_Xuan_Jing_Symbols[0], chars_Tai_Xuan_Jing_Symbols[1], buffer_Tai_Xuan_Jing_Symbols) - 6;
	if (scan(buffer_Tai_Xuan_Jing_Symbols, buffer_Tai_Xuan_Jing_Symbols + buffer_Tai_Xuan_Jing_Symbols_len, Tai_Xuan_Jing_Symbols) != Tai_Xuan_Jing_Symbols)
		printf("test 'Tai_Xuan_Jing_Symbols' failed\n");
	delete[] buffer_Tai_Xuan_Jing_Symbols;

	YYCTYPE *buffer_Counting_Rod_Numerals = new YYCTYPE[198];
	uint32_t buffer_Counting_Rod_Numerals_len = encode_utf8(chars_Counting_Rod_Numerals[0], chars_Counting_Rod_Numerals[1], buffer_Counting_Rod_Numerals) - 6;
	if (scan(buffer_Counting_Rod_Numerals, buffer_Counting_Rod_Numerals + buffer_Counting_Rod_Numerals_len, Counting_Rod_Numerals) != Counting_Rod_Numerals)
		printf("test 'Counting_Rod_Numerals' failed\n");
	delete[] buffer_Counting_Rod_Numerals;

	YYCTYPE *buffer_Mathematical_Alphanumeric_Symbols = new YYCTYPE[6150];
	uint32_t buffer_Mathematical_Alphanumeric_Symbols_len = encode_utf8(chars_Mathematical_Alphanumeric_Symbols[0], chars_Mathematical_Alphanumeric_Symbols[1], buffer_Mathematical_Alphanumeric_Symbols) - 6;
	if (scan(buffer_Mathematical_Alphanumeric_Symbols, buffer_Mathematical_Alphanumeric_Symbols + buffer_Mathematical_Alphanumeric_Symbols_len, Mathematical_Alphanumeric_Symbols) != Mathematical_Alphanumeric_Symbols)
		printf("test 'Mathematical_Alphanumeric_Symbols' failed\n");
	delete[] buffer_Mathematical_Alphanumeric_Symbols;

	YYCTYPE *buffer_Sutton_SignWriting = new YYCTYPE[4134];
	uint32_t buffer_Sutton_SignWriting_len = encode_utf8(chars_Sutton_SignWriting[0], chars_Sutton_SignWriting[1], buffer_Sutton_SignWriting) - 6;
	if (scan(buffer_Sutton_SignWriting, buffer_Sutton_SignWriting + buffer_Sutton_SignWriting_len, Sutton_SignWriting) != Sutton_SignWriting)
		printf("test 'Sutton_SignWriting' failed\n");
	delete[] buffer_Sutton_SignWriting;

	YYCTYPE *buffer_Latin_Extended_G = new YYCTYPE[1542];
	uint32_t buffer_Latin_Extended_G_len = encode_utf8(chars_Latin_Extended_G[0], chars_Latin_Extended_G[1], buffer_Latin_Extended_G) - 6;
	if (scan(buffer_Latin_Extended_G, buffer_Latin_Extended_G + buffer_Latin_Extended_G_len, Latin_Extended_G) != Latin_Extended_G)
		printf("test 'Latin_Extended_G' failed\n");
	delete[] buffer_Latin_Extended_G;

	YYCTYPE *buffer_Glagolitic_Supplement = new YYCTYPE[294];
	uint32_t buffer_Glagolitic_Supplement_len = encode_utf8(chars_Glagolitic_Supplement[0], chars_Glagolitic_Supplement[1], buffer_Glagolitic_Supplement) - 6;
	if (scan(buffer_Glagolitic_Supplement, buffer_Glagolitic_Supplement + buffer_Glagolitic_Supplement_len, Glagolitic_Supplement) != Glagolitic_Supplement)
		printf("test 'Glagolitic_Supplement' failed\n");
	delete[] buffer_Glagolitic_Supplement;

	YYCTYPE *buffer_Cyrillic_Extended_D = new YYCTYPE[582];
	uint32_t buffer_Cyrillic_Extended_D_len = encode_utf8(chars_Cyrillic_Extended_D[0], chars_Cyrillic_Extended_D[1], buffer_Cyrillic_Extended_D) - 6;
	if (scan(buffer_Cyrillic_Extended_D, buffer_Cyrillic_Extended_D + buffer_Cyrillic_Extended_D_len, Cyrillic_Extended_D) != Cyrillic_Extended_D)
		printf("test 'Cyrillic_Extended_D' failed\n");
	delete[] buffer_Cyrillic_Extended_D;

	YYCTYPE *buffer_Nyiakeng_Puachue_Hmong = new YYCTYPE[486];
	uint32_t buffer_Nyiakeng_Puachue_Hmong_len = encode_utf8(chars_Nyiakeng_Puachue_Hmong[0], chars_Nyiakeng_Puachue_Hmong[1], buffer_Nyiakeng_Puachue_Hmong) - 6;
	if (scan(buffer_Nyiakeng_Puachue_Hmong, buffer_Nyiakeng_Puachue_Hmong + buffer_Nyiakeng_Puachue_Hmong_len, Nyiakeng_Puachue_Hmong) != Nyiakeng_Puachue_Hmong)
		printf("test 'Nyiakeng_Puachue_Hmong' failed\n");
	delete[] buffer_Nyiakeng_Puachue_Hmong;

	YYCTYPE *buffer_Toto = new YYCTYPE[294];
	uint32_t buffer_Toto_len = encode_utf8(chars_Toto[0], chars_Toto[1], buffer_Toto) - 6;
	if (scan(buffer_Toto, buffer_Toto + buffer_Toto_len, Toto) != Toto)
		printf("test 'Toto' failed\n");
	delete[] buffer_Toto;

	YYCTYPE *buffer_Wancho = new YYCTYPE[390];
	uint32_t buffer_Wancho_len = encode_utf8(chars_Wancho[0], chars_Wancho[1], buffer_Wancho) - 6;
	if (scan(buffer_Wancho, buffer_Wancho + buffer_Wancho_len, Wancho) != Wancho)
		printf("test 'Wancho' failed\n");
	delete[] buffer_Wancho;

	YYCTYPE *buffer_Nag_Mundari = new YYCTYPE[294];
	uint32_t buffer_Nag_Mundari_len = encode_utf8(chars_Nag_Mundari[0], chars_Nag_Mundari[1], buffer_Nag_Mundari) - 6;
	if (scan(buffer_Nag_Mundari, buffer_Nag_Mundari + buffer_Nag_Mundari_len, Nag_Mundari) != Nag_Mundari)
		printf("test 'Nag_Mundari' failed\n");
	delete[] buffer_Nag_Mundari;

	YYCTYPE *buffer_Ol_Onal = new YYCTYPE[294];
	uint32_t buffer_Ol_Onal_len = encode_utf8(chars_Ol_Onal[0], chars_Ol_Onal[1], buffer_Ol_Onal) - 6;
	if (scan(buffer_Ol_Onal, buffer_Ol_Onal + buffer_Ol_Onal_len, Ol_Onal) != Ol_Onal)
		printf("test 'Ol_Onal' failed\n");
	delete[] buffer_Ol_Onal;

	YYCTYPE *buffer_Tai_Yo = new YYCTYPE[390];
	uint32_t buffer_Tai_Yo_len = encode_utf8(chars_Tai_Yo[0], chars_Tai_Yo[1], buffer_Tai_Yo) - 6;
	if (scan(buffer_Tai_Yo, buffer_Tai_Yo + buffer_Tai_Yo_len, Tai_Yo) != Tai_Yo)
		printf("test 'Tai_Yo' failed\n");
	delete[] buffer_Tai_Yo;

	YYCTYPE *buffer_Ethiopic_Extended_B = new YYCTYPE[198];
	uint32_t buffer_Ethiopic_Extended_B_len = encode_utf8(chars_Ethiopic_Extended_B[0], chars_Ethiopic_Extended_B[1], buffer_Ethiopic_Extended_B) - 6;
	if (scan(buffer_Ethiopic_Extended_B, buffer_Ethiopic_Extended_B + buffer_Ethiopic_Extended_B_len, Ethiopic_Extended_B) != Ethiopic_Extended_B)
		printf("test 'Ethiopic_Extended_B' failed\n");
	delete[] buffer_Ethiopic_Extended_B;

	YYCTYPE *buffer_Mende_Kikakui = new YYCTYPE[1350];
	uint32_t buffer_Mende_Kikakui_len = encode_utf8(chars_Mende_Kikakui[0], chars_Mende_Kikakui[1], buffer_Mende_Kikakui) - 6;
	if (scan(buffer_Mende_Kikakui, buffer_Mende_Kikakui + buffer_Mende_Kikakui_len, Mende_Kikakui) != Mende_Kikakui)
		printf("test 'Mende_Kikakui' failed\n");
	delete[] buffer_Mende_Kikakui;

	YYCTYPE *buffer_Adlam = new YYCTYPE[582];
	uint32_t buffer_Adlam_len = encode_utf8(chars_Adlam[0], chars_Adlam[1], buffer_Adlam) - 6;
	if (scan(buffer_Adlam, buffer_Adlam + buffer_Adlam_len, Adlam) != Adlam)
		printf("test 'Adlam' failed\n");
	delete[] buffer_Adlam;

	YYCTYPE *buffer_Indic_Siyaq_Numbers = new YYCTYPE[486];
	uint32_t buffer_Indic_Siyaq_Numbers_len = encode_utf8(chars_Indic_Siyaq_Numbers[0], chars_Indic_Siyaq_Numbers[1], buffer_Indic_Siyaq_Numbers) - 6;
	if (scan(buffer_Indic_Siyaq_Numbers, buffer_Indic_Siyaq_Numbers + buffer_Indic_Siyaq_Numbers_len, Indic_Siyaq_Numbers) != Indic_Siyaq_Numbers)
		printf("test 'Indic_Siyaq_Numbers' failed\n");
	delete[] buffer_Indic_Siyaq_Numbers;

	YYCTYPE *buffer_Ottoman_Siyaq_Numbers = new YYCTYPE[486];
	uint32_t buffer_Ottoman_Siyaq_Numbers_len = encode_utf8(chars_Ottoman_Siyaq_Numbers[0], chars_Ottoman_Siyaq_Numbers[1], buffer_Ottoman_Siyaq_Numbers) - 6;
	if (scan(buffer_Ottoman_Siyaq_Numbers, buffer_Ottoman_Siyaq_Numbers + buffer_Ottoman_Siyaq_Numbers_len, Ottoman_Siyaq_Numbers) != Ottoman_Siyaq_Numbers)
		printf("test 'Ottoman_Siyaq_Numbers' failed\n");
	delete[] buffer_Ottoman_Siyaq_Numbers;

	YYCTYPE *buffer_Arabic_Mathematical_Alphabetic_Symbols = new YYCTYPE[1542];
	uint32_t buffer_Arabic_Mathematical_Alphabetic_Symbols_len = encode_utf8(chars_Arabic_Mathematical_Alphabetic_Symbols[0], chars_Arabic_Mathematical_Alphabetic_Symbols[1], buffer_Arabic_Mathematical_Alphabetic_Symbols) - 6;
	if (scan(buffer_Arabic_Mathematical_Alphabetic_Symbols, buffer_Arabic_Mathematical_Alphabetic_Symbols + buffer_Arabic_Mathematical_Alphabetic_Symbols_len, Arabic_Mathematical_Alphabetic_Symbols) != Arabic_Mathematical_Alphabetic_Symbols)
		printf("test 'Arabic_Mathematical_Alphabetic_Symbols' failed\n");
	delete[] buffer_Arabic_Mathematical_Alphabetic_Symbols;

	YYCTYPE *buffer_Mahjong_Tiles = new YYCTYPE[294];
	uint32_t buffer_Mahjong_Tiles_len = encode_utf8(chars_Mahjong_Tiles[0], chars_Mahjong_Tiles[1], buffer_Mahjong_Tiles) - 6;
	if (scan(buffer_Mahjong_Tiles, buffer_Mahjong_Tiles + buffer_Mahjong_Tiles_len, Mahjong_Tiles) != Mahjong_Tiles)
		printf("test 'Mahjong_Tiles' failed\n");
	delete[] buffer_Mahjong_Tiles;

	YYCTYPE *buffer_Domino_Tiles = new YYCTYPE[678];
	uint32_t buffer_Domino_Tiles_len = encode_utf8(chars_Domino_Tiles[0], chars_Domino_Tiles[1], buffer_Domino_Tiles) - 6;
	if (scan(buffer_Domino_Tiles, buffer_Domino_Tiles + buffer_Domino_Tiles_len, Domino_Tiles) != Domino_Tiles)
		printf("test 'Domino_Tiles' failed\n");
	delete[] buffer_Domino_Tiles;

	YYCTYPE *buffer_Playing_Cards = new YYCTYPE[582];
	uint32_t buffer_Playing_Cards_len = encode_utf8(chars_Playing_Cards[0], chars_Playing_Cards[1], buffer_Playing_Cards) - 6;
	if (scan(buffer_Playing_Cards, buffer_Playing_Cards + buffer_Playing_Cards_len, Playing_Cards) != Playing_Cards)
		printf("test 'Playing_Cards' failed\n");
	delete[] buffer_Playing_Cards;

	YYCTYPE *buffer_Enclosed_Alphanumeric_Supplement = new YYCTYPE[1542];
	uint32_t buffer_Enclosed_Alphanumeric_Supplement_len = encode_utf8(chars_Enclosed_Alphanumeric_Supplement[0], chars_Enclosed_Alphanumeric_Supplement[1], buffer_Enclosed_Alphanumeric_Supplement) - 6;
	if (scan(buffer_Enclosed_Alphanumeric_Supplement, buffer_Enclosed_Alphanumeric_Supplement + buffer_Enclosed_Alphanumeric_Supplement_len, Enclosed_Alphanumeric_Supplement) != Enclosed_Alphanumeric_Supplement)
		printf("test 'Enclosed_Alphanumeric_Supplement' failed\n");
	delete[] buffer_Enclosed_Alphanumeric_Supplement;

	YYCTYPE *buffer_Enclosed_Ideographic_Supplement = new YYCTYPE[1542];
	uint32_t buffer_Enclosed_Ideographic_Supplement_len = encode_utf8(chars_Enclosed_Ideographic_Supplement[0], chars_Enclosed_Ideographic_Supplement[1], buffer_Enclosed_Ideographic_Supplement) - 6;
	if (scan(buffer_Enclosed_Ideographic_Supplement, buffer_Enclosed_Ideographic_Supplement + buffer_Enclosed_Ideographic_Supplement_len, Enclosed_Ideographic_Supplement) != Enclosed_Ideographic_Supplement)
		printf("test 'Enclosed_Ideographic_Supplement' failed\n");
	delete[] buffer_Enclosed_Ideographic_Supplement;

	YYCTYPE *buffer_Miscellaneous_Symbols_and_Pictographs = new YYCTYPE[4614];
	uint32_t buffer_Miscellaneous_Symbols_and_Pictographs_len = encode_utf8(chars_Miscellaneous_Symbols_and_Pictographs[0], chars_Miscellaneous_Symbols_and_Pictographs[1], buffer_Miscellaneous_Symbols_and_Pictographs) - 6;
	if (scan(buffer_Miscellaneous_Symbols_and_Pictographs, buffer_Miscellaneous_Symbols_and_Pictographs + buffer_Miscellaneous_Symbols_and_Pictographs_len, Miscellaneous_Symbols_and_Pictographs) != Miscellaneous_Symbols_and_Pictographs)
		printf("test 'Miscellaneous_Symbols_and_Pictographs' failed\n");
	delete[] buffer_Miscellaneous_Symbols_and_Pictographs;

	YYCTYPE *buffer_Emoticons = new YYCTYPE[486];
	uint32_t buffer_Emoticons_len = encode_utf8(chars_Emoticons[0], chars_Emoticons[1], buffer_Emoticons) - 6;
	if (scan(buffer_Emoticons, buffer_Emoticons + buffer_Emoticons_len, Emoticons) != Emoticons)
		printf("test 'Emoticons' failed\n");
	delete[] buffer_Emoticons;

	YYCTYPE *buffer_Ornamental_Dingbats = new YYCTYPE[294];
	uint32_t buffer_Ornamental_Dingbats_len = encode_utf8(chars_Ornamental_Dingbats[0], chars_Ornamental_Dingbats[1], buffer_Ornamental_Dingbats) - 6;
	if (scan(buffer_Ornamental_Dingbats, buffer_Ornamental_Dingbats + buffer_Ornamental_Dingbats_len, Ornamental_Dingbats) != Ornamental_Dingbats)
		printf("test 'Ornamental_Dingbats' failed\n");
	delete[] buffer_Ornamental_Dingbats;

	YYCTYPE *buffer_Transport_and_Map_Symbols = new YYCTYPE[774];
	uint32_t buffer_Transport_and_Map_Symbols_len = encode_utf8(chars_Transport_and_Map_Symbols[0], chars_Transport_and_Map_Symbols[1], buffer_Transport_and_Map_Symbols) - 6;
	if (scan(buffer_Transport_and_Map_Symbols, buffer_Transport_and_Map_Symbols + buffer_Transport_and_Map_Symbols_len, Transport_and_Map_Symbols) != Transport_and_Map_Symbols)
		printf("test 'Transport_and_Map_Symbols' failed\n");
	delete[] buffer_Transport_and_Map_Symbols;

	YYCTYPE *buffer_Alchemical_Symbols = new YYCTYPE[774];
	uint32_t buffer_Alchemical_Symbols_len = encode_utf8(chars_Alchemical_Symbols[0], chars_Alchemical_Symbols[1], buffer_Alchemical_Symbols) - 6;
	if (scan(buffer_Alchemical_Symbols, buffer_Alchemical_Symbols + buffer_Alchemical_Symbols_len, Alchemical_Symbols) != Alchemical_Symbols)
		printf("test 'Alchemical_Symbols' failed\n");
	delete[] buffer_Alchemical_Symbols;

	YYCTYPE *buffer_Geometric_Shapes_Extended = new YYCTYPE[774];
	uint32_t buffer_Geometric_Shapes_Extended_len = encode_utf8(chars_Geometric_Shapes_Extended[0], chars_Geometric_Shapes_Extended[1], buffer_Geometric_Shapes_Extended) - 6;
	if (scan(buffer_Geometric_Shapes_Extended, buffer_Geometric_Shapes_Extended + buffer_Geometric_Shapes_Extended_len, Geometric_Shapes_Extended) != Geometric_Shapes_Extended)
		printf("test 'Geometric_Shapes_Extended' failed\n");
	delete[] buffer_Geometric_Shapes_Extended;

	YYCTYPE *buffer_Supplemental_Arrows_C = new YYCTYPE[1542];
	uint32_t buffer_Supplemental_Arrows_C_len = encode_utf8(chars_Supplemental_Arrows_C[0], chars_Supplemental_Arrows_C[1], buffer_Supplemental_Arrows_C) - 6;
	if (scan(buffer_Supplemental_Arrows_C, buffer_Supplemental_Arrows_C + buffer_Supplemental_Arrows_C_len, Supplemental_Arrows_C) != Supplemental_Arrows_C)
		printf("test 'Supplemental_Arrows_C' failed\n");
	delete[] buffer_Supplemental_Arrows_C;

	YYCTYPE *buffer_Supplemental_Symbols_and_Pictographs = new YYCTYPE[1542];
	uint32_t buffer_Supplemental_Symbols_and_Pictographs_len = encode_utf8(chars_Supplemental_Symbols_and_Pictographs[0], chars_Supplemental_Symbols_and_Pictographs[1], buffer_Supplemental_Symbols_and_Pictographs) - 6;
	if (scan(buffer_Supplemental_Symbols_and_Pictographs, buffer_Supplemental_Symbols_and_Pictographs + buffer_Supplemental_Symbols_and_Pictographs_len, Supplemental_Symbols_and_Pictographs) != Supplemental_Symbols_and_Pictographs)
		printf("test 'Supplemental_Symbols_and_Pictographs' failed\n");
	delete[] buffer_Supplemental_Symbols_and_Pictographs;

	YYCTYPE *buffer_Chess_Symbols = new YYCTYPE[678];
	uint32_t buffer_Chess_Symbols_len = encode_utf8(chars_Chess_Symbols[0], chars_Chess_Symbols[1], buffer_Chess_Symbols) - 6;
	if (scan(buffer_Chess_Symbols, buffer_Chess_Symbols + buffer_Chess_Symbols_len, Chess_Symbols) != Chess_Symbols)
		printf("test 'Chess_Symbols' failed\n");
	delete[] buffer_Chess_Symbols;

	YYCTYPE *buffer_Symbols_and_Pictographs_Extended_A = new YYCTYPE[870];
	uint32_t buffer_Symbols_and_Pictographs_Extended_A_len = encode_utf8(chars_Symbols_and_Pictographs_Extended_A[0], chars_Symbols_and_Pictographs_Extended_A[1], buffer_Symbols_and_Pictographs_Extended_A) - 6;
	if (scan(buffer_Symbols_and_Pictographs_Extended_A, buffer_Symbols_and_Pictographs_Extended_A + buffer_Symbols_and_Pictographs_Extended_A_len, Symbols_and_Pictographs_Extended_A) != Symbols_and_Pictographs_Extended_A)
		printf("test 'Symbols_and_Pictographs_Extended_A' failed\n");
	delete[] buffer_Symbols_and_Pictographs_Extended_A;

	YYCTYPE *buffer_Symbols_for_Legacy_Computing = new YYCTYPE[1542];
	uint32_t buffer_Symbols_for_Legacy_Computing_len = encode_utf8(chars_Symbols_for_Legacy_Computing[0], chars_Symbols_for_Legacy_Computing[1], buffer_Symbols_for_Legacy_Computing) - 6;
	if (scan(buffer_Symbols_for_Legacy_Computing, buffer_Symbols_for_Legacy_Computing + buffer_Symbols_for_Legacy_Computing_len, Symbols_for_Legacy_Computing) != Symbols_for_Legacy_Computing)
		printf("test 'Symbols_for_Legacy_Computing' failed\n");
	delete[] buffer_Symbols_for_Legacy_Computing;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_B = new YYCTYPE[256326];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_B_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_B[0], chars_CJK_Unified_Ideographs_Extension_B[1], buffer_CJK_Unified_Ideographs_Extension_B) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_B, buffer_CJK_Unified_Ideographs_Extension_B + buffer_CJK_Unified_Ideographs_Extension_B_len, CJK_Unified_Ideographs_Extension_B) != CJK_Unified_Ideographs_Extension_B)
		printf("test 'CJK_Unified_Ideographs_Extension_B' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_B;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_C = new YYCTYPE[24966];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_C_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_C[0], chars_CJK_Unified_Ideographs_Extension_C[1], buffer_CJK_Unified_Ideographs_Extension_C) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_C, buffer_CJK_Unified_Ideographs_Extension_C + buffer_CJK_Unified_Ideographs_Extension_C_len, CJK_Unified_Ideographs_Extension_C) != CJK_Unified_Ideographs_Extension_C)
		printf("test 'CJK_Unified_Ideographs_Extension_C' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_C;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_D = new YYCTYPE[1350];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_D_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_D[0], chars_CJK_Unified_Ideographs_Extension_D[1], buffer_CJK_Unified_Ideographs_Extension_D) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_D, buffer_CJK_Unified_Ideographs_Extension_D + buffer_CJK_Unified_Ideographs_Extension_D_len, CJK_Unified_Ideographs_Extension_D) != CJK_Unified_Ideographs_Extension_D)
		printf("test 'CJK_Unified_Ideographs_Extension_D' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_D;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_E = new YYCTYPE[34662];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_E_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_E[0], chars_CJK_Unified_Ideographs_Extension_E[1], buffer_CJK_Unified_Ideographs_Extension_E) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_E, buffer_CJK_Unified_Ideographs_Extension_E + buffer_CJK_Unified_Ideographs_Extension_E_len, CJK_Unified_Ideographs_Extension_E) != CJK_Unified_Ideographs_Extension_E)
		printf("test 'CJK_Unified_Ideographs_Extension_E' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_E;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_F = new YYCTYPE[44934];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_F_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_F[0], chars_CJK_Unified_Ideographs_Extension_F[1], buffer_CJK_Unified_Ideographs_Extension_F) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_F, buffer_CJK_Unified_Ideographs_Extension_F + buffer_CJK_Unified_Ideographs_Extension_F_len, CJK_Unified_Ideographs_Extension_F) != CJK_Unified_Ideographs_Extension_F)
		printf("test 'CJK_Unified_Ideographs_Extension_F' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_F;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_I = new YYCTYPE[3750];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_I_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_I[0], chars_CJK_Unified_Ideographs_Extension_I[1], buffer_CJK_Unified_Ideographs_Extension_I) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_I, buffer_CJK_Unified_Ideographs_Extension_I + buffer_CJK_Unified_Ideographs_Extension_I_len, CJK_Unified_Ideographs_Extension_I) != CJK_Unified_Ideographs_Extension_I)
		printf("test 'CJK_Unified_Ideographs_Extension_I' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_I;

	YYCTYPE *buffer_CJK_Compatibility_Ideographs_Supplement = new YYCTYPE[3270];
	uint32_t buffer_CJK_Compatibility_Ideographs_Supplement_len = encode_utf8(chars_CJK_Compatibility_Ideographs_Supplement[0], chars_CJK_Compatibility_Ideographs_Supplement[1], buffer_CJK_Compatibility_Ideographs_Supplement) - 6;
	if (scan(buffer_CJK_Compatibility_Ideographs_Supplement, buffer_CJK_Compatibility_Ideographs_Supplement + buffer_CJK_Compatibility_Ideographs_Supplement_len, CJK_Compatibility_Ideographs_Supplement) != CJK_Compatibility_Ideographs_Supplement)
		printf("test 'CJK_Compatibility_Ideographs_Supplement' failed\n");
	delete[] buffer_CJK_Compatibility_Ideographs_Supplement;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_G = new YYCTYPE[29670];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_G_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_G[0], chars_CJK_Unified_Ideographs_Extension_G[1], buffer_CJK_Unified_Ideographs_Extension_G) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_G, buffer_CJK_Unified_Ideographs_Extension_G + buffer_CJK_Unified_Ideographs_Extension_G_len, CJK_Unified_Ideographs_Extension_G) != CJK_Unified_Ideographs_Extension_G)
		printf("test 'CJK_Unified_Ideographs_Extension_G' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_G;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_H = new YYCTYPE[25158];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_H_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_H[0], chars_CJK_Unified_Ideographs_Extension_H[1], buffer_CJK_Unified_Ideographs_Extension_H) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_H, buffer_CJK_Unified_Ideographs_Extension_H + buffer_CJK_Unified_Ideographs_Extension_H_len, CJK_Unified_Ideographs_Extension_H) != CJK_Unified_Ideographs_Extension_H)
		printf("test 'CJK_Unified_Ideographs_Extension_H' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_H;

	YYCTYPE *buffer_CJK_Unified_Ideographs_Extension_J = new YYCTYPE[25830];
	uint32_t buffer_CJK_Unified_Ideographs_Extension_J_len = encode_utf8(chars_CJK_Unified_Ideographs_Extension_J[0], chars_CJK_Unified_Ideographs_Extension_J[1], buffer_CJK_Unified_Ideographs_Extension_J) - 6;
	if (scan(buffer_CJK_Unified_Ideographs_Extension_J, buffer_CJK_Unified_Ideographs_Extension_J + buffer_CJK_Unified_Ideographs_Extension_J_len, CJK_Unified_Ideographs_Extension_J) != CJK_Unified_Ideographs_Extension_J)
		printf("test 'CJK_Unified_Ideographs_Extension_J' failed\n");
	delete[] buffer_CJK_Unified_Ideographs_Extension_J;

	YYCTYPE *buffer_Tags = new YYCTYPE[774];
	uint32_t buffer_Tags_len = encode_utf8(chars_Tags[0], chars_Tags[1], buffer_Tags) - 6;
	if (scan(buffer_Tags, buffer_Tags + buffer_Tags_len, Tags) != Tags)
		printf("test 'Tags' failed\n");
	delete[] buffer_Tags;

	YYCTYPE *buffer_Variation_Selectors_Supplement = new YYCTYPE[1446];
	uint32_t buffer_Variation_Selectors_Supplement_len = encode_utf8(chars_Variation_Selectors_Supplement[0], chars_Variation_Selectors_Supplement[1], buffer_Variation_Selectors_Supplement) - 6;
	if (scan(buffer_Variation_Selectors_Supplement, buffer_Variation_Selectors_Supplement + buffer_Variation_Selectors_Supplement_len, Variation_Selectors_Supplement) != Variation_Selectors_Supplement)
		printf("test 'Variation_Selectors_Supplement' failed\n");
	delete[] buffer_Variation_Selectors_Supplement;

	YYCTYPE *buffer_Supplementary_Private_Use_Area_A = new YYCTYPE[393222];
	uint32_t buffer_Supplementary_Private_Use_Area_A_len = encode_utf8(chars_Supplementary_Private_Use_Area_A[0], chars_Supplementary_Private_Use_Area_A[1], buffer_Supplementary_Private_Use_Area_A) - 6;
	if (scan(buffer_Supplementary_Private_Use_Area_A, buffer_Supplementary_Private_Use_Area_A + buffer_Supplementary_Private_Use_Area_A_len, Supplementary_Private_Use_Area_A) != Supplementary_Private_Use_Area_A)
		printf("test 'Supplementary_Private_Use_Area_A' failed\n");
	delete[] buffer_Supplementary_Private_Use_Area_A;

	YYCTYPE *buffer_Supplementary_Private_Use_Area_B = new YYCTYPE[393222];
	uint32_t buffer_Supplementary_Private_Use_Area_B_len = encode_utf8(chars_Supplementary_Private_Use_Area_B[0], chars_Supplementary_Private_Use_Area_B[1], buffer_Supplementary_Private_Use_Area_B) - 6;
	if (scan(buffer_Supplementary_Private_Use_Area_B, buffer_Supplementary_Private_Use_Area_B + buffer_Supplementary_Private_Use_Area_B_len, Supplementary_Private_Use_Area_B) != Supplementary_Private_Use_Area_B)
		printf("test 'Supplementary_Private_Use_Area_B' failed\n");
	delete[] buffer_Supplementary_Private_Use_Area_B;

	return 0;
}
