def hash_blockquotes(text, hashes, markdown_obj):
def sub(match):<EOL><INDENT>block = match.group(<NUM_LIT:1>).strip()<EOL>block = re.sub(r'<STR_LIT>', '<STR_LIT>', block)<EOL>block = markdown_obj.convert(block)<EOL>block = '<STR_LIT>'.format(block)<EOL>hashed = hash_text(block, '<STR_LIT>')<EOL>hashes[hashed] = block<EOL>return '<STR_LIT>' + hashed + '<STR_LIT>'<EOL><DEDENT>return re_blockquote.sub(sub, text)<EOL>
Hashes block quotes.

    Block quotes are defined to be lines that start with "> " (the
    space is not optional).

    All Markdown syntax in a blockquote is recursively converted,
    which allows (among other things) headers, codeblocks, and
    blockquotes to be used inside of blockquotes. The "> " is simply
    stripped from the front of any blockquote lines and the result is
    recursively converted.