python (3.12.0)

(root)/
lib/
python3.12/
__pycache__/
pstats.cpython-312.opt-2.pyc

ˑeir	ddlZddlZddlZddlZddlZddlmZmZddlm	Z	ddl
mZddlm
Z
gdZeeGddZed	
GddZed	
Gd
dZGddZGddZdZdZdZdZdZdZdZedk(rddlZ	ddlZGddej>Z e!ejDdkDrejDdZ#ndZ#	e e#Z$ejDddD]Z%e$jMe%e'de$jP e$jSe'd!e$jP yy#e$rYwxYw#e*$rYywxYw)"N)StrEnum_simple_enum)
cmp_to_key)	dataclass)Dict)StatsSortKeyFunctionProfileStatsProfilec6eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)r	)callsncalls)
cumulativecumtime)filenamemodulelinenamenflpcallsstdname)timetottimec|d}tj||}||_|ddD]}||j|<||_|SNr)str__new___value__value2member_map__all_values)clsvaluesvalueobjother_values     :/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/pstats.pyrzSortKey.__new__0sSq	kk#u%!!":	6K25C"";/	6 
N)
__name__
__module____qualname__CALLS
CUMULATIVEFILENAMELINENAMENFLPCALLSSTDNAMETIMErr(r'r	r	$s4E(J#HDD
C
FGDr(r	T)unsafe_hashcTeZdZUeed<eed<eed<eed<eed<eed<eed<y)	r
rrpercall_tottimerpercall_cumtime	file_nameline_numberN)r)r*r+r__annotations__floatintr5r(r'r
r
:s(K
N
NNr(r
c.eZdZU	eed<eeefed<y)rtotal_tt
func_profilesN)r)r*r+r=r<rrr
r5r(r'rrDs:O_,--r(rceZdZ	dddZdZdZdZdZdZd	d	d
d
dddd
dddddd
Z	dZ
dZdZdZ
dZdZdZdZdZdZdZdZd"dZd Zd!Zy)#rN)streamc|xstj|_t|sd}n
|d}|dd}|j	||j
|yr)sysstdoutrCleninitadd)selfrCargsargs    r'__init__zStats.__init__lsJ*

4yCq'C8D		#$r(cjd|_g|_d|_d|_d|_d|_d|_t|_i|_	i|_
|j|	|jy#t$r7td|jr|jdndz|jwxYw)NrzInvalid timing data %sfile)all_calleesfilesfcn_listr@total_calls
prim_callsmax_name_lenset	top_levelstats
sort_arg_dict
load_statsget_top_level_stats	ExceptionprintrC)rJrLs  r'rHz
Stats.initvs



	$$&	*%)ZZ4::b>R9?C{{
L	s
!A22AB2c|i|_yt|trst|d5}t	j
||_ddd	t
j|}tj|jdz|z}|g|_n4t|dr(|j|j|_i|_|jstd|jd|y#1swYxYw#YuxYw)Nrbz    create_statszCannot create or construct a z
 object from )r[
isinstanceropenmarshalloadosstatrctimest_mtimerThasattrrc	TypeError	__class__)rJrLf
file_statss    r'r]zStats.load_statss;DJ
S
!c4
-A$\\!_

-
WWS\
jj!4!45>DDJ
S.
)DJCIzz#~~s45
5
-
-

sC*:C6*C36C:c|jjD]\}\}}}}}|xj|z
c_|xj|z
c_|xj|z
c_d|vr|j
j
|tt||jkDstt||_	y)N)jprofilerprofiler)
r[itemsrVrWr@rZrIrGfunc_std_stringrX)rJfuncccncttctcallerss       r'r^zStats.get_top_level_statss/3zz/?/?/A	?+D+2r2r7"OO"OMM"M*g5""4(?4()D,=,==$'(=$>!	?r(c|s|St|D]^}t|t|k7rt|}|xj|jz
c_|xj|jz
c_|xj
|j
z
c_|xj|jz
c_|jD]}|jj||j|jkr|j|_	d|_
|jjD]C\}}||jvr|j|}nddddif}t|||j|<Ea|SNr)reversedtyperrTrVrWr@rZrIrXrUr[rtadd_func_stats)rJarg_listitemrvri
old_func_stats      r'rIz	Stats.adds>KX&	GDDzT$Z'T{JJ$**$J 0 00OOt.OMMT]]*M
)""4(
)  4#4#44$($5$5! DM"jj..0
G
d4::%$(JJt$4M%&1a$5M#1-#F

4 
G	G*r(c	t|d5}tj|j|dddy#1swYyxYw)Nwb)rerfdumpr[)rJrros   r'
dump_statszStats.dump_statss8H
(D
!	(QLLQ'	(	(	(s	!8A)))rrOz
call count)))rOzcumulative time))rz	file name))rzline number))rz
function name))rrrzname/file/line)))rrOzprimitive call count)))rz
standard name)))rOz
internal time)
r
rrrrrrrrrrrrc	|jsSix|_}i}|jjD]!\}}|}|s||vrd||<|||<|dd}|r#|D]}||=|jS)NrrO)r\sort_arg_dict_defaultrt)rJdictbad_listwordtupfragments      r'get_sort_arg_defszStats.get_sort_arg_defss7!!(**DH!77==?
-	c4'-.*%(DN'}H
-!
J
!!!r(c|s	d|_|St|dk(r"t|dtrddddd|dg}n=t|dk\r/|ddD]'}t	|t	|dk7std	|j
}d
}d|_d}|D]I}t|tr|j}|||dz}|xj|||dzz
c_d}Kg}|jjD]1\}\}	}
}}}
|j|	|
||f|zt||fz3|jtt!|j"
gx|_}|D]}|j|d|S)Nrrrr
rr)rOrrrrzCan't have mixed argument typer5rPz, )keyrO)rUrGrdr>rrmr	sort_typer	r$r[rtappendrusortr	TupleCompcompare)rJfieldrL
sort_arg_defs
sort_tuple	connectorr
stats_listrvrwrxryrzr{rUtuples                r'
sort_statszStats.sort_statssDMKu:?z%(C8$"!')*/q35EZ1_QRy
F9U1X.#$DEE
F..0

		D$(zz#mD&9!&<<JNNi-*=a*@@@NI	
/3zz/?/?/A	=+D+2r2r7r2r2.5.t4d;<
=	=	Jy'<'D'DEF#%%
	'EOOE"I&	'r(cR|jr|jj|SN)rUreverserJs r'
reverse_orderzStats.reverse_orders==MM!!#r(c	|j}ix|_}d}|jD]\}\}}}}}	t|}
tt	|
|kDrtt	|
}i}|	jD]\}}
|
|t|<|
|vrt||
|||||f||
<|||||f||
<|j}tx|_}|D]}|jt|||_	d|_
d|_|Sr})r[rtfunc_strip_pathrGrurrZrYrIrXrUrS)rJoldstatsnewstatsrXrvrwrxryrzr{newfunc
newcallersfunc2callerold_topnew_tops                r'
strip_dirszStats.strip_dirss::: ""
X/7~~/?
	A+D+2r2r7%d+G?7+,|;"?7#;<J!(
<
v5;
?512
<("$2(0(9)+RR(D%F!&(RZ$@!
	A..#&5(	/DKK-.	/)
r(c|jryix|_}|jjD]=\}\}}}}}||vri||<|jD]\}}	||vri||<|	|||<?yr)rSr[rt)
rJrSrvrwrxryrzr{rrs
          r'calc_calleeszStats.calc_callees4s)++;/3zz/?/?/A	3+D+2r2r7;&$&D!!(
3
v+)+K&,2E"4(
3	3	r(cJ|}t|trL	tj|}g}|D].}|jt
|s|j|0net|}t|tr%d|cxkrdkrnnt||zdz}|d|}n%t|trd|cxkr|kr
nn|}|d|}t|t|k7r!|dt|dt|d|d	z
}||fS#tj$r|d|zz
}||fcYSwxYw)
Nz#   <Invalid regular expression %r>
gg?g?rz   List reduced from z to z due to restriction <z>
)rdrrecompileerrorsearchrurrGr=r>)rJsellistmsgnew_listrexrvcounts        r'eval_print_amountzStats.eval_print_amountGs$c3
%jjoH
*::od34OOD)
*IE#u%#*:s*:ECK",-<C%!s*:U*:<t9H
%D	3x=#/
/C}'88
%=CC}$
%sDD"!D"c
	|jr|jddn"t|jj}|st	diStt
|j}i}t	||}|D]}|j|\}}}}	}
|\}}}
||k(rt|nt|dzt|z}tt
|}|dk(rdntt
||z}tt
|	}|dk(rdntt
|	|z}t|||||||}|||
<|S)Nr/rO)
rUrr[keysrr=f8r@rr
)rJ	func_listr@rA
stats_profilervrwrxryrzr{r:r;	func_namerrr8rr9func_profiles                    r'get_stats_profilezStats.get_stats_profileas:	
)-

DMM!$4

@Q;R	2&&DMM*+
$X}=
	4D&*jj&6#BBG04-I{I "bSWs2w}s2w/FFBrFmG$&!Gbr"R%y1AOBrFmG$&!Gbr"R%y1AO*L(4M)$#	4&r(c|j}|jr"|jdd}d|jzdz}n%t|jj}d}|D]}|j
|||\}}t|}|sd|fSt||j|t|jkr5d}|D].}tt||kDstt|}0|dz|fS)Nz   Ordered by: 
z!   Random listing order was used
rrQr)rXrUrrr[rrrGr`rCru)rJsel_listwidth	stat_listr	selectionrrvs        r'get_print_listzStats.get_print_lists!!==

a(I#dnn4t;CTZZ__./I6C!	OI!33Iy#NNIs	OIi<
c$3tzz?"E!
7-.6 56E
7Qw	!!r(c|jD]}t||j|jrt|jd}|jD]#}t|t	||j%t||j
dd|j|j
|jk7r%td|jzd|jtd|jz|jt|j|j|\}}|rT|j|D]}|j|t|jt|j|S)NrQ        zfunction calls endrRz(%d primitive calls)zin %.3f seconds)rTr`rCrZfunc_get_function_namerVrWr@rprint_title
print_line)rJamountrindentrvrrs       r'print_statszStats.print_statss.

	.H(-	.::t{{#NN	JD&06T[[I	J	fd&&(8cTt.(4??:$++V
$--/dkkB
4;;))&1t
&%
&t{{#t{{#r(c`|j|\}}|r|j|j|d|D]D}||jvr!|j	|||j|2|j	||iFt|jt|j|S)Nz	called...rQ)rrprint_call_headingrSprint_call_liner`rC)rJrrrrvs     r'
print_calleeszStats.print_calleess))&1t##E;7
:4+++((d6F6Ft6LM((b9	
:

t{{#t{{#r(c|j|\}}|rn|j|d|D]+}|j|\}}}}}	|j|||	d-t	|j
t	|j
|S)Nzwas called by...z<-rQ)rrr[rr`rC)
rJrrrrvrwrxryrzr{s
          r'
print_callerszStats.print_callerss))&1t##E+=>
A*.**T*:'BB$$UD'4@
A
t{{#t{{#r(cPtdj||z|jd}|jj	D]>\}}}}}|stt
|j	}	t|	t}n|rtd|zdz|jyy)Nz	Function rQFrz    ncalls  tottime  cumtime)	r`ljustrCr[r#nextiterrdr)
rJ	name_sizecolumn_title	subheaderrwrxryrzr{r$s
          r'rzStats.print_call_headings
k	*\9L	'+zz'8'8':	#BBGT'.."234&ue4			
#i-"@@t{{Sr(c	htt|j||zd|j|st|jyt	|j}d}|D]}t|}||}	t
|	tr]|	\}
}}}
|
|k7rd|
|fz}nd|
fz}|jddt|zzdt|dt|
d	|}|d
z}n(|d|	dt|j|d
}|d
z}t||z|z|jd}y)NrrrQrPz%d/%dz%drrz  r(z) r)r`rurrCsortedrrdrrjustrGrr[)rJrsource	call_dictarrowclistrrvrr$rxrwryrzsubstats
left_widths                r'rzStats.print_call_lines%
of%++I6>CdkkZt{{#y~~'(	D"4(DdOE%'!&BB8&"b1H#re|H-5^^AaFmO-L-/VRVTC&]
*.r$**T:J1:M7NO&]
&#h.T[[AF!	r(cbtdd|jtd|jy)Nz-   ncalls  tottime  percall  cumtime  percallrrzfilename:lineno(function)rQr`rCrs r'rzStats.print_titles"
=3T[[Y
)<r(c|j|\}}}}}t|}||k7r|dzt|z}t|jdd|jtt|d|j|dk(rtdd|jn$tt||zd|jtt|d|j|dk(rtdd|jn$tt||zd|jtt
||jy)Nr	rrrrrQ)r[rr`rrCrru)rJrvrwrxryrzr{cs        r'rzStats.print_lines"&**T"2BBG
8C#b'!A
aggajc4
bf#DKK0
7%St{{3"RU)4;;7
bf#DKK0
7%St{{3"RU)4;;7
od#$++6r()z->)r)r*r+rMrHr]r^rIrrrrrrrrrrrrrrrrrr5r(r'rrJsB&*&,?4(DCHHBDBFGMFFF ""%N
:&4!F"0.
	
T2=7r(rceZdZ	dZdZy)rc||_yrcomp_select_list)rJrs  r'rMzTupleComp.__init__s
 0r(cf|jD]"\}}||}||}||kr|cS||kDs |cSyr}r)rJleftrightindex	directionlrs       r'rzTupleComp.comparesO $ 5 5	!E9UAeA1u!z!1u  
	!r(N)r)r*r+rMrr5r(r'rrs&1r(rcR|\}}}tjj|||fSr)rhpathbasename)rrrrs    r'rr!s*$HdD
77H%tT11r(c|dS)Nrr5)rvs r'rr%s7Nr(c~|dddk(r1|d}|jdr|jdrd|ddzS|Sd|zS)	Nr)~r<>z{%s}rrOz	%s:%d(%s))
startswithendswith)rrs  r'ruru(sQ!} |??3DMM#$6D2J&&KY&&r(c^	|\}}}}}|\}}}	}
}||z||z||	z||
zt||fSr)add_callers)targetrrwrxryrzr{t_cct_nct_ttt_ct	t_callerss            r'rr9sR=$BBG(.%D$dItGRWbgr$w)W-//r(c	
	i}|jD]
\}}|||<|jD]O\}}||vrAt|tr#tdt|||D||<=||xx|z
cc<K|||<Q|S)Nc3,K|]\}}||zywrr5).0ijs   r'	<genexpr>zadd_callers.<locals>.<genexpr>Is)[DAq!a%)[s)rtrdrzip)rrnew_callersrvrs     r'rr@s4K#f"D#	'f;&%($))[CTXHY<Z)[$[D!D!V+! &K	'r(c@	d}|jD]}||z
}	|Sr})r#)r{rxr
s   r'count_callsr"Qs.J	
B!
e
Ir(cd|zS)Nz%8.3fr5)xs r'rr\sQ;r(__main__ceZdZddZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy)ProfileBrowserNctjj|d|_d|_t
j|_||j|yy)N% )	cmdCmdrMpromptr[rErFrCdo_read)rJprofiles  r'rMzProfileBrowser.__init__ksDGGT"DKDJ**DK"W%#r(c|j}g}|D]}	|jt||jrt|j||ytd|jy#t$rYnwxYw	t	|}|dkDs|dkrtd|j|j|#t$rYnwxYw|j|)Nrrz#Fraction argument must be in [0, 1]rQNo statistics object is loaded.)	splitrr>
ValueErrorr=r`rCr[getattr)rJfnrrK	processedtermfracs       r'genericzProfileBrowser.genericss::<DI
'$$SY/
' zz'

B'37dkkJ!" ;Dax4!8C$++V $$T*!  &s)A33	A?>A?,C0C	C
Cctd|jtd|jtd|jtd|jtd|jtd|jy)NzArguments may be:rQz0* An integer maximum number of entries to print.z:* A decimal fractional number between 0 and 1, controllingz-  what fraction of selected entries to print.z8* A regular expression; only entries with function namesz  that match it are printed.rrs r'generic_helpzProfileBrowser.generic_helpsb%DKK8D4;;WNUYU`U`aATLSWS^S^_0t{{Cr(c|jr	|jj|ytd|jy#t$r'}td|d||jYd}~yd}~wwxYw)NzFailed to load statistics for z: rQr0r)r[rIOSErrorr`rC)rJres   r'do_addzProfileBrowser.do_addsjzz`JJNN4(
7dkkJ	`D!LSWS^S^__	`sA	A2A--A2c2td|jy)Nz>Add profile info from given file to current statistics object.rQrrs r'help_addzProfileBrowser.help_addsRY]YdYder(c&|jd|S)Nrr8rJrs  r'
do_calleeszProfileBrowser.do_callees<<66r(cRtd|j|jy)Nz6Print callees statistics from the current stat object.rQr`rCr:rs r'help_calleeszProfileBrowser.help_callees JQUQ\Q\]r(c&|jd|S)NrrBrCs  r'
do_callerszProfileBrowser.do_callersrEr(cRtd|j|jy)Nz6Print callers statistics from the current stat object.rQrGrs r'help_callerszProfileBrowser.help_callersrIr(c2td|jy)NrPrQrrrCs  r'do_EOFzProfileBrowser.do_EOFs"4;;'r(c2td|jyNzLeave the profile browser.rQrrs r'help_EOFzProfileBrowser.help_EOF.T[[Ar(cy)Nrr5rCs  r'do_quitzProfileBrowser.do_quitsr(c2td|jyrQrrs r'	help_quitzProfileBrowser.help_quitrSr(c|r	t||_|dz|_	yt|jdkDr!|jdd}|j|ytd|j
y#t$r.}t|jd|j
Yd}~yd}~wt$r9}t|jjdz||j
Yd}~yd}~wwxYw)	NrrQ:r)rz1No statistics object is current -- cannot reload.r)rr[r<r`rKrCr_rnr)r,rGr-)rJrerrs   r'r-zProfileBrowser.do_reads!&tDJ#TkT[[!A%{{3B'T"IPTP[P[\#((1+DKK8 #--0036$++Ns#A00	C'9$B""C'./C""C'c`td|jtd|jy)Nz+Read in profile data from a specified file.rQz*Without argument, reload the current file.rrs r'	help_readzProfileBrowser.help_reads ?dkkR>T[[Qr(c|jr|jjytd|jy)Nr0rQr)r[rr`rCrCs  r'
do_reversezProfileBrowser.do_reverses2zz

((*7dkkJr(c2td|jy)Nz/Reverse the sort order of the profiling report.rQrrs r'help_reversezProfileBrowser.help_reversesC$++Vr(c|jstd|jy|jj|rJt	fd|jDr(|jj|jytd|jtjjD]$\}}t|d|d|j&y)Nr0rQc3&K|]}|v
ywrr5)rr$abbrevss  r'rz)ProfileBrowser.do_sort.<locals>.<genexpr>sAqQ'\Asz/Valid sort keys (unique prefixes are accepted):z -- rr)
r[r`rCrallr1rrrrt)rJrrr$rds    @r'do_sortzProfileBrowser.do_sorts::7dkkJjj224GADJJLAA%

%%tzz|4
GdkkZ$)$?$?$E$E$GJLS%U1X6T[[IJr(c`td|jtd|jy)Nz.Sort profile data according to specified keys.rQz3(Typing `sort' without arguments lists valid keys.)rrs r'	help_sortzProfileBrowser.help_sorts BUGdkkZr(cltjDcgc]}|j|s|c}Scc}wr)rrr)rJtextrKas    r'
complete_sortzProfileBrowser.complete_sorts'$::Q!all4>PAQQQs11c&|jd|S)NrrBrCs  r'do_statszProfileBrowser.do_statss<<
t44r(cRtd|j|jy)Nz.Print statistics from the current stat object.rQrGrs r'
help_statszProfileBrowser.help_statssBUr(c|jr|jjytd|jy)Nr0rQ)r[rr`rCrCs  r'do_stripzProfileBrowser.do_strips(zz

%%'7dkkJr(c2td|jy)Nz<Strip leading path information from filenames in the report.rQrrs r'
help_stripzProfileBrowser.help_stripsPW[WbWbcr(c2td|jy)NzShow help for a given command.rQrrs r'	help_helpzProfileBrowser.help_helps2Er(c|r|Syrr5)rJstoprs   r'postcmdzProfileBrowser.postcmds
r(r)r)r*r+rMr8r:r>r@rDrHrKrMrOrRrUrWr-r]r_rarfrhrlrnrprrrtrvryr5r(r'r'r'js	&	0	D		f	7	 	7	 		B		B	"	R		W		[	R	5	 	K
	d	F	r(r'rrz*Welcome to the profile statistics browser.rQzGoodbye.)+rErhrrfrenumrr	functoolsrdataclassesrtypingr__all__r	r
rrrrrrurrr"rr)r*readlineImportErrorr+r'rGargvinitprofilebrowserr.r>r`rCcmdloopKeyboardInterruptr5r(r'<module>rs9,		& !
A
g*tt...
|7|7|
22	'"/"z
PPd388}qhhqk
 -xx|	$GNN7#	$
:P
jw~~.G

@

s%(E)A%EEEE#"E#