<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def source_hashed(source_filename, prepared_options, thumbnail_extension, **kwargs):
 """ Generate a thumbnail filename of the source filename and options separately hashed, along with the size. The format of the filename is a 12 character base64 sha1 hash of the source filename, the size surrounded by underscores, and an 8 character options base64 sha1 hash of the thumbnail options. For example: ``1xedFtqllFo9_100x100_QHCa6G1l.jpg``. """

    source_sha = hashlib.sha1(source_filename.encode('utf-8')).digest()
    source_hash = base64.urlsafe_b64encode(source_sha[:9]).decode('utf-8')
    parts = ':'.join(prepared_options[1:])
    parts_sha = hashlib.sha1(parts.encode('utf-8')).digest()
    options_hash = base64.urlsafe_b64encode(parts_sha[:6]).decode('utf-8')
    return '%s_%s_%s.%s' % (
        source_hash, prepared_options[0], options_hash, thumbnail_extension)