
    I j                    v    S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  \" S5       " S S	\	\5      5       rg
)zj
frozen (immutable) data structures to support MultiIndexing

These are used for:

- .names (FrozenList)

    )annotations)NoReturnSelf)
set_module)PandasObjectpprint_thingzpandas.api.typingc                     ^  \ rS rSrSrSU 4S jjrSS jr\=rrU 4S jr	SS jr
SU 4S jjr\rSU 4S jjr\rS	 rSS
 jrSS jrSS jrSS jr\=rr\=rr\=r=rr\=r=rrSrU =r$ )
FrozenList   z
Container that doesn't allow setting item *but*
because it's technically hashable, will be used
for lookups, appropriately, etc.
c                   > [        U[        5      (       a  [        U5      n[        U 5      " [        TU ]  U5      5      $ )z
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     k/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/core/indexes/frozen.pyunionFrozenList.union#   s3     eU##KEDz%'/%011    c                v    [        U5      nU  Vs/ s H  o"U;  d  M
  UPM     nn[        U 5      " U5      $ s  snf )z
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   
differenceFrozenList.difference5   s9     E
24aE>42Dz$ 3s   	66c                   > [        U[        5      (       a  [        U 5      " [        TU ]  U5      5      $ [        TU ]  U5      $ N)r   slicer   r   __getitem__)r   nr   s     r   r%   FrozenList.__getitem__K   s9    a:eg1!455w"1%%r   c                |    [        U[        5      (       a  [        U5      n[        U 5      " U[        U 5      -   5      $ r#   )r   r   r   r   )r   r   s     r   __radd__FrozenList.__radd__P   s0    eU##KEDz%$t*,--r   c                n   > [        U[        [        45      (       a  [        U5      n[        TU ]  U5      $ r#   )r   r   r   r   r   __eq__r   s     r   r,   FrozenList.__eq__U   s-    eeZ011KEw~e$$r   c                @   > [        U 5      " [        TU ]	  U5      5      $ r#   )r   r   __mul__r   s     r   r/   FrozenList.__mul__\   s    Dz%'/%011r   c                0    [        U 5      [        U 5      44$ r#   )r   r   r   s    r   
__reduce__FrozenList.__reduce__a   s    DzDJ=((r   c                *    [        [        U 5      5      $ r#   )hashr   r2   s    r   __hash__FrozenList.__hash__e   s    E$K  r   c                F    [        S[        U 5      R                   S35      e)z<
This method will not function because object is immutable.
'z&' does not support mutable operations.)	TypeErrorr   __name__)r   argskwargss      r   	_disabledFrozenList._disabledh   s$     !DJ//00VWXXr   c                    [        U SSS9$ )NT)	
r:   )quote_stringsescape_charsr   r2   s    r   __str__FrozenList.__str__n   s    3J
 	
r   c                :    [        U 5      R                   SU < S3$ )N())r   r<   r2   s    r   __repr__FrozenList.__repr__s   s     t*%%&axq11r    )returnr   )rO   r   )r   objectrO   bool)rO   int)rO   r   )rO   str) r<   
__module____qualname____firstlineno____doc__r   r    r   __iadd__r%   r)   r,   __req__r/   __imul__r3   r7   r?   rG   rL   __setitem____setslice____delitem____delslice__popappendextendremovesortinsert__static_attributes____classcell__)r   s   @r   r   r      s    2$ ( Gh&
.
%
 G2 H)!Y

2 "+*K,!**K,%%C%&6&&F&TFr   r   N)rW   
__future__r   typingr   r   pandas.util._decoratorsr   pandas.core.baser   pandas.io.formats.printingr	   r   r   rN   r   r   <module>rl      sE    #
 / ) 3  `'t `' !`'r   