
    ^hs                         S r SSKrSSKrSSKJrJrJrJrJrJ	r	J
r
JrJrJr  \\\	\
\4rS rS r\" 5       r\" \5      u  rrrr\" \\5      rg)a  Import Qt in a manner suitable for an IPython kernel.

This is the import used for the `gui=qt` or `matplotlib=qt` initialization.

Import Priority:

if Qt has been imported anywhere else:
   use that

if matplotlib has been imported and doesn't support v2 (<= 1.0.1):
    use PyQt4 @v1

Next, ask QT_API env variable

if QT_API not set:
    ask matplotlib what it's using. If Qt4Agg or Qt5Agg, then use the
        version matplotlib is configured with

    else: (matplotlib said nothing)
        # this is the default path - nobody told us anything
        try in this order:
            PyQt default version, PySide, PyQt5
else:
    use what QT_API says

    Note that %gui's implementation will always set a `QT_API`, see
    `IPython.terminal.pt_inputhooks.get_inputhook_name_and_func`

    N)
load_qt
loaded_apienum_factoryQT_API_PYQT6QT_API_PYSIDE6QT_API_PYQT5QT_API_PYSIDE2QT_API_PYQTQT_API_PYSIDEQT_API_PYQT_DEFAULTc                    U c  gU R                   R                  SS5      nUS:X  a  U R                   R                  SS5      nUc  gUR                  5       S:X  a  [        /$ UR                  5       S:X  a  [        /$ UR                  5       S:X  a  [
        /$ [        SU-  5      eUS	:X  aI  U R                   R                  S
S5      nUc  gUR                  5       S:X  a  [        /$ [        SU-  5      eg)z-Constraints placed on an imported matplotlib.NbackendQt4Aggzbackend.qt4pysidepyqt4pyqt4v2z3unhandled value for backend.qt4 from matplotlib: %rQt5Aggzbackend.qt5pyqt5z3unhandled value for backend.qt5 from matplotlib: %r)rcParamsgetlowerr   r   r
   ImportErrorr   )mplr   mpqts      X/home/james-whalen/.local/lib/python3.13/site-packages/IPython/external/qt_for_kernel.pymatplotlib_optionsr   B   s    
{lly$/G(||t4<::<8#!?"ZZ\W$'((ZZ\Y&= O   	 	H	||t4<::<7" >!O   	  
    c                     [        5       n U b  U /$ [        R                  R                  SS5      nUb/  [	        UR
                  R                  S5      5      S:  a  [        /$ [        R                  R                  SS5      nUc-  [        U5      =(       d    [        [        [        [        [        /$ U[        ;  a&  [!        SU< SSR#                  [        5      < 35      eU/$ )	zGReturn a list of acceptable QT APIs, in decreasing order of preference.N
matplotlib.)102QT_APIzInvalid Qt API z, valid values are: z, )r   sysmodulesr   tuple__version__splitr   osenvironr   r   r   r   r	   _qt_apisRuntimeErrorjoin)loadedr   qt_apis      r   get_optionsr1   \   s     \Fx
++//,
-C
5!6!6s!;<N#$$ZZ^^Hd+F~!#& 
+
 	
 
x	"DIIh$79 : 	: xr   )__doc__r*   r%   IPython.external.qt_loadersr   r   r   r   r   r   r	   r
   r   r   r,   r   r1   api_optsQtCoreQtGuiQtSvgr$   enum_helper r   r   <module>r:      sl   B 
 
  & 	 4< =&x0 uf66*r   