code: def _find_files(root, includes, excludes, follow_symlinks):
      
  
      root = os.path.abspath(root)
      file_set = formic.FileSet(
          directory=root, include=includes,
          exclude=excludes, symlinks=follow_symlinks,
      )
  
      for filename in file_set.qualified_files(absolute=False):
          yield filename
docs: List files inside a directory based on include and exclude rules.
  
      This is a more advanced version of `glob.glob`, that accepts multiple
      complex patterns.
  
      Args:
          root (str): base directory to list files from.
          includes (list[str]): inclusion patterns. Only files matching those
              patterns will be included in the result.
          excludes (list[str]): exclusion patterns. Files matching those
              patterns will be excluded from the result. Exclusions take
              precedence over inclusions.
          follow_symlinks (bool): If true, symlinks will be included in the
              resulting zip file
  
      Yields:
          str: a file name relative to the root.
  
      Note:
          Documentation for the patterns can be found at
          http://www.aviser.asia/formic/doc/index.html