+
    j.                        R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ]! ]4      P                  4       P                   ^,          R,          t^[tRtRtRtRtR	tR
 tR tRR ltR# )zSupervise a captured child run with stall-guard's progress detector.

Fails OPEN: any problem loading or running the detector leaves the child
completely untouched. A watchdog must never be able to break the tool it guards.
)annotationsN)Pathzmonitor/bin/stall-guardg      @g      @g     @g      .@g      $@c                 &    \         P                  P                  R \        \        4      4      p \         P
                  P                  R V 4      p\         P
                  P                  V4      pV P                  V4       V#   \         d     R# i ; i)stall_guardN)
	importlib	machinerySourceFileLoaderstrSTALL_GUARDutilspec_from_loadermodule_from_specexec_module	Exception)loaderspecmodules      J/home/user/overdeck-private-tests/subrouter-s5-systray/stall_supervisor.py_load_detectorr      ss    $$55mSEUV~~..}fE0066" s   A>B BBc                v     \        \        P                  V ,          4      #   \        \        3 d    Tu # i ; i)N)floatosenvironKeyError
ValueError)namedefaults   &&r   
_env_floatr   )   s4    RZZ%&&j! s   " 88c                X  aaa	a
aaaaaaaaaaa \        4       o
\        R\        4      o\        R\        4      o\        R\        4      o\
        P                  P                  RR4      R8g  o\
        P                  P                  R4      o\        P                  ! 4       R,          p\        SR	4      ;_uu_ 4       p\        P                  ! W\        P                  V\        P                  R
R7      o	RRR4       S
fV   \        P                   P#                  R\$         R24       \        P                   P'                  4        S	P)                  4       #  VP+                  R
R
R7       VS R\-        \.        P.                  ! 4       4       RS	P0                   R2,          o. o/ o. o\4        P6                  ! 4       o\.        P8                  ! 4       oV	V
VVVVVVVVVVVVV3R lp\4        P:                  ! VR
R7      pVP=                  4        S	P)                  4       pSP?                  4        VPA                  ^R7       S'       d<   S'       d4   \        P                   P#                  RSR,           RS R24       \B        # V#   + '       g   i     EL; i  \2         d    Ro ELi ; i)zRun argv capturing into log_path, killing it loudly if it stalls.

Returns the child's exit status, or STALL_EXIT when killed for stalling.
CDX_STALL_IDLE_WINDOWCDX_STALL_OUTPUT_CEILINGCDX_STALL_WALL_NOTICECDX_STALL_ENFORCE10CDX_STALL_HEARTBEATz.cache/stall-guardwbT)envstdinstdoutstderrstart_new_sessionNu7   cdx: stall-guard DEGRADED — detector not loadable at z, this run is UNGUARDED
)parentsexist_ok-z.jsonlc                 t  < SP                  \        4      '       EgA    SP                  SP                  4      w  rR \        P
                  ! 4       S,
          RSP                  \        S4      4      RT RTRS
'       d   SP                  S
4      MR/pSP                  V4       S'       d   TR ,          S8  d   S'       g   SP                  TR ,          4       S RTR ,          ^<,          R R2p\        P                  P                  RT R24       \        P                  P                  4         SP                  RS 2T4       SeK    \!        SR4      ;_uu_ 4       pTP                  \"        P$                  ! T4      R,           4       R
R
R
4        SP)                  SSS4      pT'       d	   S'       d   EK  TSR&    SP+                  \        P                  S\        S4      TSP                  4       SP                  RS 2T4       S	'       g&   \        P                  P                  RT R24       R
#  SP-                  SP                  \.        4       R
# R
#   \         d\   p\        P                  P                  RT: R24        SP                  RS 2R	T: 24       M  \         d     Mi ; i R
p?R
# R
p?ii ; i  \         d     ELi ; i  + '       g   i     ELV; i  \&         d2   p\        P                  P                  RT: R24       R
o R
p?ELR
p?ii ; i  \         d0   p\        P                  P                  RT: R24        R
p?R
# R
p?ii ; i  \         d     ELki ; i  \         d0   p\        P                  P                  RT: R24        R
p?R
# R
p?ii ; i)toutcpuiobeatg        uJ   cdx: stall-guard DEGRADED — sampling failed, this run is now UNGUARDED: 
zstall-guard degraded: zsampling failed: Nz still running after z.0fua   m — slower than 99.9% of past runs, but its progress signals are moving. Not a stall; check it.u   cdx: SLOW — zcdx unusually slow: az1cdx: stall-guard trace write failed, continuing: uJ   cdx: stall-guard DEGRADED — detector raised, this run is now UNGUARDED: reasonzcdx stalled: u5   cdx: stall-guard observe mode — would have failed: z2cdx: stall-guard failed to kill the stalled tree: )waitSAMPLE_INTERVALsample_treepidtime	monotonicsize_ofr	   mtime_ofappendr   sysr*   writenotifyflushopenjsondumpsOSErrorclassifydump_diagnostics	kill_tree
KILL_GRACE)r2   io_bytessampleexcnoticehandler7   childdetectorenforce	heartbeatidle_windowkeylog_pathnoticedoutput_ceilingsamplesstartedstop
trace_pathverdictwall_notices          r   watchsupervise.<locals>.watchW   sP   ))O,, ( 4 4UYY ?)G38++CM:3hIH--i83	 v& vc{[8vc{+e0r1A#0F G` a  

  >&!<=

  "OO&:3%$@&I %&j#..&TZZ%7$%>? /
!**7KP W &GH))#**gs8}fV[V_V_`-u 5v> 

  #XY_X``b!cda""599j9  -  	

  ""%,OO&<SE$BFWX[W^D_`  	( ! 
 /.. &JJ$$'XY\X__a%bc!%J&
  

  ""%,     a

  #UVYU\\^!_``as   BI  3K	 K/ !-KK/ L. AM+ < M=  K+$KJ*)K*J85K7J88KK	KKK,	&K/ ,K/ /L+:&L&&L+.M(9$M##M(+M:9M:=N7$N22N7)targetdaemon)timeoutu   cdx: STALL — killed after r7   z. Log: r5   )"r   r   DEFAULT_IDLE_WINDOWDEFAULT_OUTPUT_CEILINGDEFAULT_WALL_NOTICEr   r   getr   homerE   
subprocessPopenDEVNULLSTDOUTrA   r*   rB   r
   rD   r8   mkdirintr<   r;   rH   	threadingEventr=   Threadstartsetjoin
STALL_EXIT)argvr'   rX   rW   	trace_dirlogra   watcherstatusrR   rS   rT   rU   rV   rY   rZ   r[   r\   r]   r^   r_   r`   s   &&ff     @@@@@@@@@@@@@r   	superviser}   0   s   
 H46IJK :<RSN46IJKjjnn0#6#=G

45I		22I	h		  !3!3C$$
 
 

Ek] S& '	
 	

zz|t4C5#diik*:);1UYYKv!NN
 GGG??DnnGA A AF eD9GMMOZZ\FHHJLLL7

78I7J'RZQ[[]^_MM 
		"  
s   <8JAJ J	J)(J))cdx)__doc__
__future__r   importlib.machineryr   importlib.utilrF   r   rk   rA   rq   r<   pathlibr   __file__resolver,   r
   rw   rf   rg   rh   r9   rL   r   r   r}        r   <module>r      s    #    	  
   8n$$&..q14MM
    
sr   