Ë
    š„j­&  ã                   ó`   — d dl mZ ddlmZmZmZmZmZmZm	Z	  G d„ de«      Z
 G d„ de«      Zy)	é   )ÚInfoExtractoré   )ÚExtractorErrorÚfloat_or_noneÚint_or_noneÚjoin_nonemptyÚparse_iso8601Ú	qualitiesÚtry_getc                   óL   — e Zd ZdZdZdgZdddddd	œZd
dddddœZd„ Zd„ Z	d„ Z
y)ÚSRGSSRIEaÎ  (?x)
                    (?:
                        https?://tp\.srgssr\.ch/p(?:/[^/]+)+\?urn=urn|
                        srgssr
                    ):
                    (?P<bu>
                        srf|rts|rsi|rtr|swi
                    ):(?:[^:]+:)?
                    (?P<type>
                        video|audio
                    ):
                    (?P<id>
                        [0-9a-f\-]{36}|\d+
                    )
                    FÚCHz_To protect children under the age of 12, this video is only available between 8 p.m. and 6 a.m.z`To protect children under the age of 18, this video is only available between 11 p.m. and 5 a.m.z?For legal reasons, this video is only available in Switzerland.z2The video cannot be transmitted for legal reasons.z8This video is not yet available. Please try again later.)ÚAGERATING12ÚAGERATING18ÚGEOBLOCKÚLEGALÚ	STARTDATEÚdeÚfrÚitÚrmÚen)ÚsrfÚrtsÚrsiÚrtrÚswic                 óz   — | j                  d|d|› d�d¬«      xs i }t        |d„ «      }|r|d|vrdnd|z   z  }|S )	Nz%http://tp.srgssr.ch/akahd/token?acl=*zDownloading z tokenF)Úfatalc                 ó   — | d   d   S )NÚtokenÚ
authparams© )Úxs    úN/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/srgssr.pyú<lambda>z-SRGSSRIE._get_tokenized_src.<locals>.<lambda>4   s   € ¨q°©z¸,Ñ/G€ ó    ú?ú&)Ú_download_jsonr   )ÚselfÚurlÚvideo_idÚ	format_idr!   Úauth_paramss         r%   Ú_get_tokenized_srczSRGSSRIE._get_tokenized_src0   se   € Ø×#Ñ#Ø3Ø˜ Y K¨vÐ6¸eð $ó Eò KàHJð 	ô ˜eÑ%GÓHˆÙØ˜3 c™>‘C¨s°kÑAÑAˆCØˆ
r'   c           	      ó–  ‡— |dk(  rddini }| j                  d|› d|› d‰› d�‰|¬«      d	   }	 t        ˆfd
„|D «       «      }|j	                  d«      }|r[|| j
                  v rM| j
                  |   }|dk(  r| j                  || j                  ¬«       t        | j                  › d|› �d¬«      ‚|S # t        $ r t        d«      ‚w xY w)NÚvideoÚonlyChaptersTz*https://il.srgssr.ch/integrationlayer/2.0/z/mediaComposition/ú/z.json)ÚqueryÚchapterListc              3   óL   •K  — | ]  }|j                  d «      ‰k(  sŒ|–— Œ y­w)ÚidN)Úget)Ú.0r$   Úmedia_ids     €r%   ú	<genexpr>z+SRGSSRIE._get_media_data.<locals>.<genexpr>?   s'   øè ø€ ò GØ¨a¯e©e°D«k¸XÓ.E”ñGùs   ƒ$�$zNo media information foundÚblockReasonr   )ÚmsgÚ	countriesz said: )Úexpected)	r*   ÚnextÚStopIterationr   r9   Ú_ERRORSÚraise_geo_restrictedÚ_GEO_COUNTRIESÚIE_NAME)	r+   ÚbuÚ
media_typer;   r5   Úfull_media_dataÚ
media_dataÚblock_reasonÚmessages	      `     r%   Ú_get_media_datazSRGSSRIE._get_media_data9   s  ø€ Ø*4¸Ò*?� Ñ&ÀRˆØ×-Ñ-Ø8¸¸Ð<NÈzÈlÐZ[Ð\dÐ[eÐejÐkØ˜Eð .ó #à#0ñ2ˆð	?Üó GØ*ôGó GˆJð
 "—~‘~ mÓ4ˆÙ˜L¨D¯L©LÑ8Ø—l‘l <Ñ0ˆGØ˜zÒ)Ø×)Ñ)Ø¨4×+>Ñ+>ð *ô @ä Ø—<‘<�. ¨ yÐ1¸DôBð Bð Ðøô ò 	?Ü Ð!=Ó>Ð>ð	?ús   ¯B3 Â3Cc           
      ój  — | j                  |«      j                  «       \  }}}| j                  |||«      }|d   }g }i }t        ddg«      }	|j	                  d«      xs g D �]  }
|
j	                  d«      }|sŒ|
j	                  d«      }|
j	                  d«      }t        ||
j	                  d«      |«      }|d	v r¤|
j	                  d
«      dk(  rL| j                  |||«      }| j                  ||«      \  }}|j                  |«       | j                  ||«      }Œº|dk(  sŒÀ| j                  ||dd|d¬«      \  }}|j                  |«       | j                  ||«      }Œþ|dv s�Œ|j                  || |	|«      dœ«       �Œ! t        |j	                  d«      «      dk(  rBdD ]=  }|j	                  d|› d�«      }|sŒ|dz   }|j                  d|z   | |	|«      dœ«       Œ? |dk(  rs|j	                  d«      xs g D ][  }|j	                  d«      }|sŒ|j	                  d«      xs | j                  |   }|j                  |g «      j                  d|i«       Œ] |||j	                  d«      t        |j	                  d«      «      |j	                  d«      t!        |j	                  d «      d!«      ||d"œS )#NÚtitleÚSDÚHDÚresourceListr,   ÚprotocolÚqualityÚencoding)ÚHDSÚHLSÚ	tokenTypeÚAKAMAIrW   Úmp4Úm3u8_nativeF)Úm3u8_idr   )ÚHTTPÚHTTPS)r.   r,   rT   Úpositioné    )ÚSÚHÚpodcastÚdUrlÚDzPODCAST-r2   ÚsubtitleListÚlocaleÚdescriptionÚdateÚimageUrlÚdurationiè  )r8   rO   rh   Ú	timestampÚ	thumbnailrk   Ú	subtitlesÚformats)Ú_match_valid_urlÚgroupsrM   r
   r9   r   r0   Ú%_extract_akamai_formats_and_subtitlesÚextendÚ_merge_subtitlesÚ#_extract_m3u8_formats_and_subtitlesÚappendr   Ú_DEFAULT_LANGUAGE_CODESÚ
setdefaultr	   r   )r+   r,   rG   rH   r;   rJ   rO   ro   rn   ÚqÚsourceÚ
format_urlrS   rT   r.   ÚfmtsÚsubsÚ	m3u8_fmtsÚ	m3u8_subsÚpÚpodcast_urlÚsubÚsub_urlÚlangs                           r%   Ú_real_extractzSRGSSRIE._real_extractO   sÝ  € Ø#'×#8Ñ#8¸Ó#=×#DÑ#DÓ#FÑ ˆˆJ˜Ø×)Ñ)¨"¨j¸(ÓCˆ
Ø˜7Ñ#ˆàˆØˆ	Ü�t˜T�lÓ#ˆØ!—~‘~ nÓ5Ò;¸ó 	ˆFØŸ™ EÓ*ˆJÙØØ—z‘z *Ó-ˆHØ—j‘j Ó+ˆGÜ% h°·
±
¸:Ó0FÈÓPˆIà˜>Ñ)Ø—:‘:˜kÓ*¨hÒ6Ø!%×!8Ñ!8Ø" H¨ió"9�Jà!%×!KÑ!KØ" Hó".‘J�D˜$à—N‘N 4Ô(Ø $× 5Ñ 5°iÀÓ F‘IØ Ó&Ø+/×+SÑ+SØ" H¨e°]Ø )°ð ,Tó ,8Ñ(�I˜yð —N‘N 9Ô-Ø $× 5Ñ 5°iÀÓ K‘IØÐ.Ó.Ø—‘Ø!*Ø%Ù  ›zñ ö ð/	ô@ �z—~‘~ jÓ1Ó2°aÒ7Øò 	�Ø(Ÿn™n¨w°q°c¸Ð->Ó?�Ù"ØØ˜c™'�Ø—‘Ø!+¨gÑ!5Ø&Ù  ›zñ õ ð	ð ˜Ò Ø"Ÿ™ ~Ó6Ò<¸"ò �ØŸ'™' %›.�ÙØØ—w‘w˜xÓ(ÒL¨D×,HÑ,HÈÑ,L�Ø×$Ñ$ T¨2Ó.×5Ñ5Ø˜7ð7õ ðð ØØ%Ÿ>™>¨-Ó8Ü& z§~¡~°fÓ'=Ó>Ø#Ÿ™¨
Ó3Ü% j§n¡n°ZÓ&@À$ÓGØ"Øñ	
ð 		
r'   N)Ú__name__Ú
__module__Ú__qualname__Ú
_VALID_URLÚ_GEO_BYPASSrE   rC   rw   r0   rM   r…   r#   r'   r%   r   r      sY   „ ð€Jð €KØ�V€Nð yØyàUØEØOñ€Gð ØØØØñÐòòó,G
r'   r   c                   ó¼   — e Zd ZdZdZddddddd	d
ddœdgdœddddddddœddidœddddddddd d!d"œddid#œd$d%dd&d'd(d)d*d+d,d-œ	ddidœd.dd/œd0dd/œd1dd/œd2dd/œgZd3„ Zy4)5ÚSRGSSRPlayIEz:srf.ch, rts.ch, rsi.ch, rtr.ch and swissinfo.ch play sitesa¾  (?x)
                    https?://
                        (?:(?:www|play)\.)?
                        (?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/
                        (?:
                            [^/]+/(?P<type>video|audio)/[^?]+|
                            popup(?P<type_2>video|audio)player
                        )
                        \?.*?\b(?:id=|urn=urn:[^:]+:video:)(?P<id>[0-9a-f\-]{36}|\d+)
                    zrhttp://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?id=28e1a57d-5b76-4399-8ab3-9097f071e6c5Ú 6db2226ba97f62ad42ce09783680046cz$28e1a57d-5b76-4399-8ab3-9097f071e6c5rZ   Ú20130701z"Snowden beantragt Asyl in RusslandiwÝÑQg°rh‘ít\@zre:^https?://.*1383719781\.png$)r8   ÚextÚupload_daterO   rl   rk   rm   zUnable to download f4m manifest)r,   Úmd5Ú	info_dictÚexpected_warningsz‘http://www.rtr.ch/play/radio/actualitad/audio/saira-tujetsch-tuttina-cuntinuar-cun-sedrun-muster-turissem?id=63cb0778-27f8-49af-9284-8c7a8c6d15fcz$63cb0778-27f8-49af-9284-8c7a8c6d15fcÚmp3Ú20151013u?   Saira: Tujetsch - tuttina cuntinuar cun Sedrun MustÃ©r Turissemi(ƒVg“Vu@)r8   r�   r�   rO   rl   rk   Úskip_downloadT)r,   r’   Úparamsz5http://www.rts.ch/play/tv/-/video/le-19h30?id=6348260Ú 67a2a9ae4e8e62a68d0e9820cc9782dfÚ6348260g×£p=
œ@zLe 19h30Ú20141201i¨³|Tzre:^https?://.*\.image)r8   Ú
display_idr�   rk   rO   r�   rl   rm   )r,   r‘   r’   r—   z_http://play.swissinfo.ch/play/tv/business/video/why-people-were-against-tax-reforms?id=42960270Ú42960270z#Why people were against tax reformsz$md5:7ac442c558e9630e947427469c4b824dg     €W@Ú20170215i¸w¤Xz8re:https?://www\.swissinfo\.ch/srgscalableimage/42961964zcount:9)	r8   r�   rO   rh   rk   r�   rl   rm   rn   zShttps://www.srf.ch/play/tv/popupvideoplayer?id=c4dba0ca-e75b-43b2-a34f-f708a4932e01)r,   Úonly_matchingz‚https://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?urn=urn:srf:video:28e1a57d-5b76-4399-8ab3-9097f071e6c5zIhttps://www.rts.ch/play/tv/19h30/video/le-19h30?urn=urn:rts:video:6348260zVhttps://www.srf.ch/play/radio/popupaudioplayer?id=50b20dc8-f05b-4972-bf03-e438ff2833ebc                 óì   — | j                  |«      }|j                  d«      }|j                  d«      xs |j                  d«      }|j                  d«      }| j                  d|d d › d|› d|› �d«      S )	NrG   ÚtypeÚtype_2r8   zsrgssr:é   ú:ÚSRGSSR)rp   ÚgroupÚ
url_result)r+   r,   ÚmobjrG   rH   r;   s         r%   r…   zSRGSSRPlayIE._real_extractñ   st   € Ø×$Ñ$ SÓ)ˆØ�Z‰Z˜ÓˆØ—Z‘Z Ó'Ò?¨4¯:©:°hÓ+?ˆ
Ø—:‘:˜dÓ#ˆØ�‰ ¨¨B¨Q¨¨°°*°¸Q¸x¸jÐIÈ8ÓTÐTr'   N)r†   r‡   rˆ   ÚIE_DESCr‰   Ú_TESTSr…   r#   r'   r%   rŒ   rŒ   ™   s#  „ ØJ€Gð	€Jð DØ1à8ØØ%Ø9Ø#ØØ;ñ
ð @Ð@ñð cà8ØØ%ØVØ#Øñ
ð ˜Tð
ñð GØ1àØ#ØØØØ%Ø#Ø2ñ	
ð ˜Tð
ñð$ qàØØ:ØAØØ%Ø#ØTØ"ñ

ð ˜Tð
ñð" eØñð TØñð [Øñð
 hØñðKI€FóVUr'   rŒ   N)Úcommonr   Úutilsr   r   r   r   r	   r
   r   r   rŒ   r#   r'   r%   ú<module>r¬      s6   ðÝ !÷÷ ñ ôI
ˆ}ô I
ôX]U�=õ ]Ur'   