+
    e;Œjõ’  ã                   ó,  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
HtHtHt ^ RIHtHtHtHtHt ^ RIt^RIHt ^RIHtHt ]! R4      t. R(OtR R ltR R lt ! R R]4      t ! R R]4      t  ! R R]]],          4      t!R R lt"R R lt# ! R R4      t$ ! R R4      t% ! R R4      t&]]&]$3,          t']]&]$]%3,          t( ! R R	4      t) ! R R
4      t* ! R  R4      t+],R!8X  dŸ   ]PZ                  ! 4        ]*! 4       t.]. F*  t/]P`                  ! R"]/Pc                  4       ,          4       K,  	  ]! R#R$4      t2]P`                  ! R%]2,          4       ]P`                  ! ]! R&R$4      4       ]P`                  ! ]! R#R'4      4       R# R# ))é    N)ÚCallableÚIterableÚIterator)ÚAnyÚGenericÚOptionalÚTypeVarÚUnion)Ú_deb822)ÚDistInfoÚTemplateÚTÚDeb822SourceEntryÚSourceEntryÚNullMatcherÚSourcesListÚSourceEntryMatcherc                ó<   € V ^8„  d   QhR\         R\         R\        /# )é   Ú
master_uriÚcompare_uriÚreturn)ÚstrÚbool)Úformats   "Ú8/usr/lib/python3/dist-packages/aptsources/sourceslist.pyÚ__annotate__r   ;   s!   € ÷ ñ œ#ð ¬Cð ´Dñ ó    c                ó0  € VP                  R4      pV P                  R4      p W8X  d   R#  VP                  R4      ^,          pV P                  R4      ^,          pRT9   d"   Y"P                  R4      ^,           R T8X  d   R# R#   \         d     R# i ; i)z‘check if the given add_url is idential or a mirror of orig_uri e.g.:
master_uri = archive.ubuntu.com
compare_uri = de.archive.ubuntu.com
-> True
z/ Tz//FÚ.N)ÚrstripÚsplitÚ
IndexErrorÚindex)r   r   Úcompare_srvÚ
master_srvs   &&  r   Ú	is_mirrorr'   ;   s�   € ð ×$Ñ$ TÓ*€KØ×"Ñ" 4Ó(€JàÔ áðØ!×'Ñ'¨Ó-¨aÕ0ˆØ×%Ñ% dÓ+¨AÕ.ˆ
ð ˆkÔ˜k×*;Ñ*;¸CÓ*@À1Õ*DÐ*FÐGÈ:ÔUáÙøô ô âðús   ¬0B ÂBÂBc                ó\   € V ^8„  d   QhR\         \        ,          R\        \        ,          /# ©r   Úsr   )r   r   Úlist)r   s   "r   r   r   X   s"   € ÷ ñ ŒH”Q�Kð œD¤�Gñ r   c                ó*   € \        \        V 4      4      # )a  simple and efficient way to return uniq collection

This is not intended for use with a SourceList. It is provided
for internal use only. It does not have a leading underscore to
not break any old code that uses it; but it should not be used
in new code (and is not listed in __all__).)r+   Úset)r*   s   &r   Úuniqr.   X   s   € ô ”�A“‹<Ðr   c                   óZ   a € ] tR t^bt o V 3R lR ltR	V 3R lR lltV 3R lR ltRtV tR# )
ÚSingleValuePropertyc                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   ÚkeyÚdoc©r   )r   Ú__classdict__s   "€r   r   Ú SingleValueProperty.__annotate__c   ó   ø€ ÷ ñ ™Cð ¡cñ r   c                ó   € Wn         W n        R # ©N©r3   Ú__doc__©Úselfr3   r4   s   &&&r   Ú__init__ÚSingleValueProperty.__init__c   ó   € ØŒØŽr   Nc                óV   <€ V ^8„  d   QhRS[ R,          RS[R,          RS[R,          /# ©r   Úobjr   ÚobjtypeNr   )r   Útyper   )r   r6   s   "€r   r   r7   g   s3   ø€ ÷ /ñ /ÙÐ/Õ0ð/Ù;?À$½;ð/á	ˆt�ñ/r   c                óZ   € Vf   V # VP                   P                  V P                  R 4      # r:   )ÚsectionÚgetr3   ©r>   rD   rE   s   &&&r   Ú__get__ÚSingleValueProperty.__get__g   s'   € ð Š;ØˆKØ�{‰{�‰˜tŸx™x¨Ó.Ð.r   c                ó6   <€ V ^8„  d   QhRRRS[ R,          RR/# )r   rD   r   ÚvalueNr   r5   )r   r6   s   "€r   r   r7   n   s'   ø€ ÷ *ñ *Ð.ð *±s¸Tµzð *Àdñ *r   c                óp   € Vf   VP                   V P                   R # W!P                   V P                  &   R # r:   )rH   r3   ©r>   rD   rN   s   &&&r   Ú__set__ÚSingleValueProperty.__set__n   s'   € ØŠ=Ø—‘˜DŸH™HÒ%à$)�K‰K˜Ÿ™Ó!r   ©r<   r3   r:   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   rK   rQ   Ú__static_attributes__Ú__classdictcell__©r6   s   @r   r0   r0   b   s#   ø‡ € ÷ð ÷/ò /÷*ö *r   r0   c                   óZ   a € ] tR t^ut o V 3R lR ltR	V 3R lR lltV 3R lR ltRtV tR# )
ÚMultiValuePropertyc                ó&   <€ V ^8„  d   QhRS[ RS[ /# r2   r5   )r   r6   s   "€r   r   ÚMultiValueProperty.__annotate__v   r8   r   c                ó   € Wn         W n        R # r:   r;   r=   s   &&&r   r?   ÚMultiValueProperty.__init__v   rA   r   Nc                óX   <€ V ^8„  d   QhRS[ R,          RS[R,          RS[S[,          /# rC   )r   rF   r+   r   )r   r6   s   "€r   r   r_   z   s8   ø€ ÷ Bñ BÙÐ/Õ0ðBÙ;?À$½;ðBá	‰c�ñBr   c                ó€   € Vf   V # \         P                  VP                  P                  V P                  R4      4      # )NÚ )r   ÚmysplitrH   rI   r3   rJ   s   &&&r   rK   ÚMultiValueProperty.__get__z   s2   € ð Š;ØˆKÜ×"Ñ" 3§;¡;§?¡?°4·8±8¸RÓ#@ÓAÐAr   c                ó8   <€ V ^8„  d   QhRRRS[ S[,          RR/# )r   rD   r   Úvaluesr   N©r+   r   )r   r6   s   "€r   r   r_   �   s'   ø€ ÷ 1ñ 1Ð.ð 1¹¹S½	ð 1Àdñ 1r   c                óV   € R P                  V4      VP                  V P                  &   R# )Ú N)ÚjoinrH   r3   )r>   rD   rh   s   &&&r   rQ   ÚMultiValueProperty.__set__�   s   € Ø #§¡¨Ó 0ˆ�‰�D—H‘HÓr   rS   r:   rT   r[   s   @r   r]   r]   u   s%   ø‡ € ÷ð ÷Bò B÷1ö 1r   r]   c                   óZ   a € ] tR t^…t o V 3R lR ltR	V 3R lR lltV 3R lR ltRtV tR# )
ÚExplodedEntryPropertyc                ó    <€ V ^8„  d   QhRS[ /# )r   Úparent©r   )r   r6   s   "€r   r   Ú"ExplodedEntryProperty.__annotate__†   s   ø€ ÷ ñ ™qñ r   c                ó   € Wn         R # r:   ©rq   ©r>   rq   s   &&r   r?   ÚExplodedEntryProperty.__init__†   s   € ØŽr   Nc                óH   <€ V ^8„  d   QhRS[ R,          RS[R,          RS[/# )r   rD   ÚExplodedDeb822SourceEntryrE   Nr   )r   rF   r   )r   r6   s   "€r   r   rs   ‰   s/   ø€ ÷ /ñ /ÙÐ7Õ8ð/ÙCGÈ$Å;ð/á	
ñ/r   c                óX   € Vf   V # V P                   P                  VP                   4      # r:   )rq   rK   rJ   s   &&&r   rK   ÚExplodedEntryProperty.__get__‰   s'   € ð Š;ØˆKØ�{‰{×"Ñ" 3§:¡:Ó.Ð.r   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r   rD   ry   rN   r   Nrr   )r   r6   s   "€r   r   rs   �   s#   ø€ ÷ /ñ /Ð6ð /¹qð /ÀTñ /r   c                ór   € VP                  4        V P                  P                  VP                  V4       R # r:   )Ú	split_outrq   rQ   rP   s   &&&r   rQ   ÚExplodedEntryProperty.__set__�   s#   € Ø�‰ŒØ�‰×Ñ˜CŸJ™J¨Ö.r   ru   r:   rT   r[   s   @r   ro   ro   …   s#   ø‡ € ÷ð ÷/ò /÷/ö /r   ro   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úpropr   rr   )r   s   "r   r   r   •   s   € ÷ ñ œQð ¤1ñ r   c                 ó   € V # r:   © )r�   s   &r   ÚDeprecatedPropertyr„   •   s   € Ø€Kr   c                ó   € V ^8„  d   QhRR/# ©r   r   Nrƒ   )r   s   "r   r   r   ™   s   € ÷ ñ �tñ r   c                 ó   € R# )z3Behaves like an expired weakref.ref, returning NoneNrƒ   rƒ   r   r   Ú_null_weakrefrˆ   ™   s   € ár   c                   ór  a € ] tR t^žt o R+V 3R lR lltV 3R lR lt]! RR4      t]! RR	4      t]	! ]
! RR	4      4      t]! R
R4      t]	! ]
! R
R4      4      t]! RR4      t]	! ]
! RR4      4      t]! RR4      t]V 3R lR l4       t]P&                  V 3R lR l4       t]V 3R lR l4       t]P&                  V 3R lR l4       t]V 3R lR l4       t]P&                  V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       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R*tV tR# ),r   Nc                ól   <€ V ^8„  d   QhRS[ P                  S[,          R,          RS[RS[R,          /# )r   rH   NÚfiler+   r   )r   ÚSectionr   r   )r   r6   s   "€r   r   ÚDeb822SourceEntry.__annotate__Ÿ   s<   ø€ ÷ 'ñ 'á—‘¡3Õ&¨Õ-ð'ñ ð'ñ �}Õ%ñ	'r   c                ó´  € Vf   \         P                  ! R4      V n        M8\        V\        4      '       d   \         P                  ! V4      V n        MWn        \	        V P                  4      V n        W n        R V n        RV n        \        P                  R,          ! 4       V n        V'       d   \        P                  ! V4      V n        R # \        V n        R # )Nrd   Fry   )r   rŒ   rH   Ú
isinstancer   Ú_liner‹   ÚtemplateÚ	may_mergeÚweakrefÚWeakSetÚ	_childrenÚrefÚ_listrˆ   )r>   rH   r‹   r+   s   &&&&r   r?   ÚDeb822SourceEntry.__init__Ÿ   sŒ   € ð Š?Ü"Ÿ?š?¨2Ó.ˆD�LÜ˜¤×%Ò%Ü"Ÿ?š?¨7Ó3ˆD�Là"ŒLä˜Ÿ™Ó&ˆŒ
ØŒ	Ø)-ˆŒØˆŒÜ Ÿ™Ð)DÖEÓGˆŒçÜ;B¿;º;ÀtÓ;LˆDŽJä&ˆDŽJr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úotherr   ©r   )r   r6   s   "€r   r   r�   ·   s   ø€ ÷ 

ñ 

™Cð 

¡Cñ 

r   c                ó   € V P                   VP                   8H  ;'       d¯    V P                  VP                  8H  ;'       dŽ    V P                  ;'       dz    V P                  P                  R4      VP                  P                  R4      8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  # ©z+equal operator for two sources.list entriesÚ/©ÚdisabledrF   Úurir!   ÚdistÚcomps©r>   r›   s   &&r   Ú__eq__ÚDeb822SourceEntry.__eq__·   s¬   € ð �M‰M˜UŸ^™^Ñ+÷ *ð *Ø—	‘	˜UŸZ™ZÑ'÷*ð *à—‘÷*ð *ð —‘—‘ Ó$¨¯	©	×(8Ñ(8¸Ó(=Ñ=÷*ð *ð —	‘	˜UŸZ™ZÑ'÷	*ð *ð
 —
‘
˜eŸk™kÑ)ð	
r   ÚArchitectureszThe list of architecturesÚTypeszThe list of typesÚURIszURIs in the sourceÚSuiteszSuites in the sourceÚ
ComponentszComponents in the sourcec                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r5   )r   r6   s   "€r   r   r�   Í   s   ø€ ÷ #ñ #™ñ #r   c                ó.   € V P                   P                  # )ú1Legacy attribute describing the paragraph header.©rH   Úheader©r>   s   &r   ÚcommentÚDeb822SourceEntry.commentÌ   s   € ð �|‰|×"Ñ"Ð"r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r´   r   Nr5   )r   r6   s   "€r   r   r�   Ò   s   ø€ ÷ &ñ &™sð & tñ &r   c                ó&   € WP                   n        R# )r°   Nr±   )r>   r´   s   &&r   r´   rµ   Ñ   s   € ð &�‰Ör   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r†   ©r   )r   r6   s   "€r   r   r�   ×   s   ø€ ÷ ñ ™ �ñ r   c                óv   €  \         P                  ! V P                  R,          4      #   \         d     R# i ; i)z%Return the value of the Trusted fieldÚTrustedN)Úapt_pkgÚstring_to_boolrH   ÚKeyErrorr³   s   &r   ÚtrustedÚDeb822SourceEntry.trustedÖ   s3   € ð	Ü×)Ò)¨$¯,©,°yÕ*AÓBÐBøÜô 	Úð	ús   ‚&) ©8·8c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r   rN   Nr   r¹   )r   r6   s   "€r   r   r�   ß   s   ø€ ÷ ?ñ ?™T D�[ð ?¨Tñ ?r   c                ó„   € Vf    V P                   R R # V'       d   RMRV P                   R&   R #   \         d     R # i ; i)Nr»   ÚyesÚno©rH   r¾   ©r>   rN   s   &&r   r¿   rÀ   Þ   s@   € àŠ=ðØ—L‘L Ò+÷ 05¡e¸$ˆD�L‰L˜Ó#øô ô Úðús   †0 °?¾?c                ó    <€ V ^8„  d   QhRS[ /# r®   r¹   )r   r6   s   "€r   r   r�   é   s   ø€ ÷ Nñ N™$ñ Nr   c                ól   € \         P                  ! V P                  P                  RR4      4      '       * # )zCheck if Enabled: no is set.ÚEnabledrÃ   )r¼   r½   rH   rI   r³   s   &r   r¡   ÚDeb822SourceEntry.disabledè   s)   € ô ×)Ò)¨$¯,©,×*:Ñ*:¸9ÀeÓ*LÓMÔMÐMr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   rN   r   Nr¹   )r   r6   s   "€r   r   r�   î   s   ø€ ÷ ñ ™dð  tñ r   c                óx   € V'       d   R V P                   R&   R#  V P                   R R#   \         d     R# i ; i)rÄ   rÉ   NrÅ   rÆ   s   &&r   r¡   rÊ   í   s6   € çØ&*ˆD�L‰L˜Ó#ðØ—L‘L Ò+øÜô Úðús   ›* ª9¸9c                ó    <€ V ^8„  d   QhRS[ /# r®   r¹   )r   r6   s   "€r   r   r�   ø   s   ø€ ÷  ñ  ™ñ  r   c                ó$   € V P                   '       * # )z7A section is invalid if it doesn't have proper entries.)rH   r³   s   &r   ÚinvalidÚDeb822SourceEntry.invalid÷   s   € ð —<‘<ÔÐr   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r�   ý   ó   ø€ ÷ ñ ‘cñ r   c                ó   € V P                   # )z The entire (original) paragraph.)r�   r³   s   &r   ÚlineÚDeb822SourceEntry.lineü   s   € ð �z‰zÐr   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r�     s   ø€ ÷ "ñ "™ñ "r   c                ó>   € V P                  4       P                  4       # r:   ©r   Ústripr³   s   &r   Ú__str__ÚDeb822SourceEntry.__str__  s   € Ø�x‰x‹z×ÑÓ!Ð!r   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r�     s   ø€ ÷ !ñ !‘Sñ !r   c                ó,   € \        V P                  4      # )z(Section as a string, newline terminated.)r   rH   r³   s   &r   r   ÚDeb822SourceEntry.str  s   € ä�4—<‘<Ó Ð r   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   Úenabledr   Nr¹   )r   r6   s   "€r   r   r�     ó   ø€ ÷ $ñ $¡4ð $¨Dñ $r   c                ó   € V'       * V n         R# )z.Deprecated (for deb822) accessor for .disabledN©r¡   ©r>   rá   s   &&r   Úset_enabledÚDeb822SourceEntry.set_enabled  ó   € à#œˆŽr   c                ó$   <€ V ^8„  d   QhRRRS[ /# )r   r›   ÚAnySourceEntryr   r¹   )r   r6   s   "€r   r   r�     s    ø€ ÷ Bñ BÐ+ð B±ñ Br   c           
     óê  € V P                   '       g_   V P                  fQ   \        ;QJ d&    R V P                   4       F  '       d   K   RM	  RM! R V P                   4       4      '       g   R# V P                  VP                  8w  d   R# \        V\        4      '       g   R# V P                  VP                  8w  di   \        ;QJ d2    R V P                  VP                  3 4       F  '       g   K   RM'	  RM#! R V P                  VP                  3 4       4      '       g   R# \        \        V P                  P                  4      \        VP                  P                  4      ,           4       F[  pVP                  4       R9   d   K  V P                  P                  VR4      pVP                  P                  VR4      pW48w  g   KZ   R# 	  \        \        V P                   4      \        VP                   4      8g  \        V P"                  4      \        VP"                  4      8g  \        V P$                  4      \        VP$                  4      8g  \        V P&                  4      \        VP&                  4      8g  \        V P(                  4      \        VP(                  4      8g  .4      ^8”  d   R# VP                    F/  pWPP                   9  g   K  V ;P                   V.,          un        K1  	  VP"                   F/  pW`P"                  9  g   K  V ;P"                  V.,          un        K1  	  VP$                   F/  pWpP$                  9  g   K  V ;P$                  V.,          un        K1  	  VP&                   F/  pW€P&                  9  g   K  V ;P&                  V.,          un        K1  	  VP(                   F/  p	W�P(                  9  g   K  V ;P(                  V	.,          un        K1  	  R# )z-Merge the two entries if they are compatible.Nc              3   ó8   "  € T F  qP                   x € K  	  R # 5ir:   )r‘   )Ú.0Úchilds   & r   Ú	<genexpr>Ú*Deb822SourceEntry.merge.<locals>.<genexpr>  s   é € ÐC±N¨5Ÿž³Nùs   ‚FTc              3   ó,   "  € T F
  pR V9   x € K  	  R# 5i)zAdded by software-propertiesNrƒ   )rí   Úcs   & r   rï   rð     s   é € ð 5
Ù9V°AÐ*¨aÖ/Ó9Vùs   ‚)ÚtypesÚurisÚsuitesÚ
componentsÚarchitecturesz	signed-by)r’   r‘   Úallr•   r‹   r�   r   r´   Úanyr-   r+   rH   ÚtagsÚlowerrI   Úsumró   rô   rõ   r¤   r÷   )
r>   r›   ÚtagÚin_selfÚin_otherÚtypr¢   ÚsuiteÚ	componentÚarchs
   &&        r   ÚmergeÚDeb822SourceEntry.merge  sÀ  € ð ——�Ø—‘Ò%ß“CÑC°D·N²NÓC—C—C’CÑC°D·N²NÓC×CÒCáØ�9‰9˜Ÿ
™
Ô"ÙÜ˜%Ô!2×3Ò3ÙØ�<‰<˜5Ÿ=™=Ô(·³ñ 5
Ø:>¿,¹,ÈÏÉÑ9Vó5
··²ñ 5
Ø:>¿,¹,ÈÏÉÑ9Vó5
÷ 2
ò 2
ñ ä”t˜DŸL™L×-Ñ-Ó.´°e·m±m×6HÑ6HÓ1IÕIÖJˆCØ�y‰y‹{ð ô ñ Ø—l‘l×&Ñ& s¨DÓ1ˆGØ—}‘}×(Ñ(¨¨dÓ3ˆHØÖ"Úñ Kô  ä˜Ÿ
™
“O¤s¨5¯;©;Ó'7Ñ7Ü˜Ÿ	™	“N¤c¨%¯*©*£oÑ5Ü˜Ÿ™Ó$¬¨E¯L©LÓ(9Ñ9Ü˜Ÿ
™
“O¤s¨5¯;©;Ó'7Ñ7Ü˜×*Ñ*Ó+¬s°5×3FÑ3FÓ/GÑGðóð ô	ñ à—;”;ˆCØŸ*™*Ö$Ø—
’
˜s˜eÕ#—
ñ ð —:”:ˆCØŸ)™)Ö#Ø—	’	˜c˜UÕ"—	ñ ð —\”\ˆEØŸK™KÖ'Ø—’ ˜wÕ&—ñ "ð ŸœˆIØ§
¡
Ö*Ø—
’
˜y˜kÕ)—
ñ %ð ×'Ô'ˆDØ×-Ñ-Ö-Ø×"Ò" t fÕ,×"ñ (ñ r   c                ó"   <€ V ^8„  d   QhRRRR/# )r   Útor   r   Nrƒ   )r   r6   s   "€r   r   r�   P  s   ø€ ÷ <ñ <Ð%8ð <¸Tñ <r   c                óR  € V P                    F–  pVP                   Fƒ  pVP                   Fp  pVP                   F]  pVP                  VP
                  VP                  3W4V38X  g   K/  VP                  V 8X  g   Q h\        P                  ! V4      Vn
        K_  	  Kr  	  K…  	  K˜  	  R# )z_If we end up being split, check if any of our children need to be reparented to the new parent.N)r•   ró   rô   rõ   Ú_typeÚ_uriÚ_suiterq   r“   r–   Ú_parent)r>   r  rî   r   r¢   r  s   &&    r   Ú_reparent_childrenÚ$Deb822SourceEntry._reparent_childrenP  s|   € à—^”^ˆEØ—x”x�ØŸ7œ7�CØ!#§¤˜Ø!ŸK™K¨¯©°U·\±\ÐBÀsÐQVÐFWÖWØ#(§<¡<°4Ô#7Ð7Ð#7Ü,3¯KªK¸«O˜EžMó "+ó #ó  ó $r   )r•   r�   r—   r¡   r‹   r’   rH   r‘   r:   )rU   rV   rW   rX   r?   r¦   r]   r÷   ró   r„   r0   rF   rô   r¢   rõ   r£   r¤   Úpropertyr´   Úsetterr¿   r¡   rÏ   rÔ   rÚ   r   ræ   r  r  rY   rZ   r[   s   @r   r   r   ž   sv  ø‡ € ÷'ò '÷0

ð 

ñ ' Ð8SÓT€MÙ˜wÐ(;Ó<€EÙÑ1°'Ð;NÓOÓP€DÙ˜fÐ&:Ó;€DÙ
Ñ0°Ð9MÓNÓ
O€CÙ Ð*@ÓA€FÙÑ1°(Ð<RÓSÓT€DÙ˜|Ð-GÓH€Eà÷#ó ð#ð ‡^�^÷&ó ð&ð ÷ó ðð ‡^�^÷?ó ð?ð ÷Nó ðNð ‡_�_÷ó ðð ÷ ó ð ð ÷ó ð÷"ð "÷!ð !÷$ð $÷Bð B÷H<ö <r   c                   óÜ  a € ] tR tRt o Rt. R%OtV 3R lR lt]V 3R lR l4       t]V 3R lR l4       t	]	P                  V 3R	 lR
 l4       t	]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]P                  V 3R lR l4       t]V 3R lR l4       t]P                  V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR lt]! ]P*                  4      t]! ]P,                  4      t]! ]P.                  4      t]],          ! ]P2                  4      t]! ]P4                  4      t]! ]P6                  4      tV 3R lR  lt]V 3R! lR" l4       tR#tV tR$# )&ry   i[  zXThis represents a bit of a deb822 paragraph corresponding to a legacy sources.list entryc                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# )r   rq   r   r¢   r  )r   r   )r   r6   s   "€r   r   Ú&ExplodedDeb822SourceEntry.__annotate__a  s*   ø€ ÷ #ñ #Ñ0ð #±sð #Áð #ÉSñ #r   c                ó¸   € \         P                  ! V4      V n        W n        W0n        W@n        VP                  V n        VP                  P                  V 4       R # r:   )	r“   r–   r  r	  r
  r  r‘   r•   Úadd)r>   rq   r   r¢   r  s   &&&&&r   r?   Ú"ExplodedDeb822SourceEntry.__init__a  s@   € Ü—{’{ 6Ó*ˆŒØŒ
ØŒ	ØŒØŸ™ˆŒØ×Ñ×Ñ˜TÖ"r   c                ó    <€ V ^8„  d   QhRS[ /# r®   )r   )r   r6   s   "€r   r   r  j  s   ø€ ÷ @ñ @Ñ)ñ @r   c                ó`   € V P                   e   V P                  4       ;pe   V# \        R4      h)Nz#The parent entry is no longer valid)r  Ú
ValueErrorrv   s   & r   rq   Ú ExplodedDeb822SourceEntry.parenti  s.   € à�<‰<Ò#ØŸ,™,›.Ð(�Ò5Ø�ÜÐ>Ó?Ð?r   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r  q  s   ø€ ÷ ñ ‘Sñ r   c                ó:   € V P                  4        V P                  # r:   )Ú'_ExplodedDeb822SourceEntry__check_validr
  r³   s   &r   r¢   ÚExplodedDeb822SourceEntry.urip  s   € à×ÑÔØ�y‰yÐr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r¢   r   Nr5   )r   r6   s   "€r   r   r  v  s   ø€ ÷ ñ ‘sð ˜tñ r   c                óÊ   € V P                  4        V P                  P                   Uu. uF  q"V P                  8w  d   TMTNK  	  upV P                  n        Wn        R # u upi r:   )r~   rq   rô   r
  )r>   r¢   Úus   && r   r¢   r  u  sK   € à�‰ÔØBFÇ+Á+×BRÒBRÓSÑBR¸Q d§i¡i¤™A°SÒ8ÑBRÑSˆ�‰ÔØŽ	ùò Ts   ©A c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r®   ri   )r   r6   s   "€r   r   r  |  s   ø€ ÷ ñ ‘t™C•yñ r   c                ó   € V P                   .# r:   ©rF   r³   s   &r   ró   ÚExplodedDeb822SourceEntry.types{  ó   € à—	‘	ˆ{Ðr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r®   ri   )r   r6   s   "€r   r   r  €  s   ø€ ÷ ñ ™™S�	ñ r   c                ó   € V P                   .# r:   ©r£   r³   s   &r   rõ   Ú ExplodedDeb822SourceEntry.suites  r&  r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r®   ri   )r   r6   s   "€r   r   r  „  s   ø€ ÷ ñ ‘d™3•iñ r   c                ó   € V P                   .# r:   ©r¢   r³   s   &r   rô   ÚExplodedDeb822SourceEntry.urisƒ  s   € à—‘ˆzÐr   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r  ˆ  rÒ   r   c                ó:   € V P                  4        V P                  # r:   )r  r	  r³   s   &r   rF   ÚExplodedDeb822SourceEntry.type‡  s   € à×ÑÔØ�z‰zÐr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r   r   Nr5   )r   r6   s   "€r   r   r  �  s   ø€ ÷ 1ñ 1™ð 1 ñ 1r   c                óì   € V P                  4        V.V P                  n        Wn        V P	                  4        V P                  V8X  g   Q hV P                  P                  V P                  .8X  g   Q hR # r:   )r~   rq   ró   r	  r  )r>   r   s   &&r   rF   r1  Œ  s[   € à�‰ÔØ ˜Eˆ�‰ÔØŒ
Ø×ÑÔØ�z‰z˜SÔ Ð Ð Ø�{‰{× Ñ  T§Z¡Z LÔ0Ð0Ò0r   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r  –  s   ø€ ÷ ñ ‘cñ r   c                ó:   € V P                  4        V P                  # r:   )r  r  r³   s   &r   r£   ÚExplodedDeb822SourceEntry.dist•  s   € à×ÑÔØ�{‰{Ðr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r  r   Nr5   )r   r6   s   "€r   r   r  ›  s   ø€ ÷ 3ñ 3™#ð 3 $ñ 3r   c                óì   € V P                  4        V.V P                  n        Wn        V P	                  4        V P                  V8X  g   Q hV P                  P                  V P                  .8X  g   Q hR # r:   )r~   rq   rõ   r  r  )r>   r  s   &&r   r£   r6  š  s[   € à�‰ÔØ#˜Wˆ�‰ÔØŒØ×ÑÔØ�{‰{˜eÔ#Ð#Ð#Ø�{‰{×!Ñ! d§k¡k ]Ô2Ð2Ò2r   c                ó   <€ V ^8„  d   QhRR/# r†   rƒ   )r   r6   s   "€r   r   r  £  s   ø€ ÷ =ñ =˜tñ =r   c                óx  € V P                   P                  4       f   \        R4      hV P                   P                   Fl  pV P                   P                   FO  pV P                   P
                   F2  pWV3V P                  V P                  V P                  38X  g   K/     R # 	  KQ  	  Kn  	  \        RV  24      h)NúThe parent entry is deadúCould not find parent of )	rq   r—   r  ró   rô   rõ   r	  r
  r  )r>   rF   r¢   r  s   &   r   Ú__check_validÚ'ExplodedDeb822SourceEntry.__check_valid£  s•   € Ø�;‰;×ÑÓÒ&ÜÐ7Ó8Ð8Ø—K‘K×%Ô%ˆDØ—{‘{×'Ô'�Ø!Ÿ[™[×/Ô/�EØ 5Ð)¨d¯j©j¸$¿)¹)ÀTÇ[Á[Ð-QÖQÜó 0ó (ñ &ô
 Ð4°T°FÐ;Ó<Ð<r   c                ó   <€ V ^8„  d   QhRR/# r†   rƒ   )r   r6   s   "€r   r   r  ­  s   ø€ ÷ )Añ )A˜4ñ )Ar   c           	     ó  € V P                   pVP                  VP                  VP                  3V P                  .V P
                  .V P                  .38X  d   R # VP                  4       pVf   \        R4      h VP                  P                  V4      pTP                  T4       Rp\        TP                  4       EF  p\        TP                  4       Fé  p\        TP                  4       FÍ  p\        \        P                  ! TP                   4      TP"                  TR7      p	T.T	n        T.T	n        T.T	n        RT	n        TP'                  T	4       TP                  P)                  Y94       YgT3T P                  T P
                  T P                  38X  g   K°  \*        P,                  ! T	4      T n        RpKÏ  	  Kë  	  EK	  	  T'       g   \        RT  24      hR #   \         d   p\        RT  R24      ThR p?ii ; i)Nr;  z Parent entry for partial deb822 z no longer validF)rH   r‹   r+   Tr<  )rq   ró   rô   rõ   r	  r
  r  r—   r  r+   r$   ÚremoveÚreversedr   r   rŒ   rH   r‹   r’   r  Úinsertr“   r–   r  )
r>   rq   Úsources_listr$   ÚeÚ
reparentedrF   r¢   r  Únews
   &         r   r~   Ú#ExplodedDeb822SourceEntry.split_out­  s¼  € Ø—‘ˆØ�L‰L˜&Ÿ+™+ v§}¡}Ð5Ø�Z‰ZˆLØ�Y‰YˆKØ�[‰[ˆMð:
ô 
ñ
 Ø—|‘|“~ˆØÒÜÐ7Ó8Ð8ð	Ø ×%Ñ%×+Ñ+¨FÓ3ˆEð 	×Ñ˜FÔ#àˆ
Ü˜VŸ\™\×*ˆDÜ §¡Ö,�Ü% f§m¡mÖ4�EÜ+Ü '§¢°·±Ó ?Ø#Ÿ[™[Ø)ô�Cð
 "& �C”IØ #˜u�C”HØ"' �C”JØ$(�C”Mà×-Ñ-¨cÔ2Ø ×%Ñ%×,Ñ,¨UÔ8Ø 5Ð)¨d¯j©j¸$¿)¹)ÀTÇ[Á[Ð-QÖQÜ'.§{¢{°3Ó'7˜œØ%)š
ó 5ô -ñ +÷$ ÜÐ8¸¸Ð?Ó@Ð@ñ øô5 ô 	ÜØ2°4°&Ð8HÐIóàðûð	ús   Á;G! Ç!HÇ,G<Ç<Hc                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r  Ø  s   ø€ ÷ Rñ R™#ñ Rr   c                ón   € R V P                    RV P                   RV P                   RV P                   2# )z<child rk   z of )r	  r
  r  r  r³   s   &r   Ú__repr__Ú"ExplodedDeb822SourceEntry.__repr__Ø  s1   € Ø˜Ÿ™˜ A d§i¡i [°°$·+±+°¸dÀ4Ç<Á<À.ÐQÐQr   c                ó$   <€ V ^8„  d   QhRS[ RR/# rà   r¹   )r   r6   s   "€r   r   r  â  râ   r   c                ó   € V'       * V n         R# )zSet the source to enabled.Nrä   rå   s   &&r   ræ   Ú%ExplodedDeb822SourceEntry.set_enabledâ  rè   r   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   r  ç  s   ø€ ÷  ñ  ‘cñ  r   c                ó.   € V P                   P                  # )zReturn the file.)rq   r‹   r³   s   &r   r‹   ÚExplodedDeb822SourceEntry.fileæ  s   € ð �{‰{×ÑÐr   )r  r  r	  r
  r¡   r‘   N)r  r	  r
  r  r‘   Ú__weakref__) rU   rV   rW   rX   r<   Ú	__slots__r?   r  rq   r¢   r  ró   rõ   rô   rF   r£   r  r~   rK  ro   r   r÷   r¤   rÏ   r   r¡   r¿   r´   ræ   r‹   rY   rZ   r[   s   @r   ry   ry   [  sž  ø‡ € Ùbò R€I÷#ð #ð ÷@ó ð@ð ÷ó ðð 	‡Z�Z÷ó ðð
 ÷ó ðð ÷ó ðð ÷ó ðð ÷ó ðð 
‡[�[÷1ó ð1ð ÷ó ðð 
‡[�[÷3ó ð3÷=ð =÷)Að )A÷VRð Rñ *Ð*;×*IÑ*IÓJ€MÙ!Ð"3×"9Ñ"9Ó:€EÙ#Ð$5×$=Ñ$=Ó>€GØ$ TÖ*Ð+<×+EÑ+EÓF€HÙ#Ð$5×$=Ñ$=Ó>€GÙ#Ð$5×$=Ñ$=Ó>€G÷$ð $ð ÷ ó ö r   ry   c                   ó  a € ] tR tRt o RtRV 3R lR lltV 3R lR lt]V 3R lR	 l4       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4       t]V 3R lR l4       t]V 3R lR l4       tRtV tR# )r   iì  zsingle sources.list entryNc                ó4   <€ V ^8„  d   QhRS[ RS[ R,          /# )r   rÔ   r‹   Nr5   )r   r6   s   "€r   r   ÚSourceEntry.__annotate__ï  s   ø€ ÷ .ñ .™Sð .©¨d­
ñ .r   c                ód  € R V n         R V n        RV n        . V n        RV n        RV n        RV n        . V n        RV n        Wn	        Vf    \        P                  P                  R4      pVP                  R4      '       d   \        R4      hW n        V P!                  V4       RV n        . V n        R# )Frd   NúDir::Etc::sourcelistú.sourcesz6Classic SourceEntry cannot be written to .sources file)rÏ   r¡   rF   r÷   r¿   r¢   r£   r¤   r´   rÔ   r¼   ÚconfigÚ	find_fileÚendswithr  r‹   Úparser‘   Úchildren)r>   rÔ   r‹   s   &&&r   r?   ÚSourceEntry.__init__ï  s›   € ØˆŒØˆŒØˆŒ	Ø(*ˆÔØ$(ˆŒØˆŒØˆŒ	Ø "ˆŒ
ØˆŒØŒ	ØŠ<Ü—>‘>×+Ñ+Ð,BÓCˆDØ�=‰=˜×$Ò$ÜÐUÓVÐVØŒ	Ø�
‰
�4ÔØ)-ˆŒØ+-ˆŽr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rš   rœ   )r   r6   s   "€r   r   rW    s   ø€ ÷ 
ñ 
™Cð 
¡Cñ 
r   c                óx  € V P                   VP                   8H  ;'       d›    V P                  VP                  8H  ;'       dz    V P                  P                  R4      VP                  P                  R4      8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  # rž   r    r¥   s   &&r   r¦   ÚSourceEntry.__eq__  s™   € ð �M‰M˜UŸ^™^Ñ+÷ *ð *Ø—	‘	˜UŸZ™ZÑ'÷*ð *à—‘—‘ Ó$¨¯	©	×(8Ñ(8¸Ó(=Ñ=÷*ð *ð —	‘	˜UŸZ™ZÑ'÷*ð *ð —
‘
˜eŸk™kÑ)ð	
r   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# )r   rÔ   r   )r   r+   )r   r6   s   "€r   r   rW    s   ø€ ÷ #ñ #‘cð #™d¡3�iñ #r   c                ól  € V P                  4       p . pRpRpRp\        \        V 4      4       Fâ  pW,          R8X  d;   V'       d    RpRpVP                  V4       W,          pK7  RpW V,          ,          pKJ  W,          R8X  d   RpW V,          ,          pKj  V'       d:   W,          P	                  4       '       g   RpVP                  V4       W,          pK«  W,          P	                  4       '       d   V'       g   RpKÓ  W V,          ,          pKä  	  \        V4      ^ 8”  d   VP                  V4       V# )zta split() implementation that understands the sources.list
format better and takes [] into account (for e.g. cdroms)rd   FÚ[TÚ])rÙ   ÚrangeÚlenÚappendÚisspace)rÔ   ÚpiecesÚtmpÚp_foundÚspace_foundÚis   &     r   re   ÚSourceEntry.mysplit  sð   € ð �z‰z‹|ˆØˆØˆàˆØˆÜ”s˜4“yÖ!ˆAØ�w˜#Œ~ßØ"'�KØ"�GØ—M‘M #Ô&Ø�'’Cà"�GØ �7•N’CØ•˜C”Ø�Ø˜A•w•’ß T¥W§_¡_×%6Ò%6à#�Ø—‘˜cÔ"Ø•g’Ø•—‘×"Ò"¯7à"’à˜A•w•’ñ- "ô0 ˆs‹8�aŒ<Ø�M‰M˜#ÔØˆr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   rÔ   r   Nr5   )r   r6   s   "€r   r   rW  3  s   ø€ ÷ >ñ >™#ð > $ñ >r   c                óÒ  € Wn         VP                  4       pVR8X  g   VR8X  d
   RV n        R# V^ ,          R8X  dM   RV n        VR,          P                  4       P	                  4       pV^ ,          R9   g
   RV n        R# VR,          pVP                  R4      pV^ 8”  d   W^,           R V n        VRV pV P                  V4      p\        V4      ^8  d
   RV n        R# V^ ,          P                  4       V n	        V P                  R9  d
   RV n        R# V^,          P                  4       ^ ,          R8X  d—   VP                  ^4      P                  R4      P	                  4       pV Fb  p VP	                  R^4      w  rgVR	8X  d   VP	                  R
4      V n        K7  VR8X  d   \        P                  ! V4      V n        K[  RV n        Kd  	  V^,          P                  4       V n        \        V P                   4      ^8  d   RV n        V^,          P                  4       V n        \        V4      ^8”  d   VR,          V n        R# . V n        R#   \         d    RT n         Ký  i ; i)zPparse a given sources.list (textual) line and break it up
into the field we haverd   Ú#TNºé   NNrf  z[]Ú=r  Ú,r¿   :é   NN)Úrpmúrpm-srcÚdebúdeb-src)r|  r}  rz  r{  )rÔ   rÙ   rÏ   r¡   r"   Úfindr´   re   ri  rF   Úpopr÷   r¼   r½   r¿   Ú	Exceptionr¢   r£   r¤   )r>   rÔ   rl  rp  ÚoptionsÚoptionr3   rN   s   &&      r   r^  ÚSourceEntry.parse3  sù  € ð Œ	Ø�z‰z‹|ˆà�2Œ:˜ œØˆDŒLÙØ��7�cŒ>Ø ˆDŒMØ˜"•X—^‘^Ó%×+Ñ+Ó-ˆFà˜!•9Ð DÔDØ#�”Ùà˜B•x�à�I‰I�c‹NˆØˆqŒ5Ø A¥ ˜=ˆDŒLØ˜˜�8ˆDà—‘˜dÓ#ˆäˆv‹;˜Œ?ØˆDŒLÙà˜1•I—O‘OÓ%ˆŒ	à�9‰9Ð@Ô@ØˆDŒLÙà�!�9�?‰?Ó˜QÕ 3Ô&Ø—j‘j “m×)Ñ)¨$Ó/×5Ñ5Ó7ˆGÛ!�ð
,Ø!'§¡¨c°1Ó!5‘J�Cð ˜f”}Ø-2¯[©[¸Ó-=˜Ö*Ø 	Ô)Ü'.×'=Ò'=¸eÓ'D˜žà'+˜žñ "ð ˜!•9—?‘?Ó$ˆŒÜˆt�x‰x‹=˜1ÔØˆDŒLð ˜1•I—O‘OÓ%ˆŒ	Üˆv‹;˜Œ?à �ˆDŽJàˆDŽJøô+ !ô (Ø#'�D—Lð(ús   Å,IÉI&É%I&c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Ú	new_valuer   Nr¹   )r   r6   s   "€r   r   rW  s  s   ø€ ÷ 	,ñ 	,¡Tð 	,¨dñ 	,r   c                ó  € V'       * V n         V'       d1   V P                  P                  4       P                  R4      V n        R# V P                  P                  4       ^ ,          R8w  d   RV P                  ,           V n        R# R# )z!set a line to enabled or disabledrt  N)r¡   rÔ   ÚlstriprÙ   )r>   r…  s   &&r   ræ   ÚSourceEntry.set_enableds  s[   € à%œˆŒçØŸ	™	×(Ñ(Ó*×1Ñ1°#Ó6ˆDŽIð �y‰y�‰Ó  Õ# sÔ*Ø $§)¡)�O�–	ñ +r   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   rW  ~  s   ø€ ÷ "ñ "™ñ "r   c                ó>   € V P                  4       P                  4       # )zdebug helperrØ   r³   s   &r   rÚ   ÚSourceEntry.__str__~  s   € à�x‰x‹z×ÑÓ!Ð!r   c                ó    <€ V ^8„  d   QhRS[ /# r®   r5   )r   r6   s   "€r   r   rW  ‚  s   ø€ ÷ ñ ‘Sñ r   c                óp  € V P                   '       d   V P                  # RpV P                  '       d   RpWP                  ,          pV P                  '       dV   V P
                  eH   TRP                  RP                  V P                  4      V P
                  '       d   RMR4      ,          pMnV P
                  e&   TRV P
                  '       d   RMR,          ,          pM;V P                  '       d*   VRRP                  V P                  4      ,          ,          pVR	V P                   R	V P                   2,          p\        V P                  4      ^ 8”  d*   VR	R	P                  V P                  4      ,           ,          pV P                  R8w  d   VR
V P                  ,           ,          pVR,          pV# )z!return the current line as stringrd   z# z [arch={} trusted={}]rx  rÃ   rÄ   z [trusted=%s]z
 [arch=%s]rk   z #Ú
)rÏ   rÔ   r¡   rF   r÷   r¿   r   rl   r¢   r£   ri  r¤   r´   )r>   rÔ   s   & r   r   ÚSourceEntry.str‚  sG  € à�<�<ˆ<Ø—9‘9ÐØˆØ�=�=ˆ=ØˆDà—	‘	Õˆà××Ð $§,¡,Ò":ØÐ+×2Ñ2Ø—‘˜×+Ñ+Ó,ØŸŸ˜‘¨4óõ ‰Dð �\‰\Ò%Ø�O°··°¡uÀ$ÕGÕG‰DØ××ÐØ�L 3§8¡8¨D×,>Ñ,>Ó#?Õ?Õ?ˆDØ�!�D—H‘H�:˜Q˜tŸy™y˜kÐ*Õ*ˆÜˆt�z‰z‹?˜QÔØ�C˜#Ÿ(™( 4§:¡:Ó.Õ.Õ.ˆDØ�<‰<˜2ÔØ�D˜4Ÿ<™<Õ'Õ'ˆDØ��ˆØˆr   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# r®   ©r+   Úbuiltinsr   )r   r6   s   "€r   r   rW  ž  s   ø€ ÷ ñ ‘t™HŸL™LÕ)ñ r   c                ó   € V P                   .# )z'deb822 compatible accessor for the typer$  r³   s   &r   ró   ÚSourceEntry.types�  ó   € ð —	‘	ˆ{Ðr   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# r®   r‘  )r   r6   s   "€r   r   rW  £  s   ø€ ÷ ñ ‘d™8Ÿ<™<Õ(ñ r   c                ó   € V P                   .# )z&deb822 compatible accessor for the urir-  r³   s   &r   rô   ÚSourceEntry.uris¢  s   € ð —‘ˆzÐr   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# r®   r‘  )r   r6   s   "€r   r   rW  ¨  s   ø€ ÷ ñ ™™XŸ\™\Õ*ñ r   c                ó   € V P                   .# )z(deb822 compatible accessor for the suiter)  r³   s   &r   rõ   ÚSourceEntry.suites§  r•  r   )r÷   r_  r´   r¤   r¡   r£   r‹   rÏ   rÔ   r‘   r¿   rF   r¢   r:   )rU   rV   rW   rX   r<   r?   r¦   Ústaticmethodre   r^  ræ   rÚ   r   r  ró   rô   rõ   rY   rZ   r[   s   @r   r   r   ì  s–   ø‡ € Ù#÷.ò .÷(
ð 
ð ÷#ó ð#÷J>ð >÷@	,ð 	,÷"ð "÷ð ð6 ÷ó ðð ÷ó ðð ÷ó ör   c                   ó6   a € ] tR tRt o RtV 3R lR ltRtV tR# )r   i³  za Matcher that does nothingc                ó&   <€ V ^8„  d   QhRS[ RS[/# r)   ©ÚAnyExplodedSourceEntryr   )r   r6   s   "€r   r   ÚNullMatcher.__annotate__¶  s   ø€ ÷ ñ Ñ-ð ±$ñ r   c                ó   € R # )Trƒ   )r>   r*   s   &&r   ÚmatchÚNullMatcher.match¶  s   € Ùr   rƒ   N)rU   rV   rW   rX   r<   r£  rY   rZ   r[   s   @r   r   r   ³  s   ø‡ € Ù%÷ö r   c                   ó>  a € ] tR tRt o RtR$RR/V 3R lR llltV 3R lR ltV 3R	 lR
 ltV 3R lR ltRR%R. R3V 3R lR llt	V 3R lR lt
V 3R lR ltR&V 3R lR l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V 3R lR  ltV 3R! lR" ltR#tV tR# )'r   iº  z6represents the full sources.list + sources.list.d fileÚdeb822Fc                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )r   ÚwithMatcherÚmatcherPathr¦  )r   r   )r   r6   s   "€r   r   ÚSourcesList.__annotate__½  s)   ø€ ÷ ñ áðñ ðñ
 ñr   c               ó”   € . V n         V  V'       d   \        V4      V n        M\        4       V n        W0n        V P                  4        R # r:   )r+   r   Úmatcherr   r¦  Úrefresh)r>   r¨  r©  r¦  s   &&&$r   r?   ÚSourcesList.__init__½  s4   € ð +-ˆŒ	ÙßÜ-¨kÓ:ˆD�Lä&›=ˆDŒLØŒØ�‰Žr   c                ó   <€ V ^8„  d   QhRR/# r†   rƒ   )r   r6   s   "€r   r   rª  Í  s   ø€ ÷ +ñ +˜ñ +r   c                ó  € . V n         \        P                  P                  R4      pVR8w  d7   \        P
                  P                  V4      '       d   V P                  V4       \        P                  P                  R4      pVR8w  d¼   \        P
                  P                  V4      '       d—   \        \        P                  ! V4      4       Fs  pV P                  '       d   VP                  R4      '       g   VP                  R4      '       g   KE  V P                  \        P
                  P                  W!4      4       Ku  	  V P                    F2  pVP                  '       d   K  V P                  P!                  V4       K4  	  R# )z update the list of known entriesrY  z	/dev/nullúDir::Etc::sourcepartsrZ  z.listN)r+   r¼   r[  r\  ÚosÚpathÚexistsÚloadÚfind_dirÚsortedÚlistdirr¦  r]  rl   rÏ   r¬  r£  )r>   r‹   ÚpartsdirÚsources   &   r   r­  ÚSourcesList.refreshÍ  sü   € àˆŒ	ä�~‰~×'Ñ'Ð(>Ó?ˆØ�;Ô¤2§7¡7§>¡>°$×#7Ò#7Ø�I‰I�dŒOä—>‘>×*Ñ*Ð+BÓCˆØ�{Ô"¤r§w¡w§~¡~°h×'?Ò'?ÜœrŸzšz¨(Ó3Ö4�Ø—K—K�K D§M¡M°*×$=Ò$=À$Ç-Á-Ø÷Cô Cð —I‘IœbŸg™gŸl™l¨8Ó:Ö;ñ	 5ð —i”iˆFØ—>—>’>Ø—‘×"Ñ" 6Ö*ó  r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r®   )r   rê   )r   r6   s   "€r   r   rª  á  s   ø€ ÷ ñ ™(¡>Õ2ñ r   c              #  ó:   "  € V P                    Rj  x€L
  R#  L5i)z?simple iterator to go over self.list, returns SourceEntry
typesN©r+   r³   s   &r   Ú__iter__ÚSourcesList.__iter__á  s   é € ð —9‘9×Ôùs   ‚’“c                óT   <€ V ^8„  d   QhRS[ S[.S[3,          RS[RS[S[,          /# )r   Ú
predicatesÚattrsr   )r   r   r   r   r   )r   r6   s   "€r   r   rª  æ  s9   ø€ ÷ 
ñ 
Ù#Ñ%;Ð$<¹dÐ$BÕCð
ÙNQð
á	Ñ(Õ	)ñ
r   c              /  ó  aa"  € SP                  R R4      pV P                  4        FØ  oV'       dD   SP                  '       d2   VP                  R4      SP                  P                  R4      8w  d   KN  \        ;QJ d     VV3R lS 4       F  '       d   K   RM	  RM! VV3R lS 4       4      '       g   K’  \        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   KÔ  Sx € KÚ  	  R# 5i)r¢   NrŸ   c              3   óP   <"  € T F  p\        SV4      SV,          8H  x € K  	  R # 5ir:   )Úgetattr)rí   r3   rÃ  rº  s   & €€r   rï   Ú%SourcesList.__find.<locals>.<genexpr>í  s!   øé € ÐGÁ¸#”7˜6 3Ó'¨5°­:Ö5Ãùs   ƒ#&FTc              3   ó2   <"  € T F  q! S4      x € K  	  R # 5ir:   rƒ   )rí   Ú	predicaterº  s   & €r   rï   rÇ  í  s   øé € ð PÙ3= i�	˜&×!Ð!³:ùs   ƒ)r  Úexploded_listr¢   r!   rø   )r>   rÂ  rÃ  r¢   rº  s   &*l @r   Ú__findÚSourcesList.__findæ  s³   ùé € ð �i‰i˜˜tÓ$ˆØ×(Ñ(Ö*ˆFß�v—z—z�z c§j¡j°£o¸¿¹×9JÑ9JÈ3Ó9OÔ&OÙß‹sÕGÁÓG�s�sŠsÕGÁÓG×GÔGÏCËCô PÙ3=óPÏCÏCÊCô PÙ3=óP÷ Mô Mð ”ó +ùs/   „?DÁ;DÂ DÂDÂ9
DÃDÃDÃ;
Drd   Nc                ó’   <€ V ^8„  d   QhRS[ RS[ RS[ RS[S[ ,          RS[ RS[RS[ R,          R	S[S[ ,          R
S[R,          RS[/
# )r   rF   r¢   r£   Ú
orig_compsr´   Úposr‹   Nr÷   rq   r   )r   r+   Úintr   r   )r   r6   s   "€r   r   rª  ò  sŒ   ø€ ÷ iñ iáðiñ ðiñ ð	iñ
 ™•Iðiñ ðiñ ðiñ �D�jðiñ  ¡•}ðiñ '¨Õ-ðiñ 
 ñir   c
           	     óè  a€ VP                  4       pVP                  R4      p
V
'       d   VR,          P                  4       p\        S4      oVR,          pV P	                  V3R lV
RVVVR7      pV FE  pV F<  pWíP
                  9   g   K  W»P                  V4       \        V4      ^ 8X  g   K8  Vu u # 	  KG  	  V P	                  V3R lRVVVR7      pV F¨  pVP                  V
8X  dI   \        VP
                  4      \        V4      8w  d"   \        VP
                  V,           4      Vn        Vu # VP                  '       g   Kp  V
'       d   Kz  \        VP
                  4      \        V4      8X  g   KŸ  RVn        Vu # 	  Vf    \        P                  P                  R
4      pVP                  R4      '       dÅ   \        R	WpR7      pV	'       dc   \        V	RV	4      p	\!        V	\        4      '       g   Q hV	P"                  P$                   F#  pV	P"                  V,          VP"                  V&   K%  	  V.Vn        V.Vn        V.Vn        W¿n        S'       d   \-        S4      Vn        W_P"                  n        W¯n        M–V
'       d   RMRTS'       d   RRP3                  S4      ,          MRVV.pVP5                  V4       V'       d   VP7                  RV,           4       RP3                  R V 4       4      R,           p\9        V4      pVe   Wn        V P<                  P?                  V4       V^ 8  d   V P,                  P7                  V4       V# V P,                  PA                  Wo4       V# )zˆ
Add a new source to the sources.list.
The method will search for existing matching repos and will try to
reuse them as far as possible
rt  ru  :NNNc                 ó4   <€ \        V P                  4      S8H  # r:   ©r-   r÷   ©r*   r÷   s   &€r   Ú<lambda>Ú!SourcesList.add.<locals>.<lambda>  ó   ø€ ”c˜!Ÿ/™/Ó*¨mÒ;r   F)r¡   rÏ   rF   r¢   r£   c                 ó4   <€ \        V P                  4      S8H  # r:   rÓ  rÔ  s   &€r   rÕ  rÖ    r×  r   )rÏ   rF   r¢   r£   NrY  rZ  )r‹   r+   rq   rd   z	[arch=%s]rx  rk   c              3   ó8   "  € T F  q'       g   K  Vx € K  	  R # 5ir:   rƒ   )rí   Úparts   & r   rï   Ú"SourcesList.add.<locals>.<genexpr>P  s   é € Ð;©U T³dŸDšD«Uùs   ‚	�
rŽ  )!rÙ   Ú
startswithr‡  r-   Ú_SourcesList__findr¤   r$   ri  r¡   r.   r¼   r[  r\  r]  r   rÆ  r�   rH   rú   ró   rô   rõ   r+   r÷   r²   rl   Úextendrj  r   r‹   r¬  r£  rC  )r>   rF   r¢   r£   rÎ  r´   rÏ  r‹   r÷   rq   r¡   r¤   Úsourcesrº  Únew_compÚ	new_entryÚkÚpartsrÔ   s   &&&&&&&&f&         r   r  ÚSourcesList.addò  sÝ  ø€ ð$ �z‰z‹|ˆØ—?‘? 3Ó'ˆßØ˜•8—?‘?Ó$ˆDÜ˜MÓ*ˆð ˜1•ˆØ—+‘+Ü;ØØØØØð ó 
ˆó ˆFÛ!�ØŸ|™|Ö+ð Ÿk™k¨(Ó3Ð4Ü˜5“z Q–Ø%œó "ñ ð —+‘+Ü;ØØØØð ó 
ˆó ˆFØ�‰ (Ô*ô �v—|‘|Ó$¬¨E«
Ô2Ü#'¨¯©°uÕ(<Ó#=�F”LØ’Ø——’¯©ä�v—|‘|Ó$¬¨E«
Ö2Ø&+�F”OØ!’Mñ ð Š<Ü—>‘>×+Ñ+Ð,BÓCˆDØ�=‰=˜×$Ò$Ü)¨$°TÔEˆIßÜ  ¨°6Ó:�Ü! &Ô*;×<Ò<Ð<Ð<ØŸ™×,Ô,�AØ+1¯>©>¸!Õ+<�I×%Ñ% aÓ(ñ -à#˜fˆIŒOØ!˜UˆIŒNØ $˜vˆIÔØ#ŒOßÜ*.¨}Ó*=�	Ô'Ø'.×ÑÔ$Ø!)Õ÷  ‘ RØß;H�˜sŸx™x¨Ó6Ö6ÈbØØðˆEð �L‰L˜ÔßØ—‘˜S 7�]Ô+Ø—8‘8Ñ;©UÓ;Ó;¸dÕBˆDä# DÓ)ˆIØÒØ!%”à�‰×Ñ˜9Ô%Ø�Œ7Ø�I‰I×Ñ˜YÔ'ð Ðð �I‰I×Ñ˜SÔ,ØÐr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úsource_entryr   N)r   )r   r6   s   "€r   r   rª  ]  s   ø€ ÷ 'ñ 'Ñ#9ð '¸dñ 'r   c                ó    € \        V\        4      '       d   VP                  4        VP                  pV P                  P                  V4       R# )z0remove the specified entry from the sources.listN)r�   ry   r~   rq   r+   rA  )r>   ræ  s   &&r   rA  ÚSourcesList.remove]  s9   € ä�lÔ$=×>Ò>Ø×"Ñ"Ô$Ø'×.Ñ.ˆLØ�	‰	×Ñ˜Ö&r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Ú
backup_extr   Nr5   )r   r6   s   "€r   r   rª  d  s   ø€ ÷ 	5ñ 	5©ð 	5°ñ 	5r   c                ó8  € \         P                  P                  R4      p\        P                  P                  W!,           4      '       dC   \        P                  P                  V4      '       d   \        P                  ! W!,           V4       \         P                  P                  R4      p\        P                  ! RV,          4       FM  p\        P                  P                  W!,           4      '       g   K0  \        P                  ! W!,           V4       KO  	  R# )z8restore sources.list files based on the backup extensionrY  r±  z%s/*N)
r¼   r[  r\  r²  r³  r´  ÚshutilÚcopyr¶  Úglob)r>   rê  r‹   r¹  s   &&  r   Úrestore_backupÚSourcesList.restore_backupd  s¤   € ä�~‰~×'Ñ'Ð(>Ó?ˆÜ�7‰7�>‰>˜$Õ+×,Ò,´·±·±À×1EÒ1EÜ�KŠK˜Õ)¨4Ô0ä—>‘>×*Ñ*Ð+BÓCˆÜ—I’I˜f xÕ/Ö0ˆDÜ�w‰w�~‰~˜dÕ/×0Ô0Ü—’˜DÕ-¨tÖ4ó 1r   c                ó4   <€ V ^8„  d   QhRS[ R,          RS[ /# )r   rê  Nr   r5   )r   r6   s   "€r   r   rª  o  s   ø€ ÷ 	ñ 	¡ t¥ð 	±sñ 	r   c                óZ  € \        4       pVf   \        P                  ! R4      pV P                   Fv  pVP                  V9  g   K  \
        P                  P                  VP                  4      '       g   KG  \        P                  ! VP                  VP                   V 24       Kx  	  V# )zxmake a backup of the current source files, if no backup extension
is given, the current date/time is used (and returned)z%y%m%d.%H%M)
r-   ÚtimeÚstrftimer+   r‹   r²  r³  r´  rì  rí  )r>   rê  Úalready_backupedrº  s   &&  r   ÚbackupÚSourcesList.backupo  sx   € ô +.«%ÐØÒÜŸš }Ó5ˆJØ—i”iˆFØ�{‰{Ð"2Ö2´r·w±w·~±~ÀfÇkÁk×7RÔ7RÜ—’˜FŸK™K¨F¯K©K¨=¸¸Ð)EÖFñ  ð Ðr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r‹   r   Nr5   )r   r6   s   "€r   r   rª  z  s   ø€ ÷ Fñ F™ð F ñ Fr   c                óè  €  \        V4      ;_uu_ 4       pVP                  R4      '       dE   \        P                  ! V4       F)  pV P                  P                  \        W1V R7      4       K+  	  M/V F)  p\        WA4      pV P                  P                  V4       K+  	  RRR4       R#   + '       g   i     R# ; i  \         d)   p\        P                  ! RT RT R24        Rp?R# Rp?ii ; i)z(re)load the current sourcesrZ  r¾  Nzcould not open file 'z': rŽ  )Úopenr]  r   ÚFiler+   rj  r   r   r€  ÚloggingÚwarning)r>   r‹   ÚfrH   rÔ   rº  Úexcs   &&     r   rµ  ÚSourcesList.loadz  s´   € ð
	FÜ�d—”˜qØ—=‘= ×,Ò,Ü#*§<¢<°¦?˜ØŸ	™	×(Ñ(Ô):¸7ÈtÔ)TÖUò $3ó !"˜Ü!,¨TÓ!8˜ØŸ	™	×(Ñ(¨Ö0ñ !"÷ ——’ûô ô 	FÜ�OŠOÐ3°D°6¸¸S¸EÀÐD×EÒEûð	Fús5   ‚B> •BB*Â B> Â*B;	Â5B> Â;B> Â>C1Ã	C,Ã,C1c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úentryr   )r   rÐ  )r   r6   s   "€r   r   rª  ˆ  s   ø€ ÷ &ñ &Ñ1ð &±cñ &r   c                ó®   € \        V\        4      '       d&   V P                  P                  VP                  4      # V P                  P                  V4      # r:   )r�   ry   r+   r$   rq   )r>   r  s   &&r   r$   ÚSourcesList.indexˆ  s:   € Ü�eÔ6×7Ò7Ø—9‘9—?‘? 5§<¡<Ó0Ð0Ø�y‰y�‰˜uÓ%Ð%r   c                ó   <€ V ^8„  d   QhRR/# r†   rƒ   )r   r6   s   "€r   r   rª  �  s   ø€ ÷ ñ �tñ r   c                óž  € RpV'       dÃ   ^ pRpV^,           \        V P                  4      8  g   K/  V P                  V,          p\        V\        4      '       dh   V^,           pV\        V P                  4      8  dE   VP	                  V P                  V,          4      '       d   V P                  V RpKS  V^,          pK^  V^,          pK¾  R# )z=Merge consecutive entries that have been split back together.TFN)ri  r+   r�   r   r  )r>   Úmergedrp  r  Újs   &    r   r  ÚSourcesList.merge�  sš   € àˆßØˆAØˆFØ�a•%œ#˜dŸi™i›.Ö(ØŸ	™	 !��Ü˜eÔ%6×7Ò7Ø˜A��AØœc $§)¡)›nÔ,Ø Ÿ;™; t§y¡y°¥|×4Ò4Ø $§	¡	¨! Ø%)šFà �FšAØ�Q•’ñ r   c                ó   <€ V ^8„  d   QhRR/# r†   rƒ   )r   r6   s   "€r   r   rª  Ÿ  s   ø€ ÷ ñ �dñ r   c                ó*  € / p\        V P                  4      ^ 8X  dR   \        P                  P	                  R4      pRp\        VR4      ;_uu_ 4       pVP                  V4       RRR4       R# V P                  4         V P                   F�  pVP                  V9  d$   \        VP                  R4      WP                  &   M7\        V\        4      '       d"   WP                  ,          P                  R4       WP                  ,          P                  VP                  4       4       KŸ  	  VP                  4        F  pVP                  4        K  	  R#   + '       g   i     R# ; i  TP                  4        F  pTP                  4        K  	  i ; i)zsave the current sourcesrY  z ## See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
ÚwNrŽ  )ri  r+   r¼   r[  r\  rú  Úwriter  r‹   r�   r   r   rh   Úclose)r>   Úfilesr³  r²   rþ  rº  s   &     r   ÚsaveÚSourcesList.saveŸ  s  € à-/ˆäˆt�y‰y‹>˜QÔÜ—>‘>×+Ñ+Ð,BÓCˆDðEð ô �d˜C—” AØ—‘˜”÷ !áà�
‰
Œð		ØŸ)œ)�Ø—;‘; eÔ+Ü)-¨f¯k©k¸3Ó)?�EŸ+™+Ò&Ü Ô(9×:Ò:ØŸ+™+Õ&×,Ñ,¨TÔ2Ø—k‘kÕ"×(Ñ(¨¯©«Ö6ñ $ð —\‘\–^�Ø—‘–	ó $÷ !–áûð —\‘\–^�Ø—‘–	ò $ús   ÁEÁ?B-E) ÅE&	Å))Fc          	      ó‚   <€ V ^8„  d   QhRS[ S[,          RS[S[S[,          S[S[S[S[,          3,          3,          /# )r   rD  r   )r   rê   Útupler+   Údictr   )r   r6   s   "€r   r   rª  »  s@   ø€ ÷ /ñ /Ù$¡^Õ4ð/á	‰t‘NÕ#¡T©(±D¹Õ4HÐ*HÕ%IÐIÕ	Jñ/r   c                óJ  € . p/ pV F—  pVP                   f   K  VP                   P                  '       d2   VP                   pWS9  d   . W5&   W5,          pVP                  V4       K`  \        VP                   P                  4      ^ 8”  g   K†  VP                  V4       K™  	  W#3# )z5get all parent and child channels in the sources list)r‘   rî   rj  ri  r_  )r>   rD  ÚparentsÚused_child_templatesrº  r3   Útemps   &&     r   Úcheck_for_relationsÚSourcesList.check_for_relations»  s”   € ð ˆØEGÐÛ"ˆFà�‰Ò&Ùð �‰×$×$Ð$Ø—o‘o�ØÔ2Ø02Ð(Ñ-Ø+Õ0�Ø—‘˜FÖ#ô �v—‘×/Ñ/Ó0°1Ö4Ø—N‘N 6Ö*ñ #ð$ Ð.Ð.r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r®   )r+   r   )r   r6   s   "€r   r   rª  Õ  s   ø€ ÷ ñ ™tÑ$:Õ;ñ r   c                ó4  € . pV P                    EF  p\        V\        4      '       d   VP                  V4       K-  \	        VP
                  4      ^8X  dH   \	        VP                  4      ^8X  d.   \	        VP                  4      ^8X  d   VP                  V4       KŽ  VP
                   Ff  pVP                   FS  pVP                   F@  pVP                  \        W#WE4      4       V P                  P                  VR,          4       KB  	  KU  	  Kh  	  EK  	  V# )a&  Present an exploded view of the list where each entry corresponds exactly to a Release file.

A release file is uniquely identified by the triplet (type, uri, suite). Old style entries
always referred to a single release file, but deb822 entries allow multiple values for each
of those fields.
éÿÿÿÿ)r+   r�   r   rj  ri  ró   rô   rõ   ry   r¬  r£  )r>   Úresr  r   r¢   Úsuis   &     r   rÊ  ÚSourcesList.exploded_listÕ  sÉ   € ð -/ˆØ—Y•YˆEÜ˜%¤×-Ò-Ø—
‘
˜5Ö!ä�E—K‘KÓ  AÔ%Ü˜Ÿ
™
“O qÔ(Ü˜Ÿ™Ó%¨Ô*à—
‘
˜5Ö!à Ÿ;œ;�CØ$Ÿzœz˜Ø#(§<¤<˜CØŸJ™JÔ'@ÀÈSÓ'VÔWØ ŸL™L×.Ñ.¨s°2­wÖ7ó $0ó  *ô 'ñ ð  ˆ
r   )r¦  r+   r¬  )Tz /usr/share/python-apt/templates/r  r:   )rU   rV   rW   rX   r<   r?   r­  r¿  rÝ  r  rA  rï  rö  rµ  r$   r  r  r  rÊ  rY   rZ   r[   s   @r   r   r   º  s´   ø‡ € Ù@ñð
 ÷ó ÷ +ð +÷(ð ÷

ð 
ð$ ØØØ')Ø04÷iò i÷V'ð '÷	5ð 	5÷	ò 	÷Fð F÷&ð &÷
ð ÷$ð ÷8/ð /÷4ö r   c                   óH   a € ] tR tRt o RtV 3R lR ltV 3R lR ltRtV tR# )	r   ið  zlmatcher class to make a source entry look nice
lots of predefined matchers to make it i18n/gettext friendly
c                ó    <€ V ^8„  d   QhRS[ /# )r   r©  r5   )r   r6   s   "€r   r   ÚSourceEntryMatcher.__annotate__õ  s   ø€ ÷ ñ ¡Cñ r   c                ó^  € . V n         \        P                  ! R V,          4      pV F‚  p\        P                  P	                  V4      pVP                  R4      pV^ V p\        W1R7      pVP                    F.  pVP                  f   K  V P                   P                  V4       K0  	  K„  	  R# )z	%s/*.infoz.info)Úbase_dirN)	Ú	templatesrî  r²  r³  Úbasenamer~  r   Ú	match_urirj  )r>   r©  Ú
spec_filesrþ  rp  r£   r‘   s   &&     r   r?   ÚSourceEntryMatcher.__init__õ  s�   € Ø)+ˆŒä—Y’Y˜{¨[Õ8Ó9ˆ
ÛˆAÜ—‘× Ñ  Ó#ˆAØ—‘�w“ˆAØ�!�A�ˆAÜ˜AÔ4ˆDØ ŸNœN�Ø×%Ñ%Ô1Ø—N‘N×)Ñ)¨(Ö3ó +ñ ñ 	r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   rº  r   rŸ  )r   r6   s   "€r   r   r#    s   ø€ ÷ ñ Ñ2ð ±tñ r   c                ó  € RpV P                    EFu  pVP                  e   VP                  f   K"  VP                  eÄ   VP                  e¶   VP                  e¨   VP                  eš   \
        P                  ! VP                  VP                  4      '       di   \
        P                  ! VP                  VP                  4      '       d8   VP                  VP                  8X  g   VP                  R8X  d   RpW1n	         V# VP                  VP                  4      '       g   EK  VP                  f   EK(  VP                  f   EK9  \
        P                  ! VP                  VP                  4      '       g   EKm  RpW1n	         V# 	  V# )z%Add a matching template to the sourceFr|  T)r&  r¢   r£   r(  Ú
match_nameÚreÚsearchr£  rF   r‘   r'   )r>   rº  Úfoundr‘   s   &&  r   r£  ÚSourceEntryMatcher.match  s  € àˆØŸ�ˆHØ�z‰zÒ! V§[¡[Ò%8Ùà×"Ñ"Ò.Ø×'Ñ'Ò3Ø—J‘JÒ*Ø—K‘KÒ+Ü—I’I˜h×0Ñ0°&·*±*×=Ò=Ü—H’H˜X×0Ñ0°&·+±+×>Ò>ð —‘ §¡Ô-°·±À%Ô1Gà�Ø"*”Øð ˆð ×"Ñ" 6§:¡:×.Õ.Ø×'Ñ'Õ3Ø—K‘KÕ+Ü—H’H˜X×0Ñ0°&·+±+×>Õ>à�Ø"*”ØØˆñ7 'ð6 ˆr   )r&  N)	rU   rV   rW   rX   r<   r?   r£  rY   rZ   r[   s   @r   r   r   ð  s   ø‡ € ñ÷ð ÷ö r   Ú__main__zentry %sz!http://archive.ubuntu.com/ubuntu/z$http://de.archive.ubuntu.com/ubuntu/zis_mirror(): %sz http://archive.ubuntu.com/ubuntuz#http://de.archive.ubuntu.com/ubuntu)r'   r   r   r   r   r   )3r’  rî  Úiorü  Úos.pathr²  r.  rì  ró  r“   Úcollections.abcr   r   r   Útypingr   r   r   r	   r
   r¼   rd   r   Údistinfor   r   r   Ú__all__r'   r.   r  r0   r]   ro   r„   rˆ   r   ry   r   rê   r   r   r   r   rU   Úinit_configrß  r  Úinfor   Úmirrorrƒ   r   r   Ú<module>r<     s˜  ðó4 Û Û 	Û Û Û 	Û Û Û ß 8Ñ 8ß 9Õ 9ã å ß (ñ ˆCƒL€ò€õõ:ô*˜(ô *ô&1˜ô 1ô /˜H g¨a¥jô /õ õ÷
z<ñ z<÷zN ñ N ÷b~ñ ~ðB �{Ð$5Ð5Õ6€ØØÐ"Ð$=Ð=õÐ ÷
ñ ÷sñ s÷l	1ñ 1ðj ˆzÔØ×ÒÔÙ‹m€GãˆØ�Š�Z %§)¡)£+Õ-Ö.ñ ñ Ø+Ð-Só€Fð ‡L‚LÐ" VÕ+Ô,à‡L‚LÙØ.Ð0Vó	
ôð
 ‡L‚LÙØ/Ð1Vó	
öñ% r   