a b T@sdZddlZddlmZmZmZmZedd\ZZ Z Z Z Z Zedd\ZZedd \ZZZZd Zed d \ZZed d \ZZed d \ZZZZdZedd\ZZ Z!edd\ Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,eeZ-ee Z.ee Z/ee Z0ee Z1ee Z2eeZ3eeZ4eeZ5eeZ6eeZ7eeZ8eeZ9eeZ:eeZ;eeZeeZ?eeZ@eeZAeeZBeeZCee ZDee!ZEee"ZFee#ZGee$ZHee%ZIee&ZJee'ZKee(ZLee)ZMee*ZNee+ZOee,ZPede de de de de dedededddddd d!d"d#d$d%d&d'd(d)ed*ed+ed,ed-ed.ed/ed0e d1e!d2e"d3e#d4e$d5e%d6e&d7e'd8e(d9e)d:e*d;e+ded?ed@edAedBedCi*ZQedD\ZRZSZTeddE\ZUZVZWZXZYdFdGdHdIdJZZdK\Z[Z\Z]edZ^edZ_edLZ`edMZaedNZbedOZcebecZderebZeecZfndNZedOZfdPdQZgedRZhedSZidTZjdUZkdVZldWZmdXZndYZodZZpejqZqejrZrejsZsejtZtejuZud[Zvd\Zwd]Zxd]Zyd^ZzdRZ{dS)_z( Common constants and global variables. N)byte_chrPY2longb26<>?COPSZeZ disconnectignoreZ unimplementeddebugzservice-requestzservice-acceptZkexinitzext-infoZnewkeysZkex30Zkex31 Zkex32!Zkex33"Zkex34(Zkex40)Zkex41zuserauth-requestzuserauth-failurezuserauth-successzuserauth--bannerzuserauth-60(pk-ok/info-request)zuserauth-info-responsezglobal-requestzrequest-successzrequest-failurez channel-openzchannel-open-successzchannel-open-failurezchannel-window-adjustz channel-datazchannel-extended-dataz channel-eofz channel-closezchannel-requestzchannel-successzchannel-failurezuserauth-gssapi-responsezuserauth-gssapi-tokenz!userauth-gssapi-exchange-completezuserauth-gssapi-errorzuserauth-gssapi-error-tokenzuserauth-gssapi-miczAdministratively prohibitedzConnect failedzUnknown channel typezResource shortage)rr) r!r# c CsLz t|WStyFz|WYSty@|YYS0Yn0dS)z: Coerce to bytes if possible or return unchanged. N)r TypeErrorasbytesAttributeError)sr+6/tmp/pip-target-98j97qn4/lib/python/paramiko/common.pyr(s   r(lliiiiii8g{Gz?i ii)|__doc__loggingZparamiko.py3compatrrrrrangeZMSG_DISCONNECTZ MSG_IGNOREZMSG_UNIMPLEMENTEDZ MSG_DEBUGZMSG_SERVICE_REQUESTZMSG_SERVICE_ACCEPTZ MSG_EXT_INFOZ MSG_KEXINITZ MSG_NEWKEYSZMSG_USERAUTH_REQUESTZMSG_USERAUTH_FAILUREZMSG_USERAUTH_SUCCESSZMSG_USERAUTH_BANNERZMSG_USERAUTH_PK_OKZMSG_USERAUTH_INFO_REQUESTZMSG_USERAUTH_INFO_RESPONSEZMSG_USERAUTH_GSSAPI_RESPONSEZMSG_USERAUTH_GSSAPI_TOKENZ%MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETEZMSG_USERAUTH_GSSAPI_ERRORZMSG_USERAUTH_GSSAPI_ERRTOKZMSG_USERAUTH_GSSAPI_MICZHIGHEST_USERAUTH_MESSAGE_IDZMSG_GLOBAL_REQUESTZMSG_REQUEST_SUCCESSZMSG_REQUEST_FAILUREZMSG_CHANNEL_OPENZMSG_CHANNEL_OPEN_SUCCESSZMSG_CHANNEL_OPEN_FAILUREZMSG_CHANNEL_WINDOW_ADJUSTZMSG_CHANNEL_DATAZMSG_CHANNEL_EXTENDED_DATAZMSG_CHANNEL_EOFZMSG_CHANNEL_CLOSEZMSG_CHANNEL_REQUESTZMSG_CHANNEL_SUCCESSZMSG_CHANNEL_FAILUREZcMSG_DISCONNECTZ cMSG_IGNOREZcMSG_UNIMPLEMENTEDZ cMSG_DEBUGZcMSG_SERVICE_REQUESTZcMSG_SERVICE_ACCEPTZ cMSG_EXT_INFOZ cMSG_KEXINITZ cMSG_NEWKEYSZcMSG_USERAUTH_REQUESTZcMSG_USERAUTH_FAILUREZcMSG_USERAUTH_SUCCESSZcMSG_USERAUTH_BANNERZcMSG_USERAUTH_PK_OKZcMSG_USERAUTH_INFO_REQUESTZcMSG_USERAUTH_INFO_RESPONSEZcMSG_USERAUTH_GSSAPI_RESPONSEZcMSG_USERAUTH_GSSAPI_TOKENZ&cMSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETEZcMSG_USERAUTH_GSSAPI_ERRORZcMSG_USERAUTH_GSSAPI_ERRTOKZcMSG_USERAUTH_GSSAPI_MICZcMSG_GLOBAL_REQUESTZcMSG_REQUEST_SUCCESSZcMSG_REQUEST_FAILUREZcMSG_CHANNEL_OPENZcMSG_CHANNEL_OPEN_SUCCESSZcMSG_CHANNEL_OPEN_FAILUREZcMSG_CHANNEL_WINDOW_ADJUSTZcMSG_CHANNEL_DATAZcMSG_CHANNEL_EXTENDED_DATAZcMSG_CHANNEL_EOFZcMSG_CHANNEL_CLOSEZcMSG_CHANNEL_REQUESTZcMSG_CHANNEL_SUCCESSZcMSG_CHANNEL_FAILUREZ MSG_NAMESZAUTH_SUCCESSFULZAUTH_PARTIALLY_SUCCESSFULZ AUTH_FAILEDZOPEN_SUCCEEDEDZ'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITEDZOPEN_FAILED_CONNECT_FAILEDZ OPEN_FAILED_UNKNOWN_CHANNEL_TYPEZOPEN_FAILED_RESOURCE_SHORTAGEZCONNECTION_FAILED_CODEZ DISCONNECT_SERVICE_NOT_AVAILABLEZ!DISCONNECT_AUTH_CANCELLED_BY_USERZ)DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLEZ zero_byteZone_byteZ four_byteZmax_byteZcr_byteZ linefeed_byteZcrlfZ cr_byte_valueZlinefeed_byte_valuer(Z xffffffffZ x80000000Zo666Zo660Zo644Zo600Zo777Zo700Zo70DEBUGINFOWARNINGERRORCRITICALZio_sleepZDEFAULT_WINDOW_SIZEZDEFAULT_MAX_PACKET_SIZEZMIN_WINDOW_SIZEZMIN_PACKET_SIZEZMAX_WINDOW_SIZEr+r+r+r,s\  /