§
    ËÃjÒ  ã                   óh  — d Z ddlZddlZddlZddlZddlZddlZddlZdZdZ	dZ
ej                             ej        d         ddd	¦  «        Zej                             e	d
¦  «        Zej                             e	d¦  «        ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zedk    r e¦   «          dS dS )uÖ  CHáº Y AGY THEO 2 CHáº¾ Ä�á»˜ trong Dá»° Ã�N A (dÃ¹ng cho cÃ¡c láº§n chá»§ dá»± Ã¡n gá»­i áº£nh).

  python _run_agy_theo_lo.py cap_nhat   -> Ä‘á»�c áº£nh trong anh_cap_nhat\ -> GHI vÃ o CSDLA (cÃ³ backup)
  python _run_agy_theo_lo.py de_xuat    -> Ä‘á»�c áº£nh trong anh_mau_moi\  -> Ä�á»€ XUáº¤T quy trÃ¬nh (chá»‰ Ä‘á»�c CSDLA)
  python _run_agy_theo_lo.py            -> tá»± nháº­n: cÃ³ áº£nh á»Ÿ anh_cap_nhat thÃ¬ cáº­p nháº­t, cÃ³ á»Ÿ anh_mau_moi thÃ¬ Ä‘á»� xuáº¥t
é    Nz,C:\Users\admin\AppData\Local\agy\bin\agy.exez*C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-sonz$2f54d0c6-f33f-4dae-b5b7-840339496ec7ÚLOCALAPPDATAÚhermesÚcacheÚimagesz_anh_da_xu_ly.jsonz_lan_chay_cuoi.txt)z.jpgz.jpegz.pngz.webpc                  óÞ   — 	 t          t          t          d¬¦  «                             ¦   «                              ¦   «         ¦  «        S # t
          $ r t          j        ¦   «         dz
  cY S w xY w)u[   Má»‘c thá»�i gian láº§n cháº¡y trÆ°á»›c (máº·c Ä‘á»‹nh: 60 phÃºt trÆ°á»›c náº¿u chÆ°a cÃ³).úutf-8©Úencodingi  )ÚfloatÚopenÚMARKÚreadÚstripÚ	ExceptionÚtime© ó    ú>C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son\_run_agy_theo_lo.pyÚ	_doc_markr      sl   € ð"Ý•T�$¨Ð1Ñ1Ô1×6Ò6Ñ8Ô8×>Ò>Ñ@Ô@ÑAÔAÐAøÝð "ð "ð "ÝŒy‰{Œ{˜TÑ!Ð!Ð!Ð!ð"øøøs   ‚AA	 Á	 A,Á+A,c                  ó‚   — t          t          dd¬¦  «                             dt          j        ¦   «         z  ¦  «         d S )NÚwr   r	   z%.3f)r   r   Úwriter   r   r   r   Ú	_ghi_markr      s6   € Ý�ˆs˜WÐ%Ñ%Ô%×+Ò+¨FµT´Y±[´[Ñ,@ÑAÔAÐAÐAÐAr   c                  óx   — 	 t          j        t          t          d¬¦  «        ¦  «        S # t          $ r i cY S w xY w)Nr   r	   )ÚjsonÚloadr   ÚSTATEr   r   r   r   Ú
_doc_stater      sH   € ðÝŒy��e¨gÐ6Ñ6Ô6Ñ7Ô7Ð7øÝð ð ð Øˆ	ˆ	ˆ	ðøøøs   ‚'* ª9¸9c                 ó`   — t          j        | t          t          dd¬¦  «        dd¬¦  «         d S )Nr   r   r	   Fé   )Úensure_asciiÚindent)r   Údumpr   r   )Úds    r   Ú
_ghi_stater%   &   s1   € Ý„Iˆa••e˜S¨7Ð3Ñ3Ô3À%ÐPQÐRÑRÔRÐRÐRÐRr   c                 ó\   — t           j                             t          | dk    rdnd¦  «        S )NÚcap_nhatÚanh_cap_nhatÚanh_mau_moi)ÚosÚpathÚjoinÚDIR)Úmodes    r   Úthu_mucr/   *   s&   € ÝŒ7�<Š<�¨t°zÒ/AÐ/A˜^˜^À}ÑUÔUÐUr   c                 ó$  — t          | ¦  «        }t          j        |d¬¦  «         t          ¦   «         }t	          |                     ¦   «         ¦  «        }t          ¦   «         }d}t          j        |¦  «        D ]¥}|                     ¦   «          	                    t          ¦  «        rw|                     t          j        t          t          j                             ||¦  «        d¦  «                             ¦   «         ¦  «                             ¦   «         ¦  «         Œ¦d„ t          j        t&          ¦  «        D ¦   «         }|                     d„ ¬¦  «         t+          d„ t          j        |¦  «        D ¦   «         ¦  «        }|D �]€}t          j                             t&          |¦  «        }	t          j                             |	¦  «        |k    r|d	z  }ŒQt          j        t          |	d¦  «                             ¦   «         ¦  «                             ¦   «         }
|
|v rŒœ|                     |
¦  «         |d	z  }t          j                             |d
| dk    rdnd|fz  ¦  «        }t/          j        |	|¦  «         t          j                             |¦  «        | t5          j        d¦  «        |dœ||
<   t9          dt          j                             |¦  «        t          j                             |¦  «        |fz  ¦  «         �Œ‚t=          |¦  «         t?          ¦   «          t+          d„ t          j        |¦  «        D ¦   «         ¦  «        }t9          dt          j                             |¦  «        ||t+          |¦  «        fz  ¦  «         |S )uÝ   Copy áº£nh Má»šI (chÆ°a tá»«ng xá»­ lÃ½) tá»« cache Telegram vÃ o thÆ° má»¥c nháº­n.

    Chá»‘ng xá»­ lÃ½ láº¡i: má»—i áº£nh Ä‘Æ°á»£c ghi nháº­n md5 vÃ o _anh_da_xu_ly.json (kÃ¨m thÆ° má»¥c Ä‘Ã­ch + thá»�i Ä‘iá»ƒm).
    T©Úexist_okr   Úrbc                 ó<   — g | ]}|                      d ¦  «        ¯|‘ŒS )Úimg_)Ú
startswith©Ú.0Úfs     r   ú
<listcomp>z chup_anh_moi.<locals>.<listcomp><   s)   € Ð	?Ð	?Ð	?�¨!¯,ª,°vÑ*>Ô*>Ð	?ˆ!Ð	?Ð	?Ð	?r   c                 ó†   — t           j                             t           j                             t          | ¦  «        ¦  «        S ©N)r*   r+   Úgetmtimer,   ÚCACHE)r9   s    r   ú<lambda>zchup_anh_moi.<locals>.<lambda>=   s&   € �"œ'×*Ò*­2¬7¯<ª<½¸qÑ+AÔ+AÑBÔB€ r   )Úkeyc                 ój   — g | ]0}|                      ¦   «                              t          ¦  «        ¯.|‘Œ1S r   ©ÚlowerÚendswithÚEXTr7   s     r   r:   z chup_anh_moi.<locals>.<listcomp>>   ó3   € ÐBÐBÐB�1¨!¯'ª'©)¬)×*<Ò*<½SÑ*AÔ*AÐBˆQÐBÐBÐBr   r    z%s_%02d.jpgr'   ÚcapnhatÚmau_moiú%Y-%m-%d %H:%M:%S)r/   Úche_doÚ	thoi_diemÚtu_cacheu      + %s  (%d byte, tá»« %s)c                 ój   — g | ]0}|                      ¦   «                              t          ¦  «        ¯.|‘Œ1S r   rB   r7   s     r   r:   z chup_anh_moi.<locals>.<listcomp>P   rF   r   uB      áº£nh trong %s: %d | bá»� qua %d áº£nh cÅ© | Ä‘Ã£ theo dÃµi: %d) r/   r*   Úmakedirsr   ÚsetÚkeysr   ÚlistdirrC   rD   rE   ÚaddÚhashlibÚmd5r   r+   r,   r   Ú	hexdigestr>   ÚsortÚlenr=   ÚshutilÚcopy2Úbasenamer   ÚstrftimeÚprintÚgetsizer%   r   )r.   ÚtmÚstateÚda_coÚmarkÚ	bo_qua_cur9   ÚloÚiÚpÚhÚdstÚns                r   Úchup_anh_moiri   .   s  € õ
 
�‰Œ€BÝ„K�˜TÐ"Ñ"Ô"Ð"Ý‰LŒL€EÝ�—
’
‘”ÑÔ€EÝ‰;Œ;€DØ€IÝŒZ˜‰^Œ^ð Wð WˆØ�7Š7‰9Œ9×Ò�cÑ"Ô"ð 	WØ�IŠI•g”k¥$¥r¤w§|¢|°B¸Ñ':Ô':¸DÑ"AÔ"A×"FÒ"FÑ"HÔ"HÑIÔI×SÒSÑUÔUÑVÔVÐVøØ	?Ð	?•R”Z¥Ñ&Ô&Ð	?Ñ	?Ô	?€BØ‡G‚GÐBÐB€GÑCÔCÐCÝÐBÐB�œ
 2™œÐBÑBÔBÑCÔC€AØð `ñ `ˆÝŒG�LŠL� Ñ"Ô"ˆÝŒ7×Ò˜AÑÔ $Ò&Ð&Ø˜‰NˆIØÝŒK�˜Q ™œ×*Ò*Ñ,Ô,Ñ-Ô-×7Ò7Ñ9Ô9ˆØ�ˆ:ˆ:ØØ�	Š	�!‰ŒˆØ	ˆQ‰ˆÝŒg�lŠl˜2˜}¸TÀZÒ=OÐ=O°	°	ÐU^Ð`aÐ/bÑbÑcÔcˆÝŒ�Q˜ÑÔÐÝ!œw×/Ò/°Ñ4Ô4ÀÝ!%¤Ð/BÑ!CÔ!CÐQRðTð Tˆˆa‰åÐ+­r¬w×/?Ò/?ÀÑ/DÔ/DÅbÄgÇoÂoÐVYÑFZÔFZÐ\]Ð.^Ñ^Ñ_Ô_Ð_Ñ_ÝˆuÑÔÐÝ�K„K€KÝÐBÐB�œ
 2™œÐBÑBÔBÑCÔC€AÝ	Ð
NÝŒW×Ò˜bÑ!Ô! 1 iµ°U±´Ð<ñ=ñ >ô >ð >à€Hr   c                 óX  — t          | ¦  «        t          j                             t          d¦  «        }}t          j        |d¬¦  «         t          ¦   «         }d}t          j        |¦  «        D �]}t          j                             ||¦  «        }t          j                             |¦  «        r,| 	                    ¦   «          
                    t          ¦  «        sŒot          j        t          |d¦  «                             ¦   «         ¦  «                             ¦   «         }|                     |i ¦  «                             d¦  «        r8t%          j        |t          j                             ||¦  «        ¦  «         |dz  }�Œ|r!t)          |¦  «         t+          d|z  ¦  «         |S )uy   Chuyá»ƒn áº£nh cá»§a láº§n cháº¡y TRÆ¯á»šC (Ä‘Ã£ xá»­ lÃ½) sang `da_xu_ly\` Ä‘á»ƒ thÆ° má»¥c nháº­n chá»‰ cÃ²n lÃ´ má»›i.Úda_xu_lyTr1   r   r3   r    u1      lÆ°u trá»¯ %d áº£nh Ä‘Ã£ xá»­ lÃ½ -> da_xu_ly\)r/   r*   r+   r,   r-   rN   r   rQ   ÚisfilerC   rD   rE   rS   rT   r   r   rU   ÚgetrX   Úmover%   r\   )r.   r^   Úarchr_   rh   r9   re   rf   s           r   Údon_thu_mucrp   V   sU  € å�t‰}Œ}�bœgŸlšl­3°
Ñ;Ô;ˆ€BÝ„K�˜tÐ$Ñ$Ô$Ð$Ý‰LŒL€EØ	€AÝŒZ˜‰^Œ^ð ñ ˆÝŒG�LŠL˜˜QÑÔˆÝ”—’˜qÑ!Ô!ð 	 a§g¢g¡i¤i×&8Ò&8½Ñ&=Ô&=ð 	ØÝŒK�˜Q ™œ×*Ò*Ñ,Ô,Ñ-Ô-×7Ò7Ñ9Ô9ˆØ�9Š9�Q˜ÑÔ×Ò 
Ñ+Ô+ð 	ÝŒK˜�2œ7Ÿ<š<¨¨aÑ0Ô0Ñ1Ô1Ð1Ø�‰FˆAùØð HÝ�5ÑÔÐÝÐBÀQÑFÑGÔGÐGØ€Hr   c           	      ó^  — t          | ¦  «        }t          ¦   «         }t          j        |¦  «        D ]ë}t          j                             ||¦  «        }t          j                             |¦  «        r,|                     ¦   «                              t          ¦  «        sŒnt          j        t          |d¦  «                             ¦   «         ¦  «                             ¦   «         }|                     ||| t!          j        d¦  «        dœ¦  «         d||         d<   Œìt%          |¦  «         dS )uV   Sau khi agy cháº¡y xong: Ä‘Ã¡nh dáº¥u áº£nh trong thÆ° má»¥c nháº­n lÃ  Ä‘Ã£ xá»­ lÃ½.r3   rI   )r/   rJ   rK   Trk   N)r/   r   r*   rQ   r+   r,   rl   rC   rD   rE   rS   rT   r   r   rU   Ú
setdefaultr   r[   r%   )r.   r^   r_   r9   re   rf   s         r   Údanh_dau_da_xu_lyrs   j   s÷   € å	�‰Œ€BÝ‰LŒL€EÝŒZ˜‰^Œ^ð $ð $ˆÝŒG�LŠL˜˜QÑÔˆÝ”—’˜qÑ!Ô!ð 	 a§g¢g¡i¤i×&8Ò&8½Ñ&=Ô&=ð 	ØÝŒK�˜Q ™œ×*Ò*Ñ,Ô,Ñ-Ô-×7Ò7Ñ9Ô9ˆØ×Ò˜¨°TÍÌÐViÑHjÔHjÐkÐkÑlÔlÐlØ#ˆˆaŒ�ÑÐÝˆuÑÔÐÐÐr   c                  óö  — t          t          j        ¦  «        dk    rt          j        d         nd } | dvr)t          d¦  «        }t          d¦  «        }|rdn|rdnd} nt          | ¦  «         t          j                             t          | dk    rdnd¦  «        }t          j                             t          | dk    rdnd¦  «        }| dk    rd	nd
}t          | ¦  «         | dk    rdnd}d|›d|›d|›dt          ›d�	}t          d|dddt          dt          dddddg}t          d| ›dt          j                             |¦  «        ›�¦  «         t          j        ¦   «         }	t          j        |dddd t          ¬!¦  «        }
t          j        ¦   «         |	z
  }t!          |d"d¬#¦  «        5 }|                     d$t          j        d%¦  «        | ||
j        fz  ¦  «         |                     |
j        pd&d'z   |
j        pd&d(d …         z   d)t          j        d%¦  «        z  z   ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d*||
j        fz  ¦  «         |
j        d+k    rt-          | ¦  «         t          d,¦  «         	 t/          j        |
j        ¦  «        }t          d-|                     d.¦  «        d/|                     d0¦  «        pi                      d1¦  «        ¦  «         t          d2|                     d3¦  «        pd&d d4…                              d'd5¦  «        ¦  «         n8# t6          $ r+}t          d6|d7|
j        pd&d8d …         ¦  «         Y d }~nd }~ww xY wt          d9¦  «         t9          t	          j        t          ¦  «        d:„ d¬;¦  «        d d<…         D ]V}t          d=|t          j                             t          j                             t          |¦  «        ¦  «        fz  ¦  «         ŒWd S )>Nr    )r'   Úde_xuatr'   ru   zYEU_CAU_cap_nhat_csdl.txtzYEU_CAU_de_xuat_quy_trinh.txtz_log_agy_cap_nhat.txtz_log_agy_de_xuat.txtr(   r)   zCWrite to CSDLA.db with sqlite3 as instructed (BACKUP THE DB FIRST).z+CSDLA.db is READ ONLY - do not write to it.zRead the instruction file "zY" (UTF-8, Vietnamese) and follow it exactly. The images to analyse are in the subfolder "z". z! Use the current project folder "zK" as working directory; write every output file with real file-write tools.z-pz--modelzgemini-3.8-flash-highz	--projectz	--add-dirz--dangerously-skip-permissionsz--output-formatr   z--print-timeoutÚ0u   CHáº¾ Ä�á»˜: u    | yÃªu cáº§u: Tr   Úreplace)Úcapture_outputÚtextr
   ÚerrorsÚcwdr   r	   u@   Báº®T Ä�áº¦U %s | cháº¿ Ä‘á»™ %s
=== ELAPSED %.1f s | RC %s ===
z%H:%M:%SÚ ú
i0øÿÿu   
Káº¾T THÃšC %s
zxong %.1f s | rc=%sr   u`      Ä‘Ã£ Ä‘Ã¡nh dáº¥u lÃ´ áº£nh nÃ y lÃ  Ä‘Ã£ xá»­ lÃ½ (láº§n sau tá»± lÆ°u trá»¯ vÃ o da_xu_ly\)zstatus:Ústatusz	| tokens:ÚusageÚtotal_tokensz	response:ÚresponseiÜ  ú u   khÃ´ng parse json:ú|iPûÿÿu(   --- file má»›i nháº¥t trong dá»± Ã¡n ---c                 ó†   — t           j                             t           j                             t          | ¦  «        ¦  «        S r<   )r*   r+   r=   r,   r-   )Úxs    r   r?   zmain.<locals>.<lambda>Ÿ   s(   € µ2´7×3CÒ3CÅBÄGÇLÂLÕQTÐVWÑDXÔDXÑ3YÔ3Y€ r   )r@   Úreverseé
   z   %-50s %d)rW   ÚsysÚargvri   r*   r+   r,   r-   rp   ÚAGYÚPROJECTr\   rZ   r   Ú
subprocessÚrunr   r   r[   Ú
returncodeÚstdoutÚstderrrs   r   Úloadsrm   rw   r   ÚsortedrQ   r]   )r.   Ún1Ún2ÚyeucauÚlogÚsubÚthemÚpromptÚcmdÚt0re   Údtr9   ÚjÚes                  r   ÚmainrŸ   x   sp  € Ý�cœh™-œ-¨!Ò+Ð+�3Œ8�AŒ;ˆ;°€DØÐ*Ð*Ð*Ý˜*Ñ%Ô%ˆÝ˜)Ñ$Ô$ˆØÐFˆzˆz°2Ð&E i i¸:ˆˆå�TÑÔÐåŒW�\Š\�#¸dÀjÒ>PÐ>PÐ:Ð:ÐVuÑvÔv€FÝ
Œ'�,Š,•s°t¸zÒ7IÐ7IÐ3Ð3ÐOeÑ
fÔ
f€CØ  JÒ.Ð.ˆ.ˆ.°M€CÝ�ÑÔÐØUYÐ]gÒUgÐUgÐQÐQØ>ð 	€Dð
 ��˜˜˜˜d˜d˜d¥C C Cð)€Fõ ��f˜iÐ)@À+ÍwØ�Ð=Ð?PÐRXÐZkÐmpðr€Cå	€E°°°µb´g×6FÒ6FÀvÑ6NÔ6NÐ6NÐ
OÑPÔPÐPÝ	Œ‰Œ€BÝŒ�s¨4°dÀWÐU^ÕdgÐhÑhÔh€AÝ	Œ‰Œ�rÑ	€BÝ	ˆc�3 Ð	)Ñ	)Ô	)ð w¨QØ	�ŠÐTÕX\ÔXeÐfpÑXqÔXqÐswÐy{Ð}~ô  ~Jð  XKñ  Kñ  	Lô  	Lð  	LØ	�Š�”�˜R 4Ñ'¨1¬8¨>°r¸5¸6¸6Ô*BÑBÐEYÕ\`Ô\iÐjtÑ\uÔ\uÑEuÑuÑvÔvÐvðwð wð wñ wô wð wð wð wð wð wð wøøøð wð wð wð wõ 
Ð
 2 q¤|Ð"4Ñ
4Ñ5Ô5Ð5Ø„|�qÒÐÝ˜$ÑÔÐÝÐqÑrÔrÐrðFÝŒJ�q”xÑ Ô ˆÝˆi˜Ÿš˜x™œ¨+¸¿º¸g¹¼Ð8LÈ"×7QÒ7QÐR`Ñ7aÔ7aÑbÔbÐbÝˆk˜AŸEšE *Ñ-Ô-Ð3°°U°d°UÔ;×CÒCÀDÈ#ÑNÔNÑOÔOÐOÐOøÝð Fð Fð FÝÐ" A s¨Q¬X¨^¸¸U¸V¸VÔ,DÑEÔEÐEÐEÐEÐEÐEÐEøøøøðFøøøå	Ð
4Ñ5Ô5Ð5Ý•B”J�s‘O”OÐ)YÐ)YÐcgÐhÑhÔhÐilÐjlÐilÔmð Jð JˆÝˆm˜q¥"¤'§/¢/µ"´'·,²,½sÀAÑ2FÔ2FÑ"GÔ"GÐHÑHÑIÔIÐIÐIðJð Js,   Æ*A=H3È3H7È:H7ÊB'L) Ì)
MÌ3!MÍMÚ__main__)Ú__doc__rS   r   r*   rX   rŒ   rˆ   r   rŠ   r-   r‹   r+   r,   Úenvironr>   r   r   rE   r   r   r   r%   r/   ri   rp   rs   rŸ   Ú__name__r   r   r   ú<module>r¤      s~  ððð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à5€Ø3€Ø
0€Ø
Œ�Š�R”Z Ô/°¸7ÀHÑMÔM€Ø
Œ�Š�SÐ.Ñ/Ô/€Ø	„w‡|‚|�CÐ-Ñ.Ô.€Ø(€ð"ð "ð "ðBð Bð Bðð ð ðSð Sð SðVð Vð Vð%ð %ð %ðPð ð ð(ð ð ð(Jð (Jð (JðV ˆzÒÐØ€D�F„F€F€F€Fð Ðr   