+
    Ki  c                   s2   R t . RNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$Nt^ R%IHtHt / t/ t ! R& R']4      t ! R( R)]4      t ! R* R+]4      t	R, t
R- tR. tR6R/ ltR0 tR1 tR2 R3 ltR4 tR5# )7zRunner loadersZatari800ZazaharZcemuZdolphinZdosboxZduckstationZeasyrpgZflatpakZfsuaeZhatariZjzintvZlibretroZlinuxZmameZmednafenZmupen64plusZo2emZosmoseZpcsx2Zpico8ZredreamZreicastZrpcs3ZryujinxZscummvmZshadps4Zsnes9xZsteamZviceZvita3kZwebZwineZxemuZxeniaZyuzuZzdoom)LutrisErrorMisconfigurationErrorc                   s    ] tR t^0tRtRtR# )InvalidRunnerErrorz;Raise if a runner name is used that is not known to Lutris. NZ__name__Z
__module__Z__qualname__Z__firstlineno____doc__Z__static_attributes__r       </usr/lib/python3.14/site-packages/lutris/runners/__init__.pyr   r   0   s    Er   r   c                   s    ] tR t^4tRtRtR# )RunnerInstallationErrorz_Raised if the attempt to install a runner fails, perhaps because
of invalid data from a server.r   Nr   r   r   r   r   r   4   s    &r   r   c                   s    ] tR t^9tRtRtR# )NonInstallableRunnerErrorzjRaised if installed a runner that Lutris cannot install, like Flatpak.
These must be installed separately.r   Nr   r   r   r   r	   r	   9   s    +r   r	   c                 s    \        V 4      '       g   \        R V ,          4      h\        RV ,          \        4       \	        4       V .^ 4      pV'       g   \        RV ,          4      hV# )zInvalid runner name '%s'zlutris.runners.%sz-Runner module for '%s' could not be imported.)is_valid_runner_namer   Z
__import__ZglobalsZlocals)runner_nameZmodule   & r   get_runner_moduler   >   sY    ,, !;k!IJJ+k979fhQ\P]_`aF !PS^!^__Mr   c                s^    V \         9   d   \         V ,          # \        V 4      p\        W4      # )z"Dynamically import a runner class.)ADDON_RUNNERSr   getattr)r   runner_moduler   r   import_runnerr   G   s*    m#[))%k2M=..r   c                s.    \        V 4      p\        W!4      # )zReturn a runner task.)r   r   )runnerZtaskr   s   && r   import_taskr   P   s    %f-M=''r   c                s    . p\          F<  p\        V4      ! 4       pVP                  4       '       g   K+  VP                  V4       K>  	  V '       d   \	        V4      # T# )z5Return a list of installed runners (class instances).)__all__r   Zis_installedappendZsorted)ZsortZ	installedr   r   s   &   r   get_installedr   V   sO    I{+-  V$  !%6)3)3r   c                 s    V  F4  pV\         9  g   K  W,          \        V&   \         P                  V4       K6  	  \        P	                  4        R # N)r   r   r   _cached_runner_human_namesZclear)Zrunnersr   r   r   inject_runnersr   `   s;    g%)0)=M+&NN;'  $$&r   c                  s    \         # r   r   r   r   r   get_runner_namesr   h   s    Nr   c                s0    V ^8  d   QhR\         R\        /# )i   r   Zreturn)ZstrZbool)Zformats   "r   __annotate__r   l   s     " "c "d "r   c                 s    V \         9   # r   r   r      &r   r
   r
   l   s    '!!r   c                s    V '       dH   V \         9  d0    \        V 4      ! 4       P                  \         V &   \         V ,          # \         V ,          # R#   \         d    T \         T &    \         T ,          # i ; i)zReturns a human-readable name for a runner; as a convenience, if the name
is falsy (None or blank) this returns an empty string. Provides caching for the
names.Z )r   r   Z
human_namer   r   r   r   get_runner_human_namer   p   ss     88F:G:T:V:a:a*;7 *+66)+66	 & F:E*;7)+66Fs   !A A54A5N)T)r   r   Zlutris.exceptionsr    r   r   r   r   r   r	   r   r   r   r   r   r   r
   r   r   r   r   <module>r       s   %%% % 	%
 % % % % % % % % % % %  !%" #%$ %%& '%( )%* +%, -%. /%0 1%2 3%4 5%6 7%8 9%: ;%< =%> 
?%@ A%B C%D E%F G%H I%N A F. F&k &
+ +
/(4'"r   