+
    —h©j  ã                   ó´   € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 RR	 lt
 ! R
 R]4      t ! R R]4      t ! R R4      tR# )é    N)Úapi_communicator)Ú
api_socket)Úapi_structure)Úbase_api)Úcommunication_exception_parsers)Ú
exceptions)Úresourcec	                 ó<   € \        WW#WEWgV4	      P                  4       # ©N)ÚRouterOsApiPoolÚget_api)	ÚhostÚusernameÚpasswordÚportÚplaintext_loginÚuse_sslÚ
ssl_verifyÚssl_verify_hostnameÚssl_contexts	   &&&&&&&&&ÚK/var/www/html/bestweb/venv/lib/python3.14/site-packages/routeros_api/api.pyÚconnectr      s"   € äØ˜¨À*Ðcnóç�gƒiðó    c                   óL   a € ] tR t^t o RtR
R ltR tR tR tR t	R t
R	tV tR# )r   g      .@Nc
                óH  € Wn         W n        W0n        WPn        W�n        V	e	   RV n        MW`n        Wpn        W€n        T;'       g    V P                  V P
                  4      V n	        RV n
        \        P                  ! 4       V n        \        P                  ! 4       V n        R # )NTF)r   r   r   r   r   r   r   r   Ú_select_default_portr   Ú	connectedr   ÚDummySocketÚsocketr   ÚExceptionHandlerÚcommunication_exception_parser)
Úselfr   r   r   r   r   r   r   r   r   s
   &&&&&&&&&&r   Ú__init__ÚRouterOsApiPool.__init__   sƒ   € àŒ	Ø ŒØ ŒØ.ÔØ&ÔàÒ"ØˆD�Là"ŒLØ$ŒØ#6Ô à×CÐC˜D×5Ñ5°d·l±lÓCˆŒ	àˆŒÜ ×,Ò,Ó.ˆŒä+×<Ò<Ó>ð 	Ö+r   c           
     óp  € V P                   '       Eg   \        P                  ! V P                  V P                  V P
                  V P                  V P                  V P                  V P                  R 7      V n
        \        P                  ! V P                  4      p\        P                  ! V4      p\        V4      V n        V P#                  4        F  pVP%                  V4       K  	  V P                   P'                  V P(                  V P*                  V P,                  4       RV n         V P                   # ))Útimeoutr   r   r   r   T)r   r   Ú
get_socketr   r   Úsocket_timeoutr   r   r   r   r   r   Ú
Connectionr   ÚApiCommunicatorÚRouterOsApiÚapiÚ_get_exception_handlersÚadd_exception_handlerÚloginr   r   r   )r"   ÚbaseÚcommunicatorÚhandlers   &   r   r   ÚRouterOsApiPool.get_api-   sØ   € Ø�~�~‰~Ü$×/Ò/Ø—	‘	˜4Ÿ9™9¨d×.AÑ.AÈ4Ï<É<Ðdh×dsÑdsØ$(×$<Ñ$<È$×JZÑJZô\ˆDŒKô ×&Ò& t§{¡{Ó3ˆDÜ+×;Ò;¸DÓAˆLÜ" <Ó0ˆDŒHØ×7Ñ7Ö9�Ø×2Ñ2°7Ö;ñ :à�H‰H�N‰N˜4Ÿ=™=¨$¯-©-¸×9MÑ9MÔNØ!ˆDŒNØ�x‰xˆr   c                ó|   € R V n         V P                  P                  4        \        P                  ! 4       V n        R# )FN)r   r   Úcloser   r   ©r"   s   &r   Ú
disconnectÚRouterOsApiPool.disconnect;   s)   € ØˆŒØ�‰×ÑÔÜ ×,Ò,Ó.ˆŽr   c                óH   € Wn         V P                  P                  V4       R # r   )r(   r   Ú
settimeout)r"   r(   s   &&r   Úset_timeoutÚRouterOsApiPool.set_timeout@   s   € Ø,ÔØ�‰×Ñ˜~Ö.r   c              #  óD   "  € \        V 4      x € V P                  x € R # 5ir   )ÚCloseConnectionExceptionHandlerr!   r6   s   &r   r-   Ú'RouterOsApiPool._get_exception_handlersD   s   é € Ü-¨dÓ3Ò3Ø×1Ñ1Ô1ùs   ‚ c                ó   € V'       d   R # R# )i"  i"  © )r"   r   s   &&r   r   Ú$RouterOsApiPool._select_default_portH   s   € ßÙár   )r,   r!   r   r   r   r   r   r   r(   r   r   r   r   r   ©ÚadminÚ NFFTTN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r(   r#   r   r7   r;   r-   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s.   ø‡ € Ø€Nô@ò,ò/ò
/ò2÷ð r   r   c                   ó<   a € ] tR t^Ot o R tR tRR ltR tRtV t	R# )r+   c                ó   € Wn         R # r   ©r1   )r"   r1   s   &&r   r#   ÚRouterOsApi.__init__P   s   € Ø(Ör   c                óØ  € \        V\        4      '       d   VP                  4       p\        V\        4      '       d   VP                  4       pR pV'       d'   V P                  R4      P	                  RRVRV/4      pM V P                  R4      P	                  R4      pRVP
                  9   d½   \        P                  ! VP
                  R,          4      p\        P                  ! 4       pVP                  R4       VP                  V4       VP                  V4       RVP                  4       P                  R4      ,           pV P                  R4      P	                  RRVR	V/4       R # R # )
NÚ/r/   Únamer   Úretó    s   00ÚasciiÚresponse)Ú
isinstanceÚstrÚencodeÚget_binary_resourceÚcallÚdone_messageÚbinasciiÚ	unhexlifyÚhashlibÚmd5ÚupdateÚ	hexdigest)r"   r/   r   r   rX   ÚtokenÚhasherÚhasheds   &&&&    r   r/   ÚRouterOsApi.loginS   s   € Ü�eœS×!Ò!Ø—L‘L“NˆEÜ�h¤×$Ò$Ø—‘Ó(ˆHØˆßØ×/Ñ/°Ó4×9Ñ9¸'ÀFÈEÐS]Ð_gÐChÓi‰Hà×/Ñ/°Ó4×9Ñ9¸'ÓBˆHØ�H×)Ñ)Ô)Ü×&Ò& x×'<Ñ'<¸UÕ'CÓDˆEÜ—[’[“]ˆFØ�M‰M˜'Ô"Ø�M‰M˜(Ô#Ø�M‰M˜%Ô Ø˜V×-Ñ-Ó/×6Ñ6°wÓ?Õ?ˆFØ×$Ñ$ SÓ)×.Ñ.Ø˜& %¨°VÐ<ö>ñ *r   Nc                ól   € Vf   \         P                  p\        P                  ! V P                  W4      # r   )r   Údefault_structurer	   ÚRouterOsResourcer1   )r"   ÚpathÚ	structures   &&&r   Úget_resourceÚRouterOsApi.get_resourceg   s,   € ØÒÜ%×7Ñ7ˆIÜ×(Ò(¨×):Ñ):¸DÓLÐLr   c                óD   € \         P                  ! V P                  V4      # r   )r	   ÚRouterOsBinaryResourcer1   )r"   rl   s   &&r   r\   ÚRouterOsApi.get_binary_resourcel   s   € Ü×.Ò.¨t×/@Ñ/@À$ÓGÐGr   rP   r   )
rF   rG   rH   rI   r#   r/   rn   r\   rJ   rK   rL   s   @r   r+   r+   O   s!   ø‡ € ò)ò>ô(M÷
Hð Hr   r+   c                   ó,   a € ] tR t^pt o R tR tRtV tR# )r>   c                ó   € Wn         R # r   ©Úpool)r"   rv   s   &&r   r#   Ú(CloseConnectionExceptionHandler.__init__q   s   € ØŽ	r   c                óÆ   € \        V\        P                  4      p\        V\        P                  4      pV'       g	   V'       d   V P                  P                  4        R # R # r   )rY   r   ÚRouterOsApiConnectionErrorÚFatalRouterOsApiErrorrv   r7   )r"   Ú	exceptionÚconnection_closedÚfatal_errors   &&  r   ÚhandleÚ&CloseConnectionExceptionHandler.handlet   sD   € Ü&Ø”z×<Ñ<ó>Ðä  ¬J×,LÑ,LÓMˆß§Ø�I‰I× Ñ Ö"ñ !,r   ru   N)rF   rG   rH   rI   r#   r~   rJ   rK   rL   s   @r   r>   r>   p   s   ø‡ € ò÷#ð #r   r>   rC   )r_   ra   Úrouteros_apir   r   r   r   r   r   r	   r   Úobjectr   r+   r>   rA   r   r   Ú<module>r‚      sK   ðÛ Û å )Ý #Ý &Ý !Ý 8Ý #Ý !ôô8�fô 8ôvH�&ô H÷B	#ó 	#r   