
    [Fi                         d Z ddlZddlmZ ddlmZ ddlmZ dee   fdZ	 ddeeej                  f   d	edee   fd
Z	y)zLProvides a function to report all internal modules for using freezing
tools.    N)Iterator)List)Unionreturnc                  6    ddl } t        t        |             }|S )zVReturn a list of module names used by pytest that should be
    included by cx_freeze.r   N)_pytestlist_iter_all_modules)r   results     h/var/www/html/BankruptcyAI-uat/bankruptcy-ai/venv/lib/python3.12/site-packages/_pytest/freeze_support.pyfreeze_includesr   
   s     #G,-FM    packageprefixc              #   8  K   ddl }ddl}t        | t              r| }n | j                  }|d   | j
                  dz   }}|j                  |g      D ]F  \  }}}|r7t        |j                  j                  ||      |dz         D ]	  }	||	z     @||z    H yw)zIterate over the names of all modules that can be found in the given
    package, recursively.

        >>> import _pytest
        >>> list(_iter_all_modules(_pytest))
        ['_pytest._argcomplete', '_pytest._code.code', ...]
    r   N.)r   )
ospkgutil
isinstancestr__path____name__iter_modulesr
   pathjoin)
r   r   r   r   r   package_path_name
is_packagems
             r   r
   r
      s      '3 ''#A(8(83(>f&33TF;  4&rww||D$'?s
S !qj ! 4- s   BB) )
__doc__typestypingr   r   r   r   r   
ModuleTyper
    r   r   <module>r'      s`   
    c   3((()   c] r   