
    }Wh&                     F   d Z ddlZddlZej        d         dk    ZerefZdZn	efZddl	mZ ddl
mZ i Zda ej                    Zd Z ee          d	             Zd
 Zd Z ee          d             Z G d d          Z G d d          Z G d d          Zd ZdS )zThis module implements a post import hook mechanism styled after what is
described in PEP-369. Note that it doesn't cope with modules being reloaded.

    N   )	find_spec   )synchronizedFc                       fd}|S )Nc                                          d          \  }}|                     d          }t          |           t          j        |         }|D ]}t	          ||          } ||           S )N:.)split
__import__sysmodulesgetattr)modulemodule_namefunctionattrscallbackattrnames         T/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/wrapt/importer.pyimport_hookz4_create_import_hook_from_string.<locals>.import_hook&   sr     $

3Xs##;;{+ 	/ 	/Dx..HHx     )r   r   s   ` r   _create_import_hook_from_stringr   %   s$              r   c                    t          | t                    rt          |           } t          s.dat          j                            dt                                 t          	                    |d           }|Ft          j
        	                    |d           }|g t          |<    | |           d S | gt          |<   d S |g k    rt          j
        |         } | |           d S t          |                             |            d S )NTr   )
isinstancestring_typesr   _post_import_hooks_initr   	meta_pathinsertImportHookFinder_post_import_hooksgetr   append)hookr   hooksr   s       r   register_post_import_hookr(   0   s   
 $%% 5.t44 # 4"&Q 0 2 2333
 ""4..E} t,,')t$DLLLLL )-vt$$$	"
 T"V 	4 ''-----r   c                       fd}|S )Nc                     t          j                   t          j        j                 }j        D ]}t          ||          } ||           S N)r   r   r   r   r   r   )r   r   r   
entrypoints      r   r   z8_create_import_hook_from_entrypoint.<locals>.import_hookh   sV    :)***;z56$ 	/ 	/Dx..HHxr   r   )r,   r   s   ` r   #_create_import_hook_from_entrypointr-   g   s$              r   c                     	 dd l }n# t          $ r Y d S w xY w|                    |           D ]&}t          |          }t	          ||j                   'd S )Nr   )group)pkg_resourcesImportErroriter_entry_pointsr-   r(   r   )r/   r0   r,   r   s       r   discover_post_import_hooksr3   p   s        $55E5BB = =
6zBB!(JO<<<<= =s    
c                     t          | dd           }t                              |d           }|rg t          |<   |D ]} ||            d S d S )N__name__)r   r#   r$   )r   r   r'   r&   s       r   notify_module_loadedr6      sm    6:t,,D""4..E #%4  	 	DDLLLL	 	 	r   c                       e Zd Zd ZdS )_ImportHookLoaderc                 H    t           j        |         }t          |           |S r+   )r   r   r6   selffullnamer   s      r   load_modulez_ImportHookLoader.load_module   s!    X&V$$$r   N)r5   
__module____qualname__r=   r   r   r   r8   r8      s#            r   r8   c                   &    e Zd Zd Zd Zd Zd ZdS )_ImportHookChainedLoaderc                     || _         t          |d          r| j        | _        t          |d          r| j        | _        t          |d          r| j        | _        d S d S )Nr=   create_moduleexec_module)loaderhasattr_load_moduler=   _create_modulerC   _exec_modulerD   )r;   rE   s     r   __init__z!_ImportHookChainedLoader.__init__   sp    6=)) 	/!.$
6?++ 	3#2$
6=)) 	/!.$


	/ 	/r   c                 X    | j                             |          }t          |           |S r+   )rE   r=   r6   r:   s      r   rG   z%_ImportHookChainedLoader._load_module   s*    ((22V$$$r   c                 6    | j                             |          S r+   )rE   rC   )r;   specs     r   rH   z'_ImportHookChainedLoader._create_module   s    {((...r   c                 X    | j                             |           t          |           d S r+   )rE   rD   r6   )r;   r   s     r   rI   z%_ImportHookChainedLoader._exec_module   s,    '''V$$$$$r   N)r5   r>   r?   rJ   rG   rH   rI   r   r   r   rA   rA      sP        / / /  / / /% % % % %r   rA   c                   F    e Zd Zd Z ee          dd            ZddZdS )r"   c                     i | _         d S r+   )in_progress)r;   s    r   rJ   zImportHookFinder.__init__   s    r   Nc                 b   |t           vrd S || j        v rd S d| j        |<   	 t          s%t          |           t	                      | j        |= S t          t          |          dd           }|r,t          |t                    st          |          | j        |= S | j        |= d S # | j        |= w xY wNTrE   )r#   rQ   r   r   r8   r   r   rA   )r;   r<   pathrE   s       r   find_modulezImportHookFinder.find_module   s     ---4 t'''4%)"	+ < 8$$$(**"  ** !8!4!4hEE <*V5M"N"N <3F;;  ** *** *****s   #B$ AB$ $
B.c                    |t           vrd S || j        v rd S d| j        |<   	 t          |          }t          |dd           }|r)t	          |t
                    st          |          |_        || j        |= S # | j        |= w xY wrS   )r#   rQ   r   r   r   rA   rE   )r;   r<   rT   targetrM   rE   s         r   r   zImportHookFinder.find_spec   s     ---4 t'''4%)"	+ X&&DT8T22F ?j1IJJ ?6v>>  ** *****s   AA7 7
Br+   )NN)r5   r>   r?   rJ   r   _post_import_hooks_lockrU   r   r   r   r   r"   r"      sd           \)**3+ 3+ 3+ +*3+j'+ '+ '+ '+ '+ '+r   r"   c                       fd}|S )Nc                 (    t          |            | S r+   )r(   )r&   r   s    r   registerzwhen_imported.<locals>.register  s    !$---r   r   )r   r[   s   ` r   when_importedr\     s#         Or   )__doc__r   	threadingversion_infoPY2
basestringr   r   strimportlib.util
decoratorsr   r#   r   RLockrX   r   r(   r-   r3   r6   r8   rA   r"   r\   r   r   r   <module>rf      s   
 


    	qQ );LII4L(((((( $ $ $ $ $ $   ))/++ 	 	 	 %&&2. 2. '&2.l  = = = %&&  '&       % % % % % % % %8b+ b+ b+ b+ b+ b+ b+ b+N    r   