JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Re@sddlZddlZddlZddlZddlZddlmZddlm Z ddZ e Z e ej j ZGdddeZ Gd d d e ZdS) N)map) get_unpatchedc Cs=d}yt|ddgjdSWntk r8YnXdS)z0 Return True if Cython can be imported. zCython.Distutils.build_extfromlist build_extTF) __import__r Exception)Z cython_implr /builddir/build/BUILDROOT/alt-python35-setuptools-36.3.0-4.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/setuptools/extension.py _have_cython s r c@s.eZdZdZddZddZdS) Extensionz7Extension that uses '.c' files in place of '.pyx' filescOs2|jdd|_tj|||||dS)Npy_limited_apiF)popr _Extension__init__)selfnamesourcesargskwr r r r#szExtension.__init__cCsqtr dS|jpd}|jdkr4dnd}tjtjd|}tt||j |_ dS)z Replace sources with .pyx extensions to sources with the target language extension. This mechanism allows language authors to supply pre-converted sources but to prefer the .pyx sources. Nzc++z.cppz.cz.pyx$) r languagelower functoolspartialresublistrr)rlangZ target_extrr r r _convert_pyx_sources_to_lang)s  z&Extension._convert_pyx_sources_to_langN)__name__ __module__ __qualname____doc__rrr r r r r s  r c@seZdZdZdS)Libraryz=Just like a regular Extension, but built as a library insteadN)r r!r"r#r r r r r$8s r$)rrdistutils.core distutilsdistutils.errorsdistutils.extensionZsetuptools.extern.six.movesrZmonkeyrr Z have_pyrexcorer rr$r r r r s