\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c @@sBddlmZddlZddljZddlZddlZddlZddlZddl Z ddl m Z m Z ej jZej jZej jZej jZejZejZejZejZejZejZ Z!ej"Z#e#Z$ej"Z%ej&Z'e#dj(Z)dZ*dZ+dZ,dZ-d Z.d Z/ej0ejej0ej"krtejZ1ejZ2n9ej0ej3ej0ej"krej4Z1ej3Z2nd ej5fd YZ6d ej5fdYZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@dej5fdYZAdej5fdYZBdZCdZDdej5fdYZEdej5fdYZFd ej5fd!YZGed"j(ZHed#j(ZId$ZJdZKd$ZLd%ej5fd&YZMd'ej5fd(YZNd)ej5fd*YZOeejegejP_Qe%ejP_Rej"e%ej"ej"ej"eej"ej"gejS_QeejS_Re%gejT_QeejT_Re eeej"eee#gejU_Qe#ejU_Re#ej"gejV_QeejV_Re#gejW_QeejW_Ry(e e ej"gejX_QeejX_RWneYk rAnXe egejZ_QeejZ_RdZ[dZ\dZ]dZ^dZ_d+Z`d,Zae gejb_Qeejb_Re ej"eej"ej"ej"ej"egejc_Qeejc_Re ej"egejd_Qeejd_Reeegeje_Qe#eje_Re#ej"gejf_Qeejf_Rgejg_Qeejg_Re#ej"egejh_Qeejh_Re e ej"ej"eeej"e ej"ej"g eji_Qeeji_Regejj_Qdejj_Rgejl_Qeejl_RejmeeZnenegejo_Qeejo_Re#egejp_Qeejp_Re#ej"gejq_Qeejq_Regejr_Qe#ejr_Re#ej"gejs_Qeejs_Rej"ej"gejt_Qeejt_Re#ej"geju_Qeeju_Re#ejvgejw_Qeejw_Rejmee$e2Zxexe2gejy_Qeejy_Re#ej"eej"ej"ej"gejz_Qeejz_Rd-Z{d.Z|e}d/Z~d0Zd1Zd2Zd3Zd4Zd5Zd6Zd7Zd8Zd9Zd:ZgZd;Zd<Zd=Zd>Zd?Zd@ZdAZdS(Bi(tabsolute_importNi(tencodingtpycompatiiiWimizit _FILETIMEcB@s eZdefdefgZRS(t dwLowDateTimetdwHighDateTime(t__name__t __module__t_DWORDt_fields_(((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR:s t_BY_HANDLE_FILE_INFORMATIONc B@sheZdefdefdefdefdefdefdefdefdefd efg ZRS( tdwFileAttributestftCreationTimetftLastAccessTimetftLastWriteTimetdwVolumeSerialNumbert nFileSizeHight nFileSizeLowtnNumberOfLinkstnFileIndexHight nFileIndexLow(RRRRR (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR >s         iiiiii iit _STARTUPINFOcB@seZdefdefdefdefdefdefdefdefdefd efd efd efd efd efdejfdefdefdefgZRS(tcbt lpReservedt lpDesktoptlpTitletdwXtdwYtdwXSizetdwYSizet dwXCountCharst dwYCountCharstdwFillAttributetdwFlagst wShowWindowt cbReserved2t lpReserved2t hStdInputt hStdOutputt hStdError( RRRt_LPSTRt_WORDtctypestc_char_pt_HANDLER (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR]s$                 t_PROCESS_INFORMATIONcB@s2eZdefdefdefdefgZRS(thProcessthThreadt dwProcessIdt dwThreadId(RRR,RR (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR-qs   it_COORDcB@s&eZdejfdejfgZRS(tXtY(RRR*tc_shortR (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR2zs t _SMALL_RECTcB@s>eZdejfdejfdejfdejfgZRS(tLefttToptRighttBottom(RRR*R5R (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR6~s   t_CONSOLE_SCREEN_BUFFER_INFOcB@s;eZdefdefdefdefdefgZRS(tdwSizetdwCursorPositiont wAttributestsrWindowtdwMaximumWindowSize(RRR2R)R6R (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyR;s     iiitCERT_CHAIN_CONTEXTc B@seeZdefdefdefdefdejfdefdejfdefdeff ZRS( tcbSizet dwErrorStatust dwInfoStatustcChaintrgpChaintcLowerQualityChainContexttrgpLowerQualityChainContexttfHasRevocationFreshnessTimetdwRevocationFreshnessTime(RRRR*tc_void_pt_BOOLR (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyRAs        tCERT_USAGE_MATCHcB@s,eZdefdefdejffZRS(tdwTypetcUsageIdentifiertrgpszUsageIdentifier(RRRR*RKR (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyRMs  tCERT_CHAIN_PARAc B@seeZdefdefdefdefdefdefdejfdejfdeff ZRS( RBtRequestedUsagetRequestedIssuancePolicytdwUrlRetrievalTimeouttfCheckRevocationFreshnessTimeRJtpftCacheResynctpStrongSignParatdwStrongSignFlags(RRRRMRLR*RKR (((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyRQs        iicC@sctj}|dkr%|d8}ntjd|}t|jdtj||jfdS(Niii tcodes%s: %sI( t _kernel32t GetLastErrorR*tWinErrortOSErrorterrnoRt strfromlocaltstrerror(tnameRYterr((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt _raiseoserror/s    cC@stj|dttBtBdttd}|tkrBt |nz9t }tj |t j |svt |n|SWdtj|XdS(Ni(RZt CreateFileAt_FILE_SHARE_READt_FILE_SHARE_WRITEt_FILE_SHARE_DELETEtNonet_OPEN_EXISTINGt_FILE_FLAG_BACKUP_SEMANTICSt_INVALID_HANDLE_VALUERcR tGetFileInformationByHandleR*tbyreft CloseHandle(Ratfhtfi((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt _getfileinfo9s      c C@stjt}|}tdtjtdt}tjt|t |}|dkrmt dnd}|s|dO}nzatj d|ddtj ||dtj |st dn|j}|jt@dkSWd|rtj|ntj|XdS(sTests the given certificate to see if there is a complete chain to a trusted root certificate. As a side effect, missing certificates are downloaded and installed unless ``build=False``. True is returned if a chain to a trusted root exists (even if built on the fly), otherwise False. NB: A chain to a trusted root does NOT imply that the certificate is valid. RBRRtCertCreateCertificateContextiitCertGetCertificateChainN(R*tPOINTERRARQtsizeofRMt_crypt32RrtX509_ASN_ENCODINGtlenRhRcRsRmtcontentsRCtCERT_TRUST_IS_PARTIAL_CHAINtCertFreeCertificateChaintCertFreeCertificateContext(tcerttbuildt chainctxptrt pchainctxt chainparatcertctxtflagstchainctx((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytcheckcertificatechainGs4           cC@sHy&tj||ds%t|nWntk rCt|nXdS(N(RZtCreateHardLinkARhRctAttributeError(tsrctdst((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytoslinkts  cC@s t|jS(s-return number of hardlinks for the given file(RqR(Ra((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytnlinks{scC@sLt|}t|}|j|jkoK|j|jkoK|j|jkS(sDReturns whether path1 and path2 refer to the same file or directory.(RqRRR(tpath1tpath2tres1tres2((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytsamefiles   cC@s(t|}t|}|j|jkS(s7Returns whether path1 and path2 are on the same device.(RqR(RRRR((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt samedevices  cC@sztj|j}t}tj|dddtj|dsstj }|t kradStj |n|j S(Ni( tmsvcrtt get_osfhandletfilenoRRZt PeekNamedPipeRhR*RmR[t_ERROR_BROKEN_PIPER\tvalue(tpipethandletavailRb((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytpeekpipes    cC@s8|jtjkrtStj}|tkp7|tkS(N(R^tEINVALtFalseRZR[Rt_ERROR_NO_DATA(Rb((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytlasterrorwaspipeerrors cC@sttjtt|}|rdz5t}tj|tj|rO|jt kSWdtj |Xntj t kS(sOreturn True if pid is still running or unable to determine, False otherwiseN( RZt OpenProcesst_PROCESS_QUERY_INFORMATIONRRtGetExitCodeProcessR*RmRt _STILL_ACTIVERnR[t_ERROR_INVALID_PARAMETER(tpidthtstatus((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyttestpids cC@swd}tj|d}tjdtj||}|dkrRtjn||krptjtn|jS(sreturn full path of hg.exeiXiiN( R*tcreate_string_bufferRZtGetModuleFileNameARhRmR\t_ERROR_INSUFFICIENT_BUFFERR(tsizetbufRx((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytexecutablepaths  cC@sntjj|}tt|td}tj|}tj |tj ||sgtj n|j S(sGet the mount point of the filesystem from a directory or file (best-effort) Returns None if we are unsure. Raises OSError on ENOENT, EPERM, etc. i( tostpathtrealpathtmaxRxt _MAX_PATHR*RRZtGetVolumePathNameARmR\R(RRRR((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt getvolumenames c C@st|}tj|}|tkr+dS|ttttfkrGdSt d}t j |}tj |dddddt j ||st jn|jS(sGet the filesystem type name from a directory or file (best-effort) Returns None if we are unsure. Raises OSError on ENOENT, EPERM, etc. tcifsiiN(RRZt GetDriveTypeAt _DRIVE_REMOTEt_DRIVE_REMOVABLEt _DRIVE_FIXEDt _DRIVE_CDROMt_DRIVE_RAMDISKRhRR*RtGetVolumeInformationARmR\R(RtvolumettRRa((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt getfstypes     cC@s\td}tj|jd}tjtj|tj|sUtjn|jS(sreturn name of current useri,i(RR*RRt _advapi32t GetUserNameARmR\(RR((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytgetusers  $cC@sQd}trdSt|}tj|tj|tsMtjndS(sRegister a termination handler for console events including CTRL+C. python signal handlers do not work well with socket operations. cS@stjddS(Ni(RZt ExitProcess(tevent((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pythandlersN(t_signalhandlert_SIGNAL_HANDLERtappendRZtSetConsoleCtrlHandlertTrueR*R\(RR((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytsetsignalhandlers   cC@s/d}tj}tjt||dS(NcS@sIt}tj|tj|||jkrEtj|ttSt S(N( Rt_user32tGetWindowThreadProcessIdR*RmRt ShowWindowt_SW_HIDERR(thwndRtwpid((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytcallbacks  (RZtGetCurrentProcessIdRt EnumWindowst _WNDENUMPROC(RR((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt hidewindows  cC@sd}d}tjt}|dks3|tkr=||fSt}tj|tj|sk||fS|j j |j j }|j j |j j d}||fS(NiPiiiO(RZt GetStdHandlet_STD_ERROR_HANDLERhRkR;tGetConsoleScreenBufferInfoR*RmR?R9R7R:R8(twidththeightt screenbuftcsbi((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyttermsize s    cC@sd}tjt}|tkr%tStd}tj|tj|sPtS|j |@dkr|j |O_ tj ||stSnt S(saEnable virtual terminal mode for the associated console. Return True if enabled, else False.ii( RZRt_STD_OUTPUT_HANDLERkRRtGetConsoleModeR*RmRtSetConsoleModeR(t"ENABLE_VIRTUAL_TERMINAL_PROCESSINGRtmode((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt enablevtmodes  c C@st}tjt|_t}d}x,tjD]!}|d|tj|f7}q4W|shd}n|d7}tjt j tj |}t j dtj|ddtt|tjtj|tj| }|stjn|jS(Nts%s=%ss(RR*RuRR-Rtenviront subprocesst list2cmdlineRtrapplyR_RZtCreateProcessARht strtolocalRt_CREATE_NO_WINDOWtgetcwdRmR\R0(targstsitpitenvtktres((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyt spawndetached4s     *cC@stjj|r4ttjdtj|nxtj dD]e}d|t j ddf}ytj ||PWqDt k r}|jtjkrqqDXqDWttjdytj|WnFt k rtj|tytj|Wqt k rqXnXdS(s3try to implement POSIX' unlink semantics on Windowss'Unlinking directory not permitted: '%s'i s%s-%08xiIs"No usable temporary filename foundN(RRtisdirtIOErrorR^tEPERMRR_RtxrangetrandomtrandinttrenameR]tEEXISTtunlinkRZtSetFileAttributesAt_FILE_ATTRIBUTE_NORMAL(tfttriesttempte((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pyRQs*   cC@s*tj||r&tj|tndS(N(RtmkdirRZRt#_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED(Rt notindexed((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytmakedirs (t __future__RR*tctypes.wintypestwintypesR^RRRRRRRtwindlltkernel32RZtadvapi32Rtuser32Rtcrypt32Rvtc_longRLtc_ushortR)tc_ulongRtc_uintt_UINTt_LONGR+t_LPCSTRR(RKR,t_HWNDt_PCCERT_CONTEXTtMAX_PATHRRRkt_ERROR_SUCCESSt_ERROR_NO_MORE_FILESRRRRRut_WPARAMt_LPARAMt c_longlongt c_ulonglongt StructureRR ReRfRgRiRjRRRRRR-RRR2R6R;RRRzRwtPKCS_7_ASN_ENCODINGRARMRQRrtargtypestrestypeRsR|RdRlRnRRRt_DRIVE_UNKNOWNt_DRIVE_NO_ROOT_DIRRRRRRRRRRRR[RRRRhRt WINFUNCTYPERRRRRRRRtc_intRRRRRcRqRRRRRRRRRRRRRRRRRRRRR(((s5/usr/lib64/python2.7/site-packages/mercurial/win32.pytsJ                   $  $              '                         -             5