
    	^c                     z    d dl Z ddlmZmZmZmZ 	 d dlZej         n# e	$ r d dlZY nw xY wdZ
d Zd Zd Zd ZdS )	    N   )encodingpycompatutilwin32s   morec                     g t          j                    } t          j                            t          j                            |           d          }                    |           fd} |t          j                            t          j                            |           d                     t          j        	                    d          }|rt          j                            |d          } |t          j                            |d                     t          j                            |d          }t          j        
                    |          r                    |           t          j                            |d          }t          j        
                    |          r                    |           t          j        ddt          j                  }|rt          |t                     r~t          j        |          }|                    t&          j                  D ]J}|                                                    d          r                    |           ? ||           KS )	z+return default os-specific hgrc search path   mercurial.inic                 (   t           j                            |           rot          t	          j        |                     D ]O\  }}|                    d          r3                    t           j                            | |                     Nd S d S )Ns   .rc)	ospathisdirsortedr   listdirendswithappendjoin)progrcdfkindrcpaths      6/usr/lib/python3/dist-packages/mercurial/scmwindows.py_processdirz!systemrcpath.<locals>._processdir   s    7==!! 	<!$,w"7"788 < <4::f%% <MM"',,w":":;;;	< 	<< <    s   hgrc.ds   PROGRAMDATAs	   Mercurials   hgrcs   SOFTWARE\MercurialN)r   executablepathr   r   r   dirnamer   r   environgetisfiler   	lookupregwinregHKEY_LOCAL_MACHINE
isinstancebytes	localpathsplitr   	ospathseplowerr   )filenameprogrcr   programdatainivaluepr   s          @r   systemrcpathr.      s   F#%%HW\\"'//(335EFFF
MM&< < < < < KRW__X66	BBCCC "&&~66K 
gll;==BGLLi88999gll;(8997>># 	MM#gll;007>># 	MM# N!	 E  E5)) u%%X/00 	 	Awwyy!!"233 a    AMr   c                     t          d          } t          j                            | d          t          j                            | d          g}t          j                            d          }|rl|| k    rf|                    t          j                            |d                     |                    t          j                            |d                     |S )z3return os-specific hgrc search path to the user dir   ~r	   s   .hgrc   USERPROFILE)_legacy_expanduserr   r   r   r   r   r   r   )homer   userprofiles      r   
userrcpathr5   G   s    d##DGLL/00"',,tX2N2NOD"&&~66K 9{d**BGLL.>??@@@BGLLh77888Kr   c                    |                      d          s| S dt          |           }}||k     r| |         dvr|dz  }||k     r
| |         dvdt          j        v rt          j        d         }ndt          j        v rt          j        d         }nfdt          j        vr| S 	 t          j        d         }n# t          $ r d}Y nw xY wt
          j                            |t          j        d                   }|dk    rEt
          j                            t
          j                            |          | d|                   }|| |d	         z   S )
z2Expand ~ and ~user constructs in the pre 3.8 styler0   r   s   \/s   HOMEr1   s   HOMEPATHs	   HOMEDRIVEr   N)	
startswithlenr   r   KeyErrorr   r   r   r   )r   inuserhomedrives        r   r2   r2   R   sP    ??4   c$iiqA
a%%DG6))	Q a%%DG6)) ("""#G,	8+	+	+#N3	H,	,	,	$\2EE 	 	 	EEE	7<<x'7'DEEAvv7<< 9 94!9EEd122hs   !B4 4CCc                 (    t          j                    S )N)r   termsize)uis    r   r?   r?   r   s    >r   )r    r   r   r   r   _winregr    CloseKeyImportErrorfallbackpagerr.   r5   r2   r?    r   r   <module>rG      s    				           
OOO   MMMMM
 . . .b    @    s    	**