
    _jC                         d dl mZ d dlZd dlZd dlZd dlZ ed          Zej        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 )    )PathNzH/data/video-pipeline/HaTramAudio/project/019-Buc-Tuong-Giua-Hai-Ban-Congzrun-20260721T065616Z-a7dbad2fLevyu#   Bức Tường Giữa Hai Ban Côngc                      t           j                             t           j        j                                                                      dd          S )Nz+00:00Z)datetimenowtimezoneutc	isoformatreplace     _/data/video-pipeline/HaTramAudio/project/019-Buc-Tuong-Giua-Hai-Ban-Cong/work/build_metadata.pyr   r      s<    "&&x'8'<==GGIIQQRZ[^__
_r   c                 r    t          j        |                                                                           S )N)hashlibsha256
read_bytes	hexdigest)ps    r   shar      s%    '.00::<<<r   c                     t          j        t          dz                                            } t          t
          t          d                                D ]0\  }}|                     |          |k    rt          d|z             1d S )Nz.ownership-lock.json)
project_idrun_idownerzownership mismatch )
jsonloadsROOT	read_textPIDRUNOWNERitemsgetRuntimeError)dkvs      r   guardr(      s~    :t**557788s599??AA = =SQqUU1XXq[[|$9!$;<<<[= =r   c                     t                       | j                            dd           |                     d| j        z   dz             }|                    |           t          j        ||            d S )NT)parentsexist_ok.z.tmp)r(   parentmkdir	with_namename
write_textosr   )r   sts      r   atomic_textr5      sm    d	3	3	3akk#af*VBS6T6TAUVUaUabcUdUdUdegeopqrsetetetetetr   c                 V    t          | t          j        |dd          dz              d S )NF   )ensure_asciiindent
)r5   r   dumps)r   r%   s     r   atomic_jsonr<      s-    [4:aU!#L#L#LT#QRRRRRr   c            	         t                       t          j        t          dz                                            } |                     d          }|                     di                               di           }|                     di                               d          dk    s0|                    d          dus|                    d          |k    rt          d	          t          j        t          d
z                                            }t          dz  }|                    d          r4|                    d          |k    st          t          dz            |k    rt          d          dt           d}d}g d}| d| dd	                    |          z   dz   }t          dz  }	t          |	|           i dddt          dt          dt          ddddd|dt          |          dt          d |d!t          |          d"|d#|d$|d%g d&t          d'd(|t          |          d)d*d+}
t          d,z  }t          ||
           i |
t          |	          t          |	          t          |          t          |          t!                      d-}t          t          d.z  |           t#          t          j        dd||d/         d0d*1                     d S )2Nzscript/project-manifest.jsoncanon_sha256gate_eventsstorysteps	completedverifiedTz#Story Gate is not committed/currentzscript/promotion-report.jsonzscript/story-brief.jsonzstory/story-canon.txtzcanon promotion invalidu   Truyện Audio | u    (Full) | Hạ Trâm Audiou#  Trở lại căn hộ tuổi thơ ở Tô Châu để quyết định việc bán nhà trong ba mươi ngày, Tống Vãn Chi buộc phải đối diện Lục Cảnh Hòa, người bạn lớn lên bên ban công kế bên và cũng là người hai gia đình luôn gọi là anh trai của cô. Giữa chiếc chìa khóa cũ, những tín hiệu đèn và các ký ức từng bị hiểu sai, cả hai phải học cách gọi đúng mong muốn của mình, tôn trọng ranh giới và công khai bước từ người nhà sang tình yêu.)u   Ngôn tình đô thịu   Thanh mai trúc mãu
   Hài nhẹu   Gia đình ấm ápz

u   

Thể loại: z, ut   

Truyện được phát độc quyền tại Hạ Trâm Audio, nghiêm cấm sao chép dưới mọi hình thức
zoutput/info.txtschema_version   source_project_idr   r   statussource_canon_sha256source_story_brief_sha256canonical_titleyoutube_titletitle_lengthdescriptionsummarygenrestagsthumbnail_textcopyright_lineuq   Truyện được phát độc quyền tại Hạ Trâm Audio, nghiêm cấm sao chép dưới mọi hình thức)story_canonstory_briefF)authority_sha256contains_spoiler_revealzscript/metadata.json)artifact_pathartifact_sha256metadata_json_pathmetadata_json_sha256completed_atzlog/metadata.jsonrX   )rG   rC   rK   rX   )r8   )r(   r   r   r   r   r#   r$   r   TITLEjoinr5   r   r    lenr<   strr   printr;   )mcanonr@   promobriefytrN   rO   infoipmetadatampreceipts                r   mainrk      s   4:t::EEGGHHquuUcOdOduu]2""72..EE'"'""K//599Z3H3HPT3T3TX]XaXabpXqXqsxXxXx  @L  Mr  @s  @s  zsz466AACCDD4PiKiU		*  \>!:!:E!A!ASNeIeEfEfhmEmEm  uA  B[  u\  u\  o\9999 
o[[[	,,,,,TYYv->->>  @y  y	;r$/// A  1#  l3  xPS  T\]h  istx    zO  PU    Vq  ru  v{  r|  r|    }N  OT    Ud  eg    hv  wz  {}  w~  w~    L  MT    U^  _f    go  pv    w}  ~@    AQ  RW    Xh  i\    D  SV  W\  S]  S]  p^  p^  y~      	Bx 8 8 8  BQH  BQ]`ac]d]dwz{}w~w~  UX  Y[  U\  U\  tw  xz  t{  t{  KN  KP  KP  BQ  BQ  BQ  R]  ^b  cv  ^v  w~  R  R  R  @E  FJ  FP  [f  rv  GI  \c  du  \v  Qw  Qw  EJ  FK  FK  FK  @L  @L  @L  @L  @Lr   __main__)pathlibr   r   r   r   r2   r   r0   r   r    r!   r\   r   r   r(   r5   r<   rk   __name__r   r   r   <module>ro      s                         	T
TUUZ^ZcVY  iHdg  OU  IN  \A  V[ _ _ _ < < <= = =u u u R R RL L L Zr   