
    i)                     B    S SK Jr  SSKJrJr  SSKJr   " S S\5      rg)   )InfoExtractor   )int_or_noneurl_or_none)traverse_objc                       \ rS rSrSrSSSSSSS	S
SSS\\\SS/ SQS.S.SSSSSSSSSSSS\\\SS.S.SSS SS!SS"S#S$\\\S%S&S'S(S).S*/S+.S,S-S../rS/ rS0rg1)2	MedalTVIE	   zBhttps?://(?:www\.)?medal\.tv/games/[^/?#&]+/clips/(?P<id>[^/?#&]+)z3https://medal.tv/games/valorant/clips/jTBFnLKdLy15K 03e4911fdcf7fce563090705c2e79267jTBFnLKdLy15Kmp4zMornu's clutch Acieliqb2022050419335460zhttps://medal.tv/users/19335460   z8re:https://cdn\.medal\.tv/ugcp/content-thumbnail/.*\.jpg)headshotvalorant4kclutchmornu)idexttitledescriptionuploader	timestampupload_dateuploader_iduploader_urlcomment_count
view_count
like_countduration	thumbnailtags)urlmd5	info_dictz7https://medal.tv/games/cod-cold-war/clips/2um24TWdty0NA b6dc76b78195fff0b4f8bf4a33ec21482um24TWdty0NAzu tk me i tk u biggerzahli8_202011175156321z(re:https://cdn\.medal\.tv/source/.*\.pngzhttps://medal.tv/users/5156321)r   r   r   r   r   r   r   r   r%   r    r!   r"   r#   r$   z3https://medal.tv/games/valorant/clips/2WRj40tpY_EU9 6c6bb6569777fd8b4ef7b33c09de8dcf2WRj40tpY_EU9z
1v5 clutchadny6256941zhttps://medal.tv/users/6256941   z(re:https://cdn\.medal\.tv/source/.*\.jpgi"`20210209)r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r   r   z+Video formats are not available through API)r'   r(   r)   expected_warningsz3https://medal.tv/games/valorant/clips/37rMeFpryCC-9T)r'   only_matchingc                 $   U R                  U5      nU R                  SU 3USS0S9n/ n[        UR                  S5      5      =n(       a   UR	                  U R                  XRSSS95        [        UR                  S	5      5      =n(       a  UR                  US
SSS.5        U Vs/ s H  nSUS   ;  d  M  UPM     nnU(       dF  U R                  S5        U R                  SU S3USS9nUR                  UR                  SSSS.5        UUS.[        US[        14S[        14S[        SS914S[        14S[        14S[        14S[        14SS [        14SS![        14SS![        1[        S" 14S#S$[        14S%[        14S&.5      E$ s  snf )'Nzhttps://medal.tv/api/content/Acceptzapplication/json)headerscontentUrlHlsr   hls)m3u8_id
contentUrlzhttp-sourcer   )r'   	format_idr   qualityzvideo/privacy-protected-guestr'   zMVideo formats are not available through API, falling back to social video URLz/socialVideoUrlzChecking social video URL)notezsocial-video)r   formatscontentTitlecontentDescriptioncreatedi  )scalevideoLengthSecondsviewslikescommentsposterdisplayNameuserIdc                     U =(       a    SU  3$ )Nzhttps://medal.tv/users/ )xs    E/app/mltbenv/lib/python3.13/site-packages/yt_dlp/extractor/medaltv.py<lambda>)MedalTVIE._real_extract.<locals>.<lambda>x   s    qOrWnopnqUrOr    r&   .thumbnailUrl)r   r   r   r$   r"   r#   r!   r   r   r    r&   r%   )	_match_id_download_jsonr   getextend_extract_m3u8_formatsappendreport_warning_request_webpager'   r   strr   filter)	selfr'   video_idcontent_datarB   m3u8_urlhttp_urlfmturlhs	            rQ   _real_extractMedalTVIE._real_extractL   s   >>#&**+H:612 + 4 "<#3#3O#DEE8ENN455h%Y^5_`"<#3#3L#ABB8BNN*	  #*_'3-LTWX]T^-^3'_ op((/zI80 ) 2D NNxx+	  
 <(3%0 4se<'+D*A)BC1K=A&6&6",{m!<%}se< ((SE:!)8cUFErDs tse,,{m<* 
 	
 `s   &F7FrO   N)	__name__
__module____qualname____firstlineno__
_VALID_URLint_TESTSrg   __static_attributes__rO   rT   rQ   r	   r	   	   s    VJD1!%#%%= TE
* I1!,#%$D< 
* E1!!$< D#%
  LL), Ey?FB0
rT   r	   N)commonr   utilsr   r   utils.traversalr   r	   rO   rT   rQ   <module>rt      s     ! +s
 s
rT   