def pick_files(profile_dir, **kwargs):
    """
    Return paths to the files from the profile that should be backed up.

    There are 17 files that can be backed up.  They have been organized into 11 
    categories for your convenience:
        
    - autocomplete
    - bookmarks
    - certificates
    - cookies
    - dictionary
    - download_actions
    - passwords
    - preferences
    - search_engines
    - site_settings
    - styles

    By default all 17 files will be backed up, but you can prune any of the 
    above categories by passing it as a keyword argument set to False, i.e. 
    ``cookies=False''.
    """
    profile_files = {   # (no fold)
        'autocomplete': [
            'formhistory.sqlite',
        ],
        'bookmarks': [
            'places.sqlite',
            'bookmarkbackups',
        ],
        'certificates': [
            'cert8.db',
        ],
        'cookies': [
            'cookies.sqlite',
        ],
        'dictionary': [
            'persdict.dat',
        ],
        'download_actions': [
            'mimeTypes.rdf',
        ],
        'passwords': [
            'key3.db',
            'logins.json',
        ],
        'preferences': [
            'prefs.js',
            'user.js',
        ],
        'search_engines': [
            'search.json',
            'searchplugins',
        ],
        'site_settings': [
            'permissions.sqlite',
            'content-prefs.sqlite',
        ],
        'styles': [
            'chrome/userChrome.css',
            'chrome/userContent.css',
        ],
    }
    picked_files = []

    for key in profile_files:
        if kwargs.get(key, True):
            picked_files += [profile_dir / x for x in profile_files[key]]

    return [x for x in picked_files if x.exists()]