§
    eŠtj“  ã                  ód   — d Z ddlmZ ddlmZ ddlmZ ddlmZ d„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ ZdS )zgprivate module containing functions used for copying data
between instances based on join conditions.

é    )Úannotationsé   )Úexc)Úutil)ÚPassiveFlagc           
     ó\  — | j         }|j         }|D �]\  }	}
	 |j        |	         }| j        |j                 j                             | |t          j        ¦  «        }n0# t          j	        $ r}t          d||	||
|¦  «         Y d }~nd }~ww xY w	 |j        |
         }|j        |j                 j                             |||d ¦  «         n0# t          j	        $ r}t          d||	||
|¦  «         Y d }~nd }~ww xY w|r0|	j        r)|
j        r"|
                     |	¦  «        rd|j        d||
f<   �Œd S )NFTÚpk_cascaded)ÚdictÚ_columntopropertyÚmanagerÚkeyÚimplÚgetr   ÚPASSIVE_OFFr   ÚUnmappedColumnErrorÚ_raise_col_to_propÚsetÚprimary_keyÚ
referencesÚ
attributes)ÚsourceÚsource_mapperÚdestÚdest_mapperÚsynchronize_pairsÚ	uowcommitÚflag_cascaded_pksÚsource_dictÚ	dest_dictÚlÚrÚpropÚvalueÚerrs                 úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/orm/sync.pyÚpopulater&      s›  € ð ”+€KØ”	€Ià!ð Bñ B‰ˆˆ1ð	Mà Ô2°1Ô5ˆDØ”N 4¤8Ô,Ô1×5Ò5Ø˜¥[Ô%<ñô ˆEˆEøõ Ô&ð 	Mð 	Mð 	MÝ˜u m°Q¸ÀQÈÑLÔLÐLÐLÐLÐLÐLÐLøøøøð	Møøøð	LàÔ0°Ô3ˆDØŒL˜œÔ"Ô'×+Ò+¨D°)¸UÀDÑIÔIÐIÐIøÝÔ&ð 	Lð 	Lð 	LÝ˜t ]°A°{ÀAÀsÑKÔKÐKÐKÐKÐKÐKÐKøøøøð	Løøøð ð	Bà”ð	Bð ”ð	Bð —’˜Q‘”ð		Bð >BˆIÔ  -°°qÐ!9Ñ:ùð9Bð Bs0   ˜AAÁB	Á+BÂB	Â:CÃC5ÃC0Ã0C5c           
     ó>  — |D ]™\  }}	 |j         |         }| |j                 }n0# t          j        $ r}t	          d|||||¦  «         Y d }~nd }~ww xY w	 |j         |         }|| |j        <   Œj# t          j        $ r}t	          d|||||¦  «         Y d }~Œ’d }~ww xY wd S )NFT)r   r   r   r   r   )r   r   r   r    r!   r"   r#   r$   s           r%   Úbulk_populate_inherit_keysr(   A   s   € à!ð Nð N‰ˆˆ1ð	OØ Ô2°1Ô5ˆDØ ¤Ô)ˆEˆEøÝÔ&ð 	Oð 	Oð 	OÝ˜u m°Q¸ÀqÈ#ÑNÔNÐNÐNÐNÐNÐNÐNøøøøð	Oøøøð	NØ Ô2°1Ô5ˆDØ$)ˆK˜œÑ!Ð!øÝÔ&ð 	Nð 	Nð 	NÝ˜t ]°A°}ÀaÈÑMÔMÐMÐMÐMÐMÐMÐMøøøøð	NøøøðNð Ns,   ‰$¤A³AÁAÁA-Á-BÁ<BÂBc                óf  — |D ]­\  }}|j         rS|                     | | j        |¦  «        t          j        vr+t          d|› d|› dt          j        | ¦  «        › d�¦  «        ‚	 |                     | | j        |d ¦  «         Œ~# t          j	        $ r}t          dd ||||¦  «         Y d }~Œ¦d }~ww xY wd S )NzDependency rule on column 'z)' tried to blank-out primary key column 'z' on instance 'ú'T)r   Ú_get_state_attr_by_columnr
   Úorm_utilÚ	_none_setÚAssertionErrorÚ	state_strÚ_set_state_attr_by_columnr   r   r   )r   r   r   r    r!   r$   s         r%   Úclearr1   Q   s  € Ø!ð Cð C‰ˆˆ1àŒMð		à×5Ò5°d¸D¼IÀqÑIÔIÝÔ%ð&ð &õ !ðI¨að Ið IàðIð Iå-5Ô-?ÀÑ-EÔ-EðIð Ið Iñô ð ð
	CØ×1Ò1°$¸¼	À1ÀdÑKÔKÐKÐKøÝÔ&ð 	Cð 	Cð 	CÝ˜t T¨1¨k¸1¸cÑBÔBÐBÐBÐBÐBÐBÐBøøøøð	CøøøðCð Cs   Á#BÂB.ÂB)Â)B.c           
     óH  — |D ]ž\  }}	 |                      |                      ¦   «         |¦  «        }|                     | | j        |t          j        ¬¦  «        }n0# t          j        $ r}	t          d||d ||	¦  «         Y d }	~	nd }	~	ww xY w|||j	        <   ||||j	        z   <   ŒŸd S ©N)ÚpassiveF)
Ú_get_committed_attr_by_columnÚobjr+   r
   r   r   r   r   r   r   )
r   r   r   Ú
old_prefixr   r    r!   Úoldvaluer#   r$   s
             r%   Úupdater9   c   sá   € Ø!ð ,ð ,‰ˆˆ1ð	FØ$×BÒBØ—
’
‘”˜añô ˆHð "×;Ò;Ø˜œ QµÔ0Gð <ñ ô ˆEˆEøõ Ô&ð 	Fð 	Fð 	FÝ˜u m°Q¸¸aÀÑEÔEÐEÐEÐEÐEÐEÐEøøøøð	FøøøàˆˆQŒU‰Ø#+ˆˆZ˜!œ%ÑÑ Ð ð,ð ,s   ‰AAÁBÁ)BÂBc           
     óÞ   — |D ]i\  }}	 |                      | | j        |t          j        ¬¦  «        }n0# t          j        $ r}t          d||d ||¦  «         Y d }~nd }~ww xY w|||j        <   Œjd S r3   )r+   r
   r   r   r   r   r   r   )r   r   Údict_r   r    r!   r#   r$   s           r%   Úpopulate_dictr<   r   s­   € Ø!ð ð ‰ˆˆ1ð	FØ!×;Ò;Ø˜œ QµÔ0Gð <ñ ô ˆEˆEøõ Ô&ð 	Fð 	Fð 	FÝ˜u m°Q¸¸aÀÑEÔEÐEÐEÐEÐEÐEÐEøøøøð	Føøøð ˆˆaŒe‰ˆðð s   ‰(2²AÁAÁAc           
     ó  — |D ]�\  }}	 |j         |         }n0# t          j        $ r}t          d||d||¦  «         Y d}~nd}~ww xY w|                      ||j        t          j        ¦  «        }t          |j	        ¦  «        r dS Œ‚dS )zpreturn true if the source object has changes from an old to a
    new value on the given synchronize pairs

    FNT)
r   r   r   r   Úget_attribute_historyr   r   ÚPASSIVE_NO_INITIALIZEÚboolÚdeleted)	r   r   r   r   r    r!   r"   r$   Úhistorys	            r%   Úsource_modifiedrC   ~   sÁ   € ð
 "ð ð ‰ˆˆ1ð	FØ Ô2°1Ô5ˆDˆDøÝÔ&ð 	Fð 	Fð 	FÝ˜u m°Q¸¸aÀÑEÔEÐEÐEÐEÐEÐEÐEøøøøð	Føøøà×1Ò1Ø�D”H�kÔ?ñ
ô 
ˆõ �”Ñ Ô ð 	Ø�4�4ð	ð ˆus   ‰—A¦?¿Ac           	     ó|   — | rt          j        d|›d|›d�¦  «        |‚t          j        d|›d|›d|›d�¦  «        |‚)Nz0Can't execute sync rule for destination column 'z'; mapper 'z’' does not map this column.  Try using an explicit `foreign_keys` collection which does not include this column (or use a viewonly=True relation).z+Can't execute sync rule for source column 'zx' does not map this column.  Try using an explicit `foreign_keys` collection which does not include destination column 'z$' (or use a viewonly=True relation).)r   r   )Úisdestr   Úsource_columnr   Údest_columnr$   s         r%   r   r   ‘   sw   € ð ð ÝÔ%Ð%ð
 -8¨K¨K¸¸¸ð	Fñ
ô 
ð ð	õ Ô%Ð%ð ˆ}ˆ}˜m˜m˜m¨[¨[¨[ð:ñ
ô 
ð ð	ó    N)Ú__doc__Ú
__future__r   Ú r   r   r,   Úbaser   r&   r(   r1   r9   r<   rC   r   © rH   r%   ú<module>rN      sÖ   ððð ð
 #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð(Bð (Bð (BðVNð Nð Nð Cð Cð Cð$,ð ,ð ,ð	ð 	ð 	ðð ð ð&ð ð ð ð rH   