Ë
    ¤ehš  ã                  ód   — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 erddl
mZ  G d„ dee«      Zy	)
zj
frozen (immutable) data structures to support MultiIndexing

These are used for:

- .names (FrozenList)

é    )Úannotations)ÚTYPE_CHECKINGÚNoReturn)ÚPandasObject©Úpprint_thing)ÚSelfc                  ó´   ‡ — e Zd ZdZdˆ fd„Zdd„ZexZZˆ fd„Zdd„Z	dˆ fd„Z
e
Zdˆ fd„ZeZd„ Zdd	„Zdd
„Zdd„Zdd„ZexZZexZZexZxZZexZxZZˆ xZS )Ú
FrozenListz’
    Container that doesn't allow setting item *but*
    because it's technically hashable, will be used
    for lookups, appropriately, etc.
    c                óv   •— t        |t        «      rt        |«      } t        | «      t        ‰| �  |«      «      S )aF  
        Returns a FrozenList with other concatenated to the end of self.

        Parameters
        ----------
        other : array-like
            The array-like whose elements we are concatenating.

        Returns
        -------
        FrozenList
            The collection difference between self and other.
        )Ú
isinstanceÚtupleÚlistÚtypeÚsuperÚ__add__©ÚselfÚotherÚ	__class__s     €úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/core/indexes/frozen.pyÚunionzFrozenList.union"   s2   ø€ ô �eœUÔ#Ü˜“KˆEØŒt�D‹zœ%™'™/¨%Ó0Ó1Ð1ó    c                ól   — t        |«      }| D �cg c]	  }||vsŒ|‘Œ }} t        | «      |«      S c c}w )aF  
        Returns a FrozenList with elements from other removed from self.

        Parameters
        ----------
        other : array-like
            The array-like whose elements we are removing self.

        Returns
        -------
        FrozenList
            The collection difference between self and other.
        )Úsetr   )r   r   ÚxÚtemps       r   Ú
differencezFrozenList.difference4   s<   € ô �E“
ˆØÖ2�a 1¨E¢>’Ð2ˆÐ2ØŒt�D‹z˜$ÓÐùò 3s   �	1š1c                ó~   •— t        |t        «      r t        | «      t        ‰| �  |«      «      S t        ‰| �  |«      S ©N)r   Úslicer   r   Ú__getitem__)r   Únr   s     €r   r"   zFrozenList.__getitem__L   s8   ø€ Ü�aœÔØ”4˜“:œe™gÑ1°!Ó4Ó5Ð5Ü‰wÑ" 1Ó%Ð%r   c                ór   — t        |t        «      rt        |«      } t        | «      |t        | «      z   «      S r    )r   r   r   r   )r   r   s     r   Ú__radd__zFrozenList.__radd__Q   s/   € Ü�eœUÔ#Ü˜“KˆEØŒt�D‹z˜%¤$ t£*Ñ,Ó-Ð-r   c                ód   •— t        |t        t        f«      rt        |«      }t        ‰| �  |«      S r    )r   r   r   r   r   Ú__eq__r   s     €r   r'   zFrozenList.__eq__V   s*   ø€ Ü�eœe¤ZÐ0Ô1Ü˜“KˆEÜ‰w‰~˜eÓ$Ð$r   c                ó@   •—  t        | «      t        ‰| �	  |«      «      S r    )r   r   Ú__mul__r   s     €r   r)   zFrozenList.__mul__]   s   ø€ ØŒt�D‹zœ%™'™/¨%Ó0Ó1Ð1r   c                ó0   — t        | «      t        | «      ffS r    )r   r   ©r   s    r   Ú
__reduce__zFrozenList.__reduce__b   s   € Ü�D‹zœD ›J˜=Ð(Ð(r   c                ó*   — t        t        | «      «      S r    )Úhashr   r+   s    r   Ú__hash__zFrozenList.__hash__f   s   € Ü”E˜$“KÓ Ð r   c                óF   — t        dt        | «      j                  › d�«      ‚)zL
        This method will not function because object is immutable.
        ú'z&' does not support mutable operations.)Ú	TypeErrorr   Ú__name__)r   ÚargsÚkwargss      r   Ú	_disabledzFrozenList._disabledi   s$   € ô ˜!œD ›J×/Ñ/Ð0Ð0VÐWÓXÐXr   c                ó   — t        | dd¬«      S )NT)ú	úú
)Úquote_stringsÚescape_charsr   r+   s    r   Ú__str__zFrozenList.__str__o   s   € Ü˜D°ÐCUÔVÐVr   c                óJ   — t        | «      j                  › dt        | «      › d�S )Nú(ú))r   r3   Ústrr+   s    r   Ú__repr__zFrozenList.__repr__r   s$   € Ü�t“*×%Ñ%Ð& a¬¨D«	 {°!Ð4Ð4r   )Úreturnr   )rC   r	   )r   ÚobjectrC   Úbool)rC   Úint)rC   r   )rC   rA   )r3   Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__iadd__r"   r%   r'   Ú__req__r)   Ú__imul__r,   r/   r6   r=   rB   Ú__setitem__Ú__setslice__Ú__delitem__Ú__delslice__ÚpopÚappendÚextendÚremoveÚsortÚinsertÚ__classcell__)r   s   @r   r   r      s�   ø„ ñõ2ó$ ð, Ð€Gˆhô&ó
.õ
%ð
 €Gõ2ð €Hò)ó!óYóWó5ð "+Ð*€K�,Ø!*Ð*€K�,Ø%Ð%€CÐ%ˆ&�6Ø&Ð&€FÐ&ˆT”Fr   r   N)rI   Ú
__future__r   Útypingr   r   Úpandas.core.baser   Úpandas.io.formats.printingr   Úpandas._typingr	   r   r   © r   r   ú<module>r^      s2   ðñõ #÷õ
 *å 3áÝ#ô`'�˜tõ `'r   