+
    S^i                         R t ^ RIt^ RIt^ RIt^ RIt]P
                  ! R4      t ! R R4      t ! R R4      t]	R8X  d   Rt
]! ]
4      t]! ]4       R# R# )	z;deb822 parser with support for comment headers and footers.NTc                   .  a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	]
P                  V 3R lR l4       t]
P                  V 3R lR l4       tRV 3R lR llt]V 3R lR l4       tV 3R lR ltV 3R ltRtV tR# )Sectionz[A single deb822 section, possibly with comments.

This represents a single deb822 section.
c                H   < V ^8  d   QhRS[ P                  S[R3,          /# )   sectionr   )typingUnionstr)format__classdict__s   "4/usr/lib/python3/dist-packages/aptsources/_deb822.py__annotate__Section.__annotate__   s!     , ,S)^ < ,    c                2   \        V\        4      '       dy   \        P                  ! VP                  4      V n        V P                   Uu/ uF  q"P                  4       VbK  	  upV n        VP                  V n        VP                  V n        R # RR.pRpRpVP                  R4       FQ  pVP                  R4      '       d'   VR,          pW4;;,          VR,           ,          uu&   K@  RpWVR,           ,          pKS  	  V'       d1   \        P                  ! \        P                  ! V4      4      V n        M\        P                  ! 4       V n        V P                   Uu/ uF  q"P                  4       VbK  	  upV n        Vw  V n        V n        R # u upi u upi )N F
#:   NNT)
isinstancer   collectionsOrderedDicttagscasefold_case_mappingheaderfootersplit
startswithapt_pkg
TagSection)selfr   kcomments
in_sectiontrimmed_sectionlines   &&     r   __init__Section.__init__   s4   gw''#//=DI;?99!E9a**,/9!ED!..DK!..DK8
MM$'Ds##Bx$t3$Jd{*O ( #//0B0B?0STDI#//1DI7;yyAy!jjlAoyA#+ T[1 "F. Bs   
FFc                &   < V ^8  d   QhRS[ RS[ /# )r   keyreturnr
   )r   r   s   "r   r   r   :   s     F Fs Fs Fr   c                x    V P                   V P                  P                  VP                  4       V4      ,          # )zGet the value of a field.r   r   getr   r"   r+   s   &&r   __getitem__Section.__getitem__:   s*    yy++//DEEr   c                $   < V ^8  d   QhRS[ RR/# r   r+   r,   Nr-   )r   r   s   "r   r   r   >   s     C Cs Ct Cr   c                p    V P                   V P                  P                  VP                  4       V4       R# )zDelete a fieldNr/   r1   s   &&r   __delitem__Section.__delitem__>   s'    IId((,,S\\^SABr   c                *   < V ^8  d   QhRS[ RS[ RR/# )r   r+   valr,   Nr-   )r   r   s   "r   r   r   B   s"     < <s < < <r   c                    VP                  4       V P                  9  d   WP                  VP                  4       &   W P                  V P                  VP                  4       ,          &   R# )zSet the value of a field.N)r   r   r   )r"   r+   r:   s   &&&r   __setitem__Section.__setitem__B   sG    <<>!3!3314s||~.8;		$$$S\\^45r   c                    < V ^8  d   QhRS[ /# r   r,   )bool)r   r   s   "r   r   r   H   s      $ r   c                ,    \        V P                  4      # N)r@   r   r"   s   &r   __bool__Section.__bool__H   s    DIIr   c                4   < V ^8  d   QhRS[ RS[ R,          /# r5   r-   )r   r   s   "r   r   r   L   s    ..s.sTz.r   c                    R # rB    r1   s   &&r   r0   Section.getK   s    +.r   c                <   < V ^8  d   QhRS[ RS[RS[S[ ,          /# )r   r+   defaultr,   r
   r   )r   r   s   "r   r   r   O   s    77s7Q71s77r   c                    R # rB   rH   r"   r+   rK   s   &&&r   r0   rI   N   s    47r   Nc                X   < V ^8  d   QhRS[ RS[R,          RS[R,          S[ ,          /# )r   r+   rK   Nr,   rL   )r   r   s   "r   r   r   Q   s.      s QX TC r   c                :     W,          #   \          d    Tu # i ; irB   )KeyErrorrN   s   &&&r   r0   rI   Q   s#    	9 	N	s   
 c                &   < V ^8  d   QhRS[ RS[ /# )r   contentr,   r-   )r   r   s   "r   r   r   X   s     
 
 
 
r   c                p    V '       d.   R P                  R V P                  4        4       4      R ,           # R# )r   c              3   4   "   T F  pR V,           x  K  	  R# 5i)r   NrH   ).0r'   s   & r   	<genexpr>*Section.__comment_lines.<locals>.<genexpr>Z   s     B-ATcDjj-As   r   )join
splitlines)rS   s   &r   __comment_linesSection.__comment_linesW   s8      IIBW-?-?-ABBTI	
 	
r   c                    < V ^8  d   QhRS[ /# r?   r-   )r   r   s   "r   r   r   _   s     
 
 
r   c                    V P                  V P                  4      RP                  R V P                  P	                  4        4       4      ,           V P                  V P
                  4      ,           # )z+Canonical string rendering of this section.r   c              3   6   "   T F  w  rV R V R2x  K  	  R# 5i)z: r   NrH   )rV   r#   vs   &  r   rW   "Section.__str__.<locals>.<genexpr>c   s      B0A2aSm0As   )_Section__comment_linesr   rY   r   itemsr   rC   s   &r   __str__Section.__str___   sU       -ggB		0ABBC""4;;/0	
r   c                   < V ^8  d   Qh/ S[ P                  S[S[3,          ;R&   S[S[S[3,          ;R&   S[;R&   S[;R&   # )r   r   r   r   r   )r   r   r
   dict)r   r   s   "r   r   r      sN      
!
!#s(
++  S>!  K  K r   )r   r   r   r   rB   )__name__
__module____qualname____firstlineno____doc__r(   r2   r7   r<   rD   r   overloadr0   staticmethodrb   rd   __annotate_func____static_attributes____classdictcell__r   s   @r   r   r      s     , ,:F FC C< <  __. .__7 7  
 

 
[  r   r   c                   Z   a  ] tR t^ht o RtV 3R lR ltV 3R lR ltV 3R lR ltRtV t	R	# )
Filez;
Parse a given file object into a list of Section objects.
c                4   < V ^8  d   QhRS[ P                  /# )r   fobj)io
TextIOBase)r   r   s   "r   r   File.__annotate__m   s     3 3R]] 3r   c                &   . V n         R pV FS  pVP                  4       '       g   W#,          pK#  V'       g   K-  V P                   P                  \        V4      4       R pKU  	  V'       d'   V P                   P                  \        V4      4       R# R# )r   N)sectionsisspaceappendr   )r"   rv   r   r'   s   &&  r   r(   File.__init__m   sl    D<<>>$$WW%56  MM  !12 r   c                D   < V ^8  d   QhRS[ P                  S[,          /# r?   )r   Iteratorr   )r   r   s   "r   r   ry   }   s     # #&//'2 #r   c                ,    \        V P                  4      # rB   )iterr{   rC   s   &r   __iter__File.__iter__}   s    DMM""r   c                    < V ^8  d   QhRS[ /# r?   r-   )r   r   s   "r   r   ry      s     8 8 8r   c                F    R P                  R V P                   4       4      # )r   c              3   8   "   T F  p\        V4      x  K  	  R # 5irB   r-   )rV   ss   & r   rW   File.__str__.<locals>.<genexpr>   s     7AQs   )rY   r{   rC   s   &r   rd   File.__str__   s    yy7777r   )r{   N)
rh   ri   rj   rk   rl   r(   r   rd   rp   rq   rr   s   @r   rt   rt   h   s(     3 3 # #8 8r   rt   __main__zV# Header
# More header
K1: V1
# Inline
K2: V2
 # not a comment
# Footer
# More footer
)rl   r   rw   r   r    TypeVarr   r   rt   rh   str   printrH   r   r   <module>r      sd    B  	  
NN3S
 S
l8 88 z
B 	A	!H r   