Ë
    Ë˜§j£i  ã            	       ó`  — U 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mZ d dlm	Z	m
Z
mZmZmZ d dlmZmZmZmZmZ d dlmZmZmZmZmZmZmZ d dlZ ej:                  e«      Zej@                  jC                  dd«      Z" ejF                  d«      Z$d	Z%d
Z&de'de'fd„Z(i Z)e*e'e*f   e+d<   d d  ej
                  «       dœZ,i Z-e*e.e*f   e+d<   g d¢Z/dedej`                  fd„Z1dedej`                  fd„Z2dedej`                  fd„Z3dedej`                  fd„Z4dedej`                  fd„Z5dedej`                  fd„Z6dedej`                  fd„Z7dede8e'   fd„Z9dedej`                  fd„Z:dedej`                  fd„Z;dedej`                  fd„Z<dede'd e'd!e'dz  fd"„Z=d#e.d$e.d%e'de'fd&„Z>de'de'fd'„Z?d(„ Z@d)e.eAz  dz  de'fd*„ZBd$e.d%e'defd+„ZCd$e.d%e'd,e8e*   defd-„ZDdedej`                  fd.„ZEde'de'fd/„ZFdedej`                  fd0„ZGdedej`                  fd1„ZHd2e*d3e'd!e'dz  fd4„ZIde'fd5„ZJd6„ ZKy)7é    N)ÚPath)Ú
BotCommandÚInlineKeyboardButtonÚInlineKeyboardMarkupÚInputMediaPhotoÚUpdate)ÚCallbackQueryHandlerÚCommandHandlerÚContextTypesÚMessageHandlerÚfilters)ÚReclipDownloadErrorÚReclipErrorÚReclipInfoErrorÚReclipServiceDownÚget_infoÚpoll_statusÚstart_downloadÚDOWNLOADS_PATHz
/downloadszhttps?://[^\s<>\"']+iX  iè  ÚtextÚreturnc                 óN   — | syt        | «      t        k  r| S | dt        dz
   dz   S )z<Truncate a caption to fit within Telegram's 1024-char limit.Ú Né   õ   â€¦)ÚlenÚCAPTION_MAX)r   s    ú/app/bot/handlers.pyÚ_truncate_captionr      s0   € áØÜ
ˆ4ƒy”KÒØˆØÐ!”+ ‘/Ð" UÑ*Ð*ó    Ú_state)Ú	downloadsÚerrorsÚstartedÚ_user_prefs)ÚYouTubeÚTikTokÚ	Instagramz	Twitter/XÚRedditÚFacebookÚVimeoÚTwitchÚDailymotionÚ
SoundCloudÚBandcampÚBilibiliÚ	PinterestÚTumblrÚThreadsÚLinkedInÚLoomÚ
Streamablezand 1000+ more via yt-dlpÚupdateÚcontextc              ƒ   óZ   K  — d}| j                   j                  |«      ƒ d {  –—†  y 7 Œ­w)Nao  Hey! I'm ReClip Bot.

Send me a video or audio link and I'll download it for you.

Supported platforms: YouTube, TikTok, Instagram, Twitter, Reddit, and 1000+ more.

Commands:
/help - Help and commands
/platforms - Supported platforms
/settings - Your preferences
/stats - Bot statistics
/mp3 <link> - Download directly as MP3
/mp4 <link> - Download best quality MP4
©ÚmessageÚ
reply_text©r7   r8   r   s      r   Ú	cmd_startr>   3   s*   è ø€ ð
	4ð 	ð �.‰.×
#Ñ
# DÓ
)×)Ò)ús   ‚!+£)¤+c              ƒ   ó^   K  — d}| j                   j                  |d¬«      ƒ d {  –—†  y 7 Œ­w)Na;  *How to use ReClip Bot:*

1\. Send a link \(YouTube, TikTok, etc\.\)
2\. Pick a format \(MP4 or MP3\)
3\. Pick quality
4\. File delivered to the chat\!

*Shortcuts:*
/mp3 \<link\> \- Direct MP3 download
/mp4 \<link\> \- Best quality MP4
/best \<link\> \- Best available quality

*Preferences:*
/setquality \<best/720/480\> \- Default quality
/setformat \<video/audio\> \- Default format
/settings \- View your preferences

*Other:*
/platforms \- Supported sites
/stats \- Bot stats
/cancel \- Cancel \(coming soon\)

You can also send multiple links in a single message\!Ú
MarkdownV2)Ú
parse_moder:   r=   s      r   Úcmd_helprB   D   s0   è ø€ ð	Bð 	ð( �.‰.×
#Ñ
# D°\Ð
#Ó
B×BÒBús   ‚#-¥+¦-c              ƒ   ó”   K  — ddj                  d„ t        D «       «      z   }| j                  j                  |«      ƒ d {  –—†  y 7 Œ­w)NzSupported platforms:

Ú
c              3   ó&   K  — | ]	  }d |› �–— Œ y­w)z  N© )Ú.0Úps     r   Ú	<genexpr>z cmd_platforms.<locals>.<genexpr>]   s   è ø€ Ð1XÑDW¸q°B°q°c´(ÑDWùs   ‚)ÚjoinÚSUPPORTED_PLATFORMSr;   r<   r=   s      r   Úcmd_platformsrL   \   s8   è ø€ Ø%¨¯	©	Ñ1XÕDWÓ1XÓ(XÑX€DØ
�.‰.×
#Ñ
# DÓ
)×)Ò)ús   ‚>AÁ AÁAc              ƒ   ó*  K  — t        t        j                  «       t        d   z
  «      }t        |d«      \  }}t        |d«      \  }}t	        t
        «      }d}d}	|j                  «       rK|j                  «       D ]8  }
|
j                  «       sŒ||
j                  «       j                  dz  z  }|	dz  }	Œ: d|› d|› d	|› d
t        d   › dt        d   › d|	› d|d›dt        t        «      › d�}| j                  j                  |«      ƒ d {  –—†  y 7 Œ­w)Nr$   i  é<   r   i   r   zReClip Bot Stats:

  Uptime: zh zm zs
  Downloads: r"   z
  Errors: r#   z
  Cached files: z
  Disk usage: z.1fz MB
  Active sessions: rD   )ÚintÚtimeÚ_statsÚdivmodr   r   ÚexistsÚiterdirÚis_fileÚstatÚst_sizer   r!   r;   r<   )r7   r8   Úuptime_sÚhoursÚ	remainderÚminsÚsecsÚdownloads_dirÚdisk_mbÚ
file_countÚfr   s               r   Ú	cmd_statsra   a   s!  è ø€ Ü”4—9‘9“;¤¨	Ñ!2Ñ2Ó3€HÜ˜h¨Ó-Ñ€Eˆ9Ü˜	 2Ó&�J€Dˆ$äœÓ(€MØ€GØ€JØ×ÑÔØ×&Ñ&Ö(ˆAØ�y‰y�{Ø˜1Ÿ6™6›8×+Ñ+¨{Ñ;Ñ;�Ø˜a‘‘
ð )ðØ�G˜2˜d˜V 2 d Vð ,Ü˜{Ñ+Ð,ð -Ü˜HÑ%Ð&ð 'Ø%˜,ð 'Ø  ˜ð &Ü!¤&›k˜]¨"ð	.ð 	ð �.‰.×
#Ñ
# DÓ
)×)Ò)ús   ‚BDÂA<DÄDÄDc              ƒ   ó  K  — | j                   j                  }t        j                  |i «      }|j                  dd«      }|j                  dd«      }d|› d|› d�}| j                  j                  |«      ƒ d {  –—†  y 7 Œ­w)NÚqualityÚbestÚformatÚvideoz&Your preferences:

  Default quality: z
  Default format: zB

Change:
  /setquality <best/720/480>
  /setformat <video/audio>
)Úeffective_userÚidr%   Úgetr;   r<   )r7   r8   ÚuidÚprefsrc   Úfmtr   s          r   Úcmd_settingsrm   {   s„   è ø€ Ø
×
Ñ
×
"Ñ
"€CÜ�O‰O˜C Ó$€EØ�i‰i˜	 6Ó*€GØ
�)‰)�H˜gÓ
&€CðØ%˜Yð 'Ø ˜Eð "'ð	(ð 	ð �.‰.×
#Ñ
# DÓ
)×)Ò)ús   ‚A8BÁ:B Á;Bc              ƒ   óØ  K  — | j                   j                  }|j                  s$| j                  j	                  d«      ƒ d {  –—†  y |j                  d   j                  «       }g d¢}||vr6| j                  j	                  ddj                  |«      › �«      ƒ d {  –—†  y |t        j                  |i «      d<   | j                  j	                  d|› �«      ƒ d {  –—†  y 7 Œ 7 ŒG7 Œ	­w)Nz*Usage: /setquality <best/1080/720/480/360>r   )rd   Ú1080Ú720Ú480Ú360zInvalid quality. Options: z, rc   zDefault quality set to: )	rg   rh   Úargsr;   r<   ÚlowerrJ   r%   Ú
setdefault)r7   r8   rj   ÚqÚvalids        r   Úcmd_setqualityrx   ‹   sÔ   è ø€ Ø
×
Ñ
×
"Ñ
"€CØ�<Š<Ø�n‰n×'Ñ'Ð(TÓU×UÐUØØ�‰�Q‰×ÑÓ€AÚ1€EØ��~Ø�n‰n×'Ñ'Ð*DÀTÇYÁYÈuÓEUÐDVÐ(WÓX×XÐXØØ12„K×Ñ˜3 Ó# IÑ.Ø
�.‰.×
#Ñ
#Ð&>¸q¸cÐ$BÓ
C×CÑCð 	Vøð
 	Yøð Dús7   ‚AC*ÁC$ÁAC*ÂC&Â?C*ÃC(ÃC*Ã&C*Ã(C*c              ƒ   ó¬  K  — | j                   j                  }|j                  s$| j                  j	                  d«      ƒ d {  –—†  y |j                  d   j                  «       }|dvr$| j                  j	                  d«      ƒ d {  –—†  y |t        j                  |i «      d<   | j                  j	                  d|› �«      ƒ d {  –—†  y 7 ŒŠ7 ŒG7 Œ	­w)NzUsage: /setformat <video/audio>r   )rf   Úaudioz%Invalid format. Options: video, audiore   zDefault format set to: )rg   rh   rs   r;   r<   rt   r%   ru   )r7   r8   rj   r`   s       r   Úcmd_setformatr{   ™   sÀ   è ø€ Ø
×
Ñ
×
"Ñ
"€CØ�<Š<Ø�n‰n×'Ñ'Ð(IÓJ×JÐJØØ�‰�Q‰×ÑÓ€AØÐ"Ñ"Ø�n‰n×'Ñ'Ð(OÓP×PÐPØØ01„K×Ñ˜3 Ó# HÑ-Ø
�.‰.×
#Ñ
#Ð&=¸a¸SÐ$AÓ
B×BÑBð 	Køð 	Qøð Cús7   ‚ACÁCÁACÂCÂ	?CÃCÃ	CÃCÃCc                 óJ  — | j                   j                  xs d}t        j                  |«      }|sq| j                   j                  r[| j                   j                  j                  xs$ | j                   j                  j
                  xs d}t        j                  |«      }|S )z>Extract URLs from command text or from the replied-to message.r   )r;   r   Ú	URL_REGEXÚfindallÚreply_to_messageÚcaption)r7   r   Úurlsr<   s       r   Ú_extract_urls_from_commandr‚   ¦   sz   € à�>‰>×ÑÒ$ "€DÜ×Ñ˜TÓ"€DÙ�F—N‘N×3Ò3Ø—^‘^×4Ñ4×9Ñ9Òj¸V¿^¹^×=\Ñ=\×=dÑ=dÒjÐhjˆ
Ü× Ñ  Ó,ˆØ€Kr    c              ƒ   óü   K  — t        | «      }|s$| j                  j                  d«      ƒ d{  –—†  y|D ]<  }| j                  j                  d«      ƒ d{  –—† }t        | ||dd«      ƒ d{  –—†  Œ> y7 ŒG7 Œ 7 Œ­w)z*Direct MP3 download without format picker.z;Usage: /mp3 <link>
Or reply to a message containing a link.NzDownloading MP3...rz   ©r‚   r;   r<   Ú_direct_download©r7   r8   r�   ÚurlÚmsgs        r   Úcmd_mp3r‰   °   sx   è ø€ ä% fÓ-€DÙØ�n‰n×'Ñ'Ð(fÓg×gÐgØÛˆØ—N‘N×-Ñ-Ð.BÓC×CˆÜ˜v s¨C°¸$Ó?×?Ñ?ñ ð 	høð DøØ?úó3   ‚,A<®A6¯(A<ÁA8ÁA<Á.A:Á/A<Á8A<Á:A<c              ƒ   óü   K  — t        | «      }|s$| j                  j                  d«      ƒ d{  –—†  y|D ]<  }| j                  j                  d«      ƒ d{  –—† }t        | ||dd«      ƒ d{  –—†  Œ> y7 ŒG7 Œ 7 Œ­w)z7Direct best-quality MP4 download without format picker.z;Usage: /mp4 <link>
Or reply to a message containing a link.Nz!Downloading MP4 (best quality)...rf   r„   r†   s        r   Úcmd_mp4rŒ   »   sx   è ø€ ä% fÓ-€DÙØ�n‰n×'Ñ'Ð(fÓg×gÐgØÛˆØ—N‘N×-Ñ-Ð.QÓR×RˆÜ˜v s¨C°¸$Ó?×?Ñ?ñ ð 	høð SøØ?úrŠ   c              ƒ   ó8   K  — t        | |«      ƒ d{  –—†  y7 Œ­w)zAlias for /mp4.N)rŒ   )r7   r8   s     r   Úcmd_bestrŽ   Æ   s   è ø€ ä
�&˜'Ó
"×"Ò"ús   ‚’“r‡   rl   Ú	format_idc              ƒ   ó  K  — 	 t        |«      ƒ d{  –—† }|j                  dd«      }||| j                  j                  dœ}	 t        ||||«      ƒ d{  –—† }		 t        j                  |	| j                  j                  | j                  j                  xs t        | j                  j                  «      | j                  j                  ||j                  d	d
«      ||xs d|¬«	      ƒ d{  –—†  t        j                  «       }
d}t!        d«      D �]Û  }t#        j$                  d«      ƒ d{  –—†  	 t'        |	«      ƒ d{  –—† }|j                  d«      }|dk(  rZ|j                  d«      xs |j                  d«      }|j                  d«      |j                  d«      |j                  d«      dœ} �n:|dk(  rit        |d|j                  dd«      › �«      ƒ d{  –—†  t        dxx   dz  cc<   t        j(                  |	|j                  dd«      ¬«      ƒ d{  –—†   y|j                  d«      }|ršt+        |t,        «      rŠ|j                  d«      �yd|d   › d�}	 t        j.                  |	|j                  d«      |j                  d «      |j                  d!«      |j                  d"«      |j                  d#«      ¬$«      ƒ d{  –—†  nd%}	 |j1                  |«      ƒ d{  –—†  �ŒÞ |sEt        |d&«      ƒ d{  –—†  t        dxx   dz  cc<   t        j(                  |	d'¬«      ƒ d{  –—†  yt3        t4        «      t3        |«      j6                  z  }|j9                  «       st3        |«      }|j9                  «       sEt        |d(«      ƒ d{  –—†  t        dxx   dz  cc<   t        j(                  |	d)¬«      ƒ d{  –—†  yt!        d«      D �]V  }	 t;        |d*«      5 }|d+k(  r–|j<                  j?                  «       d,k(  ryj                  d«      }| j@                  jB                  jE                  |tG        |«      d-|j                  d«      |j                  d«      |rtI        |«      nd¬.«      ƒ d{  –—†  n8| j@                  jB                  jK                  |tG        |«      ¬/«      ƒ d{  –—†  ddd«       t        d0xx   dz  cc<   	 t        jL                  |	|jO                  «       jP                  t        j                  «       |
z
  |j6                  ¬1«      ƒ d{  –—†   n 	 |j1                  d5|› �«      ƒ d{  –—†  	 |jS                  «        y7 �ŒP# t        $ r) t        |d«      ƒ d{  –—†7   t        dxx   dz  cc<   Y yt        $ r3}t        |d|› �«      ƒ d{  –—†7   t        dxx   dz  cc<   Y d}~yd}~ww xY w7 �Œ# t        $ r3}t        |d|› �«      ƒ d{  –—†7   t        dxx   dz  cc<   Y d}~yd}~ww xY w7 �Œ)# t        $ r Y �Œ3w xY w7 �Œú7 �Œé# t        $ rJ t        |d«      ƒ d{  –—†7   t        dxx   dz  cc<   t        j(                  |	d¬«      ƒ d{  –—†7   Y  yt        $ r Y �Œyw xY w7 �Œ±7 �Œt7 �ŒÉ# t        $ r Y �ŒÐw xY w7 �Œ¿# t        $ r Y �Œ¥w xY w7 �Œ¹7 �ŒŒ7 �Œ*7 �Œý7 �ŒH7 �Œ# 1 sw Y   �ŒxY w7 �Œ°# t        $ r Y �Œºw xY w# t        $ rq |d2k(  rt#        j$                  d«      ƒ d{  –—†7   nIt        |d3«      ƒ d{  –—†7   t        dxx   dz  cc<   t        j(                  |	d4¬«      ƒ d{  –—†7   Y  yY �ŒŽw xY w7 �Œ # t        $ r Y �Œ*w xY w# t        $ r Y yw xY w­w)6z-Download without the interactive picker flow.Nú)Download service temporarily unavailable.r#   r   úError: ÚtitleÚdownload)r‡   ÚinfoÚuser_idÚ	extractorÚunknownrd   ©	Újob_idr–   ÚusernameÚchat_idr‡   Úplatformre   rc   r“   éÂ  é   zDownload service unavailable.zDownload service unavailable©rš   Úerror_messageÚstatusÚdoneÚ	file_pathÚfilenameÚwidthÚheightÚduration©r¦   r§   r¨   ÚerrorúUnknown errorÚprogressÚpercentúDownloading... Ú%ÚspeedÚetaÚdownloaded_bytesÚtotal_bytes©rš   r­   r°   r±   r²   r³   úDownloading...úDownload timed out.úDownload timed outúFile not found after download.úFile not found after downloadÚrbrf   ú.mp4T©rf   r€   Úsupports_streamingr¦   r§   r¨   ©Údocumentr€   r"   ©rš   Úfile_size_bytesÚduration_secondsr¥   r   ú"Failed to upload file to Telegram.úFailed to upload to TelegramúSent: )*r   r   Ú
_edit_saferQ   r   ri   rg   rh   r   Úevent_clientÚsend_download_startr›   ÚstrÚeffective_chatÚ	ExceptionrP   ÚrangeÚasyncioÚsleepr   Úsend_download_errorÚ
isinstanceÚdictÚsend_progressÚ	edit_textr   r   ÚnamerS   ÚopenÚsuffixrt   r;   ÚchatÚ
send_videor   rO   Úsend_documentÚsend_download_donerV   rW   Úunlink)r7   Ú
status_msgr‡   rl   r�   r•   Úer“   Úentryrš   Ú_direct_download_startr¤   Ú_r¢   ÚstÚ
video_metar¬   r   Ú
local_pathÚattemptr`   Údurs                         r   r…   r…   Ë   sê  è ø€ ð	Ü˜c“]×"ˆð �H‰H�W˜jÓ)€EØ °&×2GÑ2G×2JÑ2JÑK€EðÜ% c¨3°	¸5ÓA×AˆðÜ×.Ñ.ØØ×)Ñ)×,Ñ,Ø×*Ñ*×3Ñ3ÒT´s¸6×;PÑ;P×;SÑ;SÓ7TØ×)Ñ)×,Ñ,ØØ—X‘X˜k¨9Ó5ØØÒ' Øô

÷ 
	
ð 
	
ô "ŸY™Y›[ÐØ€IÜ�3�ZˆÜ�m‰m˜AÓ×Ðð	Ü& vÓ.×.ˆFð �Z‰Z˜Ó!ˆØ�Š<ØŸ
™
 ;Ó/ÒI°6·:±:¸jÓ3IˆIàŸ™ GÓ,Ø Ÿ*™* XÓ.Ø"ŸJ™J zÓ2ñˆJò
 Ø�7Š]Ü˜Z¨7°6·:±:¸gÀÓ3WÐ2XÐ)YÓZ×ZÐZÜ�8Ó Ñ!ÓÜ×2Ñ2¸&ÐPV×PZÑPZÐ[bÐdsÓPtÔu×uÐuÙà—z‘z *Ó-ˆHÙœJ x´Ô6¸8¿<¹<È	Ó;RÐ;^Ø(¨°)Ñ)<Ð(=¸QÐ?�ð
Ü&×4Ñ4Ø%Ø (§¡¨YÓ 7Ø&Ÿl™l¨7Ó3Ø$ŸL™L¨Ó/Ø)1¯©Ð6HÓ)IØ$,§L¡L°Ó$?ô÷ ñ ð (�ðØ ×*Ñ*¨4Ó0×0Ò0ðY ñ` Ü˜Ð%:Ó;×;Ð;ÜˆxÓ˜AÑÓÜ×.Ñ.°fÐL`Ôa×aÐaØä”nÓ%¬¨Y«×(<Ñ(<Ñ<€JØ×ÑÔÜ˜)“_ˆ
Ø×ÑÔÜ˜Ð%EÓF×FÐFÜˆxÓ˜AÑÓÜ×.Ñ.°fÐLkÔl×lÐlØä˜—8ˆð 	Ü�j $Ô'¨1Ø˜'’> j×&7Ñ&7×&=Ñ&=Ó&?À6Ò&IØ$Ÿ.™.¨Ó4�CØ Ÿ.™.×-Ñ-×8Ñ8ØÜ 1°%Ó 8Ø+/Ø(Ÿn™n¨WÓ5Ø)Ÿ~™~¨hÓ7Ù-0¤ S¤°dð 9ó ÷ ñ ð !Ÿ.™.×-Ñ-×;Ñ;ÀQÔPaÐbgÓPhÐ;Ói×iÐi÷ (ô �;Ó 1Ñ$ÓðÜ"×5Ñ5Ø!Ø$.§O¡OÓ$5×$=Ñ$=Ü%)§Y¡Y£[Ð3IÑ%IØ'Ÿ_™_ô	÷ ð ñ ð3 ðFØ×"Ñ" V¨E¨7Ð#3Ó4×4Ð4ðØ×ÑÕðY #úÜò Ü˜Ð%PÓQ×QÑQÜˆxÓ˜AÑÓÙÜò Ü˜ w¨q¨c ]Ó3×3Ñ3ÜˆxÓ˜AÑÓÜûðúð BúÜò Ü˜ w¨q¨c ]Ó3×3Ñ3ÜˆxÓ˜AÑÓÜûðúð
	
úô ò Úðúð 	ùà.úÜ ò 	Ü˜ZÐ)HÓI×IÑIÜ�8Ó Ñ!ÓÜ×2Ñ2¸&ÐPnÔo×oÑoÚÜò 	Úð	úð [ùàuùðúô !ò Úðúð
 1úÜò Úðúð 	<ùàaùð 	Gùàlùðùð jù÷ (Ñ'úðúô ò Úðûô ò 	Ø˜!Š|Ü—m‘m AÓ&×&Ò&ä  Ð-QÓR×RÑRÜ�xÓ  AÑ%Ó Ü"×6Ñ6¸fÐTrÔs×sÑsÚò 'ð	úð 	5úÜò Úðûô ò Ùðüs  ‚^„U% ’U"“U% —,^ÁW ÁWÁW ÁBX Ã-XÃ.X Ã2=^Ä/X)Ä0^Ä5X/ÅX,ÅX/ÅB^ÇZÇ ?^ÈZÈ A^É$A)ZËZËZË^ËZ,Ë*Z)Ë+Z,Ë/^ÌZ<Ì/^Ì3Z?Ì4A$^Î[Î/^Ï[Ï	^Ï[.Ï*B[Ò [Ò8[Ò9[Ò:[Ò>[.ÓA[Ô+[Ô,[Ô0^Ô4]. Õ]+Õ]. Õ]> Õ!^Õ"U% Õ%WÕ=V Õ>WÖ^ÖWÖWÖ0V3Ö1W×^×W×^×W ×	X× X×2W5×3XØ	^ØXØ^ØX Ø	X&Ø"^Ø%X&Ø&^Ø,X/Ø/ZÙY
Ù0ZÙ8Y;Ù9ZÙ>^ÚZÚ	^ÚZÚ^Ú^ÚZÚ	Z&Ú"^Ú%Z&Ú&^Ú)Z,Ú,	Z9Ú5^Ú8Z9Ú9^Ú?^Û^Û^Û[Û[Û[	Û[.Û[Û	[+Û'[.Û*[+Û+[.Û.&](Ü\Ü](Ü*\-Ü+0](Ý]Ý](Ý!^Ý'](Ý(^Ý+]. Ý.	];Ý7^Ý:];Ý;^Ý>	^
Þ^Þ	^
Þ
^rœ   Ú
message_idÚurl_hashc                 ó   — | › d|› d|› �S )NÚ:rF   )rœ   ræ   rç   s      r   Ú
_state_keyrê   _  s   € ØˆY�a˜
�| 1 X JÐ/Ð/r    c                 ój   — t        j                  | j                  «       «      j                  «       d d S )Né   )ÚhashlibÚmd5ÚencodeÚ	hexdigest)r‡   s    r   Ú	_url_hashrñ   c  s'   € Ü�;‰;�s—z‘z“|Ó$×.Ñ.Ó0°°!Ð4Ð4r    c                  óÀ   — t        j                   «       } t        j                  «       D ��cg c]  \  }}| |d   z
  t        kD  sŒ|‘Œ }}}|D ]	  }t        |= Œ y c c}}w )NÚcreated)rP   r!   ÚitemsÚ	STATE_TTL)ÚnowÚkÚvÚexpireds       r   Ú_evict_stalerú   g  sR   € Ü
�)‰)‹+€CÜ#Ÿ\™\œ^ÔN™^‘T�Q˜¨s°Q°y±\Ñ/AÄIÓ/MŠq˜^€GÑNÛˆÜ�1‰Iñ ùó Os   ¬AÁAÚsecondsc                 ó†   — | syt        | «      } t        | d«      \  }}t        |d«      \  }}|r|› d|d›d|d›�S |› d|d›�S )NÚUnknownrN   ré   Ú02d)rO   rR   )rû   r[   r\   rY   s       r   Ú_format_durationrÿ   n  sb   € ÙØÜ�'‹l€GÜ˜ Ó$�J€Dˆ$Ü˜˜rÓ"�K€Eˆ4ÙØ�˜˜$˜s˜ 1 T¨# JÐ/Ð/ØˆV�1�T˜#�JÐÐr    c                 óf   — t        t        dd| › d|› d�¬«      t        dd| › d|› d�¬«      gg«      S )NÚMP4zfmt:ré   z:video©Úcallback_dataÚMP3z:audio)r   r   )ræ   rç   s     r   Ú_build_format_buttonsr  y  sM   € Üä  ¸¸Z¸LÈÈ(ÈÐSYÐ6ZÔ[Ü  ¸¸Z¸LÈÈ(ÈÐSYÐ6ZÔ[ð	
ð!ó ð r    Úformatsc                 ób  — g }|D ]L  }|j                  d|j                  dd«      «      }|j                  t        |d| › d|› d|d   › �¬«      «       ŒN t        dt	        |«      d«      D �cg c]
  }|||dz    ‘Œ }}|j                  t        d	d| › d|› d
�¬«      g«       t        |«      S c c}w )NÚlabelrh   Ú?zqty:ré   r  r   é   zBest qualityz:best)ri   Úappendr   rÌ   r   r   )ræ   rç   r  Úbuttonsrl   r  ÚiÚrowss           r   Ú_build_quality_buttonsr  ‚  sÉ   € Ø€GÛˆØ—‘˜ §¡¨¨sÓ!3Ó4ˆØ�‰Ü  ¸¸Z¸LÈÈ(ÈÐSTÐUXÐY]ÑU^ÐT_Ð6`Ôaõ	
ð ô
 ).¨a´°W³¸qÔ(AÓBÑ(A 1ˆG�A˜˜A™ÒÐ(A€DÐBØ‡K�KÔ% nÀdÈ:È,ÐVWÐX`ÐWaÐafÐDgÔhÐiÔjÜ Ó%Ð%ùò Cs   Á,B,c              ƒ   óÂ  K  — t        «        | j                  j                  xs d}t        j	                  |«      }|sy |D �]W  }t        |«      }| j                  j                  d«      ƒ d {  –—† }	 t        |«      ƒ d {  –—† }|j                  dd«      }	|j                  dd«      }
t        |j                  d	«      «      }|j                  d
d«      }|j                  d«      }t        |	«      dk  r|	n|	d d dz   }dt        |«      › d�dt        |
«      › �dt        |«      › �g}|r|j!                  dt        |«      › �«       dj#                  |«      }t%        | j&                  j(                  |j*                  |«      }|| j,                  j(                  ||j*                  t/        j.                  «       dœt0        |<   t3        |j*                  |«      }|r¡	 |j5                  «       ƒ d {  –—†  | j                  j7                  ||d|¬«      ƒ d {  –—† }|j*                  t0        |   d<   |}t%        | j&                  j(                  |j*                  |«      }t0        j9                  |«      t0        |<   �Œ<|j                  |d|¬«      ƒ d {  –—†  �ŒZ y 7 �Œ/7 �Œ# t        $ r |j                  d«      ƒ d {  –—†7   Y �Œˆt        $ r(}|j                  d|› �«      ƒ d {  –—†7   Y d }~�Œ³d }~wt        $ r(}|j                  d|› �«      ƒ d {  –—†7   Y d }~�Œâd }~ww xY w7 �Œ;7 �Œ# t:        $ rŸ t<        j?                  d«       | j                  j                  |d|¬«      ƒ d {  –—†7  }|j*                  t0        |   d<   |}t%        | j&                  j(                  |j*                  |«      }t0        j9                  |«      t0        |<   Y �Œ—w xY w7 �ŒH­w)Nr   zFetching info...r‘   zFailed to fetch info: r’   r“   rý   r—   r¨   ÚuploaderÚ	thumbnaili   i  r   Ú*z
Platform: z
Duration: z
Uploader: rD   )r‡   r–   r•   ræ   ró   r@   )Úphotor€   rA   Úreply_markupræ   z.Failed to send thumbnail, falling back to text)rA   r  ) rú   r;   r   r}   r~   rñ   r<   r   r   rÓ   r   r   ri   rÿ   r   Ú
_escape_mdr  rJ   rê   rÊ   rh   ræ   rg   rP   r!   r  ÚdeleteÚreply_photoÚpoprË   ÚloggerÚ	exception)r7   r8   r   r�   r‡   ÚuhashrÜ   r•   rÝ   r“   r—   r¨   r  r  Útitle_shortÚcaption_linesr€   ÚkeyÚkeyboardÚsentÚold_keys                        r   Úurl_handlerr#  Ž  s�  è ø€ Ü„NØ�>‰>×ÑÒ$ "€DÜ×Ñ˜TÓ"€DÙØäˆÜ˜#“ˆØ!Ÿ>™>×4Ñ4Ð5GÓH×Hˆ
ð
	Ü! #›×&ˆDð —‘˜ )Ó,ˆØ—H‘H˜[¨)Ó4ˆ	Ü# D§H¡H¨ZÓ$8Ó9ˆØ—8‘8˜J¨Ó+ˆØ—H‘H˜[Ó)ˆ	ô  # 5›z¨SÒ0‘e°e¸D¸S°kÀEÑ6Iˆð ”
˜;Ó'Ð(¨Ð*Øœ IÓ.Ð/Ð0Øœ HÓ-Ð.Ð/ð
ˆñ
 Ø× Ñ  :¬j¸Ó.BÐ-CÐ!DÔEØ—)‘)˜MÓ*ˆä˜×.Ñ.×1Ñ1°:×3HÑ3HÈ%ÓPˆàØ×,Ñ,×/Ñ/ØØ$×/Ñ/Ü—y‘y“{ñ
Œˆs‰ô )¨×)>Ñ)>ÀÓFˆáð2Ø ×'Ñ'Ó)×)Ð)Ø#Ÿ^™^×7Ñ7Ø#Ø#Ø+Ø!)ð	 8ó ÷ �ð -1¯O©O”�s‘˜LÑ)Ø�Ü  ×!6Ñ!6×!9Ñ!9¸4¿?¹?ÈEÓR�Ü$Ÿj™j¨Ó1”�s“ð ×&Ñ& w¸<ÐV^Ð&Ó_×_Ò_ñK àHùð 'úÜ ò 	Ø×&Ñ&Ð'RÓS×SÑSÚÜò 	Ø×&Ñ&Ð)?À¸sÐ'CÓD×DÑDÝûÜò 	Ø×&Ñ&¨°° }Ó5×5Ñ5Ýûð	úðH *ùðúô ò 2Ü× Ñ Ð!QÔRØ#Ÿ^™^×6Ñ6Ø¨À8ð 7ó ÷ ð �ð -1¯O©O”�s‘˜LÑ)Ø�Ü  ×!6Ñ!6×!9Ñ!9¸4¿?¹?ÈEÓR�Ü$Ÿj™j¨Ó1”�s”ð2úð `ûsó   ‚A,OÁ.JÁ/OÁ4J#ÂJ ÂJ#ÂEOÇL1Ç0L+Ç1&L1ÈL.ÈA#L1É;OÊOÊ	OÊ J#Ê#L(Ë KËL(ËOË	L(ËK4Ë(K+Ë)K4Ë.OË4L(Ì L#ÌLÌL#ÌOÌ#L(Ì(OÌ+L1Ì.L1Ì1?OÍ0M3Í1A$OÏOÏOÏOc                 óN   ‡— dŠdj                  ˆfd„t        | «      D «       «      S )Nz_*[]()~`>#+-=|{}.!\\r   c              3   ó4   •K  — | ]  }|‰v rd |› �n|–— Œ y­w)Ú\NrF   )rG   ÚcÚspecials     €r   rI   z_escape_md.<locals>.<genexpr>ß  s#   øè ø€ ÐF¹I°q˜q G™|�R˜�s‘8°Ó2¹Iùs   ƒ)rJ   rÉ   )r   r(  s    @r   r  r  Ý  s!   ø€ Ø%€GØ�7‰7ÓF¼CÀ¼IÓFÓFÐFr    c              ƒ   óú  K  — t        «        | j                  }|j                  «       ƒ d {  –—†  |j                  j	                  d«      }t        |«      dk7  ry |\  }}}}t        |«      }t        |j                  j                  ||«      }	t        j                  |	«      }
|
sJt        |j                  j                  |j                  j                  |«      }	t        j                  |	«      }
|
s|j                  d«      ƒ d {  –—†  y |dk(  r;t        |j                  j                  |«      }|j                  |¬«      ƒ d {  –—†  y |dk(  r#t!        j"                  t%        ||
dd ¬«      «       y |dk(  ry|
d	   j                  d
g «      }|s#t!        j"                  t%        ||
dd ¬«      «       y t'        |j                  j                  ||d d «      }|j                  |¬«      ƒ d {  –—†  y y 7 �ŒÆ7 Œï7 Œ±7 Œ­w)Nré   é   ú,Session expired. Please send the link again.Úback)r  rz   ©re   r�   rf   r•   r  é   )rú   Úcallback_queryÚanswerÚdataÚsplitr   rO   rê   r;   rœ   r!   ri   ræ   Úedit_message_textr  Úedit_message_reply_markuprÍ   Úcreate_taskÚdownload_and_sendr  )r7   r8   ÚqueryÚpartsrà   Ú
msg_id_strr  rl   Úmsg_idr  rÞ   r   r  s                r   Úformat_callbackr;  â  sÃ  è ø€ Ü„NØ×!Ñ!€EØ
�,‰,‹.×Ðà�J‰J×Ñ˜SÓ!€EÜ
ˆ5ƒz�Q‚ØØ %Ñ€A€z�5˜#Ü�‹_€Fä
�U—]‘]×*Ñ*¨F°EÓ
:€CÜ�J‰J�s‹O€EÙÜ˜Ÿ™×.Ñ.°·±×0HÑ0HÈ%ÓPˆÜ—
‘
˜3“ˆÙØ×%Ñ%Ð&TÓU×UÐUØà
ˆf‚}Ü(¨¯©×)AÑ)AÀ5ÓIˆØ×-Ñ-¸8Ð-ÓD×DÐDØà
ˆg‚~Ü×ÑÜ˜e U°7ÀdÔKõ	
ð 
�ŠØ˜‘-×#Ñ# I¨rÓ2ˆÙÜ×ÑÜ! %¨°wÈ$ÔOôð ä)¨%¯-©-×*BÑ*BÀEÈ7ÐSUÐTUÈ;ÓWˆØ×-Ñ-¸8Ð-ÓD×DÑDð 
ð5 ùð 	Vøð
 	Eøð  	EúsG   ‚*G;¬G2­CG;ÄG5Ä?G;ÅG7ÅB%G;Ç+G9Ç,G;Ç5G;Ç7G;Ç9G;c              ƒ   ó|  K  — t        «        | j                  }|j                  «       ƒ d {  –—†  |j                  j	                  d«      }t        |«      dk7  ry |\  }}}}t        |«      }t        |j                  j                  ||«      }	t        j                  |	«      }
|
sJt        |j                  j                  |j                  j                  |«      }	t        j                  |	«      }
|
s|j                  d«      ƒ d {  –—†  y |dk(  rd n|}t        j                  t!        ||
d|¬«      «       y 7 �Œ7 Œ4­w)Nré   r*  r+  rd   rf   r-  )rú   r/  r0  r1  r2  r   rO   rê   r;   rœ   r!   ri   ræ   r3  rÍ   r5  r6  )r7   r8   r7  r8  rà   r9  r  r�   r:  r  rÞ   Úfids               r   Úquality_callbackr>    s  è ø€ Ü„NØ×!Ñ!€EØ
�,‰,‹.×Ðà�J‰J×Ñ˜SÓ!€EÜ
ˆ5ƒz�Q‚ØØ&+Ñ#€A€z�5˜)Ü�‹_€Fä
�U—]‘]×*Ñ*¨F°EÓ
:€CÜ�J‰J�s‹O€EÙÜ˜Ÿ™×.Ñ.°·±×0HÑ0HÈ%ÓPˆÜ—
‘
˜3“ˆÙØ×%Ñ%Ð&TÓU×UÐUØà˜vÒ%‰$¨9€CÜ×ÑÜ˜% ¨wÀ#ÔFõð% ùð 	Vús"   ‚*D<¬D7­CD<ÄD:Ä2D<Ä:D<rÞ   re   c              ƒ   óR  K  — | j                   j                  }| j                   }|d   }|d   j                  dd«      }	 |j                  r|j	                  d¬«      ƒ d {  –—† n|j                  d«      ƒ d {  –—†  	 t        ||||«      ƒ d {  –—† }	 t        j                  ||d   t        |j                  dd«      «      |||d   j                  dd«      ||xs d|¬«	      ƒ d {  –—†  d }
t!        d«      D �]  }t#        j$                  d«      ƒ d {  –—†  	 t'        |«      ƒ d {  –—† }|j                  d«      }|dk(  rZ|j                  d«      xs |j                  d«      }
|j                  d«      |j                  d«      |j                  d«      dœ} �na|dk(  rit        |d|j                  dd«      › �«      ƒ d {  –—†  t        dxx   d	z  cc<   t        j(                  ||j                  dd«      ¬«      ƒ d {  –—†   y |j                  d «      }|ršt+        |t,        «      rŠ|j                  d!«      �yd"|d!   › d#�}	 t        j.                  ||j                  d!«      |j                  d$«      |j                  d%«      |j                  d&«      |j                  d'«      ¬(«      ƒ d {  –—†  nd)}	 |j                  r|j	                  |¬«      ƒ d {  –—†  n|j                  |«      ƒ d {  –—†  �Œ |
sEt        |d*«      ƒ d {  –—†  t        dxx   d	z  cc<   t        j(                  |d+¬«      ƒ d {  –—†  y t1        t2        «      t1        |
«      j4                  z  }|j7                  «       st1        |
«      }|j7                  «       sEt        |d,«      ƒ d {  –—†  t        dxx   d	z  cc<   t        j(                  |d-¬«      ƒ d {  –—†  y t!        d«      D �]Y  }	 t9        |d.«      5 }|d/k(  r–|j:                  j=                  «       d0k(  ryj                  d«      }| j                   j>                  jA                  |tC        |«      d1|j                  d«      |j                  d«      |rtE        |«      nd ¬2«      ƒ d {  –—†  n8| j                   j>                  jG                  |tC        |«      ¬3«      ƒ d {  –—†  d d d «       t        d4xx   d	z  cc<   	 t        jH                  ||jK                  «       jL                  tO        jN                  «       |d5   z
  |j4                  ¬6«      ƒ d {  –—†   n 	 tC        d<|› �«      }|j                  r|j	                  |¬«      ƒ d {  –—†  n|j                  |«      ƒ d {  –—†  	 |jW                  «        y 7 �ŒG7 �Œ1# t        $ r Y �Œ;w xY w7 �Œ-# t        $ r) t        |d«      ƒ d {  –—†7   t        dxx   d	z  cc<   Y y t        $ r3}	t        |d
|	› �«      ƒ d {  –—†7   t        dxx   d	z  cc<   Y d }	~	y d }	~	wt        $ r3}	t        |d|	› �«      ƒ d {  –—†7   t        dxx   d	z  cc<   Y d }	~	y d }	~	ww xY w7 �Œ# t        $ r Y �Œ‰w xY w7 �Œd7 �ŒS# t        $ rJ t        |d«      ƒ d {  –—†7   t        dxx   d	z  cc<   t        j(                  |d¬«      ƒ d {  –—†7   Y  y t        $ r Y �Œãw xY w7 �Œ7 �ŒÞ7 �Œ3# t        $ r Y �Œ:w xY w7 �Œ7 �Œ# t        $ r Y �Œw xY w7 �Œÿ7 �ŒÒ7 �Œp7 �ŒC7 �ŒŽ7 �ŒX# 1 sw Y   �ŒXxY w7 �Œó# t        $ r Y �Œýw xY w# t        $ r› |d7k(  r4tP        jS                  d8«       t#        j$                  d	«      ƒ d {  –—†7   n^tP        jU                  d9«       t        |d:«      ƒ d {  –—†7   t        dxx   d	z  cc<   t        j(                  |d;¬«      ƒ d {  –—†7   Y  y Y �Œþw xY w7 �Œu7 �Œ^# t        $ r Y �Œhw xY w# t        $ r tP        jY                  d=|«       Y y w xY w­w)>Nr‡   r•   r“   r”   zStarting download...©r€   r‘   r#   r   zDownload failed: r’   r–   r   r—   r˜   rd   r™   rž   rŸ   z(Download service temporarily unavailabler    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º   rf   r»   Tr¼   r¾   r"   ró   rÀ   r   zUpload failed, retrying oncezUpload failed after retryrÃ   rÄ   rÅ   zCould not delete %s)-r;   rœ   ri   r  Úedit_captionrÓ   rË   r   r   rÆ   rQ   r   r   rÇ   rÈ   rÉ   rÌ   rÍ   rÎ   r   rÏ   rÐ   rÑ   rÒ   r   r   rÔ   rS   rÕ   rÖ   rt   r×   rØ   r   rO   rÙ   rÚ   rV   rW   rP   r  Úwarningr  rÛ   Údebug)r7  rÞ   re   r�   rœ   r;   r‡   r“   rš   rÝ   r¤   rà   r¢   rá   râ   r¬   r   rã   rä   r`   rå   Ú	sent_texts                         r   r6  r6  %  s�  è ø€ Ø�m‰m×#Ñ#€GØ�m‰m€GØ
�‰,€CØ�&‰M×Ñ˜g zÓ2€EðØFMÇmÂmˆg×"Ñ"Ð+AÐ"ÓB×BÐBÐ_f×_pÑ_pð  rHó  `I÷  ZIøðÜ% c¨6°9¸eÓD×DˆðÜ×.Ñ.ØØ˜)Ñ$Ü˜Ÿ™ 9¨bÓ1Ó2ØØØ˜6‘]×&Ñ& {°IÓ>ØØÒ' Øô

÷ 
	
ð 
	
ð €IÜ�3�ZˆÜ�m‰m˜AÓ×Ðð	Ü& vÓ.×.ˆFð �Z‰Z˜Ó!ˆØ�Š<ØŸ
™
 ;Ó/ÒI°6·:±:¸jÓ3IˆIàŸ™ GÓ,Ø Ÿ*™* XÓ.Ø"ŸJ™J zÓ2ñˆJò
 Ø�7Š]Ü˜W¨°·
±
¸7ÀOÓ0TÐ/UÐ&VÓW×WÐWÜ�8Ó Ñ!ÓÜ×2Ñ2¸&ÐPV×PZÑPZÐ[bÐdsÓPtÔu×uÐuÙà—z‘z *Ó-ˆHÙœJ x´Ô6¸8¿<¹<È	Ó;RÐ;^Ø(¨°)Ñ)<Ð(=¸QÐ?�ð
Ü&×4Ñ4Ø%Ø (§¡¨YÓ 7Ø&Ÿl™l¨7Ó3Ø$ŸL™L¨Ó/Ø)1¯©Ð6HÓ)IØ$,§L¡L°Ó$?ô÷ ñ ð (�ðØ—=’=Ø!×.Ñ.°tÐ.Ó<×<Ñ<à!×+Ñ+¨DÓ1×1Ð1ùð_ ñf Ü˜Ð"7Ó8×8Ð8ÜˆxÓ˜AÑÓÜ×.Ñ.°fÐL`Ôa×aÐaØä”nÓ%¬¨Y«×(<Ñ(<Ñ<€JØ×ÑÔÜ˜)“_ˆ
Ø×ÑÔÜ˜Ð"BÓC×CÐCÜˆxÓ˜AÑÓÜ×.Ñ.°fÐLkÔl×lÐlØä˜—8ˆð"	Ü�j $Ô'¨1Ø˜WÒ$¨×):Ñ):×)@Ñ)@Ó)BÀfÒ)LØ$Ÿ.™.¨Ó4�CØŸ-™-×,Ñ,×7Ñ7ØÜ 1°%Ó 8Ø+/Ø(Ÿn™n¨WÓ5Ø)Ÿ~™~¨hÓ7Ù-0¤ S¤°dð 8ó ÷ ñ ð  Ÿ-™-×,Ñ,×:Ñ:ÀAÔO`ÐafÓOgÐ:Óh×hÐh÷ (ô �;Ó 1Ñ$ÓðÜ"×5Ñ5Ø!Ø$.§O¡OÓ$5×$=Ñ$=Ü%)§Y¡Y£[°5¸Ñ3CÑ%CØ'Ÿ_™_ô	÷ ð ñ ð3 ðJÜ%¨¨u¨gÐ&6Ó7ˆ	Ø�=Š=Ø×&Ñ&¨yÐ&Ó9×9Ñ9à×#Ñ# IÓ.×.Ð.ð8Ø×ÑÕði 	Cùð  ZIúÜò Úðúð EúÜò Ü˜Ð"MÓN×NÑNÜˆxÓ˜AÑÓÙÜò Ü˜Ð$5°a°SÐ"9Ó:×:Ñ:ÜˆxÓ˜AÑÓÜûÜò Ü˜ G¨A¨3 -Ó0×0Ñ0ÜˆxÓ˜AÑÓÜûðúð
	
úô ò Úðúð
 	ùà.úÜ ò 	Ü˜WÐ&QÓR×RÑRÜ�8Ó Ñ!ÓÜ×2Ñ2¸&ÐPzÔ{×{Ñ{ÚÜò 	Úð	úð Xùàuùðúô !ò Úðúð =ùà1úÜò Úðúð 	9ùàaùð 	Dùàlùðùð iù÷ (Ñ'úðúô ò Úðûô ò 		Ø˜!Š|Ü—‘Ð=Ô>Ü—m‘m AÓ&×&Ò&ä× Ñ Ð!<Ô=Ü  Ð*NÓO×OÑOÜ�xÓ  AÑ%Ó Ü"×6Ñ6¸fÐTrÔs×sÑsÚò 'ð		úð :ùà.úÜò Úðûô
 ò 8Ü�‰Ð*¨JÖ7ð8üsZ  ‚=`'Á !V. Á!V(Á"V. Á:V+Á;V. Â W ÂV>ÂW ÂAY- Ã+Y*Ã,Y- Ã0)`'ÄY=Ä`'ÄZÄ-Z Ä.ZÄ2B`'Ç	[$Ç
?`'È	['È
A`'ÉA)[-Ê7[*Ê8[-Ê<`'Ë !\Ë![=Ë"\Ë;\ Ë<\Ì `'Ì\Ì/`'Í\ÍA$`'Î)\Î*/`'Ï\Ï`'Ï/]Ï;B\%Ò\Ò8\%Ó
\"Ó\%Ó]Ó)A\5Ô?\2Õ \5Õ`'Õ/_2 Õ7_,Õ8_2 Ö_/Ö_2 Ö` Ö'`'Ö(V. Ö+V. Ö.	V;Ö7`'Ö:V;Ö;`'Ö>W ×Y'×W×Y'×0`'×2Y'×:X(ØXØX(Ø#`'Ø(Y'Ø4Y"ÙY	ÙY"Ù`'Ù"Y'Ù'`'Ù*Y- Ù-	Y:Ù6`'Ù9Y:Ù:`'Ú ZÚ[!ÚZÚ0[!Û[Û[!Û`'Û[!Û`'Û [!Û!`'Û'`'Û*[-Û-	[:Û6`'Û9[:Û:`'Û=\Ü \Ü	\Ü`'Ü\Ü`'Ü`'Ü`'Ü`'Ü\%Ü"\%Ü%\/	Ü*]Ü2\5Ü5	]Ü>]Ý]Ý]Ý;_)Þ ^Þ*_)Þ+^.Þ,0_)ß_ß_)ß"`'ß(_)ß)`'ß,_2 ß/_2 ß2	_?ß;`'ß>_?ß?`'à`$à!`'à#`$à$`'c              ƒ   óà   K  — 	 | j                   r| j                  |¬«      ƒ d {  –—†  y | j                  |«      ƒ d {  –—†  y 7 Œ7 Œ# t        $ r t        j                  d|«       Y y w xY w­w)Nr@  zFailed to edit message with: %s)r  rA  rÓ   rË   r  rC  )r;   r   s     r   rÆ   rÆ   Å  sc   è ø€ ð>Ø�=Š=Ø×&Ñ&¨tÐ&Ó4×4Ñ4à×#Ñ# DÓ)×)Ñ)ð 5øà)ùÜò >Ü�‰Ð6¸Ö=ð>üsS   ‚A.„!A	 ¥A¦A	 ªA.«A	 ¿AÁ A	 ÁA.ÁA	 ÁA	 Á	A+Á(A.Á*A+Á+A.c                 ón  — | j                  t        dt        «      «       | j                  t        dt        «      «       | j                  t        dt        «      «       | j                  t        dt
        «      «       | j                  t        dt        «      «       | j                  t        dt        «      «       | j                  t        dt        «      «       | j                  t        dt        «      «       | j                  t        d	t        «      «       | j                  t        d
t        «      «       | j                  t        t        j                  t        j                   z  t         «      «       | j                  t#        t$        d¬«      «       | j                  t#        t&        d¬«      «       y )NÚstartÚhelpÚ	platformsÚstatsÚsettingsÚ
setqualityÚ	setformatÚmp3Úmp4rd   z^fmt:)Úpatternz^qty:)Úadd_handlerr
   r>   rB   rL   ra   rm   rx   r{   r‰   rŒ   rŽ   r   r   ÚTEXTÚCOMMANDr#  r	   r;  r>  )Úapplications    r   Úregister_handlersrU  Ï  s&  € Ø×ÑœN¨7´IÓ>Ô?Ø×ÑœN¨6´8Ó<Ô=Ø×ÑœN¨;¼ÓFÔGØ×ÑœN¨7´IÓ>Ô?Ø×ÑœN¨:´|ÓDÔEØ×ÑœN¨<¼ÓHÔIØ×ÑœN¨;¼ÓFÔGØ×ÑœN¨5´'Ó:Ô;Ø×ÑœN¨5´'Ó:Ô;Ø×ÑœN¨6´8Ó<Ô=Ø×ÑœN¬7¯<©<¼7¿?¹?Ð:JÑ+JÌKÓXÔYØ×ÑÔ0´È(ÔSÔTØ×ÑÔ0Ô1AÈ8ÔTÕUr    )LrÍ   rí   ÚloggingÚosÚrerP   Úpathlibr   Útelegramr   r   r   r   r   Útelegram.extr	   r
   r   r   r   Úreclip_clientr   r   r   r   r   r   r   rÇ   Ú	getLoggerÚ__name__r  Úenvironri   r   Úcompiler}   rõ   r   rÉ   r   r!   rÑ   Ú__annotations__rQ   r%   rO   rK   ÚDEFAULT_TYPEr>   rB   rL   ra   rm   rx   r{   Úlistr‚   r‰   rŒ   rŽ   r…   rê   rñ   rú   Úfloatrÿ   r  r  r#  r  r;  r>  r6  rÆ   rU  rF   r    r   Ú<module>re     sV  ðÜ Û Û Û 	Û 	Û Ý ç dÕ dß dÕ d÷÷ ñ ó à	ˆ×	Ñ	˜8Ó	$€à—‘—‘Ð 0°,Ó?€ØˆB�J‰JÐ.Ó/€	Ø€	Ø€ð+˜Cð + Có +ð €ˆˆS�$ˆY‰Ó Ø A°)°$·)±)³+Ñ	>€Ø!€ˆT�#�t�)‰_Ó !òÐ ð*˜Fð *¨\×-FÑ-Fó *ð"C˜6ð C¨L×,EÑ,Eó Cð0* ð *°×1JÑ1Jó *ð
*˜Fð *¨\×-FÑ-Fó *ð4*˜vð *°×0IÑ0Ió *ð D ð D°,×2KÑ2Kó Dð
C ð 
C°×1JÑ1Jó 
Cð vð °$°s±)ó ð@˜&ð @¨<×+DÑ+Dó @ð@˜&ð @¨<×+DÑ+Dó @ð#˜6ð #¨L×,EÑ,Eó #ð
Q 6ð Q¸Cð QÀcð QÐVYÐ\`ÑV`ó Qðh0˜ð 0¨ð 0¸ð 0Àó 0ð5�3ð 5˜3ó 5òð ˜c E™k¨DÑ0ð  °Só  ð cð °Sð Ð=Qó ð	& sð 	&°cð 	&ÀDÈÁJð 	&ÐSgó 	&ðL`˜fð L`¨|×/HÑ/Hó L`ð^G�Sð G˜Só Gð
&E &ð &E°<×3LÑ3Ló &EðR 6ð °L×4MÑ4Mó ð4]8¨$ð ]8¸ð ]8ÈÈdÉ
ó ]8ð@> Có >óVr    