<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _parse_version_rule(loader, version, verspec):
 """ Parse a version rule. The first token is the name of the application implementing that API version. The remaining tokens are key="quoted value" pairs that specify parameters; these parameters are ignored by AVersion, but may be used by the application. :param loader: An object with a get_app() method, which will be used to load the actual applications. :param version: The version name. :param verspec: The version text, described above. :returns: A dictionary of three keys: "app" is the application; "name" is the version identification string; and "params" is a dictionary of parameters. """


    result = dict(name=version, params={})
    for token in quoted_split(verspec, ' ', quotes='"\''):
        if not token:
            continue

        # Convert the application
        if 'app' not in result:
            result['app'] = loader.get_app(token)
            continue

        # What remains is key="quoted value" pairs...
        key, _eq, value = token.partition('=')

        # Set the parameter key
        _set_key('version.%s' % version, result['params'], key, value)

    # Make sure we have an application
    if 'app' not in result:
        raise ImportError("Cannot load application for version %r" % version)

    return result