nodes: 0, module; 1, function_definition; 2, function_name:combine_hashes; 3, parameters; 4, block; 5, identifier:hashes; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:"""A simple helper function to combine other hashes.  Sorts the hashes before rolling them in."""; 11, assignment; 12, identifier:h; 13, call; 14, block; 15, conditional_expression:hasher.hexdigest() if PY3 else hasher.hexdigest().decode('utf-8'); 16, identifier:hasher; 17, call; 18, identifier:sorted; 19, argument_list; 20, expression_statement; 21, expression_statement; 22, call; 23, identifier:PY3; 24, call; 25, identifier:sha1; 26, argument_list; 27, identifier:hashes; 28, assignment; 29, call; 30, attribute; 31, argument_list; 32, attribute; 33, argument_list; 34, identifier:h; 35, call; 36, attribute; 37, argument_list; 38, identifier:hasher; 39, identifier:hexdigest; 40, call; 41, identifier:decode; 42, string; 43, identifier:ensure_binary; 44, argument_list; 45, identifier:hasher; 46, identifier:update; 47, identifier:h; 48, attribute; 49, argument_list; 50, string_content:utf-8; 51, identifier:h; 52, identifier:hasher; 53, identifier:hexdigest
code: def combine_hashes(hashes):
    """A simple helper function to combine other hashes.  Sorts the hashes before rolling them in."""
    hasher = sha1()
    for h in sorted(hashes):
      h = ensure_binary(h)
      hasher.update(h)
    return hasher.hexdigest() if PY3 else hasher.hexdigest().decode('utf-8')