
    'h4                        d dl mZ d dlmZ 	 e 	 d dlmZ  G d de	      Z
d	e
_         G d
 d	e	      Z	 eefZd ZeefZ G d de      ZddZddZ G d de	      Zy# e$ r d ZY Yw xY w#   G d de      ZY exY w# e$ r eZY Ow xY w)    )ref)BoundMethodWeakrefc                     t        | d      S )N__call__)hasattr)objects    R/var/www/html/scrapers/gsc/venv/lib/python3.12/site-packages/blinker/_utilities.pycallabler
   	   s    vz**    )defaultdictc                   >    e Zd Zd
dZd Zd Zd Zd Zd Zd Z	d	 Z
y)r   Nc                 v    |t        |d      st        d      t        j                  | g|i | || _        y )Nr   zfirst argument must be callable)r   	TypeErrordict__init__default_factory)selfr   akws       r	   r   zdefaultdict.__init__   s<    +OZ8 ABBMM$))b)#2D r   c                 p    	 t         j                  | |      S # t        $ r | j                  |      cY S w xY wN)r   __getitem__KeyError__missing__)r   keys     r	   r   zdefaultdict.__getitem__   s:    -''c22 -'',,-s    55c                 ^    | j                   t        |      | j                         x| |<   }|S r   )r   r   )r   r   values      r	   r   zdefaultdict.__missing__   s4    ##+sm# $ 4 4 66DILr   c                 v    | j                   d}n| j                   f}t        |       |d d | j                         fS )N )r   typeitems)r   argss     r	   
__reduce__zdefaultdict.__reduce__%   s<    ##+++,:tT4==r   c                 "    | j                         S r   )__copy__r   s    r	   copyzdefaultdict.copy,   s    ==?"r   c                 :     t        |       | j                  |       S r   )r    r   r&   s    r	   r%   zdefaultdict.__copy__/   s    4:d22D99r   c                 |    dd l } t        |       | j                  |j                  | j	                                     S )Nr   )r'   r    r   deepcopyr!   )r   memor'   s      r	   __deepcopy__zdefaultdict.__deepcopy__2   s2    4:d22"mmDJJL9; ;r   c                 `    dj                  | j                  t        j                  |             S )Nzdefaultdict({}, {}))formatr   r   __repr__r&   s    r	   r/   zdefaultdict.__repr__7   s+    (//0D0D,0MM$,?A Ar   r   )__name__
__module____qualname__r   r   r   r#   r'   r%   r,   r/   r   r   r	   r   r      s+    	3	-		>	#	:	;
	Ar   r   c                       e Zd Zd Zd Zd Zy)_symbolc                      |x| _         | _        y)zConstruct a new named symbol.N)r0   name)r   r6   s     r	   r   z_symbol.__init__>   s    $((	r   c                 (    t         | j                  ffS r   )symbolr6   r&   s    r	   r#   z_symbol.__reduce__B   s    		|##r   c                     | j                   S r   )r6   r&   s    r	   r/   z_symbol.__repr__E   s    yyr   N)r0   r1   r2   r   r#   r/   r   r   r	   r4   r4   <   s    )$r   r4   r8   c                       e Zd ZdZi Zd Zy)r8   a?  A constant symbol.

    >>> symbol('foo') is symbol('foo')
    True
    >>> symbol('foo')
    foo

    A slight refinement of the MAGICCOOKIE=object() pattern.  The primary
    advantage of symbol() is its repr().  They are also singletons.

    Repeated calls of symbol('name') will all return the same instance.

    c                     	 | j                   |   S # t        $ r( | j                   j                  |t        |            cY S w xY wr   )symbolsr   
setdefaultr4   )clsr6   s     r	   __new__zsymbol.__new__Z   s@    	?;;t$$ 	?;;))$>>	?s    .AAN)r0   r1   r2   __doc__r<   r?   r   r   r	   r8   r8   J   s     G?r   c                    t        | d      r*t        | j                        t        | j                        fS t        | d      r*t        | j                        t        | j
                        fS t        | t              r| S t        |       S )N__func__im_func)r   idrB   __self__rC   im_self
isinstancetext)objs    r	   hashable_identityrJ   g   sf    sJ3<< "S\\"233	i	 3;;CKK11	C	
#wr   c                       e Zd ZdZy)annotatable_weakrefz7A weakref.ref that supports custom instance attributes.N)r0   r1   r2   r@   r   r   r	   rL   rL   u   s    Ar   rL   Nc                     t        |       rt        | |      }nt        | |      }|j                         D ]  \  }}t	        |||        |S )zReturn an annotated weak ref.)r
   callable_referencerL   r!   setattr)r   callbackannotationsweakr   r   s         r	   	referencerS   y   sO    !&(3"684!'') "
Uc5!"Kr   c                     t        | d      r| j                  t        | |      S t        | d      r| j                  t        | |      S t	        | |      S )z@Return an annotated weak ref, supporting bound instance methods.rF   )target	on_deleterE   )r   rF   r   rE   rL   )r   rP   s     r	   rN   rN      sO    vy!fnn&@!8DD		$)D!8DDvx00r   c                       e Zd ZdZd Zd Zy)lazy_propertyz(A @property that is only evaluated once.c                 4    || _         |j                  | _        y r   )	_deferredr@   )r   deferreds     r	   r   zlazy_property.__init__   s    !''r   c                 r    || S | j                  |      }t        || j                   j                  |       |S r   )rZ   rO   r0   )r   rI   r>   r   s       r	   __get__zlazy_property.__get__   s5    ;Ks#T^^,,e4r   N)r0   r1   r2   r@   r   r]   r   r   r	   rX   rX      s    2(r   rX   r   )weakrefr   blinker._saferefr   r
   	NameErrorcollectionsr   r   r   r4   r0   r8   strunicoderH   rJ   	WeakTypesrL   rS   rN   rX   r   r   r	   <module>re      s     /+,A'\
f 
  ?V ?.>D
 $%	B# B1F K  +++*A)Ad )Af  Ds-   A A- A? A*)A*-A<?B	B	