JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў f)c @sddddddgZddlZddlZddlZddlmZdd lmZmZdd l m Z m Z dd l m Z ydd lmZWn*ek red dddYnXeed\ZZejjZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddejZdS(uLockuRLocku SemaphoreuBoundedSemaphoreu ConditionuEventiN(ucurrent_process(uregister_after_forkudebug(uassert_spawninguPopen(utime(uSemLocku*This platform lacks a functioning sem_openu( implementation, therefore, the requiredu+ synchronization primitives needed will notu function, see issue 3770.icBs\|EeZdZddZddZddZddZd d Zd d Zd S(uSemLockcCsftj|||}|_td|j|jtjdkrbdd}t||ndS(Nucreated semlock with handle %suwin32cSs|jjdS(N(u_semlocku _after_fork(uobj((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu _after_fork5su%SemLock.__init__.._after_fork( u_multiprocessinguSemLocku_semlockudebuguhandleu _make_methodsusysuplatformuregister_after_fork(uselfukinduvalueumaxvalueuslu _after_fork((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__/s   uSemLock.__init__cCs"|jj|_|jj|_dS(N(u_semlockuacquireurelease(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu _make_methods9suSemLock._make_methodscCs |jjS(N(u_semlocku __enter__(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __enter__=suSemLock.__enter__cGs|jj|S(N(u_semlocku__exit__(uselfuargs((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__exit__@suSemLock.__exit__cCs2t||j}tj|j|j|jfS(N(uassert_spawningu_semlockuPopenuduplicate_for_childuhandleukindumaxvalue(uselfusl((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __getstate__Cs  uSemLock.__getstate__cCs5tjj||_td|d|jdS(Nu recreated blocker with handle %ri(u_multiprocessinguSemLocku_rebuildu_semlockudebugu _make_methods(uselfustate((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __setstate__HsuSemLock.__setstate__N( u__name__u __module__u __qualname__u__init__u _make_methodsu __enter__u__exit__u __getstate__u __setstate__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuSemLock-s     uSemLockcBs;|EeZdZdddZddZddZdS( u SemaphoreicCstj|t|tdS(N(uSemLocku__init__u SEMAPHOREu SEM_VALUE_MAX(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__SsuSemaphore.__init__cCs |jjS(N(u_semlocku _get_value(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu get_valueVsuSemaphore.get_valuec Cs6y|jj}Wntk r-d}YnXd|S(Nuunknownu(u_semlocku _get_valueu Exception(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__Ys   uSemaphore.__repr__N(u__name__u __module__u __qualname__u__init__u get_valueu__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu SemaphoreQs cBs/|EeZdZdddZddZdS(uBoundedSemaphoreicCstj|t||dS(N(uSemLocku__init__u SEMAPHORE(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__fsuBoundedSemaphore.__init__c CsBy|jj}Wntk r-d}YnXd||jjfS(Nuunknownu)(u_semlocku _get_valueu Exceptionumaxvalue(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__is   uBoundedSemaphore.__repr__N(u__name__u __module__u __qualname__u__init__u__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuBoundedSemaphoredscBs,|EeZdZddZddZdS(uLockcCstj|tdddS(Ni(uSemLocku__init__u SEMAPHORE(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__wsu Lock.__init__c Csy|jjrPtj}tjjdkr|dtjj7}qnB|jjdkrnd}n$|jjdkrd}nd}Wntk rd}YnXd |S( Nu MainThreadu|iuNoneiuSomeOtherThreaduSomeOtherProcessuunknownu( u_semlocku_is_mineucurrent_processunameu threadingucurrent_threadu _get_valueu_countu Exception(uselfuname((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__zs      u Lock.__repr__N(u__name__u __module__u __qualname__u__init__u__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuLockus cBs,|EeZdZddZddZdS(uRLockcCstj|tdddS(Ni(uSemLocku__init__uRECURSIVE_MUTEX(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__suRLock.__init__c Csy|jjr_tj}tjjdkrM|dtjj7}n|jj}nT|jjdkrd \}}n0|jjdkrd \}}n d \}}Wntk rd\}}YnXd ||fS(Nu MainThreadu|iuNoneiuSomeOtherThreadunonzerouSomeOtherProcessuunknownu(uNonei(uSomeOtherThreadunonzero(uSomeOtherProcessunonzero(uunknownuunknown( u_semlocku_is_mineucurrent_processunameu threadingucurrent_threadu_countu _get_valueu Exception(uselfunameucount((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__s  uRLock.__repr__N(u__name__u __module__u __qualname__u__init__u__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuRLocks cBs|EeZdZdddZddZddZddZd d Zd d Z d dZ dddZ ddZ ddZ dddZdS(u ConditioncCsM|p t|_td|_td|_td|_|jdS(Ni(uRLocku_locku Semaphoreu_sleeping_countu _woken_countu_wait_semaphoreu _make_methods(uselfulock((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__s uCondition.__init__cCs&t||j|j|j|jfS(N(uassert_spawningu_locku_sleeping_countu _woken_countu_wait_semaphore(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __getstate__s  uCondition.__getstate__cCs,|\|_|_|_|_|jdS(N(u_locku_sleeping_countu _woken_countu_wait_semaphoreu _make_methods(uselfustate((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __setstate__suCondition.__setstate__cCs |jjS(N(u_locku __enter__(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __enter__suCondition.__enter__cGs|jj|S(N(u_locku__exit__(uselfuargs((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__exit__suCondition.__exit__cCs"|jj|_|jj|_dS(N(u_lockuacquireurelease(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu _make_methodssuCondition._make_methodsc CsRy&|jjj|jjj}Wntk r@d}YnXd|j|fS(Nuunknownu(u_sleeping_countu_semlocku _get_valueu _woken_countu Exceptionu_lock(uselfu num_waiters((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__s   uCondition.__repr__c Cs|jjjstd|jj|jjj}x!t|D]}|jjqJWz|jj d|SWd|j jx!t|D]}|jj qWXdS(Nu,must acquire() condition before using wait()T( u_locku_semlocku_is_mineuAssertionErroru_sleeping_countureleaseu_counturangeu_wait_semaphoreuacquireuTrueu _woken_count(uselfutimeoutucountui((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuwaits   uCondition.waitcCs|jjjstd|jjd s7tx4|jjdrm|jjd}|s:tq:W|jjdr|jj |jj|jjdndS(Nulock is not ownedF( u_locku_semlocku_is_mineuAssertionErroru_wait_semaphoreuacquireuFalseu _woken_countu_sleeping_counturelease(uselfures((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyunotifys  uCondition.notifycCs|jjjstd|jjd s7tx4|jjdrm|jjd}|s:tq:Wd}x-|jjdr|jj |d7}qwW|rx!t |D]}|jjqWx|jjdrqWndS(Nulock is not ownediiF( u_locku_semlocku_is_mineuAssertionErroru_wait_semaphoreuacquireuFalseu _woken_countu_sleeping_countureleaseurange(uselfuresusleepersui((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu notify_alls uCondition.notify_allcCs|}|r|S|dk r/t|}n d}d}xL|s|dk rp|t}|dkrpPqpn|j||}q>W|S(Ni(uNoneu_timeuwait(uselfu predicateutimeouturesultuendtimeuwaittime((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuwait_for s        uCondition.wait_forN(u__name__u __module__u __qualname__uNoneu__init__u __getstate__u __setstate__u __enter__u__exit__u _make_methodsu__repr__uwaitunotifyu notify_alluwait_for(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu Conditions        cBsS|EeZdZddZddZddZddZd d d Zd S( uEventcCs%tt|_td|_dS(Ni(u ConditionuLocku_condu Semaphoreu_flag(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__$suEvent.__init__c CsM|jjz+|jjdr3|jjdSdSWd|jjXdS(NFT(u_conduacquireu_flaguFalseureleaseuTrue(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuis_set(s  u Event.is_setc CsP|jjz.|jjd|jj|jjWd|jjXdS(NF(u_conduacquireu_flaguFalseureleaseu notify_all(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuset2s   u Event.setc Cs6|jjz|jjdWd|jjXdS(NF(u_conduacquireu_flaguFalseurelease(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuclear;s u Event.clearc Cs|jjz]|jjdr2|jjn|jj||jjdre|jjdSdSWd|jjXdS(NFT(u_conduacquireu_flaguFalseureleaseuwaituTrue(uselfutimeout((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuwaitBs  u Event.waitN( u__name__u __module__u __qualname__u__init__uis_setusetuclearuNoneuwait(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuEvent"s   cBs|EeZdZd d ddZddZddZeddZej d dZed d Z e j d d Z d S(uBarriercCspddl}ddlm}||jdd}t}|j|||||fd|_d|_dS(Ni(u BufferWrapperuii(ustructumultiprocessing.heapu BufferWrapperucalcsizeu Conditionu __setstate__u_stateu_count(uselfupartiesuactionutimeoutustructu BufferWrapperuwrapperucond((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__Ws   uBarrier.__init__cCsC|\|_|_|_|_|_|jjjd|_dS(Nui(u_partiesu_actionu_timeoutu_condu_wrapperucreate_memoryviewucastu_array(uselfustate((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __setstate__`s$uBarrier.__setstate__cCs"|j|j|j|j|jfS(N(u_partiesu_actionu_timeoutu_condu_wrapper(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __getstate__esuBarrier.__getstate__cCs |jdS(Ni(u_array(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu_stateisuBarrier._statecCs||jd s.      $z3