<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">from ._buffer import Buffer, BufferReadError, BufferWriteError  # noqa

UINT_VAR_MAX = 0x3FFFFFFFFFFFFFFF
UINT_VAR_MAX_SIZE = 8


def encode_uint_var(value: int) -&gt; bytes:
    """
    Encode a variable-length unsigned integer.
    """
    buf = Buffer(capacity=UINT_VAR_MAX_SIZE)
    buf.push_uint_var(value)
    return buf.data


def size_uint_var(value: int) -&gt; int:
    """
    Return the number of bytes required to encode the given value
    as a QUIC variable-length unsigned integer.
    """
    if value &lt;= 0x3F:
        return 1
    elif value &lt;= 0x3FFF:
        return 2
    elif value &lt;= 0x3FFFFFFF:
        return 4
    elif value &lt;= 0x3FFFFFFFFFFFFFFF:
        return 8
    else:
        raise ValueError("Integer is too big for a variable-length integer")
</pre></body></html>