
    C                     `    S r SSKJrJrJrJrJrJr  SSKJ	r	J
r
   " S S\5      rS rS rS	 rg
)zBundle format support.
    )DictListTupleOptionalUnionSequence   )PackDatawrite_pack_datac                   .    \ rS rSrSr0 r/ r0 r/ rS r	Sr
g)Bundle   Nc                 H   [        U[        U 5      5      (       d  gU R                  UR                  :w  a  gU R                  UR                  :w  a  gU R                  UR                  :w  a  gU R
                  UR
                  :w  a  gU R                  UR                  :w  a  gg)NFT)
isinstancetypeversioncapabilitiesprerequisites
references	pack_data)selfothers     !lib/third_party/dulwich/bundle.py__eq__Bundle.__eq__%   s    %d,,<<5==( 2 22!4!44??e...>>U__,     )__name__
__module____qualname____firstlineno__r   r   r   r   r   r   __static_attributes__r   r   r   r   r      s     GLMJIr   r   c                    0 n/ n0 nU R                  5       nUS:  a  UR                  S5      (       au  USS  R                  S5      n UR                  SS5      u  pgUR	                  S5      nXrUR	                  S5      '   U R                  5       nUR                  S5      (       a  Mu  UR                  S5      (       ao  USS  R                  S5      R                  SS5      u  pUR                  XR	                  S5      45        U R                  5       nUR                  S5      (       a  Mo  US:w  a?  UR                  S5      R                  SS5      u  pXU
'   U R                  5       nUS:w  a  M?  [        R                  " U 5      n[        5       nXLl
        X,l        X<l        Xl        Xl        U$ ! [
         a    UnS n GNVf = f)	N      @r	      
   =utf-8   -    )readline
startswithrstripsplitdecode
ValueErrorappendr
   	from_filer   r   r   r   r   r   )fr   r   r   r   linekeyvalueobj_idcommentrefr   rets                r   _read_bundler;   5   s   LMJ::<D!|ood##8??5)D.!ZZa0

 W-05G,-::<D ood## //$

 HOOE288qAfnnW&=>?zz| //$

 %-E*00q9 3zz| %- ""1%I
(CN#%MKJ-  s   F2 2GGc                     U R                  5       nUS:X  a  [        U S5      $ US:X  a  [        U S5      $ [        SU-  5      e)zRead a bundle file.   # v2 git bundle
      # v3 git bundle
r$   z$unsupported bundle format header: %r)r+   r;   AssertionError)r3   	firstlines     r   read_bundlerB   X   sJ    

I((Aq!!((Aq!!
?)K
LLr   c                 :   UR                   nUc  UR                  (       a  SnOSnUS:X  a  U R                  S5        O&US:X  a  U R                  S5        O[        SU-  5      eUS:X  a}  UR                  R	                  5        H_  u  p4U R                  SUR                  S5      -   5        Ub#  U R                  SUR                  S5      -   5        U R                  S	5        Ma     UR                   H)  u  pVU R                  S
XVR                  S5      4-  5        M+     UR                  R	                  5        H  u  puU R                  SXW4-  5        M     U R                  S	5        [        U [        UR                  5      [        UR                  5      5        g )Nr$   r>   r=   r?   zunknown version %dr%   r(   r'   r&   s   -%s %s
s   %s %s
)r   r   writer@   itemsencoder   r   r   lenr   iter)r3   bundler   r5   r6   r7   r8   r9   s           r   write_bundlerJ   b   sP   nnGGG!|	$%	A	$%1G;<<!| --335JCGGD3::g../ u||G445GGEN	 6
 $11	v~~g'>??@ 2((..0	
f]*+ 1GGENAs6++,d63C3C.DEr   N)__doc__typingr   r   r   r   r   r   packr
   r   objectr   r;   rB   rJ   r   r   r   <module>rO      s4   * @ ? +V 2 FMFr   