+
    =l jS;  ã                   ó  € ^ 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	 ^ RI
HtHtHtHtHtHtHtHt ^ RI
Ht ^ RI
HtHt ^ RI
Ht ^ RI
HtHtHt ^ RIHtHtHtH t  ^ R	I!H"t"H#t# ^ R
I$H%t%H&t&H't'H(t(H)t) ]PT                  ! 4       t+]PX                  ! ]PZ                  ! ].4      4      t/R't0^
t1R R lt2R(R R llt3R(R R llt4R)R R llt5RRRRRRRR/R R llt6RRRR/R R lltR R  lt7R*R! R" llt8R# R$ lt9R% R& lt:R# )+é    N)ÚListÚOptional)ÚapiÚcloudsÚconfigÚcontractÚentitlementsÚevent_loggerÚ
exceptionsÚ	livepatch)Úlog)ÚmessagesÚsecret_manager)Ústatus)ÚsystemÚtimerÚutil)ÚAPPARMOR_PROFILESÚCLOUD_BUILD_INFOÚDEFAULT_CONFIG_FILEÚDEFAULT_LOG_PREFIX)Úmachine_tokenÚnotices)ÚAttachmentDataÚattachment_data_fileÚmachine_id_fileÚonly_series_check_marker_fileÚtimer_jobs_state_filec                óx   € V ^8„  d   QhR\         P                  R\        P                  R\        P                  /# )é   ÚcfgÚcontract_clientÚattached_at)r   ÚUAConfigr   ÚUAContractClientÚdatetime)Úformats   "Ú2/usr/lib/python3/dist-packages/uaclient/actions.pyÚ__annotate__r)   9   s6   € ÷ 
,ñ 
,Ü	�‰ð
,ä×.Ñ.ð
,ô ×"Ñ"ñ
,ó    c                 ó°   € ^ RI Hp \        P                  ! \	        VR7      4       \
        P                  ! V R7       V! V 4       VP                  4        R# )r   ©Úupdate_motd_messages©r#   ©r!   N)Úuaclient.timer.update_messagingr-   r   Úwriter   Ú	ua_statusr   Úupdate_activity_token)r!   r"   r#   r-   s   &&& r(   Ú_handle_partial_attachr4   9   s=   € õ
 Eä×Òœ~¸+ÔFÔGÜ×Ò˜ÕÙ˜ÔØ×)Ñ)Ö+r*   Fc          
      óº   € V ^8„  d   QhR\         P                  R\        \        P                  ,          R\        P
                  R\        P                  R\        /# )r    r!   Úservices_to_be_enabledr"   r#   Úsilent)r   r$   r   r   ÚEnableByDefaultServicer%   r&   Úbool)r'   s   "r(   r)   r)   F   sU   € ÷ ?ñ ?Ü	�‰ð?ä ¤×!@Ñ!@ÕAð?ô ×.Ñ.ð?ô ×"Ñ"ð	?ô
 ñ?r*   c                 óR  € R p. p. p V Fu  p\        V VP                  VP                  VR7      w  ršWY,          pV	'       g   VP                  VP                  4       KU  \        P                  VP                  R7       Kw  	  T'       gÒ   \        YT4       \        P                  T4       T'       dr   \        P                  ! \        Yg4       UUu. uFD  w  rÞT\        P                   P#                  \%        T4      \&        P(                  ! 4       R7      3NKF  	  uppR7      h\        P*                  ! T Uu. uF  pT\        P,                  3NK  	  upR7      hR#   \        P                   d3   p\        P                  XP                  4       \        YT4       ThRp?i\        P                   d"    TP                  XP                  4       Rp ELU\         d:   pRpTP                  XP                  4       TP                  T4        Rp?EL“Rp?ii ; iu uppi u upi )T)r!   ÚnameÚvariantr7   )ÚserviceNF)Ú	error_msgÚlog_path)Úfailed_services)Úenable_entitlement_by_namer;   r<   ÚappendÚeventÚservice_processedr   ÚConnectivityErrorÚservice_failedr4   ÚUbuntuProErrorÚ	ExceptionÚservices_failedÚAttachFailureUnknownErrorÚzipr   ÚUNEXPECTED_ERRORr'   ÚstrÚpro_logÚget_user_or_root_log_file_pathÚAttachFailureDefaultServicesÚ!E_ATTACH_FAILURE_DEFAULT_SERVICES)r!   r6   r"   r#   r7   Úretr@   Úunexpected_errorsÚenable_by_default_serviceÚent_retÚreasonÚexcÚer;   Ú	exceptions   &&&&&          r(   Ú_enable_default_servicesrZ   F   sô  € ð €CØ€OØÐð$Û)?Ð%Ü8ØØ.×3Ñ3Ø1×9Ñ9Øô	‰OˆGð �NˆCçØ×&Ñ&Ð'@×'EÑ'EÖFä×'Ñ'Ð0I×0NÑ0NÐ'ÖOñ *@÷2 ä˜s°[ÔAÜ×Ñ˜oÔ.çÜ×6Ò6ô ,/Ø'ô,ô!ñ,™˜ð Ü ×1Ñ1×8Ñ8Ü&)¨)£nÜ%,×%KÒ%KÓ%Mð 9ó óñ,ò!ôð ô ×9Ò9ñ !0ó!á /˜ð œ8×EÑEÓFÙ /ñ!ôð ñ+ øô ×'Ñ'ô Ü×ÑÐ6×;Ñ;Ô<Ü˜s°[ÔAØˆ	ûÜ×$Ñ$ô Ø×ÑÐ8×=Ñ=Ô>Ø‹Üô $ØˆØ×ÑÐ8×=Ñ=Ô>Ø× Ñ  ×#Ò#ûð$üó!ùò!sC   ˆA;E ÃA
H
Ä9H$ÅHÅ3-F Æ HÆ7HÇHÇ!HÇ".HÈHc          
      ó`   € V ^8„  d   QhR\         P                  R\        R\        R\        RR/# )r    r!   ÚtokenÚallow_enabler7   ÚreturnN)r   r$   rM   r9   )r'   s   "r(   r)   r)   ˆ   sE   € ÷ \ñ \Ü	�‰ð\äð\ô ð\ô ð	\ð
 
ñ\r*   c                ó°  € ^ RI Hp ^ RIHp \        P
                  P                  V4       \        P                  ! V 4      p\        P                  ! V 4      p\        P                  P                  \        P                  P                  R7      pVP                  WR7      p	\         P"                  ! 4       P$                  p
V	P'                  R/ 4      P'                  R/ 4      p\)        R VP'                  R. 4       4       4      pVP'                  R	/ 4      P'                  R
/ 4      P'                  RR4      pV'       dÐ    \         P*                  ! V4      p\         P*                  ! V
4      pVP,                  VP,                  8”  d-   \.        P0                  ! VP2                  VP4                  R7      h\6        P8                  ! \6        P:                  P<                  VP2                  VP4                  R7       \>        P@                  ! V4       VPA                  V	4        V! V 4       \         PH                  PK                  4        T	P'                  R/ 4      P'                  R\         PH                  ! T 4      4      p\L        P@                  ! T4       T'       d5   \        PN                  ! YPQ                  4       4      p\S        T TTTTR7       \T        P@                  ! \W        TR7      4       T! T 4       \X        PZ                  ! 4        R#   \.        PB                   d     ELi ; i  \.        PD                   d   pTPG                  4        ThRp?ii ; i)a+  
Common functionality to take a token and attach via contract backend
:raise ConnectivityError: On unexpected connectivity issues to contract
    server or inability to access identity doc from metadata service.
:raise ContractAPIError: On unexpected errors when talking to the contract
    server.
)Ú+check_entitlement_apt_directives_are_uniquer,   )Útz)Úcontract_tokenÚattachment_dtÚmachineTokenInfoÚcontractInfoc              3   óx   "  € T F0  pVP                  R 4      R8X  g   K  VP                  R 4      V3x € K2  	  R# 5i)ÚtypeÚsupportN)Úget)Ú.0rX   s   & r(   Ú	<genexpr>Ú$attach_with_token.<locals>.<genexpr>¦   s6   é € ð á=ˆAØ�5‰5�‹=˜IÑ%ô 	ˆ�‰ˆv‹˜ÕÛ=ùs   ‚:Ÿ:ÚresourceEntitlementsrh   ÚaffordancesÚ
onlySeriesN)ÚreleaseÚseries_codenameÚ	machineId)r!   r6   r"   r#   r7   r.   ).Úuaclient.entitlementsr`   r0   r-   r   ÚsecretsÚ
add_secretr   Úget_machine_token_filer   r%   r&   ÚnowÚtimezoneÚutcÚadd_contract_machiner   Úget_release_infoÚseriesri   ÚdictÚget_distro_infoÚeolr   ÚAttachFailureRestrictedReleaserp   rq   r   ÚaddÚNoticeÚLIMITED_TO_RELEASEr   r1   ÚMissingSeriesInDistroInfoFileÚ%EntitlementsAPTDirectivesAreNotUniqueÚdeleteÚget_machine_idÚcache_clearr   Úget_enabled_by_default_servicesr	   rZ   r   r   r   Ústart)r!   r\   r]   r7   r`   r-   Úmachine_token_filer"   r#   Únew_machine_tokenÚcurrent_seriesre   Úsupport_resourceÚonly_seriesÚallowed_releaseÚcurrent_releaserX   Ú
machine_idr6   s   &&&&               r(   Úattach_with_tokenr“   ˆ   sÄ  € õõ Eä×Ñ×%Ñ% eÔ,Ü&×=Ò=¸cÓBÐÜ×/Ò/°Ó4€OÜ×#Ñ#×'Ñ'¬8×+<Ñ+<×+@Ñ+@Ð'ÓA€KØ'×<Ñ<Øð =ó Ðô ×,Ò,Ó.×5Ñ5€Nà$×(Ñ(Ð);¸RÓ@×DÑDØ˜ó€Lô ñ à×!Ñ!Ð"8¸"Ô=óó Ðð 	×Ñ˜Y¨Ó+ß	‰ˆ]˜BÓ	ß	‰ˆ\˜4Ó	 ð ÷ ð	=Ü$×4Ò4°[ÓAˆOô %×4Ò4°^ÓDˆOØ×"Ñ" _×%8Ñ%8Ô8Ü ×?Ò?Ø+×3Ñ3Ø$3×$CÑ$Côð ô
 �KŠKÜ—‘×1Ñ1Ø'×/Ñ/Ø /× ?Ñ ?õô
 *×/Ò/°Ô<à×ÑÐ.Ô/ðÙ3°CÔ8ô
 ×Ñ×%Ñ%Ô'Ø"×&Ñ&Ð'9¸2Ó>×BÑBØ”V×*Ò*¨3Ó/ó€Jô ×Ò˜*Ô%çÜ!)×!IÒ!IØ×0Ñ0Ó2ó"
Ðô 	!ØØ#9Ø+Ø#Øõ	
ô ×Òœ~¸+ÔFÔGÙ˜ÔÜ	‡K‚K†Møô] ×7Ñ7ô 	ò ð	ûô, ×;Ñ;ô Ø×!Ñ!Ô#Øˆûðús*   Å L È L) ÌL&Ì%L&Ì)MÌ>MÍMc                ó\   € V ^8„  d   QhR\         P                  R\        P                  RR/# )r    r!   Úcloudr^   N)r   r$   r   ÚAutoAttachInstance)r'   s   "r(   r)   r)   ç   s5   € ÷ Cñ CÜ	�‰ðCä×$Ñ$ðCð 
ñ	Cr*   c                óB   € VP                  V 4      p\        WVR7       R# )a@  
:raise ConnectivityError: On unexpected connectivity issues to contract
    server or inability to access identity doc from metadata service.
:raise ContractAPIError: On unexpected errors when talking to the contract
    server.
:raise NonAutoAttachImageError: If this cloud type does not have
    auto-attach support.
)r\   r]   N)Úacquire_pro_tokenr“   )r!   r•   r]   r\   s   &&& r(   Úauto_attachr™   ç   s   € ð ×#Ñ# CÓ(€EÜ�c°\×Br*   Úaccess_onlyr<   Ú r7   Ú
extra_argsc                ó    € V ^8„  d   QhR\         P                  R\        R\        R\        R\        R\        \
        \        ,          ,          /# )r    r!   r;   rš   r<   r7   rœ   )r   r$   rM   r9   r   r   )r'   s   "r(   r)   r)   ø   sQ   € ÷ ñ Ü	�‰ðä
ðô ð	ô
 ðô ðô œœc�Õ#ñr*   c               ó®  € \         P                  ! V VVVVR7      pV'       g>   \        P                  \        P
                  P                  VP                  R7      4       VP                  \        P                  ! 4       4      w  rxV'       dF   V'       g>   \        P                  \        P                  P                  VP                  R7      4       Wx3# )zÔ
Constructs an entitlement based on the name provided. Passes kwargs onto
the entitlement constructor.
:raise EntitlementNotFoundError: If no entitlement with the given name is
    found, then raises this error.
)r!   r;   r<   rš   rœ   )Útitle)r	   Úentitlement_factoryrC   Úinfor   ÚENABLING_TMPLr'   rŸ   Úenabler   ÚProgressWrapperÚENABLED_TMPL)	r!   r;   rš   r<   r7   rœ   ÚentitlementrU   rV   s	   &&$$$$   r(   rA   rA   ø   sœ   € ô ×2Ò2ØØØØØô€K÷ Ü�
‰
”8×)Ñ)×0Ñ0°{×7HÑ7HÐ0ÓIÔJà!×(Ñ(¬×)<Ò)<Ó)>Ó?�O€Gç—vÜ�
‰
”8×(Ñ(×/Ñ/°k×6GÑ6GÐ/ÓHÔIàˆ?Ðr*   Úsimulate_with_tokenÚshow_allc                óf   € V ^8„  d   QhR\         P                  R\        \        ,          R\        /# )r    r!   r§   r¨   )r   r$   r   rM   r9   )r'   s   "r(   r)   r)     s0   € ÷ ñ Ü	�‰ðô "¤#�ðô ñ	r*   c               ó†   € V'       d   \         P                  ! V VVR7      w  r4W43# \         P                  ! WR7      p^ pW43# )z.
Construct the current Pro status dictionary.
)r!   r\   r¨   ©r!   r¨   )r2   Úsimulate_statusr   )r!   r§   r¨   r   rR   s   &$$  r(   r   r     sK   € ÷ Ü×/Ò/ØØ%Øô
‰ˆð ˆ;Ðô ×!Ò! cÔ=ˆØˆàˆ;Ðr*   c                ó(   € V ^8„  d   QhR\         RR/# )r    Úfilenamer^   N)rM   )r'   s   "r(   r)   r)   0  s   € ÷ Bñ B¬3ð B°4ñ Br*   c                ó  € . ROpRpRp \         P                  ! V4      w  r4V'       dr   . pVP                  R4       F2  p\        P                  ! W&4      '       g   K!  VP                  V4       K4  	  \         P                  ! V RP                  V4      4       R# R#   \        P                   dZ   p\        P                  R\        T4      4       \         P                  ! RP                  T 4      \        T4      4        Rp?R# Rp?ii ; i)zy
Helper which gets ubuntu_pro apparmor logs from the kernel from the last
day and writes them to the specified filename.
z7apparmor=\".*(profile=\"ubuntu_pro_|name=\"ubuntu_pro_)NÚ
z!Failed to collect kernel logs:
%sú{}-error)Ú
journalctlz-bz-kz--since=1 day ago)r   ÚsubpÚsplitÚreÚsearchrB   Ú
write_fileÚjoinr   ÚProcessExecutionErrorÚLOGÚwarningrM   r'   )r®   ÚcmdÚapparmor_reÚkernel_logsÚ_Úapparmor_logsÚkernel_linerX   s   &       r(   Ú_write_apparmor_logs_to_filerÂ   0  sÒ   € ò :€CàL€KØ€KðBÜŸš SÓ)‰ˆ÷
 ØˆMà*×0Ñ0°Ö6�Ü—9’9˜[×6Ô6Ø!×(Ñ(¨Ö5ñ  7ô ×Ò˜h¨¯	©	°-Ó(@ÖAñ øô	 ×+Ñ+ô ?Ü�‰Ð8¼#¸a»&ÔAÜ×Ò˜*×+Ñ+¨HÓ5´s¸1³v×>Ò>ûð?ús   ŠB ÂDÂ2ADÄDc                ó`   € V ^8„  d   QhR\         R\        \        \        ,          ,          RR/# )r    r®   Úreturn_codesr^   N)rM   r   r   Úint)r'   s   "r(   r)   r)   I  s-   € ÷ 
ñ 
Üð
Ü&.¬t´C­yÕ&9ð
à	ñ
r*   c                óH  €  \         P                  ! V P                  4       VR7      w  r4\         P                  ! VRP	                  W44      4       R#   \
        P                   d;   p\         P                  ! RP	                  T4      \        T4      4        Rp?R# Rp?ii ; i)zCHelper which runs a command and writes output or error to filename.)Úrcszstdout:
{}

stderr:
{}r±   N)r   r³   r´   r·   r'   r   r¹   rM   )r¼   r®   rÄ   ÚoutÚerrrX   s   &&&   r(   Ú_write_command_output_to_filerÊ   I  sz   € ð
Ü—;’;˜sŸy™y›{°Ô=‰ˆô 	×ÒØÐ2×9Ñ9¸#ÓCö	
øô ×+Ñ+ô ?Ü×Ò˜*×+Ñ+¨HÓ5´s¸1³v×>Ò>ûð?ús   ‚(A ÁB!Á'/BÂB!c                ó8   € V ^8„  d   QhR\         P                  /# )r    r!   )r   r$   )r'   s   "r(   r)   r)   W  s   € ÷ ñ œ&Ÿ/™/ñ r*   c                 óÀ   a € S P                   ;'       g    \        S P                  \        P                  P
                  \        .V 3R  l\        P                   4       O# )c              3   ó    <"  € T FC  p\        V\        P                  P                  4      '       g   K/  V! S4      P                  x € KE  	  R # 5i©N)Ú
issubclassr	   ÚrepoÚRepoEntitlementÚ	repo_file)rj   Úentitlement_clsr!   s   & €r(   rk   Ú#_get_state_files.<locals>.<genexpr>^  s;   øé € ð 

á#C�Ü˜/¬<×+<Ñ+<×+LÑ+L×Mô +‰O˜CÓ ×*Ö*Û#Cùs
   ƒ,A´A)	Úcfg_pathr   Úlog_filer   Úua_fileÚpathr   r	   ÚENTITLEMENT_CLASSESr/   s   fr(   Ú_get_state_filesrÚ   W  sP   ø€ ð 	�‰×+Ð+Ô+Ø�‰Ü×%Ñ%×*Ñ*Üð	
ô


ä#/×#CÒ#Có

ð
ð 
r*   c                óD   € V ^8„  d   QhR\         P                  R\        /# )r    r!   Ú
output_dir)r   r$   rM   )r'   s   "r(   r)   r)   f  s"   € ÷ fñ f”f—o‘oð f´3ñ fr*   c                ó
  € \        RRP                  V4      4       \        RP                  \        P                  4      RP                  V4      4       \        RRP                  V4      4       \        RRP                  V4      4       \        R	P                  R
P	                  \
         Uu. uF  pRV9   g   K  RP                  V4      NK  	  up4      4      RP                  V4      4       \
         F1  p\        RP                  V4      RP                  W4      ^ ^.R7       K3  	  \        V RR7      w  rE\        P                  ! RP                  V4      \        P                  ! V\        P                  R7      4       \        P                  ! 4       p\        P                  ! RP                  V4      \        P                  ! V4      4       \        V 4      p\        P                  ! 4       '       d   \         P"                  ! 4       R\$         M\         P&                  ! 4       .p\)        V4       F±  w  rš\*        P,                  P/                  V
4      '       d   \0        P3                  RV
4       KB   \        P4                  ! \        P6                  ! V
4      4      p\        P                  ! \*        P,                  P	                  VRP                  V	4      4      V4       K³  	  V\<        P<                  ! \>        R,           4      ,            FÚ  p\*        P,                  PA                  V4      '       g   K*   \        P6                  ! V4      p\        P4                  ! T4      p\        P                  ! 4       '       d   \        P                  ! YÛ4       \        P                  ! \*        P,                  P	                  T\*        P,                  PC                  T4      4      T4       KÜ  	  \E        RP                  V4      4       \F         FA  p\*        P,                  PA                  V4      '       g   K*   \H        PJ                  ! WÑ4       KC  	  R# u upi   \8         d-   p\0        P3                  RT
\;        T4      4        Rp?EKY  Rp?ii ; i  \8         d-   p\0        P3                  RT\;        T4      4        Rp?EK¶  Rp?ii ; i  \8         d,   p\0        P3                  RT\;        T4      4        Rp?Kñ  Rp?ii ; i)z?
Write all relevant Ubuntu Pro logs to the specified directory
zcloud-idz{}/cloud-id.txtz	{} statusz{}/livepatch-status.txtzsystemctl list-timers --allz{}/systemd-timers.txtzujournalctl --boot=0 -o short-precise -u cloud-init-local.service -u cloud-init-config.service -u cloud-config.servicez{}/cloud-init-journal.txtzjournalctl -o short-precise {}Ú z.servicez-u {}z{}/pro-journal.txtzsystemctl status {}z	{}/{}.txt)rÄ   Fr«   z{}/pro-status.json)Úclsz{}/environment_vars.jsonNz$Skipping symlinked user log file: %sz
user{}.logz&Failed to collect user log file: %s
%sÚ*zFailed to load file: %s
%sz{}/apparmor_logs.txtzFailed to copy file: %s
%s)&rÊ   r'   r   ÚLIVEPATCH_CMDr¸   ÚUA_SERVICESr   r   r·   ÚjsonÚdumpsr   ÚDatetimeAwareJSONEncoderÚget_pro_environmentrÚ   Úwe_are_currently_rootrN   Úget_all_user_log_filesÚUSER_LOG_COLLECTED_LIMITÚget_user_log_fileÚ	enumerateÚosrØ   Úislinkrº   r»   Úredact_sensitive_logsÚ	load_filerH   rM   Úglobr   ÚisfileÚbasenamerÂ   r   ÚshutilÚcopy)r!   rÜ   Úsr=   Ú
pro_statusr¿   Úenv_varsÚstate_filesÚuser_log_filesÚlog_file_idxrÖ   ÚcontentrX   Úfs   &&            r(   Úcollect_logsrý   f  sÔ  € ô "ØÐ%×,Ñ,¨ZÓ8ôô "Ø×Ñœ9×2Ñ2Ó3Ø!×(Ñ(¨Ó4ôô "Ø%Ø×&Ñ& zÓ2ôô "ð&ð
 	$×*Ñ*¨:Ó6ôô "Ø	,×4Ñ4Ø�H‰HÝ,7ÓK©K q¸:È¹?Ô"�—‘ Ö"©KÑKóó	
ð
 	×#Ñ# JÓ/ô÷ ˆÜ%Ø!×(Ñ(¨Ó1Ø×Ñ˜zÓ3Ø˜Q˜÷	
ñ ô ˜s¨UÔ3�M€JÜ
×ÒØ×#Ñ# JÓ/Ü�
Š
�:¤4×#@Ñ#@ÔAôô ×'Ò'Ó)€HÜ
×ÒØ"×)Ñ)¨*Ó5Ü�
Š
�8Óôô
 # 3Ó'€Kô ×%Ò%×'Ò'ô 	×&Ò&Ó(Ð)BÔ*BÑCä×'Ò'Ó)Ð*ð ô #,¨NÖ";Ñˆä�7‰7�>‰>˜(×#Ò#Ü�K‰KÐ>ÀÔIÙð		Ü×0Ò0´×1AÒ1AÀ(Ó1KÓLˆGÜ×ÒÜ—‘—‘˜Z¨×)<Ñ)<¸\Ó)JÓKØöñ #<ð" œ4Ÿ9š9Ô%7¸#Õ%=Ó>×>Ð>ˆÜ�7‰7�>‰>˜!×ÔðÜ ×*Ò*¨1Ó-�ô ×0Ò0°Ó9ˆGÜ×)Ò)×+Ò+ä×!Ò! !Ô-ä×ÒÜ—‘—‘˜Z¬¯©×)9Ñ)9¸!Ó)<Ó=¸wöñ ?ô( !Ð!7×!>Ñ!>¸zÓ!JÔK÷ ˆÜ�7‰7�>‰>˜!×ÔðÜ—’˜AÖ*ó ùòK LøôP ô 	Ü�K‰KØ9¸8ÄSÈÃV÷ó ûð	ûô ô ô —‘Ð9¸1¼cÀ!»fÔEÞûðûô. ô Ü—‘Ð9¸1¼cÀ!»fÔEÝûðúsU   Â-	QÂ;QÉ8A.QÌ=RÐ;SÑRÑ' RÒRÒSÒ! SÓSÓTÓ TÔT)zapt-news.servicezesm-cache.servicezua-timer.servicezua-timer.timerzua-auto-attach.pathzua-auto-attach.servicezua-reboot-cmds.servicezubuntu-advantage.service)F)TrÎ   );r&   rð   rã   Úloggingrì   rµ   ró   Útypingr   r   Úuaclientr   r   r   r   r	   r
   r   r   r   rN   r   r   r   r2   r   r   r   Úuaclient.defaultsr   r   r   r   Úuaclient.filesr   r   Úuaclient.files.state_filesr   r   r   r   r   Úget_event_loggerrC   Ú	getLoggerÚreplace_top_level_logger_nameÚ__name__rº   râ   ré   r4   rZ   r“   r™   rA   rÂ   rÊ   rÚ   rý   © r*   r(   Ú<module>r	     s  ðÛ Û Û Û Û 	Û 	Û ß !÷	÷ 	ó 	õ $ß -Ý (ß (Ñ (÷ó ÷ 2÷õ ð 	×%Ò%Ó'€Ø×Ò˜×:Ò:¸8ÓDÓE€ð	€ð Ð õ
,÷?÷D\÷~Cð"ð ð	ð
 ðð ðð '+÷ðDð *.ðð ÷	õ,B÷2
õ÷fr*   