MSV FM

[email protected]: ~ $
Path : /proc/self/root/lib64/python2.7/multiprocessing/
File Upload :
Current < : //proc/self/root/lib64/python2.7/multiprocessing/managers.pyo

�
{fc@s�ddddgZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZmZm
Z
mZmZddlmZdd	lmZmZmZmZdd
lmZmZyddlmZWn!ek
rddlmZnXd�Zejeje�gd
ddfD]Z e!e"ie ���^qDZ#de$fd��YZ%fid�Z&d�Z'de(fd��YZ)d�Z*d�Z+de$fd��YZ,de$fd��YZ-iej.ej/fd6ej0ej1fd6Z2de$fd��YZ3de4fd��YZ5de$fd ��YZ6d!�Z7id"�Z8e9e9e9e:d#�Z;d$e$fd%��YZ<d&e$fd'��YZ=e:d(�Z>d)e6fd*��YZ?d+e6fd,��YZ@d-e@fd.��YZAd/e6fd0��YZBd1e6fd2��YZCd3e6fd4��YZDe8d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKf�ZEdLeEfdM��YZFe8dNd7d8d:dOd<d@dPdQdRdSd
ddGdTdUdVdf�ZGidWdO6eG_He8dXd<d:d@d;dAf�ZIe8dYdZd[d\d]d^d_d`dadbf	�ZJidcd[6dcda6dWd]6dWd^6eJ_Hde3fdd��YZKeKjdeej�eKjdfej�eKjdgejLeB�eKjdhejMe@�eKjdiejNe@�eKjdjejOe@�eKjdkejPe@�eKjdlejQeA�eKjdme
eJ�eKjdneReF�eKjdoeSeG�eKjd&e=eD�eKjdpe>eI�eKjd$e<eC�eKjdWdqe?dreT�eKjdcdreT�dS(stBaseManagertSyncManagert	BaseProxytTokeni����N(t
format_exc(tProcesstcurrent_processtactive_childrentPooltutilt
connection(tAuthenticationString(texittPopentassert_spawningtForkingPickler(tFinalizetinfo(t
PicklingErrorcCstj|j|j�ffS(N(tarrayttypecodettostring(ta((s0/usr/lib64/python2.7/multiprocessing/managers.pytreduce_array@stitemstkeystvaluescBs8eZdZdZd�Zd�Zd�Zd�ZRS(	s4
    Type to uniquely indentify a shared object
    ttypeidtaddresstidcCs!||||_|_|_dS(N(RRR(tselfRRR((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__init__PscCs|j|j|jfS(N(RRR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__getstate__SscCs|\|_|_|_dS(N(RRR(Rtstate((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__setstate__VscCsd|j|j|jfS(Ns#Token(typeid=%r, address=%r, id=%r)(RRR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__repr__Ys(RRR(t__name__t
__module__t__doc__t	__slots__RR R"R#(((s0/usr/lib64/python2.7/multiprocessing/managers.pyRJs			cCsN|j||||f�|j�\}}|dkr;|St||��dS(sL
    Send a message to manager using connection `c` and return response
    s#RETURNN(tsendtrecvtconvert_to_error(tcRt
methodnametargstkwdstkindtresult((s0/usr/lib64/python2.7/multiprocessing/managers.pytdispatchas
cCsN|dkr|S|dkr&t|�S|dkr@td|�Std�SdS(Ns#ERRORs
#TRACEBACKs#UNSERIALIZABLEsUnserializable message: %s
sUnrecognized message type(tRemoteErrort
ValueError(R/R0((s0/usr/lib64/python2.7/multiprocessing/managers.pyR*ks
R2cBseZd�ZRS(cCs)ddddt|jd�ddS(Ns
t-iKi(tstrR-(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__str__xs(R$R%R6(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR2wscCsOg}xBt|�D]4}t||�}t|d�r|j|�qqW|S(s4
    Return a list of names of methods of `obj`
    t__call__(tdirtgetattrthasattrtappend(tobjttemptnametfunc((s0/usr/lib64/python2.7/multiprocessing/managers.pytall_methodsscCs-gt|�D]}|ddkr
|^q
S(sP
    Return a list of names of methods of `obj` which do not start with '_'
    it_(R@(R<R>((s0/usr/lib64/python2.7/multiprocessing/managers.pytpublic_methods�stServerc	Bs�eZdZddddddddd	g	Zd
�Zd�Zd�Zd
�Zd�Zd�Z	d�Z
ie	d6e
d6ed6Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(sM
    Server class which runs in a process controlled by a manager object
    tshutdowntcreatetaccept_connectiontget_methodst
debug_infotnumber_of_objectstdummytincreftdecrefcCs�||_t|�|_t|\}}|d|dd�|_|jj|_iddfd6|_i|_t	j
�|_d|_dS(NRtbacklogit0i((
tregistryRtauthkeytlistener_clienttlistenerRtNonet	id_to_objtid_to_refcountt	threadingtRLocktmutextstop(RRORRPt
serializertListenertClient((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s		cCs�|t�_z�ylxey|jj�}Wnttfk
rDqnXtjd|jd|f�}t	|_
|j�qWWntt
fk
r�nXWdd|_|jj�XdS(s(
        Run the server forever
        ttargetR-Ni�(Rt_manager_serverRRtaccepttOSErrortIOErrorRVtThreadthandle_requesttTruetdaemontstarttKeyboardInterruptt
SystemExitRYtclose(RR+tt((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
serve_forever�s		cCs`d}}}yWtj||j�tj||j�|j�}|\}}}}t||�}Wn tk
r�dt�f}	nFXy||||�}Wn tk
r�dt�f}	n
Xd|f}	y|j	|	�Wnqtk
rQ}
y|j	dt�f�Wntk
rnXt
jd|	�t
jd|�t
jd|
�nX|j�dS(s)
        Handle a new connection
        s
#TRACEBACKs#RETURNsFailure to send message: %rs ... request was %rs ... exception was %rN(
RSR
tdeliver_challengeRPtanswer_challengeR)R9t	ExceptionRR(R	RRi(RR+tfuncnameR0trequesttignoreR-R.R?tmsgte((s0/usr/lib64/python2.7/multiprocessing/managers.pyRc�s2


cCs�tjdtj�j�|j}|j}|j}x�|js�yd}}|�}|\}}}	}
||\}}}||kr�t
d|t|�|f��nt||�}
y|
|	|
�}Wnt
k
r�}d|f}npX|o|j|d�}|rP|j|||�\}}t||j|�}d||ff}nd|f}Wn�t
k
r�|dkr�dt�f}q?y8|j|}||||||	|
�}d|f}Wq?t
k
r�dt�f}q?XnVtk
rtjdtj�j�tjd�n t
k
r>dt�f}nXy;y||�Wn&t
k
rx}|d	t�f�nXWq7t
k
r�}tjd
tj�j�tjd|�tjd|�|j�tjd
�q7Xq7WdS(sQ
        Handle requests from the proxies in a particular process/thread
        s$starting server thread to service %rs+method %r of %r object is not in exposed=%rs#ERRORs#PROXYs#RETURNs
#TRACEBACKs$got EOF -- exiting thread serving %ris#UNSERIALIZABLEsexception in thread serving %rs ... message was %rs ... exception was %riN(R	tdebugRVtcurrent_threadR>R)R(RTRYRStAttributeErrorttypeR9RntgetRERRRtfallback_mappingtEOFErrortsysRRRi(RtconnR)R(RTR,R<RptidentR-R.texposedt	gettypeidtfunctiontresRsRrRtridenttrexposedttokent
fallback_funcR0((s0/usr/lib64/python2.7/multiprocessing/managers.pytserve_client�sl				
	



	
	
cCs|S(N((RR|R}R<((s0/usr/lib64/python2.7/multiprocessing/managers.pytfallback_getvalue+scCs
t|�S(N(R5(RR|R}R<((s0/usr/lib64/python2.7/multiprocessing/managers.pytfallback_str.scCs
t|�S(N(trepr(RR|R}R<((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
fallback_repr1sR6R#s	#GETVALUEcCsdS(N((RR+((s0/usr/lib64/python2.7/multiprocessing/managers.pyRJ:scCs�|jj�z�g}|jj�}|j�xS|D]K}|dkr6|jd||j|t|j|d�d f�q6q6Wdj|�SWd|jj	�XdS(sO
        Return some info --- useful to spot problems with refcounting
        RNs  %s:       refcount=%s
    %siiKs
N(
RXtacquireRTRtsortR;RUR5tjointrelease(RR+R0RR}((s0/usr/lib64/python2.7/multiprocessing/managers.pyRH=s


	
'cCst|j�dS(s*
        Number of shared objects
        i(tlenRT(RR+((s0/usr/lib64/python2.7/multiprocessing/managers.pyRIOscCsz�y�tjd�|jd	�tjtjkrZtjd�tjt_tjt_ntj	d�x(t
�D]}tjd�|j�qqWx(t
�D]}tjd�|j�q�Wtj	�tj
d�Wnddl}|j�nXWdtd�XdS(
s'
        Shutdown this process
        s!manager received shutdown messages#RETURNsresetting stdout, stderris&terminating a child process of managersmanager exiting with exitcode 0i����N(s#RETURNN(R	RtR(RSR{tstdoutt
__stdout__t
__stderr__tstderrt_run_finalizersRt	terminateR�Rt	tracebackt	print_excR(RR+tpR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRDUs*






cOs%|jj�z|j|\}}}}|dkrB|d}	n|||�}	|dkrlt|	�}n|dk	r�t|�t|�}ndt|	�}
tjd||
�|	t	|�|f|j
|
<|
|jkr�d|j|
<n|j||
�|
t
|�fSWd|jj�XdS(s>
        Create a new shared object and return its id
        is%xs&%r callable returned object with id %rN(RXR�RORSRBtlistRR	RttsetRTRURKttupleR�(RR+RR-R.tcallableR~tmethod_to_typeidt	proxytypeR<R}((s0/usr/lib64/python2.7/multiprocessing/managers.pyREus$

cCst|j|jd�S(sL
        Return the methods of the shared object indicated by token
        i(R�RTR(RR+R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRG�scCs-|tj�_|jd�|j|�dS(s=
        Spawn a new thread to serve this connection
        s#RETURNN(s#RETURNN(RVRuR>R(RSR�(RR+R>((s0/usr/lib64/python2.7/multiprocessing/managers.pyRF�s
cCs9|jj�z|j|cd7<Wd|jj�XdS(Ni(RXR�RUR�(RR+R}((s0/usr/lib64/python2.7/multiprocessing/managers.pyRK�s
cCss|jj�zQ|j|cd8<|j|dkr]|j|=|j|=tjd|�nWd|jj�XdS(Niisdisposing of obj with id %r(RXR�RURTR	RtR�(RR+R}((s0/usr/lib64/python2.7/multiprocessing/managers.pyRL�s
(R$R%R&tpublicRRkRcR�R�R�R�RyRJRHRIRDRERGRFRKRL(((s0/usr/lib64/python2.7/multiprocessing/managers.pyRC�s.			"	J			
				 	&			tStatecBs#eZdgZdZdZdZRS(tvalueiii(R$R%R'tINITIALtSTARTEDtSHUTDOWN(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s	tpicklet	xmlrpclibcBs�eZdZiZeZdddd�Zd�Zd�Z	d�Z
ddd�Zeddd��Z
d�Zdd	�Zd
�Zd�Zd�Zd
�Zed��Zed��Zedddded��ZRS(s!
    Base class for managers
    R�cCsq|dkrt�j}n||_t|�|_t�|_tj|j_	||_
t|\|_|_
dS(N(RSRRPt_addressRt_authkeyR�t_stateR�R�t_serializerRQt	_Listenert_Client(RRRPRZ((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s		cCs%t|�j|j|j|jffS(N(Rwtfrom_addressR�R�R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
__reduce__�scCst|j|j|j|j�S(sX
        Return server object with serve_forever() method and address attribute
        (RCt	_registryR�R�R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
get_server�scCsNt|j\}}||jd|j�}t|dd�tj|j_	dS(s>
        Connect manager object to the server process
        RPRJN(
RQR�R�R�R1RSR�R�R�R�(RR[R\R|((s0/usr/lib64/python2.7/multiprocessing/managers.pytconnect�scCsL|dk	r+t|d�r+td��ntjdt�\}}tdt|�jd|j	|j
|j|j|||f�|_
djd�|j
jD��}t|�jd||j
_|j
j�|j�|j�|_
|j�tj|j_tj|t|�jd|j
|j
|j|j|jfd	d
�|_dS(s@
        Spawn a server process for this manager object
        R7sinitializer must be a callabletduplexR]R-t:css|]}t|�VqdS(N(R5(t.0ti((s0/usr/lib64/python2.7/multiprocessing/managers.pys	<genexpr>
sR4texitpriorityiN(RSR:t	TypeErrorR
tPipetFalseRRwt_run_serverR�R�R�R�t_processR�t	_identityR$R>RfRiR)R�R�R�R�R	Rt_finalize_managerR�RD(RtinitializertinitargstreadertwriterR}((s0/usr/lib64/python2.7/multiprocessing/managers.pyRf�s&


c	Csl|dk	r||�n|j||||�}|j|j�|j�tjd|j�|j�dS(s@
        Create a server, report its address and run it
        smanager serving at %rN(RSt_ServerR(RRiR	RRk(	tclsRORRPRZR�R�R�tserver((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s

cOsk|j|jd|j�}z)t|dd|f||�\}}Wd|j�Xt||j|�|fS(sP
        Create a new shared object; return the token and exposed tuple
        RPREN(R�R�R�R1RSRiR(RRR-R.R|RR~((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_create0s
)cCs|jj|�dS(sC
        Join the manager process (if it has been spawned)
        N(R�R�(Rttimeout((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�<scCsA|j|jd|j�}zt|dd�SWd|j�XdS(sS
        Return some info about the servers shared objects and connections
        RPRHN(R�R�R�R1RSRi(RR|((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_debug_infoBscCsA|j|jd|j�}zt|dd�SWd|j�XdS(s5
        Return the number of shared objects
        RPRIN(R�R�R�R1RSRi(RR|((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_number_of_objectsLscCs|S(N((R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt	__enter__VscCs|j�dS(N(RD(Rtexc_typetexc_valtexc_tb((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__exit__YscCs|j�r�tjd�y8||d|�}zt|dd�Wd|j�XWntk
rdnX|jdd�|j�r�tjd�t|d�r�tjd	�|j	�|jdd
�|j�r�tjd�q�q�q�nt
j|_yt
j|=Wntk
rnXdS(sQ
        Shutdown the manager process; will be registered as a finalizer
        s#sending shutdown message to managerRPRDNR�g�������?smanager still aliveR�s'trying to `terminate()` manager processg�������?s#manager still alive after terminate(tis_aliveR	RR1RSRiRnR�R:R�R�R�R�Rt_address_to_localtKeyError(tprocessRRPR!R�R|((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�\s.





cCs|jS(N(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt<lambda>|tc
s�d|jkr$|jj�|_n�dkr9t�n|pNt�dd�}|pft�dd�}|r�x|j�D]\}}q|Wn|||�f|j�<|r���fd�}	�|	_t|�|	�ndS(s9
        Register a typeid with the manager type
        R�t	_exposed_t_method_to_typeid_c	s�tjd��|j�||�\}}�||jd|d|jd|�}|j|jd|j�}t|dd|j	f�|S(Ns)requesting creation of a shared %r objecttmanagerRPR~RL(
R	RtR�R�R�R�RR1RSR(RR-R.R�texptproxyR|(R�R(s0/usr/lib64/python2.7/multiprocessing/managers.pyR=�sN(	t__dict__R�tcopyRSt	AutoProxyR9RR$tsetattr(
R�RR�R�R~R�t
create_methodtkeyR�R=((R�Rs0/usr/lib64/python2.7/multiprocessing/managers.pytregister~s	
	N(((R$R%R&R�RCR�RSRR�R�R�RftclassmethodR�R�R�R�R�R�R�tstaticmethodR�tpropertyRRdR�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s*
				$		
	
		 	tProcessLocalSetcBseZd�Zd�ZRS(cCstj|d��dS(NcSs
|j�S(N(tclear(R<((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��R�(R	tregister_after_fork(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCst|�dfS(N((Rw(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s(R$R%RR�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s	cBs�eZdZiZej�Zddded�Z	d�Z
d
id�Zd�Zd�Z
ed��Zd�Zd�Zd	�Zd
�Zd�ZRS(s.
    A base for proxies of shared objects
    cCs;tjj�zPtjj|jd�}|dkr\tj�t	�f}|tj|j<nWdtjj
�X|d|_|d|_||_
|j
j|_||_||_t|d|_|dk	r�t|�|_n0|jdk	r|jj|_nt�j|_|r$|j�ntj|tj�dS(Nii(Rt_mutexR�R�RxRRSR	tForkAwareLocalR�R�t_tlst_idsett_tokenRt_idt_managerR�RQR�RR�RRPt_increfR�t_after_fork(RR�RZR�RPR~RKt	tls_idset((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s,


			
cCs�tjd�t�j}tj�jdkrH|dtj�j7}n|j|jjd|j	�}t
|dd|f�||j_
dS(Nsmaking connection to managert
MainThreadt|RPRF(R	RtRR>RVRuR�R�RR�R1RSR�R
(RR>R|((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_connect�s
c	CsDy|jj}Wn@tk
rRtjdtj�j�|j�|jj}nX|j	|j
|||f�|j�\}}|dkr�|S|dkr1|\}}|jj
|jd}	|jj|_|	||jd|jd|jd|�}
|j|jd|j�}t|d	d|jf�|
St||��d	S(
sW
        Try to call a method of the referrent and return a copy of the result
        s#thread %r does not own a connections#RETURNs#PROXYi����R�RPR~RLN(R�R
RvR	RtRVRuR>R�R(R�R)R�R�RR�RR�R�R�R1RSRR*(RR,R-R.R|R/R0R~R�R�R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_callmethod�s,
	
cCs
|jd�S(s9
        Get a copy of the value of the referent
        s	#GETVALUE(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt	_getvaluesc
Cs�|j|jjd|j�}t|dd|jf�tjd|jj	�|j
j|j�|jor|jj
}tj|tjd|j|j||j|j
|jfdd�|_dS(NRPRKs	INCREF %rR-R�i
(R�R�RR�R1RSR�R	RtRR�taddR�R�RRt_decrefR�t_close(RR|R!((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs�|j|j�|dks.|jtjkr�yEtjd|j�||jd|�}t	|dd|jf�Wq�t
k
r�}tjd|�q�Xntjd|j�|r�t|d�r�tjdtj
�j�|jj�|`ndS(Ns	DECREF %rRPRLs... decref failed %ss%DECREF %r -- manager already shutdownR
s-thread %r has no more proxies so closing conn(tdiscardRRSR�R�R�R	RtRR1RnR:RVRuR>R
Ri(R�RPR!ttlstidsetR�R|Rs((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	
cCsBd|_y|j�Wn$tk
r=}tjd|�nXdS(Nsincref failed: %s(RSR�R�RnR	R(RRs((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�7s
	cCs�i}tj�r"|j|d<nt|dt�r]|j|d<tt|j|j	|ffStt
|�|j|j	|ffSdS(NRPt_isautoR~(R
tthread_is_spawningR�R9R�R�tRebuildProxyR�R�R�Rw(RR.((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�?s
cCs
|j�S(N(R�(Rtmemo((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__deepcopy__LscCs*dt|�j|jjdt|�fS(Ns<%s object, typeid %r at %s>s0x%x(RwR$R�RR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR#OscCs8y|jd�SWn tk
r3t|�d dSXdS(sV
        Return representation of the referent (or a fall-back if that fails)
        R#i����s; '__str__()' failed>N(R�RnR�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR6Ss
N((R$R%R&R�R	tForkAwareThreadLockR�RSRdRR�R�R�R�R�R�R�R�R�R#R6(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s%						
		cCs�tt�dd�}|r?|j|jkr?|j|jdS|jdt�odtt�dt�}|||d||�SdS(s�
    Function used for unpickling proxy objects.

    If possible the shared object is returned, or otherwise a proxy for it.
    R^iRKt_inheritingN(	R9RRSRRTRtpopRdR�(R?R�RZR.R�RK((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�`scBs�e|�}y|||fSWnek
r1nXi}x |D]}d||f|Uq?We|ef|�}||_||||f<|S(sB
    Return a proxy type whose methods are given by `exposed`
    sLdef %s(self, *args, **kwds):
        return self._callmethod(%r, args, kwds)(R�R�RwRR�(R>R~t_cachetdictmetht	ProxyType((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
MakeProxyTypeus

	c
	Cs�t|d}|dkr\||jd|�}zt|dd|f�}Wd|j�Xn|dkr�|dk	r�|j}n|dkr�t�j}ntd|j	|�}|||d|d|d|�}	t
|	_|	S(s*
    Return an auto-proxy for `token`
    iRPRGNs
AutoProxy[%s]R�RK(RQRSRR1RiR�RRPRRRdR�(
R�RZR�RPR~RKR�R|RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s		t	NamespacecBseZd�Zd�ZRS(cKs|jj|�dS(N(R�tupdate(RR.((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCss|jj�}g}x=|D]5\}}|jd�s|jd||f�qqW|j�dtjd|�S(NRAs%s=%rs
Namespace(%s)s, (R�Rt
startswithR;R�R5R�(RRR=R>R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR#�s
(R$R%RR#(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	tValuecBs>eZed�Zd�Zd�Zd�Zeee�ZRS(cCs||_||_dS(N(t	_typecodet_value(RRR�tlock((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	cCs|jS(N(R
(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyRx�scCs
||_dS(N(R
(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs dt|�j|j|jfS(Ns
%s(%r, %r)(RwR$RR
(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR#�s(	R$R%RdRRxR�R#R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s
			cCstj||�S(N(R(RtsequenceR((s0/usr/lib64/python2.7/multiprocessing/managers.pytArray�st
IteratorProxycBsDeZdZd�Zd�Zd�Zd�Zd	�Zd
�ZRS(t__next__tnextR(tthrowRicCs|S(N((R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__iter__�scGs|jd|�S(NR(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scGs|jd|�S(NR(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scGs|jd|�S(NR((R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR(�scGs|jd|�S(NR(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scGs|jd|�S(NRi(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyRi�s(RRR(RRi(	R$R%R�RRRR(RRi(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s					t
AcquirerProxycBs5eZdZed�Zd�Zd�Zd�ZRS(R�R�cCs|jd|f�S(NR�(R�(Rtblocking((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(RR�R�R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s(R�R�(R$R%R�RdR�R�R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s
		tConditionProxycBs,eZdZd	d�Zd�Zd�ZRS(
R�R�twaittnotifyt
notify_allcCs|jd|f�S(NR(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs
|jd�S(NR(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs
|jd�S(NR(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s(R�R�RRRN(R$R%R�RSRRR(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	t
EventProxycBs5eZdZd�Zd�Zd�Zd	d�ZRS(
tis_setR�R�RcCs
|jd�S(NR(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs|jd|f�S(NR(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s(RR�R�RN(R$R%R�RR�R�RSR(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s
			tNamespaceProxycBs)eZdZd�Zd�Zd�ZRS(t__getattribute__t__setattr__t__delattr__cCsB|ddkr tj||�Stj|d�}|d|f�S(NiRAR�R(tobjectR(RR�t
callmethod((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__getattr__�scCsH|ddkr#tj|||�Stj|d�}|d||f�S(NiRAR�R (R"R R(RR�R�R#((s0/usr/lib64/python2.7/multiprocessing/managers.pyR scCsB|ddkr tj||�Stj|d�}|d|f�S(NiRAR�R!(R"R!R(RR�R#((s0/usr/lib64/python2.7/multiprocessing/managers.pyR!s(RR R!(R$R%R�R$R R!(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s		t
ValueProxycBs/eZdZd�Zd�Zeee�ZRS(RxR�cCs
|jd�S(NRx(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyRxscCs|jd|f�S(NR�(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s(RxR�(R$R%R�RxR�R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR%s		t
BaseListProxyt__add__t__contains__t__delitem__t__delslice__t__getitem__t__getslice__t__len__t__mul__t__reversed__t__rmul__t__setitem__t__setslice__R;tcounttextendtindextinsertRtremovetreverseR�t__imul__t	ListProxycBseZd�Zd�ZRS(cCs|jd|f�|S(NR4(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__iadd__scCs|jd|f�|S(NR9(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR9 s(R$R%R;R9(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR:s	t	DictProxyRR�R�Rxthas_keytpopitemt
setdefaultR	tIteratort
ArrayProxyt	PoolProxytapplytapply_asyncRitimaptimap_unorderedR�tmapt	map_asyncR�tAsyncResultcBseZdZRS(s(
    Subclass of `BaseManager` which supports a number of shared object types.

    The types registered are those intended for the synchronization
    of threads, plus `dict`, `list` and `Namespace`.

    The `multiprocessing.Manager()` function creates started instances of
    this class.
    (R$R%R&(((s0/usr/lib64/python2.7/multiprocessing/managers.pyRCs	tQueuet
JoinableQueuetEventtLockRWt	SemaphoretBoundedSemaphoret	ConditionRR�tdictRR�R�(Ut__all__tosR{tweakrefRVRRJR�RtmultiprocessingRRRRR	R
tmultiprocessing.processRtmultiprocessing.forkingRR
RRtmultiprocessing.utilRRtcPickleRtImportErrorR�RR�R>RwR9t
view_typesR"RR1R*RnR2R@RBRCR�R[R\tXmlListenert	XmlClientRQRR�R�RR�RRSRdR�RRRRRRRRR%R&R:R<R�RARBRRLRMRWRNRORPR�RQR�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyt<module>$s�."
	4
			
�,
�
�	
		


Bethany
Bethany
0%

THE FINEST HOTEL NEAR LAKE KIVU

The Perfect Base For You

Required fields are followed by *





EC1A68011

About Us

Delicious Interior With The Pinch Of Everything

Bethany Investment group is Presbyterian church in Rwanda(EPR) company that manage Hotel and Guest house in Karongi (Bethany Hotel), ISANO branch in GIKONDO(Kigali), Kiyovu branch(Kigali), AMIZERO branch(Nyagatare-East) and Gisenyi Branch(Rubavu).

Accomodation

Get a Comfortable Room
Feel The Comfort

Get a comfortable room and feel our hotel’s comfort. Bethany Hotel features a variety of fully furnished rooms with extra space, Executive rooms, Deluxe rooms with a beautiful lake view and garden space, Deluxe rooms, comfort rooms, family rooms and standard rooms at your service.

Standard Single

Services

We Provide Top Class Facility
Especially For You

Beach BBQ Party

Kick back on the beach& and enjoy our berbecue from our masterchef

Breakfast

Kick back at our hotels& enjoy our breakfast from our masterchef

Conference Hall

Kick back at our hotels& enjoy our conference halls from all bethany branches

Enjoy with your partner

Honeymoon Package

80%

Get In Touch

Don’t Miss Any Update

    +

    Search your Room

    Required fields are followed by *