
    V|h
                         S SK r S SKrS SKrS SKrS SKrS SKr\" 5       r\ R                  " SS5      r	S r
S rS r " S S\R                  5      rSS	 S
.S jjrg)    NPackagenameversionc                    ^  [        [        T ST R                  5      [        [	        [        S U 4S jS 5       5      S 5      5      S9$ )N_yt_dlp__identifierc              3   >   >#    U  H  n[        TUS 5      v   M     g 7fN)getattr).0attrmodules     T/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/compat/compat_utils.py	<genexpr>#get_package_info.<locals>.<genexpr>   s$      '
X FD$''Xs   )_yt_dlp__version__version__version_stringr   r   )_Packager   __name__strnextfilterr   s   `r   get_package_infor      sK    V2FOODD '
X'
        c                     S[        U 5      ;   $ )N__path__)varsr   s    r   _is_packager       s    f%%r   c                 T    U R                  S5      =(       a    U R                  S5      $ )N__)
startswithendswith)r   s    r   
_is_dunderr%      s    ??4 8T]]4%88r   c                   .   ^  \ rS rSrS rU 4S jrSrU =r$ )EnhancedModule   c                 D    [        U 5      R                  SS 5      " 5       $ )N__bool__c                      g)NT r,   r   r   <lambda>)EnhancedModule.__bool__.<locals>.<lambda>    s    $r   )r   get)selfs    r   r*   EnhancedModule.__bool__   s    Dz~~j,799r   c                    >  [         TU ]  U5      n[        U[        5      (       a  UR                  5       $ U$ ! [         a1    [        U5      (       a  e [	        U SS 5      nU(       d  e U" U5      n Naf = f)N__getattr__)super__getattribute__AttributeErrorr%   r   
isinstancepropertyfget)r0   r   retgetter	__class__s       r   r5   EnhancedModule.__getattribute__"   sr    	'*40C (X66sxxz?C?  	$T=$7F,C	s   9 8A43A4r,   )r   
__module____qualname____firstlineno__r*   r5   __static_attributes____classcell__)r<   s   @r   r'   r'      s    :
@ 
@r   r'   c                     g r
   r,   )_s    r   r-   r-   /   s    X\r   )callbackc                   ^ ^^^^ UUU 4S jn[         R                  UUU 4S j5       m[        R                  R	                  T [
        R                  " T 5      5      m [        T l        UT l	        T $ )zOPassthrough parent module into a child module, creating the parent if necessaryc                 B  > [        T5      (       aH  [        R                  " [        5         [        R
                  " SU  3TR                  5      sS S S 5        $ T" U 5      nU[        L a  [        STR                   SU  35      eT" U 5        U$ ! , (       d  f       ND= f)N.zmodule z has no attribute )	r    
contextlibsuppressModuleNotFoundError	importlibimport_moduler   _NO_ATTRIBUTEr6   )r   r:   rE   
from_childparents     r   r3   'passthrough_module.<locals>.__getattr__1   s    v$$%89 ..4&z6??K :9 - 76??*;;MdV!TUU
 :9s   $B
Bc                 D  > U T;  a  ST;  d  [        U 5      (       a  [        $ [        T[        5      (       a!  [        R
                  " TTR                  5      m[        T5      (       aa  [        R                  " [        5         [        TR                   SU  3[        R
                  " SU  3TR                  5      5      sS S S 5        $ [        R                  " [        5         [        TU 5      sS S S 5        $ ! , (       d  f       N>= f! , (       d  f       [        $ = f)N.rH   )r%   rN   r7   r   rL   rM   r   r    rI   rJ   ImportErrorpassthrough_moduler6   r   )r   allowed_attributeschildrP   s    r   rO   &passthrough_module.<locals>.from_child<   s     )),,
40@0@$$eS!!++E6??CEu$$[1)V__,=Qtf*E*3*A*AAdV*enn*]_ 21   05$' 10	 21 10 s   =C;%D;
D	
D)
	functoolscachesysmodulesr/   types
ModuleTyper'   r<   r3   )rP   rV   rU   rE   r3   rO   s   ```` @r   rT   rT   /   sV    	 __ & [[__VU%5%5f%=>F%F$FMr   )).)collectionsrI   rX   rL   rZ   r\   objectrN   
namedtupler   r   r    r%   r]   r'   rT   r,   r   r   <module>ra      s`        
 !!)-@A&9@U%% @"$n $r   