ó
gÊù]c           @   sß   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z m Z d Z d „  Z d „  Z	 e j
 d ƒ Z d „  Z e j d k rŽ e	 Z n e j r  e Z n  d	 e f d
 „  ƒ  YZ e j j ƒ  Z d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   Utilst   Errorss1  
**/*~
**/#*#
**/.#*
**/%*%
**/._*
**/CVS
**/CVS/**
**/.cvsignore
**/SCCS
**/SCCS/**
**/vssver.scc
**/.svn
**/.svn/**
**/BitKeeper
**/.git
**/.git/**
**/.gitignore
**/.bzr
**/.bzrignore
**/.bzr/**
**/.hg
**/.hg/**
**/_MTN
**/_MTN/**
**/.arch-ids
**/{arch}
**/_darcs
**/_darcs/**
**/.intlcache
**/.DS_Storec         C   s   |  j  d ƒ S(   Nt   /(   t   split(   t   path(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt
   split_path&   s    c         C   sE   |  j  d ƒ r8 |  j d ƒ d } d | d | d <| S|  j d ƒ S(   Ns   //R   i   i    (   t
   startswithR   (   R   t   ret(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   split_path_cygwin(   s
    s   [/\\]c         C   sK   |  j  d ƒ r; t j t |  ƒ d } d | d | d <| St j t |  ƒ S(   Ns   \\i   s   \i    (   R   t   reR   t   re_sp(   R   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   split_path_win32/   s
    t   cygwint   Nodec           B   s   e  Z d3 Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z	 d „  Z
 d d d „ Z d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d4 d! g  e e e d" „ Z d# „  Z d$ „  Z d% „  Z  d& „  Z! d' „  Z" d( „  Z# d) „  Z$ d* „  Z% d4 d+ „ Z& d4 d, „ Z' d- „  Z( d. „  Z) d/ „  Z* d0 „  Z+ d1 „  Z, d2 „  Z- e Z. RS(5   t   namet   sigt   childrent   parentt   cache_abspatht   cache_isdirt	   cache_sigc         C   sW   | |  _  | |  _ | rS | | j k rC t j d | | f ƒ ‚ n  |  | j | <n  d  S(   Ns-   node %s exists in the parent files %r already(   R   R   R   R   t   WafError(   t   selfR   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __init__;   s    		c         C   s^   | d |  _  | d |  _ | d d  k	 r: | d |  _ n  | d d  k	 rZ | d |  _ n  d  S(   Ni    i   i   i   (   R   R   t   NoneR   R   (   R   t   data(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __setstate__B   s    c         C   s.   |  j  |  j t |  d d  ƒ t |  d d  ƒ f S(   NR   R   (   R   R   t   getattrR   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __getstate__I   s    c         C   s   |  j  S(   N(   R   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __str__K   s    c         C   s
   |  j  ƒ  S(   N(   t   abspath(   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __repr__M   s    c         C   s
   t  |  ƒ S(   N(   t   id(   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __hash__O   s    c         C   s   t  |  ƒ t  | ƒ k S(   N(   R    (   R   t   node(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __eq__Q   s    c         C   s   t  j d ƒ ‚ d  S(   Ns#   nodes are not supposed to be copied(   R   R   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   __copy__S   s    t   rs	   ISO8859-1c         C   s   t  j |  j ƒ  | | ƒ S(   N(   R    t   readfR   (   R   t   flagst   encoding(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   readU   s    t   wc         C   s    t  j |  j ƒ  | | | ƒ d  S(   N(   R    t   writefR   (   R   R   R'   R(   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   writeW   s    c         C   s   t  j |  j ƒ  | ƒ d  S(   N(   t   ost   chmodR   (   R   t   val(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyR.   Y   s    c         C   s^   y< t  |  d ƒ r( t j |  j ƒ  ƒ n t j |  j ƒ  ƒ Wn t k
 rO n X|  j ƒ  d  S(   NR   (   t   hasattrt   shutilt   rmtreeR   R-   t   removet   OSErrort   evict(   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   delete[   s    c         C   s   |  j  j |  j =d  S(   N(   R   R   R   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyR5   d   s    c         C   s&   t  d |  j j d ƒ ƒ } |  j | S(   Ni    t   .(   t   maxR   t   rfind(   R   t   k(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   suffixf   s    c         C   s0   |  } d } x | r+ | j  } | d 7} q W| S(   Niÿÿÿÿi   (   R   (   R   t   dR/   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   heighti   s    		c         C   s#   t  j |  j ƒ  ƒ } | j ƒ  | S(   N(   R    t   listdirR   t   sort(   R   t   lst(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyR>   p   s    
c         C   sÛ   t  |  d d  ƒ r d  Sy |  j j ƒ  Wn t k
 r: n X|  j rÎ y t j |  j ƒ  ƒ Wn t k
 rn n Xt j	 j
 |  j ƒ  ƒ s£ t j d |  j ƒ  ƒ ‚ n  y |  j WqÎ t k
 rÊ i  |  _ qÎ Xn  t |  _ d  S(   NR   s!   Could not create the directory %s(   R   R   R   t   mkdirR4   R   R-   t   makedirsR   R   t   isdirR   R   R   t   AttributeErrort   TrueR   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyRA   t   s$    	c         C   s›  t  | t ƒ rC g  t | ƒ D] } | r | d k r | ^ q } n  |  } xÉ | D]Á } | d k rw | j pn | } qP n  y | j } Wn t k
 r  i  | _ n) Xy | j | } wP Wn t k
 rÈ n X|  j | | ƒ } y t j	 | j
 ƒ  ƒ WqP t k
 r| j ƒ  d  SXqP W| } y t j	 | j
 ƒ  ƒ Wn t k
 rP| j ƒ  d  SXy2 x+ t | j d d  ƒ s�| j } t | _ qWWWn t k
 r–n X| S(   NR7   s   ..R   (   t
   isinstancet   strR   R   R   RD   t   KeyErrort	   __class__R-   t   statR   R4   R5   R   R   RE   R   (   R   R@   t   xt   curt   chR   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt	   find_node‡   sF    4
	
	c         C   sÑ   t  | t ƒ rC g  t | ƒ D] } | r | d k r | ^ q } n  |  } x� | D]y } | d k rw | j pn | } qP n  t | d i  ƒ r® | | j k r· | j | } qP q· n	 i  | _ |  j | | ƒ } qP W| S(   NR7   s   ..R   (   RF   RG   R   R   R   R   RI   (   R   R@   RK   RL   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt	   make_node¬   s    4		c         C   s¨   t  | t ƒ rC g  t | ƒ D] } | r | d k r | ^ q } n  |  } xX | D]P } | d k rt | j pn | } qP y | j | } WqP t t f k
 rŸ d  SXqP W| S(   NR7   s   ..(   RF   RG   R   R   R   RD   RH   R   (   R   R@   RK   RL   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   search_node¼   s    4	c   	      C   s%  |  } | } | j  ƒ  } | j  ƒ  } g  } d } x3 | | k re | j | j ƒ | j } | d 8} q3 Wx- | | k r• | d 7} | j } | d 8} qi WxH t | ƒ t | ƒ k rà | j | j ƒ | d 7} | j } | j } q™ Wx! t | ƒ D] } | j d ƒ qî W| j ƒ  t j j	 | ƒ p$d S(   Ni    i   s   ..R7   (
   R=   t   appendR   R   R    t   ranget   reverseR-   t   sept   join(	   R   R"   t   c1t   c2t   c1ht   c2hR@   t   upt   i(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt	   path_fromÉ   s.    	
	
	
c         C   sé   y |  j  SWn t k
 r n Xt j d k r‚ |  j sC t j } qÜ |  j j sb t j |  j } qÜ |  j j ƒ  t j |  j } nZ |  j s” d } nH |  j j s³ |  j t j } n) |  j j ƒ  j t j ƒ t j |  j } | |  _  | S(   NR   t    (   R   RD   R-   RT   R   R   R   t   rstrip(   R   R/   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyR   á   s"    	 		)	c         C   sX   |  } |  j  ƒ  | j  ƒ  } x# | d k rA | d 8} | j } q Wt | ƒ t | ƒ k S(   Ni    i   (   R=   R   R    (   R   R"   t   pt   diff(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   is_child_ofö   s    
i   c         c   s—  |  j  ƒ  } | j ƒ  y t |  j j ƒ  ƒ } Wn t k
 rK i  |  _ n6 X| r� x, | t | ƒ D] }	 |  j |	 j ƒ  qc Wn  x	| D]}
 | |
 | ƒ } | rˆ | d rˆ g  | d k } |  j |
 g ƒ } t j	 j
 | j ƒ  ƒ } | r| r| r| Vqq| r| Vqn  t | d d  ƒ s-| r‰t | _ | r†xD | j d | d | d d | d | d | d	 | ƒ D] } | VqqWq†q‰qˆ qˆ Wt ‚ d  S(
   Ni    R   t   acceptt   maxdepthi   t   patst   dirt   srcR3   (   R>   R?   t   setR   t   keysRD   R5   RO   R-   R   RC   R   R   R   RE   R   t   ant_itert   StopIteration(   R   Rb   Rc   Rd   Re   Rf   R3   t   dircontR@   RK   R   t   npatst   acceptedR"   RC   R:   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyRi   ý   s6    
	;c            s:  | j  d t ƒ } | j  d t ƒ } | j  d t ƒ } | rF | d pU | j  d d ƒ } | j  d d ƒ op t j ‰ ‡ f d †  } d	 „  ‰  ‡  f d
 †  } g  |  j d | d | | ƒ | | ƒ g d d d | d | d | j  d t ƒ ƒ D] }	 |	 ^ qé }
 | j  d t ƒ r6d j g  |
 D] }	 |	 j |  ƒ ^ qƒ S|
 S(   NRf   Re   t   excli    t   incls   **t
   ignorecasec            s?  t  j |  ƒ } g  } x#| D]} | j d d ƒ j d d ƒ } | j d ƒ r\ | d 7} n  | j d ƒ } g  } x¶ | D]® } | d k rš | j | ƒ qx | j d d ƒ j d d ƒ j d	 d ƒ j d
 d ƒ } d | } y  | j t j | d ˆ  ƒƒ Wqx t k
 r%} t	 j
 d | | ƒ ‚ qx Xqx W| j | ƒ q W| S(   Ns   \R   s   //s   **R7   s   [.]t   *s   .*t   ?t   +s   \+s   ^%s$R'   s   Invalid pattern: %s(   R    t   to_listt   replacet   endswithR   RQ   R	   t   compilet	   ExceptionR   R   (   t   sR@   R   RK   t   lst2t   accuR:   t   e(   t   reflags(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   to_pat!  s&    6
 c         S   s´   g  } x§ | D]Ÿ } | s q | d d k r… | j  | ƒ t | ƒ d k ru | d j |  ƒ r‚ | j  | d ƒ q‚ q¬ | j  g  ƒ q | d j |  ƒ r | j  | d ƒ q q W| S(   Ni    s   **i   i   (   RQ   t   lent   match(   R   t   nnR   R@   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   filtre6  s    c            sE   ˆ  |  | d ƒ } ˆ  |  | d ƒ } g  | k r; g  } n  | | g S(   Ni    i   (    (   R   Rd   t   nacct   nrej(   R‚   (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyRb   E  s
    	Rb   Rd   Rc   i   R3   t   flatt    (	   t   getRE   t   Falset   exclude_regsR	   t   IRi   RU   R\   (   R   R:   t   kwRf   Re   Rn   Ro   R~   Rb   RK   R   (    (   R‚   R}   sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   ant_glob  s    "	a)c         C   ss   |  } t  |  j j ƒ } t  |  j j ƒ } xB | j rn t  | ƒ | k rL t St  | ƒ | k rb t S| j } q- Wt S(   N(   R    t   ctxt   srcnodet   bldnodeR   Rˆ   RE   (   R   RL   RK   t   y(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   is_srcO  s    c         C   sK   |  } t  |  j j ƒ } x, | j rF t  | ƒ | k r: t S| j } q Wt S(   N(   R    R�   R�   R   RE   Rˆ   (   R   RL   R�   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   is_bldZ  s    c         C   s¢   |  } t  |  j j ƒ } t  |  j j ƒ } g  } xk | j r� t  | ƒ | k rk | j ƒ  |  j j j | ƒ St  | ƒ | k r� |  S| j | j ƒ | j } q3 W|  S(   N(	   R    R�   RŽ   R�   R   RS   RO   RQ   R   (   R   RL   RK   R�   R@   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   get_srcb  s    
c         C   s  |  } t  |  j j ƒ } t  |  j j ƒ } g  } xk | j r� t  | ƒ | k rR |  St  | ƒ | k r� | j ƒ  |  j j j | ƒ S| j | j ƒ | j } q3 W| j ƒ  | rõ t	 j
 rõ t | d ƒ d k rõ | d j d ƒ rõ | d d | d <n  |  j j j d g | ƒ S(   Ni    i   t   :t   __root__(   R    R�   RŽ   R�   R   RS   RO   RQ   R   R    t   is_win32R   Rv   (   R   RL   RK   R�   R@   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   get_bldp  s     

8c         C   s¥   t  | t ƒ rC g  t | ƒ D] } | r | d k r | ^ q } n  |  j ƒ  j | ƒ } | s| |  j ƒ  }  |  j | ƒ } n  | r¡ t j j	 | j
 ƒ  ƒ r¡ d  Sn  | S(   NR7   (   RF   RG   R   R—   RP   R“   RN   R-   R   RC   R   R   (   R   R@   RK   R"   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   find_resource�  s    4c         C   s  t  | t ƒ rC g  t | ƒ D] } | r | d k r | ^ q } n  |  j ƒ  j | ƒ } | r“ t j j | j ƒ  ƒ s� d  | _
 | j j ƒ  n  | S|  j ƒ  }  |  j | ƒ } | ré t j j | j ƒ  ƒ så d  | _
 | j j ƒ  n  | S|  j ƒ  j | ƒ } | j j ƒ  | S(   NR7   (   RF   RG   R   R—   RP   R-   R   t   isfileR   R   R   R   RA   R“   RN   RO   (   R   R@   RK   R"   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   find_or_declareŒ  s$    4		c         C   s‘   t  | t ƒ rC g  t | ƒ D] } | r | d k r | ^ q } n  |  j | ƒ } y  t j j | j ƒ  ƒ sq d  SWn t	 t
 f k
 rŒ d  SX| S(   NR7   (   RF   RG   R   RN   R-   R   RC   R   R   R4   RD   (   R   R@   RK   R"   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   find_dirŸ  s    4c         C   sv   |  j  } | d  k rN | j d ƒ } | d k rA | |  | } qc | | } n | t | ƒ  | } |  j j | g ƒ S(   NR7   i    (   R   R   R9   R   R   Rš   (   R   t   extt   ext_inR   R:   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt
   change_ext©  s    	c         C   s   |  j  |  j j ƒ  ƒ S(   N(   R\   R�   t   launch_node(   R   t   env(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt	   nice_path´  s    c         C   s   |  j  |  j j ƒ S(   N(   R\   R�   R�   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   bldpath¶  s    c         C   s   |  j  |  j j ƒ S(   N(   R\   R�   RŽ   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   srcpath¸  s    c         C   sW   |  } t  |  j j ƒ } x2 | j rL t  | ƒ | k r@ |  j ƒ  S| j } q W|  j ƒ  S(   N(   R    R�   R�   R   R¢   R£   (   R   RL   RK   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   relpathº  s    
c         C   s   |  j  j ƒ  S(   N(   R   R¢   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   bld_dirÂ  s    c         C   s.   t  j j |  j ƒ d } |  j ƒ  t  j | S(   Ni    (   R-   R   t   splitextR   R¥   RT   (   R   Ry   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   bld_baseÄ  s    c         C   ss   y |  j  SWn t k
 r n X|  j ƒ  sD |  j j |  j j k r_ t j |  j ƒ  ƒ |  _	 n  |  j	 |  _  } | S(   N(
   R   RD   R’   R�   R�   RŽ   R    t   h_fileR   R   (   R   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   get_bld_sigÇ  s    %(   R   R   R   R   R   R   R   N(/   t   __name__t
   __module__t	   __slots__R   R   R   R   R   R!   R#   R$   R)   R,   R.   R6   R5   R;   R=   R>   RA   RN   RO   RP   R\   R   Ra   R   Rˆ   RE   Ri   RŒ   R‘   R’   R“   R—   R˜   Rš   R›   Rž   R¡   R¢   R£   R¤   R¥   R§   R©   t   search(    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyR   9   sT   																	%						4							
							t   Nod3c           B   s   e  Z RS(    (   Rª   R«   (    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyR®   Ò  s   (   R-   R	   t   sysR1   t   waflibR    R   R‰   R   R   Rw   R
   R   t   platformR–   t   objectR   t	   threadingt   Lockt   pickle_lockR®   (    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Node.pyt   <module>   s   0						ÿ ™