
    i                     4   S SK r \ R                  S:  a  \" S5      eSrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
SSKJrJrJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJrJr  SSKJr  SSKJr  SSKJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(  SSK)J*r*  SSK+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErE  SSKFJGrG  SSKHJIrJJKrLJMrNJOrP  SSKQJQrQ  S(S jrRS rSS rTS rUS rVS rW\R                  " SS5      rYS)S jrZS)S jr[S)S jr\SSKJ]r]J^r^  SS KJ_r_J`r`  \L\_R                  S!'   \N\_R                  S"'   \J\_R                  S#'   \P\_R                  S$'   \`R                  R                  S%5        \`R                  R                  S&5        / S'Qrcg)*    N)   
   zkYou are using an unsupported version of Python. Only Python versions 3.10 and above are supported by yt-dlpzThe Unlicense   )SUPPORTED_BROWSERSSUPPORTED_KEYRINGSCookieLoadError)get_external_downloader)list_extractor_classes)MSO_INFO)ImpersonateTarget)IN_CLIplugin_dirs)	parseOpts)load_all_plugins)	FFmpegExtractAudioPPFFmpegMergerPPFFmpegPostProcessorFFmpegSubtitlesConvertorPPFFmpegThumbnailsConvertorPPFFmpegVideoConvertorPPFFmpegVideoRemuxerPPMetadataFromFieldPPMetadataParserPP)Updater)
NO_DEFAULTPOSTPROCESS_WHEN	DateRangeDownloadCancelledDownloadErrorFormatSorterGeoUtilsPlaylistEntriesSameFileErrordownload_range_funcexpand_pathfloat_or_noneformat_fieldint_or_nonejoin_nonemptymatch_filter_funcparse_bytesparse_durationpreferredencodingread_batch_urls
read_stdinrender_tablesetproctitleshell_quotevariadicwrite_string)_UnsafeExtensionError)BunJsRuntimeDenoJsRuntimeNodeJsRuntimeQuickJsRuntime)	YoutubeDLc                 h    U H"  n[         R                  R                  U5        M$     [        U 5      eN)sysstderrwrite
SystemExit)statusargsmsgs      </app/mltbenv/lib/python3.13/site-packages/yt_dlp/__init__.py_exitrE   L   s)    

 
V
    c                    / nUbW   [        US:X  a  [        US:X  a  SOS5      O[        [        U5      SSS95      nUS:X  a  [	        S	[        U5      -   S
-   5        [        5       nX0-    Vs/ s HH  n[        U[        5      (       a   UR                  5       R                  US5      OUR                  5       PMJ     sn$ ! [         a    [        SU S35         N}f = fs  snf )z6
@param verbose      -1: quiet, 0: normal, 1: verbose
N-URLszutf-8ignore)encodingerrorsr   z[debug] Batch file urls: 
zERROR: batch file z could not be read)r.   r/   openr%   r4   reprOSErrorrE   r-   
isinstancebytesstripdecode)urls	batchfileverbose
batch_urls_encurls         rD   get_urlsr\   R   s     J	F(AJcAQ
7b=4f=+i078TVJ !|84
;KKdRS D $&$C /9e.D.D		4*#))+U$& &  	F&yk1CDE	F&s   AB? -AC?CCc                   ^
 SnU R                   (       Ga  SSKJn  [        R	                  US5      n[        U R                  5       H  nX$R                  UR                  5       (       d  SOS-   S-   -  nXC:X  a.  UR                  5        VVs/ s H  u  pVU(       a  M  UPM     nnnOR[        [        UR                  UR                  5       5      5      nUR                  [        R	                  US5      5        USR                  S U 5       5      -  nM     OU R                   (       a1  S	m
SR                  U
4S
 j[        U R                  5       5       5      nO\U R"                  (       aJ  SR%                  ['        SS/[(        R                  " 5        VV	s/ s H  u  pXS   /PM     sn	n5      5      nOg[+        U[,        R.                  S9  gs  snnf s  sn	nf )N r   )	GenericIEFz (CURRENTLY BROKEN)rN   Tc              3   .   #    U  H  nS U S3v   M     g7f)z  rN   N ).0r[   s     rD   	<genexpr>.print_extractor_information.<locals>.<genexpr>t   s     @<CRuB<<s   )zcute kittenszslithering pythonszfalling catzangry poodlezpurple fishzrunning tortoisezsleeping bunnyzburping cowc              3      >#    U  H<  oR                  5       (       d  M  UR                  S Ld  M*  UR                  S TS9v   M>     g7f)F)markdownsearch_examplesN)workingIE_DESCdescription)rb   ie	_SEARCHESs     rD   rc   rd   w   sD      j<

 FQSQ[Q[chQh FBNNE9NE<s   AAAzSupported TV Providers:
{}
msozmso namename)out)list_extractorsextractor.genericr_   dictfromkeysr
   	age_limitIE_NAMErh   itemstuplefiltersuitablekeysupdatejoinlist_extractor_descriptionsap_list_msoformatr0   r   r4   r=   stdout)optsrV   ro   r_   rk   r[   matchedmatched_urlsmso_idmso_inforl   s             @rD   print_extractor_informationr   f   s}   
C0}}T5)(8B::bjjll!6PRSVZZZC8<

TGT$VBKK%EFDMM,=>277@<@@@C 9 
	)	) ^	ii j,T^^<j j 
		-44\J@H@PQ@P,<Ffv&'@PQ6S T #**%#  U Rs   GGGc                   ^ ^ U 4S jmSUU 4S jjnU" SSS5        U" SS5        U" S	S
5        ST R                   ;   a!  T R                  (       a	  T" S5        OST l        ST R                   ;   a*  T R                  R                  [        R
                  5        O)ST R                   ;   a  [        R                  [        l        ST R                   ;   a  T R                  c  ST l        OT" S5        U" SSSSS9nU" SSSSS9nUSL a  USL a  T" S5        ST R                   ;   aC  T R                  R                  S5      c  T R                  R                  SS05        g T" S5        g g )Nc                    > U TR                   ;  a  gTR                   R                  U 5        TR                   R                  SU  3/5        g)NF*T)compat_optsdiscardr{   )rn   r   s    rD   _unused_compat_opt+set_compat_opts.<locals>._unused_compat_opt   sG    t'''  &1TF-rF   Tc                    > [        TU5      nU TR                  ;   a%  Uc  [        TX(       + 5        gU(       a  T" U 5        gUc  [        TX5        g )NTF)getattrr   setattr)compat_nameopt_namedefaultremove_compatattrr   r   s        rD   set_default_compat+set_compat_opts.<locals>.set_default_compat   sQ    tX&$***|h4 &{3\D(,rF   zabort-on-errorignoreerrorsonly_downloadzno-playlist-metafilesallow_playlist_fileszno-clean-infojsonclean_infojsonzno-attach-info-jsonFzformat-sortzprefer-vp9-sortzmtime-by-defaultmultistreamsallow_multiple_video_streams)r   allow_multiple_audio_streamsfilenamer   z%(title)s-%(id)s.%(ext)s)TT)r   embed_infojsonformat_sortextendr    ytdl_default_prefer_vp9_sortr   
updatetimeouttmplgetr{   )r   r   _video_multistreams_set_audio_multistreams_setr   s   `   @rD   set_compat_optsr      sU     'I.0FG*,<= 0 0045"'D((( 9 9:	d..	.+<<T---??""DO120A_afv{|0A_afv{|%',Cu,L>*T%%%<<I&.LL,F GHz*	 &rF   c                 x"  ^ ^%^&^' S]S jm%SU%4S jjnU%4S jnSU%4S jjm&SS jnT%" [        [        [        T R                  T R                  T R
                  45      5      S:*  SS	S
9  T%" T R                  S L =(       d    T R
                  S LSSS
9  T%" T R                  S L =(       d    T R                  S LSSS
9  U" ST R                  [        S5        T&" ST R                  5        T&" ST R                  S5        T&" ST R                  S5        T&" ST R                  S5        T R                  S:w  a  U" T R                  T R                  SS5        T&" ST R                   5        T&" ST R"                  5        T&" ST R$                  5        T&" ST R&                  5        T R$                  c  T%" T R&                  S L SSS
9  O=T R&                  c  T R$                  T l        OU" T R$                  T R&                  S5        T R(                  b}  [        [*        / T R(                  R-                  SS5      QS P5      tpEnT%" US L=(       a    US L =(       a    ST R(                  ;   (       + ST R(                  5        U" XES5        XE4T l        T R.                   H  nU" SU[0        R2                  5        M     T R4                  S :X  a  S T l        T R6                  S :X  a  S T l        U" S!T R8                  S"R;                  S#R=                  [        [>        R@                  [B        RD                  5      5      5      5        U" S$T RF                  [H        RJ                  5        U" S%T R4                  [L        RD                  5        U" S&T R6                  [N        RJ                  5        U" S'T RP                  [R        RJ                  5        U" S(T RT                  [V        RJ                  5        T RX                  (       aS  T RX                  R[                  S)5      R[                  S*5      T l,        T&" S+[]        [_        T RX                  5      S,S-95        U%U&4S. jnU" S/T R`                  5      T l0        U" S0T Rb                  5      T l1        U" S1T Rd                  5      T l2        U" S2T Rf                  5      T l3        S3 n	T Rh                  Rk                  5        H1  u  pU(       d  T Rh                  U
	 M   U	" U5      T Rh                  U
'   M3     SU%U&4S6 jjnU" S7T Rp                  S5      T l8        U" S8T Rr                  5      T l9        U" S9T Rt                  5      T l:        U" S:T Rv                  5      T l;        U" S;T Rx                  S5      T l<        U" S<T Rz                  5      T l=        S= nT R|                  Rk                  5        H  u  pU" X S>35        M     T R~                  Rk                  5        H  u  nnU H  nU" UU S?35        M     M     T R                  Rk                  5        H*  u  nnU H  u  nnU" UU S@35        U" UU SA35        M      M,     U" T R                  SB5        T R                  Rk                  5        H#  u  pSCU;   a  US SD  SE3OU SF3nU" X SG35        M%     T R|                  R                  SH5      nUSI:X  a  S T lD        T R|                  SH	 SSJ jnU" SKT R                  5      u  T lE        T lF        n[        U" SLT R                  S5      6 T lH        T R                  (       a  S n[>        R                  " SMT R                  5      nUc  [o        SNT R                   35      eUR                  SOSPSQSR5      u  nnnnUR                  5       nU[        ;  a-  [o        SSU STSUR=                  [        [        5      5       35      eUbG  UR                  5       nU[        ;  a-  [o        SVU SWSUR=                  [        [        5      5       35      eUUUU4T lI        T R                  b3  [        R                  " T R                  R                  5       5      T lQ        SX nT R                  b8  T R                  R                  SY/ 5      R                  SZT R                   35        T R                  Rk                  5        VVs0 s H-  u  nnU[        [        R                  " [        UU5      6 5      _M/     snnT lU        T R                  T l[        T R                  c  SH/T l[        T R                  b*   [        [        R                  " T R                  5      5        S]u  T la        T lb        T R                  R                  5       S^;  a]   [        R                  " T R                  5        [        T R                  5      Sa:X  a  T R                  T la        OT R                  T lb        T R                  R                  5       Sb:g  T lc        [        T R                  T R                  5      T lh        T R                  b  [        T R                  5      T lj        T R                  b  [        T R                  5      T ll        T R                  b&  T R                  R                  ScT R                  5        T R                  b&  T R                  R                  SdT R                  5        T R                  (       a  [        5       =T lr        T ls        S nT R                  Rk                  5        HY  u  nnUSe:X  a  M  [        U5      n U c  [o        Sf[        US SgSHSh9 SiU S`35      eU (       d  MA  USH:X  d  MI  U R                  5       nM[     T R                  R                  5        H  n!U!Sj;  d  M  [o        S`U! Sk35      e   / / sm'n"T R:                  Sl:X  a   T'R                  SmR=                  Sn5      5        T R:                  So:X  a   T'R                  SmR=                  Sp5      5        S]U'4Sq jjn#U#" SrT R                  SHUSs9(       a<  U(       a5  T R                  R                  UT R                  R                  SH5      5        U#" StT R                  SuSH5      (       a(  T R                  R                  Su5      T R                  SH'   SvSw[        [        S4U U'4Sx jjn$U$" SySzS{S|5        U$" SySzS}S~5        U$" S{S|S}S~5        U$" SSSSS S-9  U$" SSSSS S-9  U$" SSSST R                  R                  S5      S9  U$" SSSST R|                  R                  SH5      S9  U$" SSSS5        U$" SS5        U$" SS5        U$" SS5        U$" SS5        U$" SS5        U$" SS5        U$" SST R                  S;  SbS9  U$" SS5        U$" SKS/ S-9  U$" SS5        U$" SS[        5       S-9  U$" SS5        G[        T S5      (       a1  U"R                  SSUR=                  T GR                  5       S35        T ?T GR                  (       a#  G[        GR                  " T GR                  5      O"G[        T GR
                  T GR                  5      T l        T GR                  (       a  T GR                  T R                  S'   T GR                  (       a  ST R|                  SH'   T GR                  (       a  ST l        T GR                  (       d  T R                  (       a  T GR                  c  ST l        T GR                  (       a&  T GR                  (       d  T R:                  c  ST l        T GR                  (       a]  T GR                   cO  T GR"                  (       d=  T GR$                  (       a$  T GR&                  (       d  T GR(                  (       a  ST l        T GR*                  (       a+  T GR,                  (       d  T GR.                  (       d  ST l        T GR                  (       a  T GR"                  c  ST l        T R
                  b*  T R                  c  G[2        GR2                  " S5      T l        T R                  b*  T R                  c  G[2        GR2                  " S5      T l        ST GR4                  ;   a   T'R                  S5        SS jG[6        l        T'U"4$ ! [l         a    [o        S4U
 S5U< 35      ef = fs  snnf ! [         a!  n[o        S[T R                  < S\U 35      eS nAff = f! [         a    [o        S_T R                   S`35      ef = f)Nc                 T    U (       a  g[        U=(       d    SR                  XS95      e)NTzinvalid {name} "{value}" given)rn   value)
ValueErrorr   )cndnrn   r   rC   s       rD   validate"validate_options.<locals>.validate   s'    #A!AIItIabbrF   c                 2   > T" US L =(       d    X;   XU5      $ r<   ra   )rn   r   rv   rC   r   s       rD   validate_in%validate_options.<locals>.validate_in   s    7cJJrF   c                 T   > T" US L =(       d    [         R                  " X!5      X5      $ r<   )rematch)rn   r   regexr   s      rD   validate_regex(validate_options.<locals>.validate_regex   s"    ?%)?MMrF   Fc                    > T" US L =(       d    US:  =(       d    U(       + =(       a    US:H  XSU(       a  S-   5      $ S-   5      $ )Nr   z!{name} "{value}" must be positiver^   z or 0ra   )rn   r   strictr   s      rD   validate_positive+validate_options.<locals>.validate_positive   sQ    QQ6z7Peqj%HRXB%fh 	h^e%fh 	hrF   c           
      h    Ub  U b  X:  a  g U(       d	  SU 3SU 3p2[        U SU SU SU  S35      e)Nzmin zmax  "z+" must be must be greater than or equal to ")r   )min_valmax_valmin_namemax_names       rD   validate_minmax)validate_options.<locals>.validate_minmax   sV    ?go1C#'z!2d8*4EhH:Ry0[\d[eeghogppqrssrF   r   z.netrczJ{name}, netrc command and username/password are mutually exclusive options)rC   zaccount usernamez{name} missingzTV Provider account usernamezTV ProviderzWUnsupported {name} "{value}", use --ap-list-mso to get a list of supported TV Providerszautonumber startzautonumber sizeTzconcurrent fragmentszplaylist startrI   zplaylist endzsubtitles sleep intervalzrequests sleep intervalzsleep intervalzmax sleep intervalzmin sleep intervalz2{name} must be specified; use --min-sleep-intervalrH   ztime range to wait for videozformat sortingnonezmerge output formatz({0})(/({0}))*|zaudio formatzsubtitle formatzthumbnail formatzrecode video formatzremux video formatkKzaudio qualityr   )r   c                    > Uc  g US;   a  [        S5      $  [        U5      nT" U  S3W5        U$ ! [        [        4 a    T" SU  S3U5         N-f = f)Ninfinfiniter   Fz retry count)floatint	TypeErrorr   )rn   r   	int_valuer   r   s      rD   parse_retries'validate_options.<locals>.parse_retries  sn    =))<	:E
I 	TF,/; :& 	:UtfL159	:s   1 AAdownloadfragment	extractorzfile accessc                   ^^^^ Sn/ [        [        R                  " SU SU SU S3U R                  5       5      R	                  5       5      QS PS P7tnmmmnUS:X  a  UUU4S j$ U(       d  T(       a  TOSmUUUU4S	 j$ )
Nz\d+(?:\.\d+)?z(?:(linear|exp)=)?(z)(?::(z	)?)?(?::(z))?expc                    > [        [        T5      [        T=(       d    S5      U -  -  [        T=(       d    S5      5      $ )N   r   minr   )nlimitstartsteps    rD   <lambda><validate_options.<locals>.parse_sleep_func.<locals>.<lambda>%  s-    Sutyq1AQ1F!Gu~X]I^_rF   r   c                    > [        [        T5      [        T=(       d    T5      U -  -   [        T=(       d    S5      5      $ )Nr   r   )r   default_stepr   r   r   s    rD   r   r   (  s1    Sud6Jl0Ka0O!OQVW\We`eQfgrF   )rw   r   	fullmatchrT   groups)expr	NUMBER_REop_r   r   r   r   s       @@@@rD   parse_sleep_func*validate_options.<locals>.parse_sleep_func  s    $	&1uR\\"9+VI;i	{RUVJJL. &(($ &1%)&1+/&1"E5$ ;__$&%5QLggrF   invalid z retry sleep expression c                 \   > Uc  g [        U5      nT" US LX5        U(       a	  T" XS5        U$ )NT)r+   )rn   r   strict_positivenumeric_limitr   r   s       rD   validate_bytes(validate_options.<locals>.validate_bytes4  s7    =#E*d*D8d48rF   z
rate limitzthrottled rate limitzmin filesizezmax filesizezbuffer sizezhttp chunk sizec                 f    [         R                  " U 5      nU(       a  [        SU SU  SU 35      eg )Nr   r   z": )r:   validate_outtmplr   )tmplrC   errs      rD   r   *validate_options.<locals>.validate_outtmplE  s8    ((.xuBtfCu=>> rF   z output templatez print templatez print to file templatez print to file filenamezSponsorBlock chapter titlez-titleiz console titlez	 progressz	 templater   r^   c           
         S nSn/ / SpvnU=(       d    /  GH  nU(       a
  US:X  a  SnM  UR                  S5      (       d(   UR                  [        R                  " U5      5        MS  [        [        R                  US
S  R                  S5      5       GH;  n
U
S:g  =(       a    [        R                  " XJ5      nU=(       a@    U" UR                  S5      =(       d    S5      U" UR                  S5      =(       d    S5      /nU=(       a"    UR                  S5      UR                  S5      4nS n	S U=(       d    S /;   a  Sn	O`U(       d  [        U5      (       a  Sn	OFUS==   US   (       a  SOS
-  ss'   US
==   US
   (       a  SOS
-  ss'   US
   [        S5      :X  a  Sn	U	(       a  [        SU  SU SU	 35      eUR                  U5        GM>     GM     XVU4$ ! [        R                   a  n	[        SU  SU S	U	 35      eS n	A	ff = f)Nc                 :    U S;   a  [        S5      $ [        U 5      $ )Nr   r   )r   r,   )xs    rD   r   :validate_options.<locals>.parse_chapters.<locals>.<lambda>^  s    A9L4LE%L$cR`abRc$crF   z(?x)(?:
            (?P<start_sign>-?)(?P<start>[^-]+)
        )?\s*-\s*(?:
            (?P<end_sign>-?)(?P<end>[^-]+)
        )?Fz	*from-urlTr   r   z regex "z" - r   ,rH   r   0endr   
start_signend_signz Must be of the form "*start-end"z#Negative timestamps are not allowedr   rI   z-infz"-inf" is not a valid endz time range "z". )
startswithappendr   compileerrorr   mapstrrT   splitr   groupanyr   )rn   r   advancedparse_timestampTIMESTAMP_REchaptersrangesfrom_urlr   r   range_mobjdursignss                 rD   parse_chapters(validate_options.<locals>.parse_chapters]  s   c &(U([b[EE[0%%c**POOBJJu$56 ciiqr)=>}Kl)Ky

70C0Js K_]a]g]ghm]n]wrwMxyS$**\":DJJz<R!SCMD6*<C!c%jj?CFE!Hb!3FFE!Hb!3F1vv.9$xv]5'SE%RSSc"# ? !< ))/ xx P$xvXeWD%NOOPs   %GH2HHz--remove-chaptersz--download-sectionsz(?x)
            (?P<name>[^+:]+)
            (?:\s*\+\s*(?P<keyring>[^:]+))?
            (?:\s*:\s*(?!:)(?P<profile>.+?))?
            (?:\s*::\s*(?P<container>.+))?
        z(invalid cookies from browser arguments: rn   keyringprofile	containerz,unsupported browser specified for cookies: "z". Supported browsers are: z, z,unsupported keyring specified for cookies: "z". Supported keyrings are: c              3     ^ #    [        T [        5      (       a'  S[        T 5       3n [        R                  " T 5      /nO,S[        T 5       3nU 4S jT S   R                  S5       5       nU H  n [        R                  " U6   Uv   M     g ! [
         a  n[        U SU 35      eS nAff = f! [
         a  n[        U SU 35      eS nAff = f7f)Nz--parse-metadata z is invalid; z--replace-in-metadata c              3   h   >#    U  H'  n[         R                  R                  U/TS S Q7v   M)     g7f)r   N)r   ActionsREPLACE)rb   r   fs     rD   rc   Cvalidate_options.<locals>.metadataparser_actions.<locals>.<genexpr>  s.     ^o(0088!DaeDos   /2r   r   )
rR   r  r2   r   	to_action	Exceptionr   r	  r   validate_action)r  cmdactionsr   actions   `    rD   metadataparser_actions0validate_options.<locals>.metadataparser_actions  s     a%k!n%56C=.88;< +;q>*:;C^aPQdjjY\o^GF= 00&9 L   = C5cU!;<<=  = C5cU!;<<=sK   $CB 2C2B0	C
B-B((B--C0
C:C

CCpre_processztitle:zInvalid playlist-items z: )NN)r   neverzUnsupported --xff "r   r   r*  z
User-AgentReferernativezNo such z%s )rK   zexternal downloader ")alwaysautozauto-ttyno_colorzno_color-ttyr*  z" is not a valid color policybestz.
         )zO"-f best" selects the best pre-merged format which is often not the best optionzdTo let yt-dlp download and merge the best available formats, simply do not pass any format selectionztIf you know what you are doing and want only the best pre-merged format, use "-f b" instead to suppress this warningmp4)zR"-f mp4" selects the best pre-merged mp4 format which is often not what's intendedzbPre-merged mp4 formats are not available from all sites, or may only be available in lower qualityzYTo prioritize the best h264 video and aac audio in an mp4 container, use "-t mp4" insteadzuIf you know what you are doing and want a pre-merged mp4 format, use "-f b[ext=mp4]" instead to suppress this warningc                 ~   > X!;   a7  X1;  a2  TR                  U R                  5        SU=(       d    SU  S3 35        gg)NzI arguments given without specifying name. The arguments will be given to zall sTF)r  title)rn   r   key1key2wherewarningss        rD   report_args_compat,validate_options.<locals>.report_args_compat  sI    =T.OOtzz|n ->>C>UdVST~=VX YrF   zexternal downloader)r7  zpost-processorzdefault-compatz--allow-unplayable-formatsallow_unplayable_formatsc                    > U[         L a  [        TU5      nU(       d  g U[         L a  [        TU5      nU(       a  TR                  U  SU S35        [        TX5        g )Nz is ignored since z
 was given)r   r   r  r   )	arg1opt1arg2opt2val1val2r   r   r8  s	          rD   report_conflict)validate_options.<locals>.report_conflict  sX    :4&D:4&DOOtf$6tfJGHd$rF   z--playlist-reverseplaylist_reversez--playlist-randomplaylist_randomz--lazy-playlistlazy_playlistz--dateafter	dateafterz--datedatez--datebefore
datebeforez--exec-before-downloadexec_before_dl_cmdz"--exec before_dl:"exec_cmd	before_dl)rB  z--iduseidz--outputr   z--remux-video
remuxvideoz--recode-videorecodevideoz--embed-metadataaddmetadataz--embed-chaptersaddchaptersz--embed-info-jsonr   z--embed-subsembedsubtitlesz--embed-thumbnailembedthumbnailz--extract-audioextractaudioz--fixupfixup)Nr*  rK   )rA  r   remove_chaptersz--sponsorblock-removesponsorblock_removez--xattrsxattrs_deprecated_optionsz,The following options have been deprecated: z
Please remove them from your command/configuration to avoid future errors.
See  https://github.com/yt-dlp/yt-dlp/issues/14198  for more detailsz%(id)s.%(ext)szbestaudio/best	if_existsz*Type account password and press [Return]: z6Type TV provider account password and press [Return]: zallow-unsafe-extzNUsing allow-unsafe-ext opens you up to potential attacks. Use with great care!c                     U $ r<   ra   )r   prepends     rD   r   "validate_options.<locals>.<lambda>m  s    ArF   r<   )F)sumr  boolusenetrc	netrc_cmdusernamepasswordap_passwordap_usernameap_msor   autonumber_startautonumber_sizeconcurrent_fragment_downloadsplayliststartplaylistendsleep_interval_subtitlessleep_interval_requestssleep_intervalmax_sleep_intervalwait_for_videor,   r	  r   r    r   convertsubtitlesconvertthumbnailsmerge_output_formatr   r|   r   escaper   SUPPORTED_EXTSaudioformatr   	FORMAT_REr   r   rP  r   rO  r   audioqualityrT   r(   r&   retriesfragment_retriesextractor_retriesfile_access_retriesretry_sleeprv   AttributeErrorr   	ratelimitthrottledratelimitmin_filesizemax_filesize
buffersizehttp_chunk_sizer   
forceprintprint_to_filesponsorblock_chapter_titleprogress_templater   skip_downloadrW  remove_rangesr$   download_rangescookiesfrombrowserr   r
  lowerr   sortedupperr   impersonater   from_strmetafromtitleparse_metadata
setdefaultr  list	itertoolschainr   playlist_itemsrw   r"   parse_playlist_itemsr"  geo_bypass_countrygeo_bypass_ip_block
geo_bypassr!   random_ipv4lenr*   match_filterbreaking_match_filterdownload_archiver%   ffmpeg_location
user_agentheadersrefererno_sponsorblocksetsponsorblock_markrX  external_downloaderr	   r'   get_basenamecolorvaluesexternal_downloader_argspoppostprocessor_argsr   rL  rV  hasattrrZ  rI  r   dayrH  rJ  rK  rN  
overwritescontinue_dlrQ  rR  rU  	keepvideogetcommentswriteinfojsonr   dumpjson
print_jsondump_single_jsonallsubtitlesrS  writeautomaticsubwritesubtitlesgetpassr   r5   sanitize_extension)(r   r   r   r   min_waitmax_waitr   r  r   r   keyr   r   r   r   r   type_	tmpl_listfileouttmpl_defaultr  r  r  browser_namer  r  r'  vr   default_downloaderprotopathedpolicydeprecation_warningsr9  rC  r   r   r8  s(   `                                    @@@rD   validate_optionsr     s   c
KNht STDMM4>>4==IJKqPRZ]_T]]d"?dmm4&?ASYijT%E)9)9)E+1ACt{{Hik ($*?*?@')=)=tD,d.P.PRVW&(:(:DA2**D,<,<>NP^_ 0$2O2OP/1M1MN&(;(;<*D,C,CD"##t+-AD	F 
	 	 	("&"5"5++T-D-DFVW&!$^5_t7J7J7P7PQTVW7X5_Z^5_!`Q%_x4/?/^C4K^K^D^*_/1D1D	F,JK'2 'L,>,>?  & $'!%($*B*B$++CHHSNDaDa5b,cdf>4#3#35I5S5ST!4#8#8:T:c:cd%t'='=?Z?d?de($*:*:<R<\<\]':N:X:XY --33C8>>sC/;}TEVEV7Wab+cd
 !T\\:DL)*d6K6KLD*;8N8NOD,]D<T<TUD
h %%++-	  %	O$4T$:DS! .  $L$..$GDN,-CTE\E\]D&~t7H7HID&~t7H7HID$]DOOTJDO)*;T=Q=QRD?
 <<%%'$456 ( OO113yDTeWO#<=  4 !..446y#JD$TeW,C#DETeW,C#DE $ 7 T446RS))//1)1Qq"vhn%qcOI/ 2 ll&&y1O"!LL#'*R 3AATVZVjVj2k/D$,a.?TVZVjVjlp0qrD 	|| 
 $$& <GH_H_G`abb48JJvyR[]h4i1gw	#))+11KL> Z88<		&I[B\8]7^` a ammoG00 #OPWy Y<<@IIfM_F`<a;b"d e e#/'9"M#,55d6F6F6L6L6NO$ %&&}b9@@6$J\J\I]A^_ ''--//DAq 	
4	%;Q!?@AA/D ''D%;&	W/66t7J7JKL 9C5DT5&::	G  1 t1$&*ooD#'+D$oo++-8DO)$*;*;T=W=WXD( +D,A,A B'*4+?+?@"doo>||	4<<8<?EA!9//557t8$T*:<tU9MNNcdhciijkm mREY&!#!2 8 **##%\\q(EFGG & &("H" {{f++ -D E 	F {{e++ -E F 	G /1N1N#+=?CU%%001CTEbEbEfEfgpEqr*D,C,CEUW`aa-1-D-D-H-HIY-Z	*)ELf'j%% % (*<>QSde(*<>OQ`a'):<M_M;&$ONL(FDQ,.B):DMM<M<Mk<Z\FGZAQAQR[A\]O\3C]S &6&6')9:N$45')9:%~6IwTZZ?X-Xbij$m4'):BGO\2+-BCERJ)t*++##:499TE]E];^:_ `S S	T $ -1III	dii(9T^^UYUdUd;eDI%)%<%<k"zzz"2Y D228H8H8PDKK4G&D..6t?R?R?R}}}43H3H3H!%D$"5"5"59O9O9O"D//7) }} T]]%:(TU#(8(8(@"??+cd T---#	$ 4N0)))	  	Oxu,DTHMNN	OP  	W6t7J7J6MRPSuUVV	W  	G24??2C1EFF	GsD   %AC4AC!3)AC' 
 AD CACC'
ADC1ADDADD$AD9c              #   .  #    U R                    S h  vN   U R                  R                  5        H  u  pSUUS.v   M     U R                  U R                  -  nU(       a  SUU R
                  SS.v   U R                  (       a  SU R                  SS.v   U R                  (       a  S	U R                  SS.v   U R                  (       a'  S
U R                  U R                  U R                  S.v   U R                  (       a  SU R                  S.v   U R                  (       a  SU R                  S.v   U R                  (       aH  SU R                  ;  nSU R                   =(       a    US.v   U R"                  (       d  U(       a  SU l        U R$                  (       d  U(       a=  SU R$                  U R                  U R&                  U R(                  U R*                  S.v   U R,                  (       d"  U R.                  (       d  U R0                  (       a'  SU R.                  U R,                  U R0                  S.v   U R2                  (       a8  SU R4                  S.v   U R4                  (       d  SU l        SU R6                  S'   U R8                  (       a  SU R*                  S.v   U R:                  (       a  SS0v   U R<                  S:w  a  S U R<                  S!:g  S"S#.v   U R>                  R                  5        H  u  pS$UUS%.v   M     g  GN 7f)&NMetadataParser)r  r%  whenSponsorBlockafter_filter)r  
categoriesapir  FFmpegSubtitlesConvertorrM  )r  r   r  FFmpegThumbnailsConvertorFFmpegExtractAudio)r  preferredcodecpreferredqualitynopostoverwritesFFmpegVideoRemuxer)r  preferedformatFFmpegVideoConvertorzno-keep-subsFFmpegEmbedSubtitle)r  already_have_subtitleTModifyChapters)r  remove_chapters_patternsremove_sponsor_segmentsr  r  force_keyframesFFmpegMetadata)r  add_chaptersadd_metadataadd_infojsonEmbedThumbnail)r  already_have_thumbnailr^   pl_thumbnailFFmpegSplitChapters)r  r  r  XAttrMetadatar*  FFmpegConcatr-  playlistr  only_multi_videor  Exec)r  rL  r  ) add_postprocessorsr  rv   r  rX  sponsorblock_apirr  rs  rU  rw  ry  r  rO  rP  rS  r   r  r  rW  r  r  force_keyframes_at_cutsrQ  rR  r   rT  writethumbnailr   split_chaptersrY  concat_playlistrL  )r   r  r%  sponsorblock_query	keep_subsrL  s         rD   get_postprocessorsr  r  s    &&&&,,224#
 	
 5 //$2J2JJ!,(("	
 	
 -++
 	

 .,,
 	

 '".. $ 1 1 $ 5 5	
 	
 '"oo
 	
 )"..
 	

 "$*:*::	(%)%8%8%FY
 	

 %%)"&D 1#(,(<(<'+'?'?!//*.*I*I#;;
 	
 4++t/B/B# ,, ,, //	
 	
 #&*&9&9
 	

 """&D+-DLL((#;;
 	

 {{o&&w&! $ 4 4 @
 	
 ----/ 
 	
 0O 's   LLL LParsedOptions)parseroptionsrV   ydl_optsc                   ^ [        U 5      u  nmn[        UTR                  TR                  (       a  TR                  (       d  SOTR                  5      n[        T5         [        T5      u  p4[        [        T5      5      n[        TR                  5      =(       a    [        U4S j[        SS  5       5      n[        U4S jS 5       5      nTR                  c6  U=(       d(    TR                   =(       d    [        TR                  5      Tl        U V	s/ s H  oR#                  S5      S	:X  d  M  U	PM     n
n	TR$                  =(       aI    TR&                  (       + =(       a1    TR(                  =(       a    TR*                  R#                  S
5      S:g  n[        TR,                  TR.                  TR                  R#                  S	5      TR0                  R#                  S	5      U45      (       d!  U
(       d  STl        OU
SSS	S./:X  a  STl        TR2                  [4        R6                  ;   a  TR2                  OfTR8                  [:        R6                  ;   a  TR8                  O<TR<                  (       a*  TR>                  [@        R6                  ;   a  TR>                  OSnS TRB                   5        VVs0 s H  u  pURE                  5       SU0_M     nnn[G        UTU0 STRH                  _STRJ                  _STRL                  _STRN                  _STRP                  _STRR                  _STRT                  _STRV                  _STRX                  _STRZ                  _STR\                  _STR^                  _STR`                  _S TR                  _S!TRb                  _S"TRd                  _S#TRf                  _0 S$TRh                  _S%TRj                  _S&TRl                  _S'TRn                  _S(TRp                  _S)TRr                  _S*TR                  _S+TR0                  _S,TRt                  =(       d    TR                   _S-TR.                  _S.TRv                  _S/TRx                  c  U=(       d    U=(       d    SOTRx                  _S0TRz                  _S1TR|                  _S2TR~                  _S3TR                  _S4TR                  _E0 S5TR                  _S6TR                  _S7TR                  _S8TR                  _S9TR                  _S:TR                  _S;TR*                  _S<TR                  _S=TR                  _S>TR                  _S?TR                  _S@TR                  _SATR                  _SBTR                  _SCTR                  _SDTR                  =(       d    SE/_SFTR                  _E0 SGTR                  _SHTR                  _SITR                  _SJTR                  _SKTR                  _SLTR                  _SMTR                  _SNTR                  _SOTR                  _SPTR                  _SQTR                  _SRTR                  _SSTR                  _STTR                  _SUTR                  c  TR                  OTR                  _SVTR                  _SWTR                  _E0 SXTR                  _SYTR                  _SZTR                  _S[TR                  _S\TR                  _S]TR                  _S^TR                  _S_TR*                  R#                  SE5      S`:H  _SaTR                  _SbTR                  _ScTR                  _SdTR                  _SeTR$                  _SfTR(                  _SgTR&                  _ShTR                  _SiTR                  SL _E0 SjTR                  Sk:H  _SlTR                  _SmTR                  _SnTR                  _SoTR                  _SpTR                  _SqTR                  _SrTR                  _SsTR                  _StTR                  _SuTR                  _SvTR                  _SwTR                  _SxTR                  _SyTR                  _SzTR                  _S{TR                  _E0 S|TR                  _S}TGR                   _S~TGR                  _STGR                  _STGR                  _STGR                  _STGR
                  _STGR                  _STGR                  _STGR                  _STGR                  _STGR                  _STGR                  _STGR                  _STGR                  _STGR                  _STGR                  _E0 STGR                   _STGR"                  _STGR$                  _STGR&                  _STGR(                  _STGR*                  _STGR,                  _STGR.                  _STGR0                  _STGR2                  _STGR4                  _STGR6                  _STGR8                  _STGR:                  _STGR<                  _STR,                  _STGR>                  _E0 STGR@                  _STGRB                  _STGRD                  _SU_SU_STGRF                  _STGRH                  _STGRJ                  _STGRL                  _STGRN                  _STGRP                  _STGRR                  _STGRT                  _STGRV                  _STGRX                  _STGRZ                  _STGR\                  _E0 STGR^                  _STGR`                  _STGRb                  _STGRd                  _STGRf                  _STGRh                  _STGRj                  _STGRl                  _STGRn                  _STGRp                  _STGRr                  _STGRt                  _STGRv                  =(       d    S_SU_STGRx                  _STGRz                  SL _SW_EWTGR|                  S.E5      $ ! [         a  nUR                  U S35         SnAGNSnAff = fs  sn	f s  snnf )z4@returns ParsedOptions(parser, opts, urls, ydl_opts)rI   rN   Nc              3   @   >#    U  H  oTR                   ;  v   M     g 7fr<   )r  rb   r   r   s     rD   rc    parse_options.<locals>.<genexpr>  s     .fQeA/GQes   r   c              3   <   >#    U  H  n[        TU5      v   M     g 7fr<   )r   r  s     rD   rc   r    s#       11gdA&& 1s   )
r  r  getdescriptiongetdurationgetfilename	getformatgetidgetthumbnailgettitlegeturlr  r  pl_infojsonr^   r   r  Tr  discard_in_playlistc              3   T   #    U  H  n/ UR                  S S5      QSPSS v   M      g7f):r   Nr   )r	  )rb   args     rD   rc   r    s2      >H6Fs&ciiQ&&r*6Fs   &(r  ra  netrc_locationrb  rc  rd  	twofactorvideopasswordrg  rf  re  client_certificateclient_certificate_keyclient_certificate_passwordquietno_warningsforceurl
forcetitleforceidforcethumbnailforcedescriptionforcedurationforcefilenameforceformatr  r  	forcejsonr  force_write_download_archivesimulater  r   r;  ignore_no_formats_errorr   format_sort_forcer   r   check_formatslistformatslistformats_tabler   outtmpl_na_placeholderpathsri  rh  restrictfilenameswindowsfilenamesr   force_generic_extractorallowed_extractorsr   r  r  r  rz  r}  r{  r|  retry_sleep_functionsskip_unavailable_fragmentskeep_fragmentsrj  r  noresizebufferr  
continuedl
noprogressprogress_with_newliner  progress_deltark  rl  playlistreverseplaylistrandomrG  
noplaylistlogtostderrrH   consoletitlenopartr   writedescriptionr  r   r   r  r  write_all_thumbnailsall	writelinkwriteurllinkwritewebloclinkwritedesktoplinkr  r  r  listsubtitlessubtitlesformatsubtitleslangs
matchtitlerejecttitlemax_downloadsprefer_free_formatstrim_file_namerX   dump_intermediate_pageswrite_pages
load_pagestestr  r  r  	min_views	max_views	daterangecachedirrt   r  break_on_existingbreak_on_rejectbreak_per_urlskip_playlist_after_errors
cookiefiler  legacyserverconnectnocheckcertificateprefer_insecureenable_file_urlshttp_headersproxysocket_timeoutbidi_workarounddebug_printtrafficdefault_searchdynamic_mpdextractor_argsrL   extract_flatlive_from_startrq  mark_watchedrt  	final_extpostprocessorsrV  source_addressr  rn  ro  rp  rm  r  r  r  list_thumbnailsr  r  r  r  hls_prefer_nativehls_use_mpegtshls_split_discontinuityr  r  geo_verification_proxyr  r  r  rN  js_runtimesremote_componentswarn_when_outdated	_warnings)_deprecation_warningsr   )r   r\   rW   r  rX   r   r  r   r  r  r  r`  r  rA  r   r  r  r   r  r   r   r   rg  r  r  rP  r   rv  rO  r   rU  rw  r   rr  r  r  ra  r  rb  rc  rd  r  r  rg  rf  re  r  r  r  r  r  r  r
  r  r  r  r  r	  r  r$  r%  r  r   r;  r&  r   r'  r   r   r(  r)  r*  r+  r,  ri  rh  r-  r.  r   r/  r0  r  r  r  rz  r}  r{  r|  r~  r2  r3  rj  r  r4  r  r  r6  r7  r  r8  rk  rl  rE  rF  rG  r;  r=  r>  r   r?  r  r  rB  rC  rD  rE  r  r  r  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  r  r  r  rR  rS  rI  rU  rt   r  rV  rW  rX  rY  rZ  r  legacy_server_connectno_check_certificater]  r^  r  r`  ra  rb  rc  rd  re  rf  rL   rh  rq  ri  rt  rV  rl  r  rn  ro  rp  rm  r  r  r  rm  r  r  r  r  rn  ro  rp  r  r  rq  r  r  r  rN  rs  update_selfr   )argvr  rV   r8  r  r   rk  
print_onlyany_gettingppplaylist_ppswrite_playlist_infojsonrj  runtimer  rr  r   s                   @rD   parse_optionsr    sa   "4FD$D$..

4<<"UYUaUabDD!)9$)?& ,T23Ndoo&f3.fQabcbdQe.f+fJ  1  K zz LDOOLtDOO7L
!/P266&>Z3OBLP#11  g$:M:M6M  g#'#<#< gAEAQAQR_A`dfAf J'z*    )Dn$Xbcdd 5D !,,0F0U0UU $3G3V3V VT__"&"3"38H8HL`LoLo8oT	 >H6:6F6F>HI>HMG&$' >H  I t m.DMMm.$--m. 	T^^m. 	DMM	m.
 	DMMm. 	T^^m. 	++m. 	$++m. 	t''m. 	t''m. 	d55m. 	!$"="=m. 	&t'G'Gm. 	m. 	t''m.  	DKK!m." 	dmm#m.$ 	4::%m.& 	$++'m.( 	D//)m.* 	))+m., 	))-m.. 	t~~/m.0 	doo1m.2 	++3m.4 	T]]5doo5m.6 	D117m.8 	'(I(I9m.: 	4==;PZ6;6$VZVcVc;m.< 	++=m.> 	$++?m.@ 	#D$A$AAm.B 	"4#?#?Cm.D 	t''Em.F 	T33Gm.H 	'(I(IIm.J 	'(I(IKm.L 	++Mm.N 	t''Om.P 	T33Qm.R 	4<<Sm.T 	!$"="=Um.V 	Wm.X 	4//Ym.Z 	D11[m.\ 	T33]m.^ 	D11_m.` 	))am.b 	"4#?#?cm.d 	d55D)em.f 	T^^gm.h 	d55im.j 	dookm.l 	4<<mm.n 	t77om.p 	D11qm.r 	T33sm.t 	 !1!1um.v 	%d&E&Ewm.x 	$--ym.z 	()K)K{m.| 	doo}m.~ 	$--m.@ 	4//Am.B 	d&&Cm.D 	DOO$;djjEm.F 	 !;!;Gm.H 	T33Im.J 	$--Km.L 	++Mm.N 	t''Om.P 	400Qm.R 	$..Sm.T 	++Um.V 	dooWm.X 	t||''	2c9Ym.Z 	))[m.\ 	$++]m.^ 	doo_m.` 	D11am.b 	++cm.d 	 9 9em.f 	$--gm.h 	t''im.j 	$--5km.l 	 3 3u <mm.n 	T^^om.p 	))qm.r 	4//sm.t 	D11um.v 	$--wm.x 	T33ym.z 	)){m.| 	++}m.~ 	4//m.@ 	$--Am.B 	dooCm.D 	t''Em.F 	++Gm.H 	t77Im.J 	$--Km.L 	4<<Mm.N 	"4#?#?Om.P 	t''Qm.R 	dooSm.T 			Um.V 	T^^Wm.X 	))Ym.Z 	))[m.\ 	T^^]m.^ 	T^^_m.` 	TYYam.b 	DMMcm.d 	T^^em.f 	D11gm.h 	T33im.j 	4//km.l 	++mm.n 	%d&E&Eom.p 	dooqm.r 	d55sm.t 	t99um.v 	d77wm.x 	4//ym.z 	D11{m.| 	}m.~ 	m.@ 	$--Am.B 	4//Cm.D 	d55Em.F 	$--Gm.H 	t''Im.J 	$--Km.L 	DMMMm.N 	))Om.P 	4//Qm.R 	$--Sm.T 	))Um.V 	t77Wm.X 	YYm.Z 	.[m.\ 	]m.^ 	$--_m.` 	t''am.b 	"4#?#?cm.d 	$--em.f 	d55gm.h 	#D$A$Aim.j 	t77km.l 	4//mm.n 	"4#?#?om.p 	4//qm.r 	$--sm.t 	))um.v 	wm.x 	4//ym.z 	T33{m.| 	$--}m.~ 	"4#?#?m.@ 	#D$A$AAm.B 	d55Cm.D 	!$"="=Em.F 	dooGm.H 	d55Im.J 	t77Km.L 	#tMm.N 	{Om.P 	T33Qm.R 	d..$6Sm.T 	XUm.V "6''Ym. m mM  !uBZ  ! Q*Is*   "p= q)3q):q.=
q&q!!q&c                 
  ^^ [        S5        [        U 5      u  pp4[        X#5      (       a  g UR                  (       a)  [        R
                  R                  UR                  5        UR                  [        l        [        R                  (       a
  [        5         [        U5       nUR                  =(       d    UR                  nU=(       d    UR                  nUR                  (       a  UR                  R                  5          [!        XRR                  5      nUR                  (       aF  UR#                  5       (       a1  U(       a*  UR$                  (       a  UR'                  5       sS S S 5        $ UR0                  (       Ga  [3        S5      S4[3        S5      S4[3        S5      S4[3        S5      S4[3        S	5      S
4/n	UR5                  5       n
S nU
 VVs/ s H  u  pU" X5      PM     nnnU	 Hs  u  mm[7        UU4S jU
 5       5      (       a  M#  UR9                  SU" TT S35       Vs/ s H(  nUR;                  XR<                  R>                  5      PM*     sn5        Mu     URA                  S5        URC                  [E        / SQUSSS95         S S S 5        g U(       Gdl  U(       a  UR.                  sS S S 5        $ U c  [F        RH                  SS  OU nURK                  U5        U(       Gd  [L        RN                  S:X  a  [Q        [F        SS5      (       a  SS K)nSS K*nURW                  S5      nSURX                  RZ                  -  " 5       nUR]                  US5      n[_        [F        S5      =(       a<    [L        R`                  Rc                  [F        Rd                  5      Rg                  S5      nUS:X  d  U(       a;  US:X  a5  [i        URk                  S5      5        URm                  5         [o        S5        URq                  S5        URs                  5          UR                  bE  U(       a  URu                  S5        URw                  [y        UR                  5      5      sS S S 5        $ UR{                  U5      sS S S 5        $ ! [(         a     [*        R,                  " 5         SUl         GNJf = fs  snnf s  snf ! [|         a    URA                  S5         S S S 5        gf = f! , (       d  f       g = f) Nzyt-dlpd   chrome	curl_cffisafarifirefoxzcurl_cffi>=0.10edgetorzcurl_cffi>=0.11c                     [        U R                  R                  5       U R                  SS9=(       d    S[        U R                  =(       d    SR                  5       U R
                  SS9=(       d    SU/$ )NrH   )delimr^   )r)   clientr4  versionos
os_version)targethandlers     rD   make_row_real_main.<locals>.make_row  s\    !&--"5"5"7sSZWZ!699?"9"9";V=N=NVYZa^a rF   c              3   b   >#    U  H$  u  pTU;   =(       a    TR                  U5      v   M&     g 7fr<   )r  )rb   r  r  known_handlerknown_targets      rD   rc   _real_main.<locals>.<genexpr>  s2      +< !F*P}/G/G/PP+<s   ,/r   z (unavailable)z$[info] Available impersonate targets)ClientOSSourcer   rH   )	extra_gapr  r   ntfrozenFKernel32_MEIPASS_MEIzDo not double-click the executable, instead call it from a command line.
Please read the README for further information on how to use yt-dlp: https://github.com/yt-dlp/yt-dlp#readmezSYou must provide at least one URL.
Type yt-dlp --help to see a list of all options.z(URLs are ignored due to --load-info-jsonzAborting remaining downloadse   )?r1   r  r   r  r   _ffmpeg_locationr  r   r   _load_all_pluginsr:   ry  rm_cachedirload_info_filenamecacheremover   r{   r$  restartr"  	traceback	print_exc_download_retcodelist_impersonate_targetsr   "_get_available_impersonate_targetsr  insert_format_outStylesSUPPRESS	to_screen	to_stdoutr0   r=   rz  warn_if_short_idr  rn   r   ctypes.wintypesmsvcrtWinDLLwintypesDWORDGetConsoleProcessListr  r  basenamer  r  print_generate_error_messagegetchrE   r  destroyreport_warningdownload_with_info_filer%   r   r   )rz  r  r   all_urlsr   ydlr)  
actual_useupdaterknown_targetsavailable_targetsr  r  r  rowstextrB   ctypesr  kernel32bufferattached_processes
is_onefiler  r  s                          @@rD   
_real_mainr    s%   '4T':$F("422 ,,001E1EF ((K	8	&&:$*:*:8!8!8
II	(c#3#34GGNN$4$4( 
	 (((
 #8,k:"8,k:"9-/@A"6*K8"5)+<=M !$ F F H FWWEV/&HV-EVDW/<+m +<   KK$,\m_N;[$\$$\D jj.A.AB$\$  0= MM@AMM,'A4ST\_`ae 
	h ,,m 
	p $(<388AB<TD  & BGGtOXu0M0M&!==4foo3336%-%C%CFA%N" %S*5k"'':J:J3<<:X:c:cdj:k
%*z>PTU>U&88BC D LLN!HLLCD 			&&2&&'QR22;t?V?V3WXo 
	r ||H-s 
	  	(!$'C!	(2 X$^ ! 	MM89y 
	t	u 
	s   &A S5A"R3A(S5S/$S5S51/S :S5#S5E S5(AS:S&R>:S5=R>>S5S2'S51S22S55
Tc                 `   S[         l         [        [        [	        U 5      5      6   g ! [
        [        4 a    [        S5         g [         a  n[        SU 35         S nAg S nAf[         a    [        S5         g [         a~  n[        R                  " [        R                  [        R                  5      n[        R                  " U[        R                   R#                  5       5        [        SU 35         S nAg S nAf[$        R&                   a  n[        SSU 35         S nAg S nAff = f)NTr   zERROR: z
ERROR: Interrupted by userz
ERROR: r   rN   )r   r   rE   r3   r  r   r   r#   KeyboardInterruptBrokenPipeErrorr  rO   devnullO_WRONLYdup2r=   r   filenooptparseOptParseError)rz  er  s      rD   mainr  4  s    FLx
4()*]+ a sm .,- ''"**bkk2
**,-	!o!! a2aSs:   ( D-	D-A!!D-;	D-A4C==D-D((D-)gen_extractorsrp   )supported_js_runtimessupported_remote_componentsdenonodebunquickjsz
ejs:githubzejs:npm)r:   r  rp   r  r  )r   r<   )dr=   version_infoImportError__license__collectionsr  r  r  r  r   r  cookiesr   r   r   downloader.externalr	   r   r
   extractor.adobepassr   networking.impersonater   globalsr   r   r  r   pluginsr   r  postprocessorr   r   r   r   r   r   r   r   r   r{   r   utilsr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   utils._utilsr5   utils._jsruntimer6   _BunJsRuntimer7   _DenoJsRuntimer8   _NodeJsRuntimer9   _QuickJsRuntimer:   rE   r\   r   r   r  r  
namedtupler  r  r  r  r  rp   r  r  r   r  __all__ra   rF   rD   <module>r     ss   
g

ux x      	 	  L L 8 - ) 5 (  :
 
 
       : 0  !&(<1+hw*tm
` &&8ab[|nb& 7 H&4   F #&4   F #%2   E ")8   I &  ! ! ( ( 6  ! ! ( ( 3rF   