code: def parts(cls, path: str) -> Tuple[str, ...]:
      ret = []
      while True:
          path, part = posixpath.split(path)
  
          if part:
              ret.append(part)
              continue
  
          if path:
              ret.append(path)
  
          break
  
      ret.reverse()
  
      return tuple(ret)
  
imports: import errno
  import functools
  import ntpath
  import os
  import posixpath
  import threading
  from collections import deque
  from contextlib import ExitStack, suppress
  from typing import TYPE_CHECKING, Any, Callable, Dict, Optional, Tuple, Type, Union
  from fsspec.spec import AbstractFileSystem
  from funcy import wrap_with
  from dvc.log import logger
  from dvc_objects.fs.base import FileSystem
  from .data import DataFileSystem
label_desc: Use image node_id 4 for calling the _DVCFileSystem obj's underlying member method code with example usage: obj.parts(cls, path) and returns: tuple