human
Complete this python program:
def client_options(session, *args, **kwargs):
assistant
#Here is the Python program you requested.

    """This allows the client an OOB way to inform us about its name and capabilities.
    This will be integrated into the session settings
    Kwargs:
    get (bool): If this is true, return the settings as a dict
    (ignore all other kwargs).
    client (str): A client identifier, like "mushclient".
    version (str): A client version
    ansi (bool): Supports ansi colors
    xterm256 (bool): Supports xterm256 colors or not
    mxp (bool): Supports MXP or not
    utf-8 (bool): Supports UTF-8 or not
    screenreader (bool): Screen-reader mode on/off
    mccp (bool): MCCP compression on/off
    screenheight (int): Screen height in lines
    screenwidth (int): Screen width in characters
    inputdebug (bool): Debug input functions
    nocolor (bool): Strip color
    raw (bool): Turn off parsing
    """
    flags = session.protocol_flags
    if ((not kwargs) or kwargs.get('get', False)):
        options = dict(((key, flags[key]) for key in flags if (key.upper() in ('ANSI', 'XTERM256', 'MXP', 'UTF-8', 'SCREENREADER', 'ENCODING', 'MCCP', 'SCREENHEIGHT', 'SCREENWIDTH', 'INPUTDEBUG', 'RAW', 'NOCOLOR', 'NOGOAHEAD'))))
        session.msg(client_options=options)
        return
    def validate_encoding(val):
        try:
            to_str(to_unicode('test-string'), encoding=val)
        except LookupError:
            raise RuntimeError(("The    encoding    '|w%s|n'    is    invalid.    " % val))
        return val
    def validate_size(val):
        return {0: int(val)}
    def validate_bool(val):
        if isinstance(val, basestring):
            return (True if (val.lower() in ('true', 'on', '1')) else False)
        return bool(val)
    for (key, value) in kwargs.iteritems():
        key = key.lower()
        if (key == 'client'):
            flags['CLIENTNAME'] = to_str(value)
        elif (key == 'version'):
            if ('CLIENTNAME' in flags):
                flags['CLIENTNAME'] = ('%s    %s' % (flags['CLIENTNAME'], to_str(value)))
        elif (key == 'ENCODING'):
            flags['ENCODING'] = validate_encoding(value)
        elif (key == 'ansi'):
            flags['ANSI'] = validate_bool(value)
        elif (key == 'xterm256'):
            flags['XTERM256'] = validate_bool(value)
        elif (key == 'mxp'):
            flags['MXP'] = validate_bool(value)
        elif (key == 'utf-8'):
            flags['UTF-8'] = validate_bool(value)
        elif (key == 'screenreader'):
            flags['SCREENREADER'] = validate_bool(value)
        elif (key == 'mccp'):
            flags['MCCP'] = validate_bool(value)
        elif (key == 'screenheight'):
            flags['SCREENHEIGHT'] = validate_size(value)
        elif (key == 'screenwidth'):
            flags['SCREENWIDTH'] = validate_size(value)
        elif (key == 'inputdebug'):
            flags['INPUTDEBUG'] = validate_bool(value)
        elif (key...