Ë
    ö­¦jL  ã                  ó$  — d dl mZ g d¢Zd dlZd dlmZmZmZ d dlm	Z	 d dl
mZmZ erd dlmZ d dlmZ  ej"                  d	«      Zd
Z	 	 d	 	 	 	 	 	 	 	 	 dd„Z	 	 d	 	 	 	 	 	 	 	 	 dd„Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zy)é    )Úannotations)Úcreate_deep_linkÚcreate_start_linkÚcreate_startapp_linkÚcreate_startgroup_linkÚcreate_telegram_linkÚdecode_payloadÚencode_payloadN)ÚTYPE_CHECKINGÚLiteralÚcast)r   )r	   r
   )ÚCallable)ÚBotz[^a-zA-Z0-9-_]é@   c              ƒ  óŽ   K  — | j                  «       ƒ d{  –—† j                  }t        t        t        |«      d|||¬«      S 7 Œ,­w)aS  
    Create 'start' deep link with your payload.

    If you need to encode payload or pass special characters - set encode as True

    :param bot: bot instance
    :param payload: args passed with /start
    :param encode: encode payload with base64url or custom encoder
    :param encoder: custom encoder callable
    :return: link
    NÚstart©ÚusernameÚ	link_typeÚpayloadÚencodeÚencoder©Úmer   r   r   Ústr©Úbotr   r   r   r   s        úM/var/www/html/venv/lib/python3.12/site-packages/aiogram/utils/deep_linking.pyr   r      sC   è ø€ ð" —f‘f“h—×(Ñ(€HÜÜ”c˜8Ó$ØØØØôð ð úó   ‚A–A—-Ac              ƒ  óŽ   K  — | j                  «       ƒ d{  –—† j                  }t        t        t        |«      d|||¬«      S 7 Œ,­w)aX  
    Create 'startgroup' deep link with your payload.

    If you need to encode payload or pass special characters - set encode as True

    :param bot: bot instance
    :param payload: args passed with /start
    :param encode: encode payload with base64url or custom encoder
    :param encoder: custom encoder callable
    :return: link
    NÚ
startgroupr   r   r   s        r   r   r   7   sC   è ø€ ð" —f‘f“h—×(Ñ(€HÜÜ”c˜8Ó$ØØØØôð ð úr   c              ƒ  ó�   K  — | j                  «       ƒ d{  –—† j                  }t        t        t        |«      d||||¬«      S 7 Œ-­w)aS  
    Create 'startapp' deep link with your payload.

    If you need to encode payload or pass special characters - set encode as True

    **Read more**:

    - `Main Mini App links <https://core.telegram.org/api/links#main-mini-app-links>`_
    - `Direct mini app links <https://core.telegram.org/api/links#direct-mini-app-links>`_

    :param bot: bot instance
    :param payload: args passed with /start
    :param encode: encode payload with base64url or custom encoder
    :param app_name: if you want direct mini app link
    :param encoder: custom encoder callable
    :return: link
    NÚstartapp)r   r   r   Úapp_namer   r   r   )r   r   r   r$   r   r   s         r   r   r   R   sF   è ø€ ð0 —f‘f“h—×(Ñ(€HÜÜ”c˜8Ó$ØØØØØôð ð ús   ‚A–A—.Ac                ót  — t        |t        «      st        |«      }|s|rt        ||¬«      }t        j                  t
        |«      rd}t        |«      ‚t        |«      t        kD  rdt        › d�}t        |«      ‚|st        | fi t        t        |«      |i¤Ž}|S t        | |fi t        t        |«      |i¤Ž}|S )aV  
    Create deep link.

    :param username:
    :param link_type: `start`, `startgroup` or `startapp`
    :param payload: any string-convertible data
    :param app_name: if you want direct mini app link
    :param encode: encode payload with base64url or custom encoder
    :param encoder: custom encoder callable
    :return: deeplink
    )r   zfWrong payload! Only A-Z, a-z, 0-9, _ and - are allowed. Pass `encode=True` or encode payload manually.zPayload must be up to z characters long.)Ú
isinstancer   r
   ÚreÚsearchÚBAD_PATTERNÚ
ValueErrorÚlenÚDEEPLINK_PAYLOAD_LENGTHr   r   )r   r   r   r$   r   r   ÚmsgÚ	deep_links           r   r   r   u   sÀ   € ô& �gœsÔ#Ü�g“,ˆá‘Ü  °'Ô:ˆä	‡y�y”˜gÔ&ð=ð 	ô ˜‹oÐä
ˆ7ƒ|Ô-Ò-Ø&Ô'>Ð&?Ð?PÐQˆÜ˜‹oÐáÜ(¨ÑU´d¼3À	Ó6JÈGÐ5TÑUˆ	ð Ðô )¨°8Ñ_ÄÄSÈ)Ó@TÐV]Ð?^Ñ_ˆ	àÐó    )FN)
r   r   r   r   r   Úboolr   úCallable[[bytes], bytes] | NoneÚreturnr   )FNN)r   r   r   r   r   r0   r$   ú
str | Noner   r1   r2   r   )NFN)r   r   r   z*Literal['start', 'startgroup', 'startapp']r   r   r$   r3   r   r0   r   r1   r2   r   )Ú
__future__r   Ú__all__r'   Útypingr   r   r   Úaiogram.utils.linkr   Úaiogram.utils.payloadr	   r
   Úcollections.abcr   Úaiogramr   Úcompiler)   r,   r   r   r   r   © r/   r   ú<module>r=      sQ  ðÝ "ò€ó 
ß /Ñ /å 3ß @áÝ(åàˆb�j‰jÐ*Ó+€ØÐ ð Ø/3ð	Ø	ðàðð ðð -ð	ð
 	óð< Ø/3ð	Ø	ðàðð ðð -ð	ð
 	óð< ØØ/3ð Ø	ð àð ð ð ð ð	 ð
 -ð ð 	ó ðN  ØØ/3ð)Øð)à9ð)ð ð)ð ð	)ð
 ð)ð -ð)ð 	ô)r/   