+
    TjM                     H   ^ RI H t  ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^R	IHtHtHtHtHt R
 t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t  ! R R]4      t! ! R R ]4      t" ! R! R"]4      t# ! R# R$]4      t$ ! R% R&]4      t% ! R' R(]%4      t& ! R) R*]%4      t' ! R+ R,]%4      t( ! R- R.]%4      t) ! R/ R0]%4      t* ! R1 R2]%4      t+R3# )4    )copy)models)	OperationOperationCategory)
ModelState)field_referencesresolve_relation)normalize_together)replace)cached_property)AddField
AlterFieldFieldOperationRemoveFieldRenameFieldc                     \        4       pV F.  pW29   d   \        R V: RV : R24      hVP                  V4       K0  	  R# )zFound duplicate value z in CreateModel z
 argument.N)set
ValueErroradd)arg_nameobjs	used_valsvals   &&  [/var/www/idalgo/venv/lib/python3.14/site-packages/django/db/migrations/operations/models.py_check_for_duplicatesr      s<    IJMxX  	c     c                   T   a a ] tR t^t oR t]R 4       tR tV 3R ltR t	Rt
VtV ;t# )ModelOperationc                    Wn         R # Nname)selfr"   s   &&r   __init__ModelOperation.__init__   s    	r   c                6    V P                   P                  4       # r    )r"   lowerr#   s   &r   
name_lowerModelOperation.name_lower   s    yy  r   c                <    VP                  4       V P                  8H  # r    )r'   r)   r#   r"   	app_labels   &&&r   references_modelModelOperation.references_model    s    zz|t..r   c                T   < \         SV `  W4      ;'       g    V P                  W4      # r    )superreducecan_reduce_throughr#   	operationr-   	__class__s   &&&r   r2   ModelOperation.reduce#   s.    w~i3 
 
t7N7N8
 	
r   c                D    VP                  V P                  V4      '       * # r    )r.   r"   )r#   r5   r-   s   &&&r   r3   !ModelOperation.can_reduce_through(   s    --diiCCCr   r!   )__name__
__module____qualname____firstlineno__r$   r   r)   r.   r2   r3   __static_attributes____classdictcell____classcell__r6   __classdict__s   @@r   r   r      s4      ! !/

D Dr   r   c                      a a ] tR t^,t oRt]P                  t. ROtRV 3R llt	R t
R tR tR tR t]R 4       tR	 tV 3R
 ltRtVtV ;t# )CreateModelzCreate a model's table.c                d  < W n         T;'       g    / V n        T;'       g    \        P                  3V n        T;'       g    . V n        \        SV `  V4       \        R R V P                    4       4       \        RR V P                   4       4       \        RR V P
                   4       4       R# )fieldsc              3   *   "   T F	  w  rVx  K  	  R # 5ir     .0r"   _s   &  r   	<genexpr>'CreateModel.__init__.<locals>.<genexpr>:   s     (I['$[   basesc              3      "   T FU  p\        VR 4      '       d   VP                  P                  M'\        V\        4      '       d   VP                  4       MTx  KW  	  R# 5i)_metaN)hasattrrQ   label_lower
isinstancestrr'   )rJ   bases   & r   rL   rM   =   sQ       'D tW-- JJ**)3D#)>)>DI 's   AAmanagersc              3   *   "   T F	  w  rVx  K  	  R # 5ir    rH   rI   s   &  r   rL   rM   F   s     *M}GD4}rN   N)	rF   optionsr   ModelrO   rW   r1   r$   r   )r#   r"   rF   rY   rO   rW   r6   s   &&&&&&r   r$   CreateModel.__init__2   s    }}"--v||o
 B 	h(IT[[(IJ !JJ
	
 	j*Mt}}*MNr   c                   R V P                   RV P                  /pV P                  '       d   V P                  VR&   V P                  '       d0   V P                  \        P
                  38w  d   V P                  VR&   V P                  '       d7   V P                  R\        P                  ! 4       3.8w  d   V P                  VR&   V P                  P                  . V3# )r"   rF   rY   rO   objectsrW   )
r"   rF   rY   rO   r   rZ   rW   Managerr6   r<   r#   kwargss   & r   deconstructCreateModel.deconstructH   s    DIIdkk
 <<< $F9:::$**7"jjF7O===T]]	6>>;K/L.MM!%F:++R88r   c                    VP                  \        VV P                  \        V P                  4      \        V P                  4      \        V P                  4      \        V P                  4      4      4       R # r    )
	add_modelr   r"   listrF   dictrY   tuplerO   rW   r#   r-   states   &&&r   state_forwardsCreateModel.state_forwardsU   sP    		T[[!T\\"djj!T]]#		
r   c                   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       dr   VP                  V4       VP                  WP                  3,          pVP                  P                  R 4      ;p'       d   VP                  V\        4       V4       R# R# R# )index_togetherN)apps	get_modelr"   allow_migrate_model
connectionaliascreate_modelr   r)   rY   getalter_index_togetherr   )r#   r-   schema_editor
from_stateto_statemodelto_model_staterm   s   &&&&&   r   database_forwardsCreateModel.database_forwardsa   s    ''	99=##M$<$<$B$BEJJ&&u-
 &__Y-GHN!/!7!7!;!;<L!MM~M22E" N Kr   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  V4       R # R # r    rn   ro   r"   rp   rq   rr   delete_modelr#   r-   rv   rw   rx   ry   s   &&&&& r   database_backwardsCreateModel.database_backwardsq   M    )))YY?##M$<$<$B$BEJJ&&u- Kr   c                r    R V P                   P                  RR4      '       d   RMR: RV P                  : 2# )zCreate proxyFzproxy  zmodel )rY   rt   r"   r(   s   &r   describeCreateModel.describev   s1    ((%88Hb@II
 	
r   c                    V P                   # r    r)   r(   s   &r   migration_name_fragment#CreateModel.migration_name_fragment|   s    r   c                   VP                  4       pW0P                  8X  d   R # W#3pV P                   F^  pV\        P                  Jg   K  \        V\        P                  P                  \        34      '       g   KK  \        WR4      V8X  g   K]   R # 	  V P                   F%  w  rg\        W P                  3Wt4      '       g   K$   R # 	  R# )TF)r'   r)   rO   r   rZ   rT   rV   	ModelBaserU   r	   rF   r   )r#   r"   r-   r)   reference_model_tuplerV   _namefields   &&&     r   r.   CreateModel.references_model   s    ZZ\
( "+ 7JJDFLL(tfkk&;&;S%ABB$T59NN  !KKLEOO,e  	 (
 r   c           
       <a \        S\        4      '       d@   V P                  SP                  8X  d%   V P                  P	                  R R4      '       g   . # \        S\
        4      '       d4   V P                  SP                  8X  d   \        V SP                  R7      .# \        S\        4      '       d{   V P                  SP                  8X  d`   / V P                  CSP                  CpSP                   F(  pVSP                  9  g   K  VP                  VR4       K*  	  \        WR7      .# \        S\        4      '       d4   V P                  SP                  8X  d   \        V SP                  R7      .# \        S\        4      '       dD   V P                  SP                  8X  d)   \        V / V P                  CRSP                  /CR7      .# \        S\         4      '       dD   V P                  SP                  8X  d)   \        V / V P                  CRSP"                  /CR7      .# \        S\$        4      '       dN   V P                  SP                  8X  d3   \        V / V P                  CSP&                  SP(                  /CR7      .# \        S\*        4      '       dD   V P                  SP                  8X  d)   \        V / V P                  CRSP,                  /CR7      .# \        S\.        4      '       Ed   V P                  SP0                  8X  Ed   \        S\2        4      '       d3   \        V . V P4                  OSP6                  SP8                  3NR	7      .# \        S\:        4      '       dK   \        T V P4                   UUu. uF%  w  rVYUSP6                  8X  d   SP8                  MT3NK'  	  uppR	7      .# \        S\<        4      '       d   V P                  P?                  4       pR FP  pVP                  VR4      pV'       g   K  \A        \C        \D        V3R
 lV 4       4      4      pV'       g   KL  WV&   KR  	  VP	                  R4      p	V	SP                  8X  d   VR \        T V P4                   UUu. uF)  w  rVVPG                  4       SP                  8w  g   K&  WV3NK+  	  uppVR7      .# \        S\H        4      '       Ed    V P                  P?                  4       pR Fb  pVP	                  V4      pV'       g   K  V U
u0 uF5  p
\J        ;QJ d    . V3R lV
 4       F  NK  	  5M! V3R lV
 4       4      kK7  	  up
W7&   Kd  	  VP	                  R4      p	V	SPL                  8X  d   SP                  VR&   \        T V P4                   UUu. uF&  w  rVVSPL                  8X  d   SP                  MTV3NK(  	  uppVR7      .# EMr\        S\N        4      '       Ed\   V P                  SP0                  8X  Ed@   \        S\P        4      '       dG   \        V / V P                  CR. V P                  P	                  R. 4      OSPR                  N/CR7      .# \        S\T        4      '       dg   V P                  P	                  R. 4       Uu. uF"  pVP6                  SP6                  8w  g   K   VNK$  	  pp\        V / V P                  CRV/CR7      .# \        S\V        4      '       dG   \        V / V P                  CR. V P                  P	                  R. 4      OSPX                  N/CR7      .# \        S\Z        4      '       dz   V P                  P	                  R. 4       Uu. uF"  pVP6                  SP6                  8w  g   K   VNK$  	  upSPX                  .,           p\        V / V P                  CRV/CR7      .# \        S\\        4      '       dg   V P                  P	                  R. 4       Uu. uF"  pVP6                  SP6                  8w  g   K   VNK$  	  pp\        V / V P                  CRV/CR7      .# \^        SV `  SV4      # u uppi u uppi u up
i u uppi u upi u upi u upi )r   Fr!   NrY   rW   db_tabledb_table_commentorder_with_respect_to)rF   c              3      <"   T F7  p\         ;QJ d    . V3R  lV 4       F  NK  	  5M! V3R  lV 4       4      x  K9  	  R# 5i)c              3   L   <"   T F  qSP                   8w  g   K  Vx  K  	  R # 5ir    r   rJ   fr5   s   & r   rL   /CreateModel.reduce.<locals>.<genexpr>.<genexpr>   s!      *&39a)BVBV=V6s   $
$N)rg   )rJ   rF   r5   s   & r   rL   %CreateModel.reduce.<locals>.<genexpr>   sF      !" 39 %*E *&39*&EE *&39*& %& %& 39s
   A/A)rF   rY   c              3   b   <"   T F$  pVSP                   8X  d   SP                  MTx  K&  	  R # 5ir    old_namenew_namer   s   & r   rL   r     s1      ")/A 789;M;M6M	 2 2ST T)/s   ,/indexesconstraints)unique_togetherrm   )1rT   DeleteModelr)   rY   rt   RenameModelold_name_lowerr   r   AlterModelOptionsALTER_OPTION_KEYSpopAlterModelManagersrW   AlterModelTabletableAlterModelTableCommenttable_commentAlterTogetherOptionOperationoption_nameoption_valueAlterOrderWithRespectTor   r   model_name_lowerr   rF   r"   r   r   r   r   r   filterboolr'   r   rg   r   IndexOperationAddIndexindexRemoveIndexAddConstraint
constraintAlterConstraintRemoveConstraintr1   r2   )r#   r5   r-   rY   keynvr   optionr   rF   r   options_indexesr   options_constraintsr6   s   &f&            r   r2   CreateModel.reduce   s   y+..9#7#77LL$$We44Iy+..9#;#;;Dy'9'9:;;y"3449#7#77;;):):;G 22i///KKT* 3 D233y"4559#7#77D9+=+=>??y/229#7#77 It||IZI  y"8999#7#77 ,,*I,C,C  y">??9#7#77 ,,$00)2H2HI  y"9::9#7#77 ,,/1P1P  y.119#=#==)X..PPy~~y.OP  Iz22 )- (3 	3F	AN(3   I{33,,++-#HK$[[d;Fv!$" $!" 39	!"
" "639K0 $I  )04K(L%(I,@,@@ 78 )- (3 wwyI,@,@@ #QF(3 
 !(
 
 I{33,,++-#HK$[[5Fv +10
 +1	 "E ")/"EE ")/"  +10, $I )04K(L%(I,>,>>7@7I7IG34 )- (3 45	8J8J3JY//PQSTU(3  !(	 	 44 y.119#=#==)X..!"ll!% (!%!1!1)R!@( )(!	  I{33 "&!1!1)R!@#!@zzY^^3 E!@   # !"ll!%!  I}55!"ll!) ,!%!1!1-!D, ) 4 4,!	  I77 '+ll&6&6}b&I'&I
!)..8 J&I' ))*	'+# !"ll!)+>!  I'788 '+ll&6&6}b&I'&I
!)..8 J&I $ ' !"ll!)+>!  w~i33U < 0 2#8''sH   +a#a+aa#"+a#,a(a.:a.0a3a3?a8!a8)rO   rF   rW   rY   )rF   rY   rW   )NNN)r:   r;   r<   r=   __doc__r   ADDITIONcategoryserialization_expand_argsr$   ra   rj   r{   r   r   propertyr   r.   r2   r>   r?   r@   rA   s   @@r   rD   rD   ,   s]     ! ))H AO,9

 .

  .d4 d4r   rD   c                   p   a  ] tR tRt o Rt]P                  tR tR t	R t
R tR tR t]R	 4       tR
tV tR# )r   i~  zDrop a model's table.c                P    R V P                   /pV P                  P                  . V3# r!   )r"   r6   r<   r_   s   & r   ra   DeleteModel.deconstruct  s+    DII
 ++R88r   c                <    VP                  WP                  4       R # r    )remove_modelr)   rh   s   &&&r   rj   DeleteModel.state_forwards  s    9oo6r   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  V4       R # R # r    r~   r   s   &&&&& r   r{   DeleteModel.database_forwards  r   r   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  V4       R # R # r    )rn   ro   r"   rp   rq   rr   rs   r   s   &&&&& r   r   DeleteModel.database_backwards  sM    ''	99=##M$<$<$B$BEJJ&&u- Kr   c                    R # )TrH   r,   s   &&&r   r.   DeleteModel.references_model  s     r   c                (    R V P                   ,          # )zDelete model %sr!   r(   s   &r   r   DeleteModel.describe  s     499,,r   c                (    R V P                   ,          # )z	delete_%sr   r(   s   &r   r   #DeleteModel.migration_name_fragment  s    T__,,r   rH   N)r:   r;   r<   r=   r   r   REMOVALr   ra   rj   r{   r   r.   r   r   r   r>   r?   rB   s   @r   r   r   ~  sE      ((H97.
.

- - -r   r   c                      a a ] tR tRt oRt]P                  tV 3R lt]	R 4       t
]	R 4       tR tR tR tR	 tR
 tR t]R 4       tV 3R ltRtVtV ;t# )r   i  zRename a model.c                >   < Wn         W n        \        SV `  V4       R # r    )r   r   r1   r$   )r#   r   r   r6   s   &&&r   r$   RenameModel.__init__  s      "r   c                6    V P                   P                  4       # r    r   r'   r(   s   &r   r   RenameModel.old_name_lower      }}""$$r   c                6    V P                   P                  4       # r    r   r'   r(   s   &r   new_name_lowerRenameModel.new_name_lower  r   r   c                h    R V P                   RV P                  /pV P                  P                  . V3# r   )r   r   r6   r<   r_   s   & r   ra   RenameModel.deconstruct  s4    
 ++R88r   c                R    VP                  WP                  V P                  4       R # r    )rename_modelr   r   rh   s   &&&r   rj   RenameModel.state_forwards  s    9mmT]]Cr   c                   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       Ed    VP                   P                  WP                  4      pVP                  VVP                  P                  VP                  P                  4       VP                  P                   F  pVP                  V8X  d   TpWP                  3p	MZVP                  P                  P                  VP                  P                  P                  3p	VP                   P                  ! V	!  pVP                   P                  ! V	!  P                  P                  VP                   P"                  4      p
VP%                  VVP                   V
4       K  	  \'        VP                  P(                  VP                  P(                  4      pV Fg  w  rVP*                  VP                  8X  g1   VP,                  P.                  P                  P0                  '       g   KR  VP3                  VVVR R7       Ki  	  R# R# )F)strictN)rn   ro   r   rp   rq   rr   r   alter_db_tablerQ   r   related_objectsrelated_modelr   r-   
model_name	get_fieldr   r"   alter_fieldziplocal_many_to_manyry   remote_fieldthroughauto_created_alter_many_to_many)r#   r-   rv   rw   rx   	new_model	old_modelrelated_objectry   related_keyto_fieldrF   	old_field	new_fields   &&&&&         r   r{   RenameModel.database_forwards  s   MM++I}}E	##M$<$<$B$BINN"11)]]KI(((((( #,//"A"A!//9<%E#,.A.A"BK '44::DD&44::EE#K %MM33[AE#==22K@FFPP"((-- ))"(( #B& 22IOO4V4VF )/$	 OOy'>'>>$1199??LLL11 	 2  )/? Or   c                B   V P                   V P                  uV n        V n         V P                  V P                  uV n        V n        V P	                  WW44       V P                   V P                  uV n        V n         V P                  V P                  uV n        V n        R # r    )r   r   r   r   r{   r#   r-   rv   rw   rx   s   &&&&&r   r   RenameModel.database_backwards  s     	1T0 (,}}dmm$t}yN  	1T0 (,}}dmm$t}r   c                    VP                  4       V P                  8H  ;'       g    VP                  4       V P                  8H  # r    )r'   r   r   r,   s   &&&r   r.   RenameModel.references_model  s4    JJLD///VV4::<4CVCV3V	
r   c                >    R V P                   : RV P                  : 2# )zRename model  to r   r(   s   &r   r   RenameModel.describe  s    *.--GGr   c                >    R V P                   : RV P                  : 2# rename_rK   )r   r   r(   s   &r   r   #RenameModel.migration_name_fragment  s    !%!4!4d6I6IJJr   c                  < \        V\        4      '       d3   V P                  VP                  8X  d   \	        WP
                  R 7      .# \        \        V `#  W4      ;'       g"    VP                  V P
                  V4      '       * # )r   )
rT   r   r   r   r   r   r1   r   r2   r.   r4   s   &&&r   r2   RenameModel.reduce
  su    y+..##y'?'??D+=+=>?? ^T1
 F F++DMM9EE	Fr   )r   r   r   r   )r:   r;   r<   r=   r   r   
ALTERATIONr   r$   r   r   r   ra   rj   r{   r   r.   r   r   r   r2   r>   r?   r@   rA   s   @@r   r   r     s      ++H#
 % % % %9D.`D

H K K
F 
Fr   r   c                   J   a a ] tR tRt o]P
                  tV 3R ltRtVt	V ;t
# )ModelOptionOperationi  c                   < \        WP                  \        34      '       d   V P                  VP                  8X  d   V.# \        SV `  W4      # r    )rT   r6   r   r)   r1   r2   r4   s   &&&r   r2   ModelOptionOperation.reduce  s@    y>>;"?@@9#7#77;w~i33r   rH   )r:   r;   r<   r=   r   r  r   r2   r>   r?   r@   rA   s   @@r   r  r    s      ++H4 4r   r  c                   d   a a ] tR tRt oRtV 3R ltR tR tR tR t	R t
]R	 4       tR
tVtV ;t# )r   i#  zRename a model's table.c                2   < W n         \        SV `	  V4       R # r    )r   r1   r$   )r#   r"   r   r6   s   &&&r   r$   AlterModelTable.__init__&  s    
r   c                h    R V P                   RV P                  /pV P                  P                  . V3# r"   r   )r"   r   r6   r<   r_   s   & r   ra   AlterModelTable.deconstruct*  s4    DIITZZ
 ++R88r   c                V    VP                  WP                  R V P                  /4       R# )r   N)alter_model_optionsr)   r   rh   s   &&&r   rj   AlterModelTable.state_forwards1  s    !!)__z4::>VWr   c                :   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       EdI   VP                   P                  WP                  4      pVP                  VVP                  P                  VP                  P                  4       \        VP                  P                  VP                  P                  4       F  w  rxVP                  P                  P                  P                  '       g   K7  VP                  VP                  P                  VP                  P                  P                  P                  VP                  P                  P                  P                  4       K  	  R # R # r    )rn   ro   r"   rp   rq   rr   r   rQ   r   r   r   r   r   r   )	r#   r-   rv   rw   rx   r   r   r  r  s	   &&&&&    r   r{   !AlterModelTable.database_forwards4  s"   MM++IyyA	##M$<$<$B$BINN"11)YYGI(((((( ),22IOO4V4V)$	 ))1177DDD!00!..66!..66<<EE!..66<<EE	) Or   c                &    V P                  WW44      # r    r{   r  s   &&&&&r   r   "AlterModelTable.database_backwardsH      %%i
UUr   c                d    R V P                   : RV P                  e   V P                  : 2# R: 2# )zRename table for r
  z	(default)r  r(   s   &r   r   AlterModelTable.describeK  s6    II**0DJJA
 	
6AA
 	
r   c                (    R V P                   ,          # )zalter_%s_tabler   r(   s   &r   r   'AlterModelTable.migration_name_fragmentQ  s    $//11r   )r   )r:   r;   r<   r=   r   r$   ra   rj   r{   r   r   r   r   r>   r?   r@   rA   s   @@r   r   r   #  sA     !9X(V
 2 2 2r   r   c                   `   a a ] tR tRt oV 3R ltR tR tR tR tR t	]
R 4       tR	tVtV ;t# )
r   iV  c                2   < W n         \        SV `	  V4       R # r    )r   r1   r$   )r#   r"   r   r6   s   &&&r   r$   AlterModelTableComment.__init__W  s    *r   c                h    R V P                   RV P                  /pV P                  P                  . V3# )r"   r   )r"   r   r6   r<   r_   s   & r   ra   "AlterModelTableComment.deconstruct[  s6    DIIT//
 ++R88r   c                V    VP                  WP                  R V P                  /4       R# )r   N)r  r)   r   rh   s   &&&r   rj   %AlterModelTableComment.state_forwardsb  s%    !!);T=O=O(P	
r   c                l   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       dc   VP                   P                  WP                  4      pVP                  VVP                  P                  VP                  P                  4       R # R # r    )	rn   ro   r"   rp   rq   rr   alter_db_table_commentrQ   r   )r#   r-   rv   rw   rx   r   r   s   &&&&&  r   r{   (AlterModelTableComment.database_forwardsg  s    MM++IyyA	##M$<$<$B$BINN"11)YYGI000000 Or   c                &    V P                  WW44      # r    r$  r  s   &&&&&r   r   )AlterModelTableComment.database_backwardsq  r&  r   c                "    R V P                    R2# )Alter z table commentr!   r(   s   &r   r   AlterModelTableComment.describet  s    		{.11r   c                "    R V P                    R2# )alter__table_commentr   r(   s   &r   r   .AlterModelTableComment.migration_name_fragmentw  s    (77r   )r   )r:   r;   r<   r=   r$   ra   rj   r{   r   r   r   r   r>   r?   r@   rA   s   @@r   r   r   V  s=     9

V2 8 8 8r   r   c                      a a ] tR tRt oRtV 3R lt]R 4       tR tR t	R t
R tR	 tR
 t]R 4       tV 3R ltRtVtV ;t# )r   i|  Nc                   < V'       d   \        \        V4      4      p\        W P                  V4       \        SV `  V4       R # r    )r   r
   setattrr   r1   r$   )r#   r"   r   r6   s   &&&r   r$   %AlterTogetherOptionOperation.__init__  s3    1,?@L&&5r   c                ,    \        W P                  4      # r    )getattrr   r(   s   &r   r   )AlterTogetherOptionOperation.option_value  s    t--..r   c                |    R V P                   V P                  V P                  /pV P                  P                  . V3# r!   )r"   r   r   r6   r<   r_   s   & r   ra   (AlterTogetherOptionOperation.deconstruct  s<    DIId//
 ++R88r   c                l    VP                  VV P                  V P                  V P                  /4       R # r    )r  r)   r   r   rh   s   &&&r   rj   +AlterTogetherOptionOperation.state_forwards  s.    !!OOt001	
r   c                F   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  WP                  3,          pVP                  WP                  3,          p\        VR V P                  ,          4      pT! TVP                  P                  V P                  4      ;'       g    \        4       VP                  P                  V P                  4      ;'       g    \        4       4       R# R# )zalter_%sN)rn   ro   r"   rp   rq   rr   r   r)   rC  r   rY   rt   r   )	r#   r-   rv   rw   rx   r   from_model_staterz   alter_togethers	   &&&&&    r   r{   .AlterTogetherOptionOperation.database_forwards  s    MM++IyyA	##M$<$<$B$BINN)00OO1KL%__Y-GHN$]JAQAQ4QRN ((,,T-=-=>GG#%&&**4+;+;<EE	 Or   c                &    V P                  WW44      # r    r$  r  s   &&&&&r   r   /AlterTogetherOptionOperation.database_backwards  r&  r   c                  a V P                  W4      ;'       dh    V P                  '       * ;'       gO    \        ;QJ d)    V3R  lV P                   4       F  '       g   K   R# 	  R# ! V3R  lV P                   4       4      # )c              3   .   <"   T F
  pSV9   x  K  	  R # 5ir    rH   )rJ   rF   r"   s   & r   rL   @AlterTogetherOptionOperation.references_field.<locals>.<genexpr>  s     D2CDFN2Cs   TF)r.   r   anyr#   r   r"   r-   s   &&f&r   references_field-AlterTogetherOptionOperation.references_field  sp    $$Z; 
 
!!! E EsD$2C2CDss	
	
D$2C2CDD	
r   c           	         R V P                   : RV P                  : R\        V P                  ;'       g    R4      : R2# )r8  z for z (r   z constraint(s)))r   r"   lenr   r(   s   &r   r   %AlterTogetherOptionOperation.describe  s2    II!!''R(
 	
r   c                >    R V P                   : RV P                  : 2# r;  rK   )r)   r   r(   s   &r   r   4AlterTogetherOptionOperation.migration_name_fragment  s     $1A1ABBr   c                   < \         SV `  W4      ;'       g/    \        V\        4      ;'       d    \	        V4      \	        V 4      J# r    )r1   r3   rT   r   typer4   s   &&&r   r3   /AlterTogetherOptionOperation.can_reduce_through  sD    w))? 
 
y">? 2 2YtDz1	
r   rH   )r:   r;   r<   r=   r   r$   r   r   ra   rj   r{   r   rT  r   r   r   r3   r>   r?   r@   rA   s   @@r   r   r   |  sb     K / /9

V

 C C
 
r   r   c                   :   a a ] tR tRt oRtRtV 3R ltRtVtV ;t	# )AlterUniqueTogetheri  zp
Change the value of unique_together to the target one.
Input value of unique_together must be a set of tuples.
r   c                &   < \         SV `  W4       R # r    r1   r$   )r#   r"   r   r6   s   &&&r   r$   AlterUniqueTogether.__init__  s    /r   rH   
r:   r;   r<   r=   r   r   r$   r>   r?   r@   rA   s   @@r   r`  r`    s     
 $K0 0r   r`  c                   :   a a ] tR tRt oRtRtV 3R ltRtVtV ;t	# )AlterIndexTogetheri  zn
Change the value of index_together to the target one.
Input value of index_together must be a set of tuples.
rm   c                &   < \         SV `  W4       R # r    rb  )r#   r"   rm   r6   s   &&&r   r$   AlterIndexTogether.__init__  s    .r   rH   rd  rA   s   @@r   rf  rf    s     
 #K/ /r   rf  c                   n   a a ] tR tRt oRtRtV 3R ltR tR tR t	R t
R	 tR
 t]R 4       tRtVtV ;t# )r   i  z9Represent a change with the order_with_respect_to option.r   c                2   < W n         \        SV `	  V4       R # r    )r   r1   r$   )r#   r"   r   r6   s   &&&r   r$    AlterOrderWithRespectTo.__init__  s    %:"r   c                h    R V P                   RV P                  /pV P                  P                  . V3# r"   r   )r"   r   r6   r<   r_   s   & r   ra   #AlterOrderWithRespectTo.deconstruct  s6    DII#T%?%?
 ++R88r   c                l    VP                  VV P                  V P                  V P                  /4       R # r    )r  r)   r   r   rh   s   &&&r   rj   &AlterOrderWithRespectTo.state_forwards  s.    !!OOt99:	
r   c                   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       Ed   VP                   P                  WP                  4      pVP                  P                  '       dI   VP                  P                  '       g-   VP                  WfP                  P                  R 4      4       R# VP                  P                  '       dk   VP                  P                  '       gM   VP                  P                  R 4      pVP                  4       '       g   ^ Vn        VP                  VV4       R# R# R# R# )_orderN)rn   ro   r"   rp   rq   rr   rQ   r   remove_fieldr   has_defaultdefault	add_field)r#   r-   rv   rw   rx   to_model
from_modelr   s   &&&&&   r   r{   )AlterOrderWithRespectTo.database_forwards  s	   ==**9ii@##M$<$<$B$BHMM#229iiHJ   666 <<<** 0 0 : :8 D 444"((>>> 00:((**$%EM'' ? 5 Nr   c                *    V P                  WW44       R # r    r$  r  s   &&&&&r   r   *AlterOrderWithRespectTo.database_backwards  s    yNr   c                |    V P                  W4      ;'       d%    V P                  R J ;'       g    W P                  8H  # r    )r.   r   rS  s   &&&&r   rT  (AlterOrderWithRespectTo.references_field
  s>    $$Z; 
 
&&$.TT$:T:T2T	
r   c                >    R V P                   : RV P                  : 2# )zSet order_with_respect_to on r
  rm  r(   s   &r   r    AlterOrderWithRespectTo.describe  s    II&&
 	
r   c                (    R V P                   ,          # )zalter_%s_order_with_respect_tor   r(   s   &r   r   /AlterOrderWithRespectTo.migration_name_fragment  s    /$//AAr   )r   )r:   r;   r<   r=   r   r   r$   ra   rj   r{   r   rT  r   r   r   r>   r?   r@   rA   s   @@r   r   r     sM     C)K9
4O


 B B Br   r   c                   l   a a ] tR tRt oRt. ROtV 3R ltR tR tR t	R t
R t]R	 4       tR
tVtV ;t# )r   i  z
Set new model options that don't directly affect the database schema
(like verbose_name, permissions, ordering). Python code in migrations
may still need them.
c                2   < W n         \        SV `	  V4       R # r    )rY   r1   r$   )r#   r"   rY   r6   s   &&&r   r$   AlterModelOptions.__init__0  s    r   c                h    R V P                   RV P                  /pV P                  P                  . V3# )r"   rY   )r"   rY   r6   r<   r_   s   & r   ra   AlterModelOptions.deconstruct4  s4    DIIt||
 ++R88r   c                j    VP                  VV P                  V P                  V P                  4       R # r    )r  r)   rY   r   rh   s   &&&r   rj    AlterModelOptions.state_forwards;  s*    !!OOLL""		
r   c                    R # r    rH   r  s   &&&&&r   r{   #AlterModelOptions.database_forwardsC      r   c                    R # r    rH   r  s   &&&&&r   r   $AlterModelOptions.database_backwardsF  r  r   c                (    R V P                   ,          # )zChange Meta options on %sr!   r(   s   &r   r   AlterModelOptions.describeI  s    *TYY66r   c                (    R V P                   ,          # )zalter_%s_optionsr   r(   s   &r   r   )AlterModelOptions.migration_name_fragmentL  s    !DOO33r   r   )base_manager_namedefault_manager_namedefault_related_nameget_latest_bymanagedorderingpermissionsdefault_permissionsselect_on_saveverbose_nameverbose_name_plural)r:   r;   r<   r=   r   r   r$   ra   rj   r{   r   r   r   r   r>   r?   r@   rA   s   @@r   r   r     sI     9
7 4 4 4r   r   c                   j   a a ] tR tRt oRtR.tV 3R ltR tR tR t	R t
R	 t]R
 4       tRtVtV ;t# )r   iQ  zAlter the model's managers.rW   c                2   < W n         \        SV `	  V4       R # r    )rW   r1   r$   )r#   r"   rW   r6   s   &&&r   r$   AlterModelManagers.__init__V  s     r   c                `    V P                   P                  V P                  V P                  ./ 3# r    )r6   r<   r"   rW   r(   s   &r   ra   AlterModelManagers.deconstructZ  s&    ++dii-GLLr   c                R    VP                  WP                  V P                  4       R # r    )alter_model_managersr)   rW   rh   s   &&&r   rj   !AlterModelManagers.state_forwards]  s    ""9oot}}Mr   c                    R # r    rH   r  s   &&&&&r   r{   $AlterModelManagers.database_forwards`  r  r   c                    R # r    rH   r  s   &&&&&r   r   %AlterModelManagers.database_backwardsc  r  r   c                (    R V P                   ,          # )zChange managers on %sr!   r(   s   &r   r   AlterModelManagers.describef  s    &22r   c                (    R V P                   ,          # )zalter_%s_managersr   r(   s   &r   r   *AlterModelManagers.migration_name_fragmenti  s    "T__44r   r   )r:   r;   r<   r=   r   r   r$   ra   rj   r{   r   r   r   r   r>   r?   r@   rA   s   @@r   r   r   Q  sI     %!+MN3 5 5 5r   r   c                   4   a  ] tR tRt o Rt]R 4       tRtV tR# )r   in  r   c                6    V P                   P                  4       # r    )r   r'   r(   s   &r   r   IndexOperation.model_name_lowerq  s    $$&&r   rH   N)	r:   r;   r<   r=   r   r   r   r>   r?   r   s   @r   r   r   n  s     K' 'r   r   c                      a a ] tR tRt oRt]P                  tR tR t	R t
R tR tR t]R	 4       tV 3R
 ltRtVtV ;t# )r   iv  zAdd an index on a model.c                f    Wn         VP                  '       g   \        R V,          4      hW n        R# )zSIndexes passed to AddIndex operations require a name argument. %r doesn't have one.N)r   r"   r   r   )r#   r   r   s   &&&r   r$   AddIndex.__init__{  s1    $zzz1389  
r   c                R    VP                  WP                  V P                  4       R # r    )	add_indexr   r   rh   s   &&&r   rj   AddIndex.state_forwards  s    	#8#8$**Er   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  WPP                  4       R # R # r    )rn   ro   r   rp   rq   rr   r  r   r   s   &&&&& r   r{   AddIndex.database_forwards  sQ    ''	??C##M$<$<$B$BEJJ##E::6 Kr   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  WPP                  4       R # R # r    )rn   ro   r   rp   rq   rr   remove_indexr   r   s   &&&&& r   r   AddIndex.database_backwards  sQ    )))__E##M$<$<$B$BEJJ&&ujj9 Kr   c                h    R V P                   RV P                  /pV P                  P                  . V3# )r   r   )r   r   r6   r<   r_   s   & r   ra   AddIndex.deconstruct  s:    $//TZZ

 NN''
 	
r   c                   V P                   P                  '       di   R V P                   P                  : RRP                  V P                   P                   Uu. uF  p\	        V4      NK  	  up4      : RV P
                  : 2# R V P                   P                  : RRP                  V P                   P                  4      : RV P
                  : 2# u upi )zCreate index  on , 
 on model z on field(s) z
 of model )r   expressionsr"   joinrU   r   rF   )r#   
expressions   & r   r   AddIndex.describe  s    ::!!!

		TZZ=S=ST=Sz3z?=STU  " JJOOIIdjj''(OO
 	
 Us   Cc                l    V P                   : R V P                  P                  P                  4       : 2# rK   )r   r   r"   r'   r(   s   &r   r    AddIndex.migration_name_fragment  s$    //1F1F1HIIr   c                x  < \        V\        4      '       d(   V P                  P                  VP                  8X  d   . # \        V\        4      '       dY   V P                  P                  VP
                  8X  d4   \        V P                  4      pVP                  Vn        \        WR 7      .# \        SV `)  W4      # ))r   )rT   r   r   r"   RenameIndexr   r   r   r   r1   r2   )r#   r5   r-   r   r6   s   &&& r   r2   AddIndex.reduce  s    i--$**//Y^^2SIi--$**//YEWEW2W$E"++EJD.//w~i33r   )r   r   )r:   r;   r<   r=   r   r   r   r   r$   rj   r{   r   ra   r   r   r   r2   r>   r?   r@   rA   s   @@r   r   r   v  sR     " ))HF7
:
	

 J J4 4r   r   c                   p   a  ] tR tRt o Rt]P                  tR tR t	R t
R tR tR t]R	 4       tR
tV tR# )r   i  zRemove an index from a model.c                    Wn         W n        R # r    r   r"   r#   r   r"   s   &&&r   r$   RemoveIndex.__init__      $	r   c                R    VP                  WP                  V P                  4       R # r    )r  r   r"   rh   s   &&&r   rj   RemoveIndex.state_forwards  s    9&;&;TYYGr   c                @   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       dM   VP                  WP                  3,          pVP                  V P                  4      pVP                  WW4       R # R # r    )rn   ro   r   rp   rq   rr   r   r   get_index_by_namer"   r  )r#   r-   rv   rw   rx   ry   rJ  r   s   &&&&&   r   r{   RemoveIndex.database_forwards  s{    )))__E##M$<$<$B$BEJJ)00<Q<Q1QR$66tyyAE&&u4 Kr   c                @   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       dM   VP                  WP                  3,          pVP                  V P                  4      pVP                  WW4       R # R # r    )rn   ro   r   rp   rq   rr   r   r   r  r"   r  )r#   r-   rv   rw   rx   ry   rz   r   s   &&&&&   r   r   RemoveIndex.database_backwards  sx    ''	??C##M$<$<$B$BEJJ%__Y8M8M-MNN"44TYY?E##E1 Kr   c                h    R V P                   RV P                  /pV P                  P                  . V3# r  )r   r"   r6   r<   r_   s   & r   ra   RemoveIndex.deconstruct  s:    $//DII

 NN''
 	
r   c                >    R V P                   : RV P                  : 2# )zRemove index z from r"   r   r(   s   &r   r   RemoveIndex.describe  s    ,0IItGGr   c                Z    R V P                   : RV P                  P                  4       : 2# remove_rK   r   r"   r'   r(   s   &r   r   #RemoveIndex.migration_name_fragment      !%!6!6		8IJJr   r  N)r:   r;   r<   r=   r   r   r   r   r$   rj   r{   r   ra   r   r   r   r>   r?   r   s   @r   r   r     sI     ' ((HH52	
H K Kr   r   c                      a a ] tR tRt oRt]P                  tRR lt]	R 4       t
]	R 4       tR tR tR tR	 tR
 t]R 4       tV 3R ltRtVtV ;t# )r  i  zRename an index.c                    V'       g   V'       g   \        R 4      hV'       d   V'       d   \        R4      hWn        W n        W0n        W@n        R# )zHRenameIndex requires one of old_name and old_fields arguments to be set.z;RenameIndex.old_name and old_fields are mutually exclusive.N)r   r   r   r   
old_fields)r#   r   r   r   r  s   &&&&&r   r$   RenameIndex.__init__  sF    
  
M  %  $r   c                6    V P                   P                  4       # r    r   r(   s   &r   r   RenameIndex.old_name_lower  r   r   c                6    V P                   P                  4       # r    r   r(   s   &r   r   RenameIndex.new_name_lower  r   r   c                    R V P                   RV P                  /pV P                  '       d   V P                  VR&   V P                  '       d   V P                  VR&   V P                  P
                  . V3# )r   r   r   r  )r   r   r   r  r6   r<   r_   s   & r   ra   RenameIndex.deconstruct   sb    $//
 ===!%F:???#'??F< ++R88r   c           	        V P                   '       d   VP                  VV P                  \        P                  ! V P                   V P
                  R 7      4       VP                  VV P                  \        P                  V P                   4       R# VP                  WP                  V P                  V P
                  4       R# )rF   r"   N)r  r  r   r   Indexr   remove_model_optionsrf  r   rename_indexr   rh   s   &&&r   rj   RenameIndex.state_forwards  s    ???OO%%DOO$--H
 &&%%"..	 00$--r   c           
        VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       g   R # V P                  '       d   VP                   P                  WP                  4      pV P                   Uu. uF'  qvP                  P                  V4      P                  NK)  	  ppVP                  VVRRR7      p	\        V	4      ^8w  dE   \        R\        V	4      : RVP                  P                  : RRP                  V4      : R24      h\        P                   ! V P                  V	^ ,          R	7      p
M9VP                  WP"                  3,          pVP%                  V P&                  4      p
V
P(                  V P*                  8X  d   R # VP                  WP"                  3,          pVP%                  V P*                  4      pVP-                  WZV4       R # u upi )
NTF)column_namesr   uniquezFound wrong number (z) of indexes for (r  z).r  )rn   ro   r   rp   rq   rr   r  rQ   r   column_constraint_namesrW  r   r   r  r   r  r   r  r   r"   r   r  )r#   r-   rv   rw   rx   ry   rx  r   columnsmatching_index_name	old_indexrJ  rz   	new_indexs   &&&&&         r   r{   RenameIndex.database_forwards  s   ''	??C''(@(@(F(FNN???#229ooNJFJooFUU  **5188o   #0"A"A$	 #B # &'1,  /0"((11		'*	  (+I
  *00<Q<Q1QR(::4==II>>T]]*!4I4I)IJ"44T]]C	""5Y??s   -G>c                j   V P                   '       d   R # V P                  V P                  uV n        V n        V P                  V P                  uV n        V n        V P                  WW44       V P                  V P                  uV n        V n        V P                  V P                  uV n        V n        R # r    )r  r   r   r   r   r{   r  s   &&&&&r   r   RenameIndex.database_backwardsE  s    ???  	1T0 (,}}dmm$t}yN  	1T0 (,}}dmm$t}r   c                    V P                   '       d*   R V P                    RV P                   RV P                   2# RV P                   RV P                   RV P                   2# )zRename index r  r
  zRename unnamed index for )r   r   r   r  r(   s   &r   r   RenameIndex.describeX  sa    ===d4??2C4W ('8T__<MT}}o	
r   c                    V P                   '       d   R V P                  : RV P                  : 2# R V P                  : RRP	                  V P
                  4      : RV P                  : 2# r  )r   r   r   r   r  r  r(   s   &r   r   #RenameIndex.migration_name_fragmentb  sU    ===%)%8%8$:M:MNN  !!HHT__%
 	
r   c                  < \        V\        4      '       d`   V P                  VP                  8X  dE   VP                  '       d3   V P                  VP
                  8X  d   \        WP                  R 7      .# \        SV `%  W4      # r  )
rT   r  r   r   r   r   r   r   r1   r2   r4   s   &&&r   r2   RenameIndex.reducel  sg    y+..%%)C)CC"""##y'?'??D+=+=>??w~i33r   )r   r   r   r  r   r   )NN)r:   r;   r<   r=   r   r   r  r   r$   r   r   r   ra   rj   r{   r   r   r   r   r2   r>   r?   r@   rA   s   @@r   r  r    sz      ++H% % % % %	9$&@PD&
 
 
4 4r   r  c                      a a ] tR tRt o]P
                  tRtR tR t	R t
R tR tR t]R	 4       tV 3R
 ltRtVtV ;t# )r   iw  r   c                    Wn         W n        R # r    r   r   )r#   r   r   s   &&&r   r$   AddConstraint.__init__{  s    $$r   c                R    VP                  WP                  V P                  4       R # r    )add_constraintr   r   rh   s   &&&r   rj   AddConstraint.state_forwards  s    Y(=(=tOr   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  WPP                  4       R # R # r    )rn   ro   r   rp   rq   rr   r  r   r   s   &&&&& r   r{   AddConstraint.database_forwards  sQ    ''	??C##M$<$<$B$BEJJ((@ Kr   c                    VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       d   VP                  WPP                  4       R # R # r    )rn   ro   r   rp   rq   rr   remove_constraintr   r   s   &&&&& r   r    AddConstraint.database_backwards  sQ    ''	??C##M$<$<$B$BEJJ++E??C Kr   c                d    V P                   P                  . R V P                  RV P                  /3# r  )r6   r:   r   r   r(   s   &r   ra   AddConstraint.deconstruct  s3    NN##doodoo
 	
r   c                R    R V P                   P                  : RV P                  : 2# )zCreate constraint r  )r   r"   r   r(   s   &r   r   AddConstraint.describe  s     OO  OO
 	
r   c                l    V P                   : R V P                  P                  P                  4       : 2# r  r   r   r"   r'   r(   s   &r   r   %AddConstraint.migration_name_fragment  s&    //1E1E1K1K1MNNr   c                  < \        V\        4      '       dC   V P                  VP                  8X  d(   V P                  P                  VP                  8X  d   . # \        V\
        4      '       dX   V P                  VP                  8X  d=   V P                  P                  VP                  8X  d   \        WP                  R 7      .# \        SV `!  W4      # ))r   )	rT   r   r   r   r"   r   r   r1   r2   r4   s   &&&r   r2   AddConstraint.reduce  s    y"233%%)C)CC$$	6Iy/22%%)C)CC$$	6D-A-ABCCw~i33r   )r   r   )r:   r;   r<   r=   r   r   r   r   r$   rj   r{   r   ra   r   r   r   r2   r>   r?   r@   rA   s   @@r   r   r   w  sV      ))HK%PA
D


 O O4 4r   r   c                   p   a  ] tR tRt o ]P
                  tRtR tR t	R t
R tR tR t]R	 4       tR
tV tR# )r   i  r   c                    Wn         W n        R # r    r  r  s   &&&r   r$   RemoveConstraint.__init__  r  r   c                R    VP                  WP                  V P                  4       R # r    )r  r   r"   rh   s   &&&r   rj   RemoveConstraint.state_forwards  s    	+@+@$))Lr   c                @   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       dM   VP                  WP                  3,          pVP                  V P                  4      pVP                  WW4       R # R # r    )rn   ro   r   rp   rq   rr   r   r   get_constraint_by_namer"   r  )r#   r-   rv   rw   rx   ry   rJ  r   s   &&&&&   r   r{   "RemoveConstraint.database_forwards  s{    ''	??C##M$<$<$B$BEJJ)00<Q<Q1QR)@@KJ++E> Kr   c                @   VP                   P                  WP                  4      pV P                  VP                  P
                  V4      '       dM   VP                  WP                  3,          pVP                  V P                  4      pVP                  WW4       R # R # r    )rn   ro   r   rp   rq   rr   r   r   r!  r"   r  )r#   r-   rv   rw   rx   ry   rz   r   s   &&&&&   r   r   #RemoveConstraint.database_backwards  sx    ''	??C##M$<$<$B$BEJJ%__Y8M8M-MNN'>>tyyIJ((; Kr   c                d    V P                   P                  . R V P                  RV P                  /3# r  )r6   r:   r   r"   r(   s   &r   ra   RemoveConstraint.deconstruct  s3    NN##doo		
 	
r   c                >    R V P                   : RV P                  : 2# )zRemove constraint z from model r  r(   s   &r   r   RemoveConstraint.describe  s    7;yy$//RRr   c                Z    R V P                   : RV P                  P                  4       : 2# r  r  r(   s   &r   r   (RemoveConstraint.migration_name_fragment  r  r   r  N)r:   r;   r<   r=   r   r   r   r   r$   rj   r{   r   ra   r   r   r   r>   r?   r   s   @r   r   r     sK      ((HKM?<
S K Kr   r   c                      a a ] tR tRt o]P
                  tRtR tR t	R t
R tR tR t]R	 4       tV 3R
 ltRtVtV ;t# )r   i  r   c                *    Wn         W n        W0n        R # r    r   r"   r   )r#   r   r"   r   s   &&&&r   r$   AlterConstraint.__init__  s    $	$r   c                h    VP                  WP                  V P                  V P                  4       R # r    )alter_constraintr   r"   r   rh   s   &&&r   rj   AlterConstraint.state_forwards  s%    ,,dii	
r   c                    R # r    rH   r  s   &&&&&r   r{   !AlterConstraint.database_forwards  r  r   c                    R # r    rH   r  s   &&&&&r   r   "AlterConstraint.database_backwards  r  r   c                |    V P                   P                  . R V P                  RV P                  RV P                  /3# r-  )r6   r:   r   r"   r   r(   s   &r   ra   AlterConstraint.deconstruct  s<    NN##doo		doo
 	
r   c                :    R V P                    RV P                   2# )zAlter constraint r  r  r(   s   &r   r   AlterConstraint.describe  s    "499+T$//1BCCr   c                n    R V P                   : RV P                  P                  P                  4       : 2# rZ  r  r(   s   &r   r   'AlterConstraint.migration_name_fragment  s&     $ 5 5t7K7K7Q7Q7STTr   c                   < \        V\        \        34      '       d:   V P                  VP                  8X  d   V P                  VP                  8X  d   V.# \
        SV `  W4      # r    )rT   r   r   r   r"   r1   r2   r4   s   &&&r   r2   AlterConstraint.reduce  sQ    y?4D"EFF%%)C)CC		Y^^+;w~i33r   )r   r   r"   )r:   r;   r<   r=   r   r  r   r   r$   rj   r{   r   ra   r   r   r   r2   r>   r?   r@   rA   s   @@r   r   r     sT      ++HK%


	
D U U4 4r   r   N),r   	django.dbr   $django.db.migrations.operations.baser   r   django.db.migrations.stater   django.db.migrations.utilsr   r	   django.db.models.optionsr
   django.utils.copyr   django.utils.functionalr   rF   r   r   r   r   r   r   r   rD   r   r   r  r   r   r   r`  rf  r   r   r   r   r   r   r  r   r   r   rH   r   r   <module>rE     s?     M 1 I 7 % 3 R RDY D(O4. O4d
"-. "-JqF. qFh	4> 	402* 02f#81 #8L?
#7 ?
D	06 	0	/5 	/AB2 ABH44, 44n5- 5:'Y '>4~ >4B*K. *KZP4. P4f64N 64r(K~ (KV-4n -4r   