+
    Tj                     d    ^ RI t ^ RIHt R tR tR t] P                  R 4       t ! R R4      tR# )	    N)
namedtuplec                z    \        V \        4      '       d   T pMg\        V \        4      '       d&   V P                  R4      w  r#W#P	                  4       3pM,V P
                  P                  V P
                  P                  3p\        V4      ^8X  g   Q hV#   \        \        3 d    \        RT ,          4      hi ; i)z
Take a model or a string of the form "app_label.ModelName" and return a
corresponding ("app_label", "modelname") tuple. If a tuple is passed in,
assume it's a valid model tuple already and return it unchanged.
.z`Invalid model reference '%s'. String model references must be of the form 'app_label.ModelName'.)
isinstancetuplestrsplitlower_meta	app_label
model_namelen
ValueErrorAssertionError)modelmodel_tupler   r   s   &   K/var/www/idalgo/venv/lib/python3.14/site-packages/django/db/models/utils.pymake_model_tupler      s    
eU##Ks##$)KK$4!I#%5%5%77K++//1G1GGK;1$$$' 
9;@A
 	

s   BB $B:c              #  |   "   V P                  4        F#  w  rT\        V4      '       d   V! 4       MT3x  K%  	  R# 5i)zd
Generate key/value pairs for the given mapping where the values are
evaluated if they're callable.
N)itemscallable)mappingkvs   &  r   resolve_callablesr      s0     
 **  s   :<c                     \        V !  ! V!  # N)create_namedtuple_class)namesvaluess   &&r   unpickle_named_rowr!   %   s    "E*F33    c                  H   a  V 3R  lp\        R\        RS 4      3RVRR/4      # )c                 *   < \         S\        V 4      33# r   )r!   r   )selfr   s   &r   
__reduce__+create_namedtuple_class.<locals>.__reduce__-   s    !E5;#777r"   Rowr&   	__slots__ )typer   )r   r&   s   j r   r   r   )   s3    8 	E5	!#	z;3 r"   c                   6   a a ] tR t^7t oRtV 3R ltRtVtV ;t# )
AltersDatazK
Make subclasses preserve the alters_data attribute on overridden methods.
c                T  < \        V 4      P                  4        Fy  w  r#\        V4      '       g   K  \        VR 4      '       d   K,  V P                   F=  p\        WBR4      ;p'       g   K  \        VR 4      '       d   VP                  Vn         Kw  	  K{  	  \        SV `   ! R/ VB  R# )alters_dataNr*   )	varsr   r   hasattr	__bases__getattrr/   super__init_subclass__)clskwargsfn_namefnbasebase_fn	__class__s   &,    r   r5   AltersData.__init_subclass__<   s    9??,KG||GB$>$>MMD")$">>w>>"7M::-4-@-@BN	 * - 	!+F+r"   r*   )	__name__
__module____qualname____firstlineno____doc__r5   __static_attributes____classdictcell____classcell__)r<   __classdict__s   @@r   r-   r-   7   s     	, 	,r"   r-   )		functoolscollectionsr   r   r   r!   	lru_cacher   r-   r*   r"   r   <module>rJ      s>     "
.+4 
 
, ,r"   