code: def ExpandRecursiveGlobs(cls, path, path_separator):
      
      glob_regex = r'(.*)?{0:s}\*\*(\d{{1,2}})?({0:s})?$'.format(
          re.escape(path_separator))
  
      match = re.search(glob_regex, path)
      if not match:
        return [path]
  
      skip_first = False
      if match.group(3):
        skip_first = True
      if match.group(2):
        iterations = int(match.group(2))
      else:
        iterations = cls._RECURSIVE_GLOB_LIMIT
        logger.warning((
            'Path "{0:s}" contains fully recursive glob, limiting to 10 '
            'levels').format(path))
  
      return cls.AppendPathEntries(
          match.group(1), path_separator, iterations, skip_first)
docs: Expands recursive like globs present in an artifact path.
  
      If a path ends in '**', with up to two optional digits such as '**10',
      the '**' will recursively match all files and zero or more directories
      from the specified path. The optional digits indicate the recursion depth.
      By default recursion depth is 10 directories.
  
      If the glob is followed by the specified path segment separator, only
      directories and subdirectories will be matched.
  
      Args:
        path (str): path to be expanded.
        path_separator (str): path segment separator.
  
      Returns:
        list[str]: String path expanded for each glob.