/*
 * SPDX-License-Identifier: BSD-3-Clause
 *
 * Copyright © 2026 Keith Packard
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above
 *    copyright notice, this list of conditions and the following
 *    disclaimer in the documentation and/or other materials provided
 *    with the distribution.
 *
 * 3. Neither the name of the copyright holder nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/* This file is auto-generated from mkctype_class.py */
/* clang-format off */

    /* 0x00 */ CLASS_cntrl,
    /* 0x01 */ CLASS_cntrl,
    /* 0x02 */ CLASS_cntrl,
    /* 0x03 */ CLASS_cntrl,
    /* 0x04 */ CLASS_cntrl,
    /* 0x05 */ CLASS_cntrl,
    /* 0x06 */ CLASS_cntrl,
    /* 0x07 */ CLASS_cntrl,
    /* 0x08 */ CLASS_cntrl,
    /* 0x09 */ CLASS_blank|CLASS_cntrl|CLASS_space,
    /* 0x0a */ CLASS_cntrl|CLASS_space,
    /* 0x0b */ CLASS_cntrl|CLASS_space,
    /* 0x0c */ CLASS_cntrl|CLASS_space,
    /* 0x0d */ CLASS_cntrl|CLASS_space,
    /* 0x0e */ CLASS_cntrl,
    /* 0x0f */ CLASS_cntrl,
    /* 0x10 */ CLASS_cntrl,
    /* 0x11 */ CLASS_cntrl,
    /* 0x12 */ CLASS_cntrl,
    /* 0x13 */ CLASS_cntrl,
    /* 0x14 */ CLASS_cntrl,
    /* 0x15 */ CLASS_cntrl,
    /* 0x16 */ CLASS_cntrl,
    /* 0x17 */ CLASS_cntrl,
    /* 0x18 */ CLASS_cntrl,
    /* 0x19 */ CLASS_cntrl,
    /* 0x1a */ CLASS_cntrl,
    /* 0x1b */ CLASS_cntrl,
    /* 0x1c */ CLASS_cntrl,
    /* 0x1d */ CLASS_cntrl,
    /* 0x1e */ CLASS_cntrl,
    /* 0x1f */ CLASS_cntrl,
    /* 0x20 */ CLASS_blank|CLASS_print|CLASS_space,
    /* 0x21 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x22 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x23 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x24 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x25 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x26 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x27 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x28 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x29 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x2a */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x2b */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x2c */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x2d */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x2e */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x2f */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x30 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x31 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x32 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x33 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x34 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x35 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x36 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x37 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x38 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x39 */ CLASS_alnum|CLASS_digit|CLASS_graph|CLASS_print|CLASS_xdigit,
    /* 0x3a */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x3b */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x3c */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x3d */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x3e */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x3f */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x40 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x41 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper|CLASS_xdigit,
    /* 0x42 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper|CLASS_xdigit,
    /* 0x43 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper|CLASS_xdigit,
    /* 0x44 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper|CLASS_xdigit,
    /* 0x45 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper|CLASS_xdigit,
    /* 0x46 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper|CLASS_xdigit,
    /* 0x47 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x48 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x49 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x4a */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x4b */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x4c */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x4d */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x4e */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x4f */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x50 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x51 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x52 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x53 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x54 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x55 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x56 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x57 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x58 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x59 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x5a */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_upper,
    /* 0x5b */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x5c */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x5d */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x5e */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x5f */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x60 */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x61 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower|CLASS_xdigit,
    /* 0x62 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower|CLASS_xdigit,
    /* 0x63 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower|CLASS_xdigit,
    /* 0x64 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower|CLASS_xdigit,
    /* 0x65 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower|CLASS_xdigit,
    /* 0x66 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower|CLASS_xdigit,
    /* 0x67 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x68 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x69 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x6a */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x6b */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x6c */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x6d */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x6e */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x6f */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x70 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x71 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x72 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x73 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x74 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x75 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x76 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x77 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x78 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x79 */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x7a */ CLASS_alnum|CLASS_alpha|CLASS_graph|CLASS_print|CLASS_lower,
    /* 0x7b */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x7c */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x7d */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x7e */ CLASS_graph|CLASS_print|CLASS_punct,
    /* 0x7f */ CLASS_cntrl,
