Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/functools.cpython-35.opt-2.pyc



]q+@sdddddddddd	d
gZyddlmZWnek
rOYnXdd
lmZddlmZddlm	Z	ddl
mZyddlm
Z
Wn%ek
rGdddZ
YnXdWZdXZeeddZeeddZeddZeddZed d!Zed"d#Zed$d%Zed&d'Zed(d)Zed*d+Zed,d-Zed.d/Zed0d1Zed2d3Zd4d5efd6efd7efgd6d7efd4efd5efgd5d4efd7efd6efgd7d6efd5efd4efgiZd8dZ d9dZ!ydd:lm!Z!Wnek
rzYnXd;dZ"ydd<lm"Z"Wnek
rYnXGd=d	d	e#Z$ed>d?d@dAdBgZ%GdCdDdDe&Z'e#fe(e)e*e+dEhe,e-e+e.dFdGZ/dHdIdJdZ0dKdLZ1yddMlm1Z1Wnek
rsYnXdNdOZ2dEdPdQZ3dRdSZ4dTdUZ5dVd
Z6dES)Yupdate_wrapperwrapsWRAPPER_ASSIGNMENTSWRAPPER_UPDATEStotal_ordering
cmp_to_key	lru_cachereducepartial
partialmethodsingledispatch)r)get_cache_token)
namedtuple)MappingProxyType)WeakKeyDictionary)RLockc@s(eZdZddZddZdS)rcCsdS)N)selfrr./opt/alt/python35/lib64/python3.5/functools.py	__enter__szRLock.__enter__cCsdS)Nr)rexctypeexcinstexctbrrr__exit__szRLock.__exit__N)__name__
__module____qualname__rrrrrrrsrrrr__doc____annotations____dict__c
CsxF|D]>}yt||}Wntk
r4YqXt|||qWx0|D](}t||jt||iqPW||_|S)N)getattrAttributeErrorsetattrupdate__wrapped__)wrapperwrappedassignedupdatedattrvaluerrrr+s


&	cCsttd|d|d|S)Nr&r'r()r	r)r&r'r(rrrrIscCs0|j|}||kr|S|o/||kS)N)__lt__)rotherNotImplemented	op_resultrrr_gt_from_ltasr/cCs|j|}|p||kS)N)r+)rr,r-r.rrr_le_from_lthsr0cCs$|j|}||kr|S|S)N)r+)rr,r-r.rrr_ge_from_ltmsr1cCs0|j|}||kr|S|p/||kS)N)__le__)rr,r-r.rrr_ge_from_letsr3cCs/|j|}||kr|S|o.||kS)N)r2)rr,r-r.rrr_lt_from_le{sr4cCs$|j|}||kr|S|S)N)r2)rr,r-r.rrr_gt_from_lesr5cCs0|j|}||kr|S|o/||kS)N)__gt__)rr,r-r.rrr_lt_from_gtsr7cCs|j|}|p||kS)N)r6)rr,r-r.rrr_ge_from_gtsr8cCs$|j|}||kr|S|S)N)r6)rr,r-r.rrr_le_from_gtsr9cCs0|j|}||kr|S|p/||kS)N)__ge__)rr,r-r.rrr_le_from_gesr;cCs/|j|}||kr|S|o.||kS)N)r:)rr,r-r.rrr_gt_from_gesr<cCs$|j|}||kr|S|S)N)r:)rr,r-r.rrr_lt_from_gesr=r+r6r2r:cs{fddtD}|s+tdt|}x=t|D]1\}}||krB||_t||qBWS)Ncs:g|]0}t|dtt|dk	r|qS)N)r object).0op)clsrr
<listcomp>s	z"total_ordering.<locals>.<listcomp>z6must define at least one ordering operation: < > <= >=)_convert
ValueErrormaxrr")rArootsrootopnameopfuncr)rArrs	cs Gfdddt}|S)NcseZdZdgZddZfddZfddZfdd	Zfd
dZfdd
Z	dZ
dS)zcmp_to_key.<locals>.KobjcSs
||_dS)N)rJ)rrJrrr__init__szcmp_to_key.<locals>.K.__init__cs|j|jdkS)Nr)rJ)rr,)mycmprrr+szcmp_to_key.<locals>.K.__lt__cs|j|jdkS)Nr)rJ)rr,)rLrrr6szcmp_to_key.<locals>.K.__gt__cs|j|jdkS)Nr)rJ)rr,)rLrr__eq__szcmp_to_key.<locals>.K.__eq__cs|j|jdkS)Nr)rJ)rr,)rLrrr2szcmp_to_key.<locals>.K.__le__cs|j|jdkS)Nr)rJ)rr,)rLrrr:szcmp_to_key.<locals>.K.__ge__N)rrr	__slots__rKr+r6rMr2r:__hash__r)rLrrKs	rP)r>)rLrPr)rLrrs)rcstdrJjjj}|j|~jfdd}|_|_|_|S)Nfunccs*j}|j|||S)N)copyr#)ZfargsZ	fkeywordsZnewkeywords)argsrQkeywordsrrnewfuncs
zpartial.<locals>.newfunc)hasattrrSrTrRr#rQ)rQrSrTZtmpkwrUr)rSrQrTrr	s

				)r	c@sReZdZddZddZddZddZed	d
ZdS)r
cOst|r2t|dr2tdj|t|tr|j|_|j||_|jj	|_|jj
|n||_||_||_dS)N__get__z${!r} is not callable or a descriptor)callablerV	TypeErrorformat
isinstancer
rQrSrTrRr#)rrQrSrTrrrrKs			zpartialmethod.__init__cCs}djtt|j}djdd|jjD}d}|jd|jjd|jj	d|j
d|d	|S)
Nz, css'|]\}}dj||VqdS)z{}={!r}N)rZ)r?kvrrr	<genexpr>)sz)partialmethod.__repr__.<locals>.<genexpr>z*{module}.{cls}({func}, {args}, {keywords})modulerArQrSrT)joinmapreprrSrTitemsrZ	__class__rrrQ)rrSrT
format_stringrrr__repr__'s	zpartialmethod.__repr__cs+fdd}j|_|_|S)NcsRjj}|j||^}}|fjt|}j||S)N)rTrRr#rStuplerQ)rSrT
call_keywordscls_or_selfrest	call_args)rrr_method3s

z3partialmethod._make_unbound_method.<locals>._method)__isabstractmethod___partialmethod)rrlr)rr_make_unbound_method2s	z"partialmethod._make_unbound_methodcCst|jdd}d}|dk	r|||}||jk	rt||j|j}y|j|_Wntk
rYnX|dkr|jj||}|S)NrW)	r rQr	rSrT__self__r!rorW)rrJrAgetresultnew_funcrrrrW=s
zpartialmethod.__get__cCst|jddS)NrmF)r rQ)rrrrrmPsz"partialmethod.__isabstractmethod__N)	rrrrKrfrorWpropertyrmrrrrr
s
	CacheInfohitsmissesmaxsizecurrsizec@s1eZdZdZeddZddZdS)
_HashedSeq	hashvaluecCs#||dd<|||_dS)N)r{)rtuphashrrrrKdsz_HashedSeq.__init__cCs|jS)N)r{)rrrrrOhsz_HashedSeq.__hash__N)rrrrNr}rKrOrrrrrz[srzNc	s|}	|rC||j}
|	|7}	x|
D]}|	|7}	q/W|r|	|fdd|D7}	|r|	|fdd|
D7}	n0||	dkr|	d|kr|	dSt|	S)Nc3s|]}|VqdS)Nr)r?r])typerrr^sz_make_key.<locals>.<genexpr>c3s!|]\}}|VqdS)Nr)r?r\r])r~rrr^sr)rcrz)rSkwdstypedkwd_mark	fasttypessortedrgr~lenkeysorted_itemsitemr)r~r	_make_keyks

#&(rFcsAdk	r(ttr(tdfdd}|S)Nz)Expected maxsize to be an integer or Nonecs"t|t}t||S)N)_lru_cache_wrapper
_CacheInfor)
user_functionr%)rxrrrdecorating_functionsz&lru_cache.<locals>.decorating_function)r[intrY)rxrrr)rxrrrscsYtt
d\iddjt	g


ddg
dd<dkrfdd}nrdkr
fdd}n<	

fd	d}	fd
d}	
fdd
}||_||_|S)NrrFcs||}d7|S)Nrr)rSrrr)rwrrrr%s
z#_lru_cache_wrapper.<locals>.wrappercsb||}|}|k	r;d7|S||}||<d7|S)Nrr)rSrrrr)cache	cache_getrvmake_keyrwsentinelrrrrr%s


cs	||
}|}|dk	r|\}}}}||<||<}||<<||<|<d7|SWdQRX||}|krnr%}	||	<||	<|	}
}d<<|
=|	|<nH}|||g}||<<|<j
kd7WdQRX|S)Nr)__len__)rSrrlinkZ	link_prevZ	link_next_keyrrZlastZoldrootZoldkeyZ	oldresult)KEYNEXTPREVRESULTrrfullrvlockrrxrwrGrrrrr%sB












cs+jSWdQRXdS)N)rr)rrrvrrxrwrr
cache_info
sz&_lru_cache_wrapper.<locals>.cache_infocsH;jddgdd<ddWdQRXdS)NrF)clearr)rrrvrrwrGrrcache_clears


z'_lru_cache_wrapper.<locals>.cache_clear)rrrr)r>rrqrrr)rrxrrr%rrr)rrrrrrrrrvrrrxrwrGrrrrrs(	
		*<9!!			r)rcCsg}xdd|D}|s&|SxG|D]?}|d}x,|D]#}||ddkrDd}PqDWPq-W|dkrtd|j|x%|D]}|d|kr|d=qWq	WdS)NcSsg|]}|r|qSrr)r?srrrrB1s	z_c3_merge.<locals>.<listcomp>rrzInconsistent hierarchy)RuntimeErrorappend)	sequencesrrs1	candidates2seqrrr	_c3_merge)s$




rc
sxLtt|jD]/\}tdrt|j|}PqWd}ratngt|jd|}g}t|j|d}xMD]Et|rtfdd|jDr|jqWx|D]j	qWfdd|D}fdd|D}fdd|D}	t
|gg|||	|g|g|gS)	N__abstractmethods__rc3s|]}t|VqdS)N)
issubclass)r?b)baserrr^asz_c3_mro.<locals>.<genexpr>cs"g|]}t|dqS)abcs)_c3_mro)r?r)rrrrBhs	z_c3_mro.<locals>.<listcomp>cs"g|]}t|dqS)r)r)r?r)rrrrBis	cs"g|]}t|dqS)r)r)r?r)rrrrBjs	)	enumeratereversed	__bases__rVrlistranyrremover)
rAriboundaryexplicit_basesabstract_basesother_basesexplicit_c3_mrosabstract_c3_mros
other_c3_mrosr)rrrrDs("
 
rcs]tjfddfddDfddfddDtg}xD]}g}xR|jD]D}|krt|r|jfdd|jDqW|s|j|q|jd	td
dx8|D]0}x'|D]}||kr"|j|q"WqWqWtd|S)
Ncs(|ko't|do't|S)N__mro__)rVr)typ)basesrArr
is_relatedzsz _compose_mro.<locals>.is_relatedcs"g|]}|r|qSrr)r?n)rrrrB}s	z _compose_mro.<locals>.<listcomp>cs4x-D]%}||kr||jkrdSqWdS)NTF)r)rr,)typesrris_strict_bases
z$_compose_mro.<locals>.is_strict_basecs"g|]}|s|qSrr)r?r)rrrrBs	cs"g|]}|kr|qSrr)r?r)type_setrrrBs	rreverseTr)setr__subclasses__rrsortrr)rArmrorfoundsubsubclsr)rrArrrrr_compose_mroqs*
'


rcCst||j}d}x|D]w}|dk	r||kr||jkr||jkrt||rtdj||P||kr"|}q"W|j|S)NzAmbiguous dispatch: {} or {})rkeysrrrrZrq)rAregistryrmatchtrrr
_find_impls

	
rcsitdfdddfddfdd}|t<|_|_t|_j|_t|||S)Ncsdk	r1t}|kr1j|y|}WnNtk
ry|}Wn!tk
rt|}YnX||<YnX|S)N)r
rKeyErrorr)rA
current_tokenimpl)cache_tokendispatch_cacherrrdispatchs	


z singledispatch.<locals>.dispatchcs[|dkrfddS|<dkrMtdrMtj|S)Ncs
|S)Nr)f)rAregisterrr<lambda>sz2singledispatch.<locals>.register.<locals>.<lambda>r)rVr
r)rArQ)rrrr)rArrs
	
z singledispatch.<locals>.registercs|dj||S)Nr)rd)rSkw)rrrr%szsingledispatch.<locals>.wrapper)	rr>rrrrr_clear_cacher)rQr%r)rrrrrrrs
	
		
)rrrrr)r)7__all__
_functoolsrImportErrorabcr
collectionsrrrweakrefr_threadrrrrrr-r/r0r1r3r4r5r7r8r9r;r<r=rCrrr	r>r
rrrzrstr	frozensetr~rrgrrrrrrrrrrrrr<module>s


				

N	%s
-)
Back to Directory File Manager