f#dZddlZddlZddlZddlZddlZddlZddlmZ  ddl Z ddl Z ddl mZddlZddlZdZdZdZed k(reyy#e $rdZ Y4wxYw#e $rdZ YwxYw) z'Module containing bug report helper(s).N) __version__) pyopensslc&tj}|dk(rtj}n|dk(rdjtj j tj jtj j}tj jdk7rbdj|tj jg}n6|dk(rtj}n|dk(rtj}nd}||d S) aReturn a dict with the Python implementation and version. Provide both the name and the version of the Python implementation currently running. For example, on CPython 3.10.3 it will return {'name': 'CPython', 'version': '3.10.3'}. This function works best on CPython and PyPy: in particular, it probably doesn't work for Jython or IronPython. Future investigation should be done to work out the correct shape of the code for those platforms. CPythonPyPyz{}.{}.{}finalJython IronPythonUnknown)nameversion) platformpython_implementationpython_versionformatsyspypy_version_infomajorminormicro releaseleveljoin)implementationimplementation_versions V/var/lib/jenkins/workspace/mettalog/venv/lib/python3.12/site-packages/requests/help.py_implementationr"s335N"!)!8!8!: 6 !!+!2!2  ! ! ' '  ! ! ' '  ! ! ' '"   - - 8%'WW')>)>)K)KL& " 8 #!)!8!8!: < '!)!8!8!:!*"/E FFc X tjtjd}t }dt j i}ddi}ddi}trdtj i}trdtj i}ddd}tr-tj tjjdd}dttddi}dttddi}tj}d||dndi} ||| t dutdu||||||dt"id S#t$rddd}YwxYw) z&Generate information for a bug report.)systemreleaser rNr )ropenssl_versionxr) rr system_sslusing_pyopensslusing_charset_normalizer pyOpenSSLurllib3chardetcharset_normalizer cryptographyidnarequests)rr!r"OSErrorrr)rr+r*OpenSSLSSLOPENSSL_VERSION_NUMBERgetattrr,r-sslrrequests_version) platform_infoimplementation_info urllib3_infocharset_normalizer_info chardet_infopyopenssl_infocryptography_info idna_infor%system_ssl_infos rinfor?Esd  oo''') *+w223L($/t$L#,.@.L.L"M!7#6#67 N**")++"D"DQ!G  7<; 743I++J z7MZNSUVO"-%$D0$+tO#5) '  E     s)DD)(D)cVttjtddy)z)Pretty-print the bug information as JSON.T) sort_keysindentN)printjsondumpsr?rrmainrHs $**TVtA 67r__main__)__doc__rErr4rr-r)r rr5r+ ImportErrorr*urllib3.contribrr,r0rr?rH__name__rGrrrNs-  -)  GF8v8  zFm G IGLs3AAA+AAA('A(+ A98A9