
    _q_j}                         d dl m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 ed          Z
e
j        Z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 )    )PathNzQ/data/video-pipeline/HaTramAudio/project/020-Chiec-Nhan-Chi-Deo-Khi-Co-Nguoi-Nhinzrun-20260721T124541Z-88551d8aLevyu   Các bạn đang nghe truyện được phát từ Hạ Trâm Audio, chúc các bạn có những giây phút nghe truyện vui vẻ. Hãy ủng hộ chúng tôi bằng cách like video và đăng ký kênh.z0http://192.168.40.32:7861/voice/ngoc-huyen-clonec                      t           j                             t           j        j                                                                      dd          S )Nz+00:00Z)datetimenowtimezoneutc	isoformatreplace     work/build_intro.pyr   r      s<    "&&x'8'<==GGIIQQRZ[^__
_r   c                    t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)fs   r   <lambda>zsha.<locals>.<lambda>   s    qvvk** r   r   )hashlibsha256openiterupdate	hexdigest)phbr   s      @r   shar      s    
>ffTll <a****3//;;a;< < < < < < < < < < < < < < <	s   ,A##A'*A'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   guardr1      s~    :t**557788s599??AA = =SQqUU1XXq[[|$9!$;<<<[= =r   c                 x    t          j        t          j        dddddddt	          |           g                    S )Nffprobez-verrorz-show_entrieszvformat=duration,size:stream=index,codec_name,profile,codec_type,width,height,pix_fmt,r_frame_rate,sample_rate,channelsz-ofr$   )r$   r%   
subprocesscheck_outputstr)r   s    r   prober8      sh    DJz6	$w  `X  Y^  _e  fi  jk  fl  fl  8m   n   n  o  o  or   c                 d   i }|                                                                  D ]}|                                }|rn|                    d          sYd|v rU|                    dd          \  }}|                                                    d          ||                                <   |S )N#=   z"')r'   
splitlinesstrip
startswithsplit)r   r.   rawsr/   r0   s         r   envfilerC      s    KKMM$$&& : :SIIKK! :q||C   :SAXXwws1~~31Q17799??5#9#9a		l	r   c                     t                       |                     d| j        z   dz             }|                    t	          j        |dd          dz              t          j        ||            d S )N.z.tmpF   )ensure_asciiindent
)r1   	with_namename
write_textr$   dumpsosr   )pathr.   tmps      r   atomicrQ      s    T^^C	M&011#..A[`hiAjAjAjkoAo2p2p2pqsq{|  AE  rF  rF  rF  rF  rFr   c                  @  # t                       t          j        t          dz                                            } |                     di                               d          }|r]|                     di                               d          dk    s0|                    d          dk    s|                    d          durt          d	          |                     d
          }|r|                    d
          |k    rt          d          t          |d         d                   }|d         }t          |          |k    rt          d          t          dz  }t          dz  }t          dz  }t          dz  }t          dz  }	t          dz  }
t          j
        t                                                                                    }||t          dddd}|
                                r|	                                rt          j        |
                                          }|                    d          dk    r|                    d          du r|                    d          |k    rm|                    d          |k    rTt          |	          |                    d          k    r.t!          t          j        ddd|d         d                     d S t$          j                            t          dddd                                          }|                    d          }d}|                                r|                                ryt          j        |                                          #t-          #fd |                                D                       o%#                    d!          t          |          k    }|s|                                s|                                rt          d"          t$          j                            t          |d#d$id%&          }t$          j                            |d'(          5 }|                    d)          5 }|j        d*k    r$t          d+t;          |j                  z             |                    d,          x}r,|                    |           |                    d,          x},d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t                       tA          j!        ||           tE          |i |t          |          tG                      d-           tI          j%        d.d/d0d1d2d3d4d5d6d7d8d9d:t;          |          g           t          d;z  }|&                    d<t;          |          !                    d=d>          z   d?z   t;          |          !                    d=d>          z   d@z              |                    dA          }tI          j%        d.d/d0d1d2d3dBdCdDd5t;          |          dEdFdGdHd9d:t;          |          g           t                       tA          j!        ||           tO          |          }tQ          |dI         dJ                   }tS          t          j*                    dKz            }t@          j+        ,                                }|dL         |dM<   |	                    dN          }|-                    dO           g d.d/d0d1d2dPdHdQdRd5t;          |          d5t;          |          dSdTdUdVdWdXdYdZd[d\d]dDd^d_d`dadbdcdddRdedfd9dgdhdidEdFdGdHd7|djdkdlt;          |          }tI          j%        dmdndodpdqdpdr|ds          dt|du          g||v           tO          |          }|dw         }dx |D             }dy |D             } tQ          |dI         dJ                   }!t]          |          dzk    st]          |           dzk    s|d{                             d|          d}k    s|d{                             d~          dk    s|d{                             d          dk    s|d{                             d          dk    ss| d{                             d|          dgk    sT| d{                             d          dFk    s5| d{                             d          dzk    st_          |!|z
            dk    rt          d          t                       tA          j!        ||	           i ddzdt`          dtb          ddddd|d|dt          d|d|dt;          |          dt          |          dt;          |          d!t          |          dt;          |          dddt;          |          t          |          |t;          |	          t          |	          |	2                                j3        |!t_          |!|z
            d|tG                      d
}"tE          |
|"           t!          t          j        dd|!|"d         d                     d S )Nzscript/project-manifest.jsongate_eventspostersteps	completedstatusverifiedTz$Poster Gate is not committed/currentcanon_sha256z"Poster Gate canon binding mismatchartifactrO   artifact_sha256zposter hash driftzaudio/intro-voice.wavzaudio/intro-voice.intent.jsonzaudio/intro-silence-2s.wavzaudio/intro-full.wavzoutput/intro/intro.mp4zlog/intro-render.json
doc_truyenz1.0true)source_canon_sha256intro_text_sha256endpointstylespeeddenoiser^   source_poster_sha256)rW   rX   resumer[   )textra   rb   rc   z.intro-voice.tmp.wavFc              3   P   K   | ] \  }}                     |          |k    V  !d S )Nr,   ).0r/   r0   
old_intents      r   	<genexpr>zmain.<locals>.<genexpr>+   s=      D|D|^a^_`aZ^^TUEVEVXYEYD|D|D|D|D|D|r   voice_sha256z<stale intro voice exists for a different text/canon contractzContent-Typez!application/x-www-form-urlencodedPOST)dataheadersmethodi  )timeoutwb   zintro TTS HTTP i   )rl   
created_atffmpegz-hide_bannerz	-loglevelr4   z-yz-flavfiz-izanullsrc=r=48000:cl=monoz-t2z-c:a	pcm_s16lezwork/intro-audio.ffconcatzffconcat version 1.0
file ''z'\''z'
file 'z'
z.intro-full.tmp.wavconcatz-safe0z-ar48000z-ac1formatdurationz .config/ha-tram-audio/worker.envWORKER_PASSWORDSSHPASSz.intro.tmp.mp4)
missing_okz-loopz
-framerate30z-c:v
h264_nvencz-presetp4z-tunehqz-rcvbrz-cq21z-b:vz
-profile:vhighz-level:vz4.0z-pix_fmtyuv420pz-rz-video_track_timescale15360aacz-b:a192kz.6fz	-movflagsz
+faststartsshpassz-esshz-ozBatchMode=noz StrictHostKeyChecking=accept-newWORKER_USER@WORKER_HOST)envstreamsc                 D    g | ]}|                     d           dk    |S )
codec_typevideorh   ri   xs     r   
<listcomp>zmain.<locals>.<listcomp>9   s/    +_+_+_!!%%BUBUW^B^B^AB^B^B^r   c                 D    g | ]}|                     d           dk    |S )r   audiorh   r   s     r   r   zmain.<locals>.<listcomp>9   se      dX  dX  dXjkz{zz  AM  {N  {N  PW  {W  {Wde  {W  {W  {Wr   r<   r   
codec_nameh264widthi  heighti8  r_frame_ratez30/1sample_ratechannelsg{Gz?zintro technical probe failedschema_versionr!   r"   
intro_textr_   voice_contractvoice_intent_pathvoice_intent_sha256
voice_pathsilence_pathsilence_duration_secondsg       @
audio_pathzh264_nvenc via SSH GPU worker)
audio_sha256audio_duration_secondsartifact_pathr[   artifact_bytesduration_secondsduration_delta_secondsencoderr8   completed_at)rW   rX   r   r[   )4r1   r$   r%   r&   r'   r,   r-   r   r   r   r   TEXTencoder   ENDPOINTexistsprintrM   urllibparse	urlencoderJ   allr+   requestRequesturlopenr   rW   r7   r   writerN   r   rQ   r   r5   
check_callrL   r8   floatrC   homeenvironcopyunlinklenabsr(   r)   statst_size)$mpecanonrT   poster_hashvoicevoice_intentsilfulloutreceipt	text_hashr   oldpayloadtmpvvoice_reusablereqrr   r   rz   tmpaapadurcfgr   tmpoutremotevpr   vsauvdr.   rj   s$                                      @r   mainr      s%   4:t::EEGGHHAEER_`bLcLcLgLghpLqLq
  yaeeGB##H--{::bffX>N>NP[>[>[_a_e_efp_q_qy}_}_}  EQ  Rx  Ey  Ey  yuu^g''..\Bf5g5g/gR
^F#$$4E1F[KK<0C#D#DD##6U1ULZ^_{Z{VY  BF  G]  B]  }A  bf  g  b  ^a  HL  Md  Hd  @G>$++--((2244[`u~  KS  \h  qv  AG  EH  EH^NN { {
j""$$%%#WWX##
(;(;t(C(CPeHfHfhmHmHmruryry  {Q  sR  sR  T_  s_  s_  dg  hk  dl  dl  nq  nu  nu  vG  nH  nH  dH  dHkT4Z]^oZpqq	r	rssstztz			\%Z` a a	b	b	i	i	k	kqv  rA  rA  BX  rY  rYlp	LLNN l|**,, lZ..0011*D|D|D|D|eseyeye{e{D|D|D|A|A|  Bl  BL  BP  BP  Q_  B`  B`  be  fk  bl  bl  Bl. v
\\^^|**,,<@~33-nX7NKn;ow}~~#~c#.. )!TYYt__ )hmm,'8QX'FGGGFF9	(aggajjjAFF9	() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) '''"*T%
 
 
 5t5tVYZ_V`V`nqnsns5t5t5t!u!u!uGDgVZ[uvz{~  @F  GR  SV  WZ  S[  S[  \  ]  ]  ](():):;YZ]^cZdZdZlZlmpqxZyZy;y  {F  <F  GJ  KN  GO  GO  GW  GW  X[  \c  Gd  Gd  <d  ej  <j  *k  *k  *k
nn*++J,A8N[fgnostx  zB  CJ  KN  OS  TW  X^  T_  T_  `e  fm  ns  tw  x~  J  KN  OS  KT  KT  CU  -V  -V  -V  W\  W^  W^  W^  _a  _i  jn  os  _t  _t  _t	$KKU2h<
344MoAo9p9pSuwu  vE  vE  vG  vGqt  WZ  [l  Wm  HK  LU  HV  ux  uB  uB  CS  uT  uT  nt  U[  Ub  Ub  nr  Ub  Us  Us  Us 	[  	[.  	[  	[W  	[T  	['  	[#  	[l  	[SW  	[X\  	[]`ag]h]h  	[im  	[nqrvnwnw  	[x~  	[  @L  	[  MV  	[  W[  	[  \c  	[  dh  	[  in  	[  ot  	[  uz  	[  {  	[  @F  	[  GJ  	[  KW  	[  X^  	[  _i  	[  jo  	[  pz  	[  {D  	[  EI  	[  JN  	[  Og  	[  ho  	[  pv  	[  w|  	[  }C  	[  DJ  	[  KP  	[  QX  	[  Y^  	[  _b  	[  cg  	[  ko  hu  hu  	[  vA  	[  BN  	[  OR  SY  OZ  OZ  	[	$uT.Fhlop}l~  jV  jV  BE  FS  BT  jV  jV  _  X^  _  dg  h  h  h  h	&MM"Y-'+_+_w+_+_+_  dX  dXov  dX  dX  dX`b  \a  bd  em  bn  oy  bz  \{  \{  Y[GGQJJ#b''1**1		, 7 7 ? ?2a599WCUCUW[C[C[_abc_d_h_hiq_r_rtx_x_x|~  @A  }B  }F  }F  GU  }V  }V  X^  }^  }^  bd  ef  bg  bk  bk  lx  by  by  {@  b@  b@  DF  GH  DI  DM  DM  N[  D\  D\  ^e  De  De  ik  lm  in  ir  ir  s}  i~  i~  @A  iA  iA  EH  IK  LP  IP  EQ  EQ  RV  EV  EV  ]i  jH  ]I  ]I  WIF3			 MQ  M|C  M  MXk  M*UY  MZopu  M  wM  NY  M  Zf  gk  M  l  @I  M  JZ  [i  M  j}  ~A  BN  ~O  ~O  M  Pe  fi  jv  fw  fw  M  xD  EH  IN  EO  EO  M  P^  _b  ch  _i  _i  M  jx  y|  }@  yA  yA  M  B\  ]`  M  am  nq  rv  nw  nw  M  GJ  KO  GP  GP  jn  B  CF  G  G  Z]  ^a  Zb  Zb  tw  t|  t|  t~  t~  tF	  Z	\	  v	y	  z	|	  }	A
  z	A
  v	B
  v	B
  M
l
  u
w
  GJ  GL  GL  M  M  M  NT  U\  ]^  N_  N_  N_  `e  fj  fp  {F  RV  bd  wx  yJ  wK  qL  qL  fM  fM  `N  `N  `N  `N  `Ns7   T2A3S1%T1S5	5T8S5	9TTT__main__)pathlibr   r   r   r$   rN   r5   urllib.parser   urllib.requestr&   rK   r(   r)   r*   r   r   r   r   r1   r8   rC   rQ   r   __name__r   r   r   <module>r      s7         F F F F F F F F F F F F F F F F F F F F F F F F F F F F	T
]^^cgcl_b  rQmp  X^  RW W	; _ _ _  
= = = o  o  o
 
 
F F F!N !N !ND Zr   