Ë
    S"“j  ã                   ó@   — d dl Z ddlmZmZ ddlmZmZ  G d„ d«      Zy)é    Né   )ÚutilsÚhints)ÚtypesÚcustomc                   ó&   — e Zd Ze	 	 	 	 dd„«       Zy)ÚButtonMethodsc                 óø  — | €y	 | j                   dk(  r| S 	 t        j                  | «      s| gg} n| rt        j                  | d   «      s| g} d}d}d}d}d}d}d}g }| D �]G  }	g }
|	D �]  }t	        |t
        j                  «      r…|j                  �|j                  }|j                  �|j                  }|j                  �|j                  }|j                  �|j                  }|j                  �|j                  }|j                  }n&t	        |t
        j                  «      r|j                  }t
        j                  j                  |«      }||z  }|| z  }|j                   dk(  s�Œ|
j                  |«       �Œ |
s�Œ$|j                  t!        j"                  |
«      «       �ŒJ |r|rt%        d«      ‚|rt!        j&                  |«      S t!        j(                  ||||||¬«      S # t        $ r Y �Œáw xY w)aq  
        Builds a :tl:`ReplyInlineMarkup` or :tl:`ReplyKeyboardMarkup` for
        the given buttons.

        Does nothing if either no buttons are provided or the provided
        argument is already a reply markup.

        You should consider using this method if you are going to reuse
        the markup very often. Otherwise, it is not necessary.

        This method is **not** asynchronous (don't use ``await`` on it).

        Arguments
            buttons (`hints.MarkupLike`):
                The button, list of buttons, array of buttons or markup
                to convert into a markup.

        Example
            .. code-block:: python

                from telethon import Button

                markup = client.build_reply_markup(Button.inline('hi'))
                # later
                await client.send_message(chat, 'click me', buttons=markup)
        Nl   òÂE r   Fi£t­z)You cannot mix inline with normal buttons)ÚrowsÚresizeÚ
single_useÚ	selectiveÚ
persistentÚplaceholder)ÚSUBCLASS_OF_IDÚAttributeErrorr   Úis_list_likeÚ
isinstancer   ÚButtonr   r   r   r   r   ÚbuttonÚMessageButtonÚ
_is_inlineÚappendr   ÚKeyboardButtonRowÚ
ValueErrorÚReplyInlineMarkupÚReplyKeyboardMarkup)ÚbuttonsÚ	is_inlineÚ	is_normalr   r   r   r   r   r   ÚrowÚcurrentr   Úinlines                úX/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/telethon/client/buttons.pyÚbuild_reply_markupz ButtonMethods.build_reply_markup   s  € ð< ˆ?Øð	Ø×%Ñ%¨Ò3Ø�ð 4ô
 ×!Ñ! 'Ô*Ø�y�k‰GÙ¤× 2Ñ 2°7¸1±:Ô >Ø�iˆGàˆ	Øˆ	ØˆØˆ
Øˆ	Øˆ
ØˆàˆØó 	>ˆCØˆGØó +�Ü˜f¤f§m¡mÔ4Ø—}‘}Ð0Ø!'§¡˜Ø×(Ñ(Ð4Ø%+×%6Ñ%6˜
Ø×'Ñ'Ð3Ø$*×$4Ñ$4˜	Ø×(Ñ(Ð4Ø%+×%6Ñ%6˜
Ø×)Ñ)Ð5Ø&,×&8Ñ&8˜à#Ÿ]™]‘FÜ ¬×(<Ñ(<Ô=Ø#Ÿ]™]�FäŸ™×1Ñ1°&Ó9�Ø˜VÑ#�	Ø ˜ZÑ'�	à×(Ñ(¨IÔ5Ø—N‘N 6Ö*ð-+ó0 Ø—‘œE×3Ñ3°GÓ<Ö=ð7	>ñ: ™ÜÐHÓIÐIÙÜ×*Ñ*¨4Ó0Ð0Ü×(Ñ(ØØØ!ØØ!Ø#ô
ð 	
øôe ò 	Úð	ús   …G, Ç,	G9Ç8G9N)r   z!typing.Optional[hints.MarkupLike]Úreturnz&typing.Optional[types.TypeReplyMarkup])Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr%   © ó    r$   r	   r	      s(   „ Øð\
Ø8ð\
à	1ò\
ó ñ\
r,   r	   )ÚtypingÚ r   r   Útlr   r   r	   r+   r,   r$   ú<module>r0      s   ðÛ ç ß ÷^
ò ^
r,   