
    #G[j                     t    d dl Z d dlZd dlZd dlZd dlmZ g dZg dZg dZd Z	e
dk    r e	             dS dS )    N)Path)u\   bãi bồi|ngập lụt|đường nước|thủy lợi|nguồn nước|lối xuống nướcuD   kiến trúc|trùng tu|phục dựng|quyền tác giả công trìnhu0   bệnh viện|y khoa|chẩn đoán|điều trịu$   dầu khí|xăng dầu|nhiên liệuu@   radio|băng ghi âm|băng cassette|ca khúc|bài hát|âm nhạcu    ma quỷ|linh hồn|siêu nhiên
livestream)ue   xóa tên|bỏ tên|ghi tên|đứng tên|tác giả|cướp công|chiếm công|ghi nhận công laouF   lịch sử phiên bản|dấu thời gian|người tạo bản đầuub   thưởng hợp đồng|thưởng thương mại|đánh giá hiệu suất|gia hạn hợp đồnguR   sửa báo cáo thành tích|đính chính nguồn gốc|sửa hồ sơ tác giả)
project_idtitledomaininjustice_mechanismevidence_ledgerconsent_privacyauthority_chainpublic_payoff_venueconditional_aftercarecastpartsc            
      
   t          t          j                  dk    rt          d          t	          t          j        d                   } |                                 }t          j        |          g }t          D ]}|vr|	                    d|            
                    d          dk    r|	                    d           
                    dg           }t          |          dk    r|	                    d	           d
 |D             }t          t          |                    dk    st          d |D                       r|	                    d           d |D             }t          d |D                       }t          d |D                       }||fdk    r|	                    d           d |D             }	t          |	          dk    s=t          |	d         
                    dd                                                    dvr|	                    d           
                    dg           }
t          |
          dk    r|	                    d           d |
D             }|t!          t#          dd                    k    r|	                    d           fddD             }t          j        |d !                                          }t'          j        d"d|          }t'          j        d#d|          }g }t*          D ]L}t'          j        ||t&          j                  }|r(|	                    |                    d                     M|rE|	                    d$d%                    t5          t          |                              z              g }t6          D ]L}t'          j        ||t&          j                  }|r(|	                    |                    d                     M|rE|	                    d&d%                    t5          t          |                              z              
                    d'i           }d(D ]/}|
                    |          s|	                    d)|z              0d*D ]/}
                    |          s|	                    d+|z              0|sd,nd-t          |           t9          j        |                                          |t          |          ||t          |
          d.}t?          t          j        |d d/                     |rt          d          d S )0N   zusage: validate_concept.py FILE   zmissing:r   gacmai_20260718_091744r      
cast_countc                 8    g | ]}|                     d           S )nameget.0xs     e/data/video-pipeline/GacMaiAudio/project/gacmai_20260718_091744/artifacts/scripts/validate_concept.py
<listcomp>zmain.<locals>.<listcomp>   s"    
'
'
'Q155==
'
'
'    c              3      K   | ]}| V  d S )N r   s     r   	<genexpr>zmain.<locals>.<genexpr>    s$       6 61Q 6 6 6 6 6 6r   
cast_namesc                 x    g | ]7}t          |                    d d                                                    8S )gender )strr   lowerr   s     r   r   zmain.<locals>.<listcomp>!   s:    ;;;Sx##$$**,,;;;r   c              3      K   | ]}|d v V  	dS )femaleu   nữwomanNr!   r   s     r   r"   zmain.<locals>.<genexpr>"   s(      ??!q--??????r   c              3      K   | ]}|d v V  	dS ))malenammanNr!   r   s     r   r"   zmain.<locals>.<genexpr>"   s)      IuIuhi!OcJcIuIuIuIuIuIur   )   r1   cast_gender_3_3c                 @    g | ]}|                     d           du |S )povTr   r   s     r   r   zmain.<locals>.<listcomp>$   s,    111qAEE%LLD00000r   r   r%   r&   r*   female_single_povr      
part_countc                 8    g | ]}|                     d           S )partr   r   s     r   r   zmain.<locals>.<listcomp>(   s"    	'	'	'A!%%--	'	'	'r      part_numbersc                 <    i | ]}|                     |          S r!   r   )r   kds     r   
<dictcomp>zmain.<locals>.<dictcomp>+   s7      L  L  L1AaeeAhh  L  L  Lr   )r   r   logliner   r	   r   r   F)ensure_asciiz""khong_livestream"\s*:\s*true\s*,?u?   không\s+(?:có\s+)?livestream|không\s+phát\s+trực\s+tiếpz
forbidden:,zforbidden_semantic_skeleton:originality_axes)material_injusticeevidence_mechanicstangible_payoffemotional_coreauthority_separationzmissing_originality_axis:)r	   r
   r   r   r   zempty:passedfailed)statussourcesource_sha256errorsr   womenmenr   )rA   indent) lensysargv
SystemExitr   
read_bytesjsonloadsREQUIREDappendr   setanysumr'   r(   listrangedumpsresub	FORBIDDENsearchIgroupjoinsortedFORBIDDEN_SKELETONhashlibsha256	hexdigestprint)prawrN   r=   r   namesgendersr+   r.   r4   r   numsnarrative_viewtxthitspatmskeleton_hitsorigkeyoutr>   s                        @r   mainr|      sD   
38}}az*KLLL
38A;AQ\\^^tz#QF 5 5A::v}}^^^444uu\444fmmL6Q6Q6Q	
vb		D
4yy!||V]]<000
'
'$
'
'
'E
3u::S 6 6 6 6 666l8S8S8S;;d;;;G??w?????FcIuIumtIuIuIuFuFut}eV]]+<===11D111C
3xx{{c#a&**Xb112288::B[[[]c]j]jk~]]]
%%

E
5zz2~~v}}\222	'	'	'	'	'DT%"++n = = = L  L  L  L  )K  L  L  LN
>u555;;==C
4b#>>C
QSUWZ[[C	D % %
)CBD
!
!$T[[$$$DV]]<D		1B1B(C(CCDDDM! . .
)CBD
!
!-]!!!''!**---hfmm$B388FSVWdSeSeLfLfCgCg$ghhh	
!"	%	%Dt M Mxx}}Lfmm,G,KLLLt 7 7uuSzz66==#666"(6((hAW^WefiWjWjWtWtWvWv  AG  OR  SW  OX  OX  ag  nr  {~  D  {E  {E  	F  	FC	$*Se1
5
5
5666"Z]]"""r   __main__)rW   ra   rS   rj   pathlibr   rc   ri   rY   r|   __name__r!   r   r   <module>r      s                           	    t  t  t*# *# *#V Zr   