+
    Tj
F                         ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ]! R	. ]P                  OR
NRN4      t]! R4      tR t ! R R4      t ! R R]4      tR# )    )
namedtupleN)DatabaseError)BaseDatabaseIntrospection)	FieldInfo)	TableInfo)Index)_lazy_re_compiler   pkhas_json_constraintz&^\s*(?:var)?char\s*\(\s*(\d+)\s*\)\s*$c                d    \         P                  V 4      pV'       d   \        V^,          4      # R# )z6Extract the size number from a "varchar(11)" type nameN)field_size_researchint)namems   & ]/var/www/idalgo/venv/lib/python3.14/site-packages/django/db/backends/sqlite3/introspection.pyget_field_sizer      s'    T"A3qt9#t#    c                      a  ] tR t^t o / RRbRRbRRbRRbRRbR	R
bRR
bRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRR R!R"/CtR# tR$tV tR%# )&FlexibleFieldLookupDictboolBooleanFieldbooleansmallintSmallIntegerFieldzsmallint unsignedPositiveSmallIntegerFieldsmallintegerr   IntegerFieldintegerbigintBigIntegerFieldzinteger unsignedPositiveIntegerFieldzbigint unsignedPositiveBigIntegerFielddecimalDecimalFieldreal
FloatFieldtext	TextFieldchar	CharFieldvarcharblobBinaryFielddate	DateFielddatetimeDateTimeFieldtime	TimeFieldc                    VP                  4       P                  R ^4      ^ ,          P                  4       pV P                  V,          # )()lowersplitstripbase_data_types_reverse)selfkeys   &&r   __getitem__#FlexibleFieldLookupDict.__getitem__6   s9    iikQ'*002++C00r    N)__name__
__module____qualname____firstlineno__r:   r=   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     > 	' 	8	
 	+ 	~ 	> 	# 	2 	4 	> 	 	 	 	;  	!" 	#$ 	O',1 1r   r   c                      a a ] tR t^;t o]! 4       tV 3R ltR tR tRR lt	R t
R tR tR tR	 tR
 tR tRtVtV ;t# )DatabaseIntrospectionc                   < \         SV `  W4      pVP                  '       d
   VR9   d   R# VP                  '       d   R# V# )r!   	AutoField	JSONField>   r   r!   r   )superget_field_typer
   r   )r;   	data_typedescription
field_type	__class__s   &&& r   rM   $DatabaseIntrospection.get_field_type>   sA    W+IC
>>>j -
 
 ***r   c                    VP                  R4       VP                  4        Uu. uF$  p\        V^ ,          V^,          ^ ,          4      NK&  	  up# u upi )z>Return a list of table and view names in the current database.z
            SELECT name, type FROM sqlite_master
            WHERE type in ('table', 'view') AND NOT name='sqlite_sequence'
            ORDER BY name)executefetchallr   )r;   cursorrows   && r   get_table_list$DatabaseIntrospection.get_table_listL   sK     		
 9?8IJ8I	#a&#a&),8IJJJs   *Ac                   VP                  RV P                  P                  P                  V4      ,          4       VP	                  4       pV'       g   \        RV R24      hV P                  W4      p\        4       pV P                  P                  P                  '       dX   V FQ  pV^,          pRV,          pVP                  RW(.4      P                  4       p	V	'       g   K@  VP                  V4       KS  	  V U
UUUUUUu. uFN  w  rrrpVR	9   g   K  \        VV\        V4      RRRV'       * VVP                  V4      \        V4      W9   4      NKP  	  ppppppp
p\!        V4       UUu. uF  w  ppVP"                  '       g   K  VNK  	  ppp\%        V4      ^8  d&   V F  pVV,          P'                  RR7      VV&   K!  	  V# u uppppppp
i u uppi )
zQ
Return a description of the table with the DB-API cursor.description
interface.
zPRAGMA table_xinfo(%s)zTable z does not exist (empty pragma).z%%json_valid("%s")%%z
                    SELECT sql
                    FROM sqlite_master
                    WHERE
                        type = 'table' AND
                        name = %s AND
                        sql LIKE %s
                NF)r
   )r         )rT   
connectionops
quote_namerU   r   _get_column_collationssetfeaturescan_introspect_json_fieldfetchoneaddr   r   getr   	enumerater
   len_replace)r;   rV   
table_name
table_info
collationsjson_columnslinecolumnjson_constraint_sqlr   cidr   rN   notnulldefaultr
   hiddentable_descriptionindex
field_infoprimary_keys   &&&                  r   get_table_description+DatabaseIntrospection.get_table_descriptionX   s   
 	$t':':'E'Ej'QQ	
 __&
&4S TUU00D
u??##==="a&<v&E#&,nn  5
' (* $ '& $$V, #< GQ
 
 GQB9wFIy)t$R$ GQ 	 
2 ,55F+G
+G'eZ:==EE+G 	 
 {a$+<U+C+L+LPU+L+V!%( %  =
 
0
s   GAG/GGc                2    V P                  W4      pR VRV/.# )tablero   )get_primary_key_column)r;   rV   rj   table_fieldspk_cols   &&&& r   get_sequences#DatabaseIntrospection.get_sequences   s$    ,,V@*h788r   c                    VP                  RV P                  P                  P                  V4      ,          4       VP	                  4        UUUUu/ uF  vppppppWVV3bK  	  upppp# u uppppi )z{
Return a dictionary of {column_name: (ref_column_name, ref_table_name)}
representing all foreign keys in the given table.
zPRAGMA foreign_key_list(%s)rT   r]   r^   r_   rU   )r;   rV   rj   _ref_table_namecolumn_nameref_column_names   &&&    r   get_relations#DatabaseIntrospection.get_relations   s|    
 	)DOO,?,?,J,J:,VV	
 "

 # >:: #

 
	
 

s   A*
c           	         VP                  R V P                  P                  P                  V4      ,          4       VP	                  4        UUUu. uF  Evr4r5V'       g   K  VNK  	  uppp# u upppi )zPRAGMA table_info(%s)r   )r;   rV   rj   r   r   r
   s   &&&   r   get_primary_key_columns-DatabaseIntrospection.get_primary_key_columns   sV    #doo&9&9&D&DZ&PP	
 -3OO,=D,=1,=DDDs   A-"A-c                
   R pR pR pR pRp. pRp	. p
^ pV EF  pVP                  \        P                  P                  R4      '       d   V^,          pM~VP                  \        P                  P                  R4      '       d   V^,          pV^ 8  d    EMBM:V^ 8X  d4   VP                  \        P                  P                  R4      '       d    EMVf5   VP                  \        P                  P                  R4      pV'       d   K  V'       Ed   Vf   VP
                  \        P                  P                  \        P                  P                  39   d   VP                  pMLVP
                  \        P                  P                  P                  P                  8X  d   VP                  ^R pVP                  \        P                  P                  R4      '       d   RpTpEMV'       d   XV8X  d   V'       d   RpEK  VP
                  \        P                  P                  \        P                  P                  39   d   VP                  VP                  4       EM/VP
                  \        P                  P                  P                  P                  8X  d   VP                  VP                  ^R 4       MVf   VP
                  \        P                  P                  \        P                  P                  39   d   VP                  pMLVP
                  \        P                  P                  P                  P                  8X  d   VP                  ^R pVP                  \        P                  P                  R4      '       d   V.pVP                  \        P                  P                  R4      '       d   Rp	TpEK  V	'       g   EK  XV8X  d   V
'       d   Rp	EK  VP
                  \        P                  P                  \        P                  P                  39   d3   VP                  V9   d   V
P                  VP                  4       EKF  EKI  VP
                  \        P                  P                  P                  P                  8X  g   EK  VP                  ^R V9   g   EK  V
P                  VP                  ^R 4       EK  	  V'       d   R	RR
VRRRR RRRR/MR pV
'       d   RRR
V
RRR	RRR RR/MR pWnW3# )NFr6   ),
CONSTRAINTUNIQUETCHECKuniquecolumnsrx   foreign_keycheckrv   )matchsqlparsetokensPunctuationKeywordttypeNamevalueLiteralStringSymbolappend)r;   r   r   tokenis_constraint_definition
field_nameconstraint_namer   unique_columnsr   check_columnsbraces_deepunique_braces_deepcheck_braces_deepunique_constraintcheck_constraints   &&&             r   &_parse_column_or_constraint_definition<DatabaseIntrospection._parse_column_or_constraint_definition   s   #' 
E{{8??66<<q X__88#>>q ? # !ekk(//2M2Ms&S&S'/+0;;OO++\,( ,''"*{{x';';X__=T=T&UU*/++(?(?(F(F(M(MM*/++a*;;;x66AA!F)4&)[8)%*F {{x';';X__=T=T&UU&--ekk:(?(?(F(F(M(MM&--ekk!B.?@ %{{x';';X__=T=T&UU%*[[
(?(?(F(F(M(MM%*[[2%6
;;x66AA&0\N{{8??22G<<$/!$3$ %;;8??#7#79P9P"QQ{{g-%,,U[[9 .[[HOO$;$;$B$B$I$II{{1R(G3%,,U[[2->? R  $>ut  	*  =u%t  	 3CJJr   c                (   \         P                  ! V4      ^ ,          p/ p^ pR VP                  4        4       pV F5  pVP                  \         P                  P
                  R4      '       g   K5   M	   V P                  Wb4      w  pp	p
pV	'       d#   V'       d   WV&   MV^,          pV	VRV,          &   V
'       d#   V'       d   WV&   MV^,          pV
VRV,          &   VP                  \         P                  P
                  R4      '       g   K   V# )r   c              3   L   "   T F  qP                   '       d   K  Vx  K  	  R # 5iN)is_whitespace).0r   s   & r   	<genexpr>ADatabaseIntrospection._parse_table_constraints.<locals>.<genexpr>  s     T%8E@S@S%%%8s   $
$r6   z__unnamed_constraint_%s__r   )r   parseflattenr   r   r   r   )r;   sqlr   	statementconstraintsunnamed_constrains_indexr   r   r   r   r   	end_tokens   &&&         r   _parse_table_constraints.DatabaseIntrospection._parse_table_constraints  s    NN3'*	#$ TY%6%6%8TE{{8??66<<   ;;FL"390,1,   36NN "380,1,   36NN x::C@@r   c                R   / p VP                  RV.4      P                  4       ^ ,          pV P                  W4       Uu0 uF  qUP                  kK  	  ppVP	                  V P                  WF4      4       VP                  RV P                  P                  P                  V4      ,          4       VP                  4        EF.  pVR,          w  rp
VP                  RV	.4       VP                  4       ;'       g    Rw  pV'       g   KI  VP                  RV P                  P                  P                  V	4      ,          4       VP                  4        FC  w  rpW9  d   R. RR	R
\        V
4      RRRR	RR/W9&   W9,          R,          P                  V4       KE  	  W9,          R,          '       g   K  \        P                  W9,          R&   V P                  V4      pVf   EK#  WV	,          R&   EK1  	  V P!                  W4      pV'       d   RVRRR
R	RRRR	RR	/VR&   \#        V P%                  W4      P'                  4       4      pTP	                  V U	UUUu/ uF!  w  p	w  pw  ppRV	 2RV.RR	R
R	RVV3RR	RR	/bK#  	  upppp	4       V# u upi   \         d     EL(i ; iu upppp	i )z]
Retrieve any constraints or keys (unique, pk, fk, check, index) across
one or more columns.
z<SELECT sql FROM sqlite_master WHERE type='table' and name=%szPRAGMA index_list(%s):Nr\   Nz<SELECT sql FROM sqlite_master WHERE type='index' AND name=%sNzPRAGMA index_info(%s)r   rx   Fr   r   r   rv   Ttypeorders__primary__fk_r   )rT   rd   ry   r   updater   	TypeErrorr]   r^   r_   rU   r   r   r   suffix_get_index_columns_ordersr   rg   r   items)r;   rV   rj   r   table_schemainfor   rW   numberrv   r   r   
index_rankcolumn_rankro   r   
pk_columns	relationsr   r   r   s   &&&                  r   get_constraints%DatabaseIntrospection.get_constraints?  s   
 	U!>>N hjL '+&@&@&T&Td		&T   t<<\ST 	#doo&9&9&D&DZ&PP	
 ??$C %(G!F6NNN
 __&11'FS NN'$//*=*=*H*H*OO 4:??3D/
+!2%u $v,%t*K& "9-44V< 4E !'**-2\\"6*77<%39&x0Q %T 11&E
 :t%t*K& d00DJJLM	 PY
 PYKEKK)J/> eW}!5e!NO#DUU   PY
	
 _	  		N
s   (J J
'J!JJc                Z   \         P                  ! V4      ^ ,          pV F  p\        V\         P                  P                  4      '       g   K/  \        V4      P                  R4      P                  R4      pV Uu. uF  qUP                  R4      '       d   RMRNK  	  upu # 	  R# u upi )r   (), DESCASCN)	r   r   
isinstancer   Parenthesisstrr9   r8   endswith)r;   r   r   r   r   r   s   &&    r   r   /DatabaseIntrospection._get_index_columns_orders  s    $Q'E%!9!9::e***4066t<OVWwt--"7"7UBwWW   Xs   <#B(c                   VP                  R V.4      P                  4       pV'       g   / # V^ ,          p\        \        P                  ! V4      ^ ,          R,          4      P                  R4      P                  R4      p/ pV Fd  pVR,          P                  4       pV^ ,          P                  R4      p	\        V4       F  w  rVR8X  g   K  W^,           ,          p M	  RpWV	&   Kf  	  V# )zn
            SELECT sql
            FROM sqlite_master
            WHERE type = 'table' AND name = %s
        r   r   :   NN"COLLATENr   )rT   rd   r   r   r   r9   r8   rg   )r;   rV   rj   rW   r   r   rl   ro   r   r   rv   r   	collations   &&&          r   r`   ,DatabaseIntrospection._get_column_collations  s    nn
 L
 (* 	 I!fhnnS)!,R0177=CCDI
FBZ%%'F )//#.K )& 1I% &qy 1I !2
 !	&/{#  r   r?   )r?   )r@   rA   rB   rC   r   data_types_reverserM   rX   ry   r   r   r   r   r   r   r   r`   rD   rE   __classcell__)rQ   rF   s   @@r   rH   rH   ;   sS     02
K<!|9
(EbKH%N_B r   rH   )collectionsr   r   	django.dbr   %django.db.backends.base.introspectionr   r   BaseFieldInfor   django.db.modelsr   django.utils.regex_helperr	   _fieldsr   r   r   rH   r?   r   r   <module>r      sn    "  # K L ; " 6F=((F$F0EF	 !!JK$1 1>F5 Fr   