+
    Zh                         ^ RI t ^ RIHtHtHt ^ RIHtHtHt ^ RI	H
t
HtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt  ! R
 R]P.                  4      t ! R R]4      t ! R R]4      tR# )    N)TupleTypeUnion)apimessagessystem)APT_KEYS_DIRDEB822_REPO_FILE_CONTENTKEYRINGS_DIR)ESM_APT_ROOTDIR)repo)UAEntitlement)CanDisableFailure)set_filename_extensionc                      a a ] tR t^t o]P
                  P                  tRt]	V3R lR l4       t
V3R lV 3R lltV3R lR ltV3R lR	 ltR
tVtV ;t# )ESMBaseEntitlementTc                D   < V ^8  d   QhRS[ S[S[,          R3,          /# )   return.)r   r   r   )format__classdict__s   ";/usr/lib/python3/dist-packages/uaclient/entitlements/esm.py__annotate__ESMBaseEntitlement.__annotate__   s#     7 7E$}*=s*B$C 7    c                    ^ RI HpHp W!3# )r   )ROSEntitlementROSUpdatesEntitlement)uaclient.entitlements.rosr   r   )selfr   r   s   &  r   dependent_services%ESMBaseEntitlement.dependent_services   s    	

 &66r   c                :   < V ^8  d   QhRS[ P                  RS[/# )r   progressr   )r   ProgressWrapperbool)r   r   s   "r   r   r      s!        (;(;    r   c                   < ^ RI Hp \        SV `  V4      pV'       d#   V! V P                  4       V P                  4        V# r   )update_motd_messages)uaclient.timer.update_messagingr)   super_perform_enablecfgdisable_local_esm_repo)r    r$   r)   enable_performed	__class__s   &&  r   r,   "ESMBaseEntitlement._perform_enable   s7    H 728< *'')r   c                   < V ^8  d   QhRR/# r   r   N )r   r   s   "r   r   r   #   s     '
 '
d '
r   c                   \         P                  ! 4       P                  pV P                  P	                  R 4      '       g   Q hV P                  \        R 4      R p\        \        P                  P                  \        V P                  ,           4      R4      p\        \        P                  P                  \        V P                  ,           4      R4      p\        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   R# RP                  VR7      pRP                  WR7      p\         P                  ! V\        P                  ! VV\         V P"                  RR	7      4       R# )
zesm-Nsourceslistz$https://esm.ubuntu.com/{name}/ubuntu)namez0{series}-{name}-security {series}-{name}-updates)seriesr8    )urlsuiteskeyrings_dirkeyring_filedeb_src)r   get_release_infor9   r8   
startswithlenr   ospathnormpathr   	repo_fileexistsr   
write_filer
   r   repo_key_file)r    r9   esm_namesources_repo_filenamelist_repo_filenameesm_urlr<   s   &      r   setup_local_esm_repo'ESMBaseEntitlement.setup_local_esm_repo#   s7   ((*11yy##F++++99S[]+ 6GG$..0 	!
 4GG$..0 	
 77>>/00BGGNN5
 5
 8??X?NCJJ K 

 	!$++)!//		
r   c                   < V ^8  d   QhRR/# r3   r4   )r   r   s   "r   r   r   L   s     
 
 
r   c                   \         P                  P                  \        \        ,           V P
                  ,           4      p\        P                  ! V4       \         P                  P                  \        V P                  ,           4      p\        P                  ! \        VR 4      4       \        P                  ! \        VR4      4       R# )r6   r7   N)
rC   rD   rE   r   r	   rI   r   ensure_file_absentrF   r   )r    r>   repo_filenames   &  r   r.   )ESMBaseEntitlement.disable_local_esm_repoL   s    ww''l*T-?-??
 	!!,/((dnn,
 	!!"=)<	
 	!!"=&9	
r   r4   )__name__
__module____qualname____firstlineno__r   urlsESM_HOME_PAGEhelp_doc_urlcheck_updates_pocketpropertyr!   r,   rN   r.   __static_attributes____classdictcell____classcell__r0   r   s   @@r   r   r      sP     ==..L7 7   '
 '
R
 
 
r   r   c                      a a ] tR t^^t oRtRt]P                  t]P                  t
]P                  tRtV3R lV 3R lltRtVtV ;t# )ESMAppsEntitlementUbuntuESMAppszesm-appszubuntu-pro-esm-apps.gpgc                d   < V ^8  d   QhRS[ P                  RS[S[S[RS[3,          3,          /# r   r$   r   Nr   r%   r   r&   r   r   )r   r   s   "r   r   ESMAppsEntitlement.__annotate__f   8     
' 
'++
'	tU4!2233	4
'r   c                   < ^ RI Hp \        SV `  V4      w  r4V'       d>   V! V P                  4       \
        P                  ! 4       '       d   V P                  4        W43# r(   )r*   r)   r+   disabler-   r   is_current_series_ltsrN   r    r$   r)   disable_performedfailr0   s   &&   r   rk   ESMAppsEntitlement.disablef   sN     	I"''/("; *++--))+ &&r   r4   )rU   rV   rW   rX   originr8   r   ESM_APPS_TITLEtitleESM_APPS_DESCRIPTIONdescriptionESM_APPS_HELP_TEXT	help_textrI   rk   r^   r_   r`   ra   s   @@r   rc   rc   ^   sD     FD##E//K++I-M
' 
' 
'r   rc   c                      a a ] tR t^st oRtRt]P                  t]P                  t
]P                  tRtV3R lV 3R lltRtVtV ;t# )ESMInfraEntitlementz	esm-infra	UbuntuESMzubuntu-pro-esm-infra.gpgc                d   < V ^8  d   QhRS[ P                  RS[S[S[RS[3,          3,          /# rf   rg   )r   r   s   "r   r    ESMInfraEntitlement.__annotate__{   ri   r   c                   < ^ RI Hp \        SV `  V4      w  r4V'       d>   V! V P                  4       \
        P                  ! 4       '       d   V P                  4        W43# r(   )r*   r)   r+   rk   r-   r   is_current_series_active_esmrN   rm   s   &&   r   rk   ESMInfraEntitlement.disable{   sN     	I"''/("; *2244))+ &&r   r4   )rU   rV   rW   rX   r8   rq   r   ESM_INFRA_TITLErs   ESM_INFRA_DESCRIPTIONru   ESM_INFRA_HELP_TEXTrw   rI   rk   r^   r_   r`   ra   s   @@r   ry   ry   s   sD     DF$$E00K,,I.M
' 
' 
'r   ry   )rC   typingr   r   r   uaclientr   r   r   uaclient.aptr	   r
   r   uaclient.defaultsr   uaclient.entitlementsr   uaclient.entitlements.baser   (uaclient.entitlements.entitlement_statusr   uaclient.utilr   RepoEntitlementr   rc   ry   r4   r   r   <module>r      sX    	 % % * * M M - & 4 F 0N
-- N
b'+ '*', 'r   