
    Cj                     b    % S SK Jr  S SKJrJr  Sr\\S'   \S-  r\\S'   \S4S\S	\S
S4S jjr	g)    )sleep)	monotonicprocess_timeg{Gz?SLEEP_GRANULARITYg      4@
SLEEP_IDLE   	min_sleep	max_sleepreturnNc                    #    [        5       n [        5       n[        [        5      I Sh  vN   [        5       U-
  n[        5       U-
  nXQ:  a  gXP:  a  U[        :  a  gMS   N67f)a  Wait until the process isn't working very hard.

This will compare wall clock time with process time. If the process time
is not advancing at the same rate as wall clock time it means the process is
idle (i.e. sleeping or waiting for input).

When the process is idle it suggests that input has been processed and the state
is predictable enough to test.

Args:
    min_sleep: Minimum time to wait.
    max_sleep: Maximum time to wait.
N)r   r   r   r   r   )r	   r
   
start_timecpu_timecpu_elapsedelapsed_times         _/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/_wait.pywait_for_idler      sf       J
>%&&&"nx/ {Z/ $ #j(@  	's   (A#A!7A#)
asyncior   timer   r   r   float__annotations__r   r        r   <module>r      sI     (! 5 !%,
E , )Q!!5:!	!r   