# Path: fastavro/const.py
# INT_MIN_VALUE = -(1 << 31)
# 
# INT_MAX_VALUE = (1 << 31) - 1
# 
# LONG_MIN_VALUE = -(1 << 63)
# 
# LONG_MAX_VALUE = (1 << 63) - 1
# 
# Path: fastavro/schema.py
# FINGERPRINT_ALGORITHMS = _schema.FINGERPRINT_ALGORITHMS
# 
# Path: fastavro/types.py

# 
# Path: fastavro/_schema_common.py
# PRIMITIVES = {
#     "boolean",
#     "bytes",
#     "double",
#     "float",
#     "int",
#     "long",
#     "null",
#     "string",
# }


from hashlib import md5
from string import ascii_letters
from typing import Any, Iterator, Dict, List, cast
from .const import INT_MIN_VALUE, INT_MAX_VALUE, LONG_MIN_VALUE, LONG_MAX_VALUE
from .schema import extract_record_type, parse_schema
from .types import Schema, NamedSchemas
from ._schema_common import PRIMITIVES
import random

    if record_type == "null":
        return None
    elif record_type == "string":
        return _gen_utf8()
    elif record_type == "int":
        return random.randint(INT_MIN_VALUE, INT_MAX_VALUE)
    elif record_type == "long":
        return random.randint(LONG_MIN_VALUE, LONG_MAX_VALUE)
    elif record_type == "float":
        return random.random()
    elif record_type == "double":
        return random.random()
    elif record_type == "boolean":
        return index % 2 == 0
    elif record_type == "bytes":
        return _randbytes(10)
    elif record_type == "fixed":
        fixed_schema = cast(Dict[str, Any], schema)
        return _randbytes(fixed_schema["size"])
    elif record_type == "enum":
        enum_schema = cast(Dict[str, Any], schema)
        real_index = index % len(enum_schema["symbols"])
        return enum_schema["symbols"][real_index]
    elif record_type == "array":
        array_schema = cast(Dict[str, Schema], schema)
        return [
            gen_data(array_schema["items"], named_schemas, index) for _ in range(10)
        ]
    elif record_type == "map":

# Path: fastavro/const.py
# INT_MIN_VALUE = -(1 << 31)
# 
# INT_MAX_VALUE = (1 << 31) - 1
# 
# LONG_MIN_VALUE = -(1 << 63)
# 
# LONG_MAX_VALUE = (1 << 63) - 1
# 
# Path: fastavro/schema.py
# FINGERPRINT_ALGORITHMS = _schema.FINGERPRINT_ALGORITHMS
# 
# Path: fastavro/types.py

# 
# Path: fastavro/_schema_common.py
# PRIMITIVES = {
#     "boolean",
#     "bytes",
#     "double",
#     "float",
#     "int",
#     "long",
#     "null",
#     "string",
# }


# Path: fastavro/utils.py
from hashlib import md5
from string import ascii_letters
from typing import Any, Iterator, Dict, List, cast
from .const import INT_MIN_VALUE, INT_MAX_VALUE, LONG_MIN_VALUE, LONG_MAX_VALUE
from .schema import extract_record_type, parse_schema
from .types import Schema, NamedSchemas
from ._schema_common import PRIMITIVES
import random


    if record_type == "null":
        return None
    elif record_type == "string":
        return _gen_utf8()
    elif record_type == "int":
        return random.randint(INT_MIN_VALUE, INT_MAX_VALUE)
    elif record_type == "long":
        return random.randint(LONG_MIN_VALUE, LONG_MAX_VALUE)
    elif record_type == "float":
        return random.random()
    elif record_type == "double":
        return random.random()
    elif record_type == "boolean":
        return index % 2 == 0
    elif record_type == "bytes":
        return _randbytes(10)
    elif record_type == "fixed":
        fixed_schema = cast(Dict[str, Any], schema)
        return _randbytes(fixed_schema["size"])
    elif record_type == "enum":
        enum_schema = cast(Dict[str, Any], schema)
        real_index = index % len(enum_schema["symbols"])
        return enum_schema["symbols"][real_index]
    elif record_type == "array":
        array_schema = cast(Dict[str, Schema], schema)
        return [
            gen_data(array_schema["items"], named_schemas, index) for _ in range(10)
        ]
    elif record_type == "map":

        map_schema = cast(Dict[str, Schema], schema)