+
    —h©je  ã                   óž   € ^ RI t ^ RIt^ RIHt  ^ RIt]! ]R^4      tR
R ltRR lt	 ! R R]
4      t ! R R	]
4      tR#   ] d    Rt L7i ; i)é    N)Ú
exceptionsÚEINTRc                 ó  €   \         P                  ! W3VR7      p \        T^
R7       Tf^   T'       dV   \        P                  ! 4       pT'       d   YEn
        \        P                  Tn        MRTn
        \        P                  Tn        Te   TP                  YpR7      p\        T4      #   \         P                   d>   pTP                  ^ ,          \        8w  d   \
        P                  ! T4      h Rp?Kø  Rp?ii ; i)T)ÚtimeoutN)Úafter_idle_secF)Úserver_hostname)ÚsocketÚcreate_connectionÚerrorÚargsr   r   ÚRouterOsApiConnectionErrorÚset_keepaliveÚsslÚcreate_default_contextÚcheck_hostnameÚCERT_REQUIREDÚverify_modeÚ	CERT_NONEÚwrap_socketÚSocketWrapper)	ÚhostnameÚportÚuse_sslÚ
ssl_verifyÚssl_verify_hostnameÚssl_contextr   Ú
api_socketÚes	   &&&&&&&  ÚR/var/www/html/bestweb/venv/lib/python3.14/site-packages/routeros_api/api_socket.pyÚ
get_socketr       sÏ   € à
ð	Ü×1Ò1°8Ð2BÈGÔTˆJð
 Ü�*¨RÕ0àÒŸwÜ×0Ò0Ó2ˆßØ)<Ô&Ü&)×&7Ñ&7ˆKÕ#à).ˆKÔ&Ü&)§m¡mˆKÔ#ØÒØ ×,Ñ,¨ZÐ,ÓRˆ
Ü˜Ó$Ð$øô# �|‰|ô 	?Ø�v‰v�a�yœEÔ!Ü ×;Ò;¸AÓ>Ð>õ "ûð	?ús   ƒB, Â,C>Ã2C9Ã9C>c                ó2  € \        \        R4      '       d0   V P                  \        P                  \        P                  ^4       \        \        R4      '       d0   V P                  \        P
                  \        P                  V4       \        \        R4      '       d0   V P                  \        P
                  \        P                  V4       \        \        R4      '       d2   V P                  \        P
                  \        P                  V4       R# R# )zêSet TCP keepalive on an open socket.

It activates after 1 second (after_idle_sec) of idleness,
then sends a keepalive ping once every 3 seconds (interval_sec),
and closes the connection after 5 failed ping (max_fails), or 15 seconds
ÚSO_KEEPALIVEÚTCP_KEEPIDLEÚTCP_KEEPINTVLÚTCP_KEEPCNTN)	Úhasattrr	   Ú
setsockoptÚ
SOL_SOCKETr"   ÚIPPROTO_TCPr#   r$   r%   )Úsockr   Úinterval_secÚ	max_failss   &&&&r   r   r   (   s­   € ô Œv�~×&Ò&Ø�‰œ×)Ñ)¬6×+>Ñ+>ÀÔBÜŒv�~×&Ò&Ø�‰œ×*Ñ*¬F×,?Ñ,?ÀÔPÜŒv�×'Ò'Ø�‰œ×*Ñ*¬F×,@Ñ,@À,ÔOÜŒv�}×%Ò%Ø�‰œ×*Ñ*¬F×,>Ñ,>À	ÖJñ &ó    c                   ó,   a € ] tR t^9t o R tR tRtV tR# )ÚDummySocketc                ó   € R # ©N© ©Úselfs   &r   ÚcloseÚDummySocket.close:   ó   € Ùr-   c                ó   € R # r1   r2   ©r4   r   s   &&r   Ú
settimeoutÚDummySocket.settimeout=   r7   r-   r2   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r5   r:   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r/   r/   9   s   ø‡ € ò÷ð r-   r/   c                   óD   a € ] tR t^At o R tR tR tR tR tR t	Rt
V tR# )	r   c                ó   € Wn         R # r1   ©r	   )r4   r	   s   &&r   Ú__init__ÚSocketWrapper.__init__B   s   € ØŽr-   c                ó8   € V P                   P                  V4      # r1   )r	   Úsendall)r4   Úbytess   &&r   ÚsendÚSocketWrapper.sendE   s   € Ø�{‰{×"Ñ" 5Ó)Ð)r-   c                ó¨   €   V P                  V4      #   \        P                   d)   pTP                  ^ ,          \        8X  d    Rp?KJ  h Rp?ii ; i)TN)Ú_receive_and_check_connectionr	   r   r   r   )r4   Úlengthr   s   && r   ÚreceiveÚSocketWrapper.receiveH   sE   € ØðØ×9Ñ9¸&ÓAÐAøÜ—<‘<ô Ø—6‘6˜!•9¤Ô%Ýàûð	ús   ƒ ”A©AÁAÁAc                ól   € V P                   P                  V4      pV'       d   V# \        P                  hr1   )r	   Úrecvr   Ú RouterOsApiConnectionClosedError)r4   rP   rK   s   && r   rO   Ú+SocketWrapper._receive_and_check_connectionR   s*   € Ø—‘× Ñ  Ó(ˆßØˆLä×=Ñ=Ð=r-   c                ó6   € V P                   P                  4       # r1   )r	   r5   r3   s   &r   r5   ÚSocketWrapper.closeY   s   € Ø�{‰{× Ñ Ó"Ð"r-   c                ó<   € V P                   P                  V4       R # r1   )r	   r:   r9   s   &&r   r:   ÚSocketWrapper.settimeout\   s   € Ø�‰×Ñ˜wÖ'r-   rF   N)r<   r=   r>   r?   rG   rL   rQ   rO   r5   r:   r@   rA   rB   s   @r   r   r   A   s(   ø‡ € òò*òò>ò#÷(ð (r-   r   )FTTNg      .@)é   é   é   )r	   r   Úrouteros_apir   ÚerrnoÚImportErrorÚgetattrr   r    r   Úobjectr/   r   r2   r-   r   Ú<module>rc      s`   ðÛ Û 
å #ðÛñ 	��w Ó"€ô%ô4Kô"�&ô ô(�Fö (øðs ô Ø‚Eðús   �A  Á 	AÁA