+
    CiL	                     :    ^ RI HtHt R tR tR tR tR tR tR# )	    )SourceEntryDeb822SourceEntryc                    \        V \        4      '       d!   \        \        V 4      V P                  R7      # \	        \        V 4      V P                  R7      # )z+Return a shallow copy of the source entry. )file)
isinstancer   strr   r   )origs   &@/usr/lib/python3/dist-packages/softwareproperties/sourceutils.pycopy_source_entryr      s:    $)** T;;s4ytyy11    c                f    \        V 4      pVP                  4        F  w  r4\        W#V4       K  	  V# )z?Return a copy of the given source entry with replaced field(s).)r   itemssetattr)r	   kwargsentrykvs   &,   r
   replace_source_entryr   
   s-    d#E,,.! !Lr   c                z    V P                   P                  R4      pV^,          ;'       g    RP                  4       # )z`
Return the pocket, or if unset return 'release'.

This always returns the pocket in lowercase.
-release)dist	partitionlower)source_entrypartss   & r
   get_source_entry_pocketr      s5     '',E!H!!	((**r   c                F    V P                   P                  R4      ^ ,          # )zP
Return the suite, without pocket.

This always returns the suite in lowercase.
r   )r   r   )r   s   &r
   get_source_entry_suiter      s      &&s+A..r   c                    \        V\        VP                  4      R7      pV  F,  p\        V\        VP                  4      R7      V8X  g   K*  Vu # 	  R# )z
Return the source entry from entries that matches entry, if found.
Otherwise return None.

This function uses a modified equality check, i.e. it considers components
as a set rather than a list so that different ordering does not affect the
comparison.
)compsN)r   setr!   )entriesr   targetes   &&  r
   get_source_entry_from_listr&   "   sD     "%s5;;/?@FQWW6&@H  r   c                    V P                   VP                   8w  d   R# R F9  p\        \        W4      4      \        \        W4      4      ,
          '       g   K8   R# 	  R# )a  
Return True if the source defined by b is already satisfied
by the source defined by a.

For example, if source a is:

Types: deb
URIs: http://archive.ubuntu.com/ubuntu
Suites: jammy
Components: main universe

and source b is:

Types: deb
URIs: http://archive.ubuntu.com/ubuntu
Suites: jammy
Components: universe

Then source a contains source b.

But if source b was:

Types: deb-src
URIs: http://archive.ubuntu.com/ubuntu
Suites: jammy
Components: universe

Then a does not contain b because it does not include deb-src.
FT)typesr!   suitesuris)disabledr"   getattr)abattrs   && r
   deb822_source_entry_containsr0   3   sH    < 	zzQZZ4wq 3wq'7#888 5 r   N)	aptsources.sourceslistr   r   r   r   r   r   r&   r0    r   r
   <module>r3      s&    C2+/"%r   