+
    =l j¡h  ã                   ó  € ^ RI Ht ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHt ^ RIt^ RIHtHtHtHt ^ R	IHt ^ R
IHt ^ RIHtHtHtHtHt ^ RI H!t! ^ RI"H#t#H$t$ ^ RI%H&t&H't'H(t( ^ RI)H*t*H+t+H,t,H-t-H.t. R4t/ ! R R]4      t0R t1]! RR7      R 4       t2R R lt3R R lt4]! RR7      R R l4       t5R R lt6R R lt7R R  lt8R! R" lt9R# R$ lt:R% R& lt;R5R' R( llt<R) t=R* t>R+ R, lt?R- t@R. R/ ltAR0 tBR1 tCR2 tDR3 tER# )6é    )Údefaultdict)ÚdatetimeÚtimezone)ÚEnum)Ú	lru_cache)Úchoice)ÚAnyÚDefaultDictÚDictÚListÚTupleN)Ú
exceptionsÚ	livepatchÚmessagesÚutil)Ú_reboot_required)Ú_is_attached)ÚPreserveAptCfgÚget_apt_cache_datetimeÚget_apt_pkg_cacheÚget_esm_apt_pkg_cacheÚget_pkg_candidate_version©ÚUAConfig)ÚESMAppsEntitlementÚESMInfraEntitlement)ÚApplicabilityStatusÚApplicationStatusÚContractStatus)Úget_distro_infoÚget_kernel_infoÚget_release_infoÚis_current_series_ltsÚis_supportedc                   ó.   € ] tR t^(tRtRtRtRtRtRt	Rt
R# )	ÚUpdateStatusz2Represents the availability of a security package.Úupgrade_availableÚupgrade_available_not_preferredÚpending_attachÚpending_enableÚupgrade_unavailable© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	AVAILABLEÚAVAILABLE_NOT_PREFERREDÚ
UNATTACHEDÚNOT_ENABLEDÚUNAVAILABLEÚ__static_attributes__r,   ó    Ú:/usr/lib/python3/dist-packages/uaclient/security_status.pyr&   r&   (   s   † Ù8Ø#€IØ?ÐØ!€JØ"€KØ'„Kr8   r&   c                 óD   € \        \        P                  ! V 4      4       R # )N)Úprintr   Úcreate_package_list_str)Úpackagess   &r9   Úprint_package_listr>   1   s   € Ü	Œ$×
&Ò
& xÓ
0Ö1r8   )Úmaxsizec                  óì   € \        4       P                  p R RP                  V 4      3RRRP                  V 4      3RRRP                  V 4      3RRR	P                  V 4      3RRR
P                  V 4      3R/# )ÚUbuntuz{}-securityústandard-securityÚUbuntuESMAppsz{}-apps-securityúesm-appsÚ	UbuntuESMz{}-infra-securityú	esm-infraz{}-apps-updatesz{}-infra-updates)r"   ÚseriesÚformat)rG   s    r9   Ú%get_origin_information_to_service_maprI   5   sˆ   € äÓ×&Ñ&€Fà	�=×'Ñ'¨Ó/Ð0Ð2EØ	Ð,×3Ñ3°FÓ;Ð<¸jØ	Ð)×0Ñ0°Ó8Ð9¸;Ø	Ð+×2Ñ2°6Ó:Ð;¸ZØ	Ð(×/Ñ/°Ó7Ð8¸+ðð r8   c                óh   € V ^8„  d   QhR\         R\        \        P                  ,          3,          /# )é   ÚreturnÚstr)r
   r   Úapt_pkgÚPackage)rH   s   "r9   Ú__annotate__rP   A   s'   € ÷ ñ Ü�”tœGŸO™OÕ,Ð,Õ-ñr8   c                  óz  € \        \        4      p \        \        4      ;_uu_ 4       pVP                   Uu. uF  q"P
                  '       g   K  VNK  	  ppW0R &   \        P                  ! V4      pV F$  pV \        W$4      ,          P                  V4       K&  	  RRR4       V # u upi   + '       g   i     T # ; i)ÚallN)
r   Úlistr   r   r=   Úcurrent_verrN   ÚDepCacheÚ get_origin_for_installed_packageÚappend)ÚresultÚcacheÚpackageÚinstalled_packagesÚ	dep_caches        r9   Ú get_installed_packages_by_originr]   A   s¡   € ô œÓ€Fä	Ô)×	*Ô	*¨eà#(§>¢>ó
Ù#1˜×5HÕ5H�GˆG¡>ð 	ð 
ð +ˆu‰ä×$Ò$ UÓ+ˆ	ã)ˆGØÜ0°ÓDõç‰f�WŽoñ *÷ 
+ð €Mùò
÷ 
+Ö	*ð €Mús#   §B)¶B$ÁB$ÁAB)Â$B)Â)B:	c                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# )rK   rZ   r\   rL   )rN   rO   rU   rM   )rH   s   "r9   rP   rP   V   s.   € ÷ "ñ "Ü�_‰_ð"Ü)0×)9Ñ)9ð"äñ"r8   c                ó¼  € V P                   '       g   R# V P                   P                  p\        V4      ^8X  d9   VP                  V 4      pV'       d   V P                   V8X  d   R# VP                  pV Fc  w  rE\	        4       P                  VP                  VP                  3R4      pV\        9   d   Vu # VP                  R8X  g   KW  VP                  u # 	  R# )zó
Returns the origin for a package installed in the system.

Technically speaking, packages don't have origins - their versions do.
We check the available versions (installed, candidate) to determine the
most reasonable origin for the package.
Ú ÚunknownrA   úthird-party)
rT   Ú	file_listÚlenÚget_candidate_verrI   ÚgetÚoriginÚarchiveÚESM_SERVICESÚ	component)rZ   r\   Úavailable_originsÚ	candidaterg   Ú_Úservices   &&     r9   rV   rV   V   sÁ   € ð ××ÐÙØ×+Ñ+×5Ñ5Ðô ÐÓ Ô"Ø×/Ñ/°Ó8ˆ	ß˜G×/Ñ/°9Ô<ÙØ%×/Ñ/Ðã&‰	ˆÜ7Ó9×=Ñ=Ø�]‰]˜FŸN™NÐ+¨Ró
ˆð ”lÔ"ØŠNØ�=‰=˜HÖ$Ø×#Ñ#Ò#ñ 'ñ r8   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )rK   ÚpkgÚversionrL   )rM   Úbool)rH   s   "r9   rP   rP   |   s!   € ÷ ñ œsð ¬Sð ´Tñ r8   c                ó8   € \        V RR7      pV'       d   W8H  # R# )z;Returns True if the package version is a candidate version.F)Úcheck_esm_cache)r   )rp   rq   Úcandidate_versions   && r9   Ú_is_candidate_versionrv   {   s    € ô 2°#ÀuÔMÐßØÑ+Ð+Ùr8   c                ó~   € V ^8„  d   QhR\         R\        \         \        3,          R\        P                  R\         /# )rK   Úservice_nameÚua_inforq   rL   )rM   r   r	   rN   ÚVersion)rH   s   "r9   rP   rP   „   s<   € ÷ *ñ *Üð*ä”#”s�(�^ð*ô �_‰_ð*ô 	ñ	*r8   c                óè  € V R9   g   VR,          '       dt   WR,          9   dg   \        VP                  P                  VP                  4      pV'       d   \        P
                  P                  # \        P                  P                  # VR,          '       g   \        P                  P                  # WR,          9   d   \        P                  P                  # \        P                  P                  # )zÅDefines the update status for a package based on the service name.

For ESM-[Infra|Apps] packages, first checks if Pro is attached. If this is
the case, also check for availability of the service.
ÚattachedÚenabled_servicesÚentitled_services)rB   ústandard-updates)rv   Ú
parent_pkgÚnameÚver_strr&   r2   Úvaluer3   r4   r5   r6   )rx   ry   rq   Úis_candidates   &&& r9   Úget_update_statusr…   „   sÂ   € ð Ð@Ô@Ø�
×Ô Ð8JÕ0KÔ Kä,Ø×Ñ×#Ñ# W§_¡_ó
ˆ÷
 ô ×"Ñ"×(Ñ(ð	
ô ×5Ñ5×;Ñ;ð	
ð
 �:×ÔÜ×&Ñ&×,Ñ,Ð,ØÐ2Õ3Ô3Ü×'Ñ'×-Ñ-Ð-Ü×#Ñ#×)Ñ)Ð)r8   c          	      óÈ   € V ^8„  d   QhR\         \        P                  ,          R\        \        \         \
        \        P                  \        3,          ,          3,          /# )rK   r=   rL   )r   rN   rO   r
   rM   r   rz   )rH   s   "r9   rP   rP       sB   € ÷ =ñ =Ü”7—?‘?Õ#ð=ä””dœ5¤§¡´#Ð!5Õ6Õ7Ð7Õ8ñ=r8   c           	     ó(  € \        \        4      p\        \        4      ;_uu_ 4       pV  EFÇ  pVP                  '       g   K  VP
                   Fã  pWCP                  8”  g   K  RpVP                   Fb  w  rg\        4       P                  VP                  VP                  34      pV'       g   K>  W,          P                  WFP                  34       Rp M	  VP                  ^ ,          ^ ,          p	V'       d   K­  RV	P                  9  g   KÀ  VR,          P                  WIP                  34       Kå  	  VP                  V9   g   EK  W#P                  ,          p
V
P
                   F†  pWCP                  8”  g   K  VP                   Fa  w  rg\        4       P                  VP                  VP                  34      pV'       g   K>  W,          P                  WFP                  34        K„  	  Kˆ  	  EKÊ  	  RRR4       V#   + '       g   i     T# ; i)zÀFilters a list of packages looking for available updates.

All versions greater than the installed one are reported, based on where
it is provided, including ESM pockets, excluding backports.
FTÚ	backportsr   N)r   rS   r   r   rT   Úversion_listrc   rI   rf   rg   rh   rW   Úsiter�   )r=   rX   Ú	esm_cacherZ   rq   Úcounted_as_securityrg   rm   rn   Úexpected_originÚesm_packages   &          r9   Úfilter_updatesr�       s±  € ô œÓ€Fô 
Ô-×	.Ô	.°)ÜˆGà×"×"Ò"Ø&×3Ô3�Gà×!4Ñ!4Ö4Ø.3Ð+Ø)0×):Ô):™I˜Fä EÓ G× KÑ KØ%+§]¡]°F·N±NÐ$Có!"ð $÷
  '™wØ &¥× 6Ñ 6¸ÇÁÐ7MÔ NØ6:Ð 3á %ñ *;ð +2×*;Ñ*;¸AÕ*>¸qÕ*A˜ç 3Ñ 3Ø +°?×3JÑ3JÖ Jà"Ð#5Õ6×=Ñ=Ø!(×*>Ñ*>Ð ?öñ+  4ð8 —<‘< 9×,Ø"+¯L©LÕ"9�KØ#.×#;Ô#;˜Ø"×%8Ñ%8Ö8Ø-4×->Ô->¡	 Ü*OÓ*Q×*UÑ*UØ%+§]¡]°F·N±NÐ$Có+" ÷ $+¡7Ø$*¥O×$:Ñ$:Ø)0·+±+Ð(>ô%&ò %*ó .?ô $<ñC  ÷ 
/ð\ €M÷] 
/Ö	.ð\ €Mús>   §H ÁH Á#AH Â/AH Ã;H Ä5H Å	.H Å<AH Ç0H È H	c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# ©rK   ÚcfgrL   ©r   r   rM   r	   )rH   s   "r9   rP   rP   à   s"   € ÷ ñ ”Xð ¤$¤s¬C x¥.ñ r8   c                ór  € \        V 4      P                  pRVR. R. /pV'       Ed   \        V 4      p\        V 4      pVP	                  4       \
        P                  8X  d   VR,          P                  R4       VP                  4       ^ ,          \        P                  8X  d   VR,          P                  R4       VP	                  4       \
        P                  8X  d   VR,          P                  R4       VP                  4       ^ ,          \        P                  8X  d   VR,          P                  R4       V# )z7Returns the Pro information based on the config object.r|   r}   r~   rD   rF   )r   Úis_attachedr   r   Úcontract_statusr   ÚENTITLEDrW   Úapplication_statusr   ÚENABLED)r’   r•   ry   Úinfra_entitlementÚapps_entitlements   &    r9   Úget_ua_inforœ   à   s
  € ä˜sÓ#×/Ñ/€Kà�KØ˜BØ˜Rð€G÷ €{Ü/°Ó4ÐÜ-¨cÓ2Ðà×+Ñ+Ó-´×1HÑ1HÔHØÐ'Õ(×/Ñ/°
Ô;à×/Ñ/Ó1°!Õ4Ü ×(Ñ(ô)ð Ð&Õ'×.Ñ.¨zÔ:à×,Ñ,Ó.´.×2IÑ2IÔIØÐ'Õ(×/Ñ/°Ô<à×0Ñ0Ó2°1Õ5Ü ×(Ñ(ô)ð Ð&Õ'×.Ñ.¨{Ô;à€Nr8   c                ó\   € V ^8„  d   QhR\         \        \        \        3,          ,          /# )rK   rL   )r   r   rM   r	   )rH   s   "r9   rP   rP     s    € ÷ ñ ¤$¤t¬C´¨H¥~Õ"6ñ r8   c                  ó<  €  \         P                  ! 4       p \	        4       P
                  pT eÌ   TeÈ   YP                  8X  d¸   T P                   eª   T P                   P                  R8X  d�   T P                   P                  ew   \        T P                   P                  4      ^ 8”  dS   T P                   P                   Uu. uF1  pRTP                  ;'       g    RRTP                  ;'       g    R/NK3  	  up# . #   \        P                   d    . u # i ; iu upi )NÚappliedr�   r`   ÚpatchedF)r   Ústatusr   ÚProcessExecutionErrorr!   Úproc_version_signature_versionÚkernelÚstateÚfixesrd   r�   r    )Ú	lp_statusÚour_kernel_versionÚfixs      r9   Úget_livepatch_fixed_cvesrª     sý   € ðÜ×$Ò$Ó&ˆ	ô )Ó*×IÑIÐàÒØÒ*Ø×"2Ñ"2Ô2Ø×ÑÒ+Ø×Ñ×%Ñ%¨Ô2Ø×Ñ×%Ñ%Ò1Ü�	×#Ñ#×)Ñ)Ó*¨QÔ.ð !×*Ñ*×0Ò0ó
á0�ð �S—X‘X—^�^  Y°·±×0DÐ0D¸uÓEÙ0ñ
ð 	
ð
 €Iøô% ×+Ñ+ô ØŠ	ðüò
s#   ‚C< Ã DÃDÃ/DÃ<DÄDc          	      ó  € V ^8„  d   QhR\         \        \        \        \        P
                  \        3,          ,          3,          R\        \        \        3,          R\        \        \        \        3,          ,          /# )rK   Úupgradable_versionsry   rL   )r
   rM   r   r   rN   rz   r   r	   )rH   s   "r9   rP   rP     sX   € ÷ ñ Ü$¤S¬$¬u´W·_±_ÄcÐ5IÕ/JÕ*KÐ%KÕLðä”#”s�(�^ðô 
Œ$Œs”Cˆx�.Õñr8   c                 óô   € . pV P                  4        Fa  w  r4V FV  w  rV\        W1V4      pVP                  R VP                  P                  RVP
                  RVRVRVRVP                  /4       KX  	  Kc  	  V# )rZ   rq   rx   r¡   rg   Údownload_size)Úitemsr…   rW   r€   r�   r‚   Úsize)r¬   ry   Úupdatesrn   r‰   rq   rg   r¡   s   &&      r9   Úcreate_updates_listr²     s�   € ð €GØ!4×!:Ñ!:Ö!<ÑˆÛ+‰OˆGÜ& w¸ÓAˆFØ�N‰Nà˜w×1Ñ1×6Ñ6Ø˜wŸ™Ø" GØ˜fØ˜fØ# W§\¡\ðö	ó  ,ñ "=ð €Nr8   c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# r‘   r“   )rH   s   "r9   rP   rP   /  s"   € ÷ /ñ /œhð /¬4´´S°­>ñ /r8   c           
     ó¾  € \        V 4      pRV/p\        4       pVR,          p\        V4      VR&   \        V4      p. VR&   \	        WQ4      p\        VR,          4      VR&   \        VR,          4      VR&   \        VR	,          4      VR
&   \        VR,          4      VR&   \        VR,          4      VR&   \        VR,          4      VR&   \        VR,          4      VR&   \        VR,          4      VR&   \        VR,          4      VR&   \        VR,          4      VR&   \        VR,          4      VR&   \        V 4      P                  VR&   RRRVRVRR\        4       //# ) aO  Returns the status of security updates on a system.

The returned dict has a 'packages' key with a list of all installed
packages which can receive security updates, with or without ESM,
reflecting the availability of the update based on the Pro status.

There is also a summary with the Ubuntu Pro information and the package
counts.
ÚuarR   Únum_installed_packagesr   ÚmainÚnum_main_packagesÚ
restrictedÚnum_restricted_packagesÚuniverseÚnum_universe_packagesÚ
multiverseÚnum_multiverse_packagesrb   Únum_third_party_packagesra   Únum_unknown_packagesrF   Únum_esm_infra_packagesrD   Únum_esm_apps_packagesÚnum_esm_infra_updatesÚnum_esm_apps_updatesrB   Únum_standard_security_updatesÚreboot_requiredÚ_schema_versionz0.1Úsummaryr=   r   Ú
fixed_cves)rœ   r]   rd   r�   r²   r   rÆ   rª   )r’   ry   rÈ   Úpackages_by_originr[   r¬   r±   s   &      r9   Úsecurity_status_dictrË   /  s™  € ô ˜#Ó€Gà�Wˆo€GÜ9Ó;Ðà+¨EÕ2ÐÜ(+Ð,>Ó(?€GÐ$Ñ%ä(Ð);Ó<Ðà.0ÐÐ*Ñ+ä!Ð"5Ó?€Gä#&Ð'9¸&Õ'AÓ#B€GÐÑ Ü),Ð-?ÀÕ-MÓ)N€GÐ%Ñ&Ü'*Ð+=¸jÕ+IÓ'J€GÐ#Ñ$Ü),Ð-?ÀÕ-MÓ)N€GÐ%Ñ&Ü*-Ø˜=Õ)ó+€GÐ&Ñ'ô '*Ð*<¸YÕ*GÓ&H€GÐ"Ñ#Ü(+Ð,>¸{Õ,KÓ(L€GÐ$Ñ%Ü'*Ð+=¸jÕ+IÓ'J€GÐ#Ñ$ä'*Ð+>¸{Õ+KÓ'L€GÐ#Ñ$Ü&)Ð*=¸jÕ*IÓ&J€GÐ"Ñ#Ü/2ØÐ/Õ0ó0€GÐ+Ñ,ô "2°#Ó!6×!FÑ!F€GÐÑð 	˜5Ø�7Ø�GØ�lÔ$<Ó$>Ð?ð	ð r8   c                óŒ   € V ^8„  d   QhR\         \        \        \        P                  ,          3,          R\        R\
        RR/# )rK   Úpackage_listsÚ
show_itemsÚalways_showrL   N)r
   rM   r   rN   rO   rr   )rH   s   "r9   rP   rP   a  sC   € ÷ <ñ <Üœs¤D¬¯©Õ$9Ð9Õ:ð<äð<ô ð<ð 
ñ	<r8   c                 ó€  € \        V R ,          4      p\        \        P                  P	                  VR7      4       R\        \        V4      4      ^,           ,          pVR9   d{   \        V R,          4      \        V R,          4      ,           \        V R,          4      ,           p\        \        P                  P                  V4      P	                  VVRR7      4       VR9   d‹   \        V R	,          4      \        V R
,          4      ,           \        V R,          4      ,           pV'       g	   V'       d;   \        \        P                  P                  V4      P	                  VVRR7      4       VR9   d[   \        V R,          4      pV'       g	   V'       d9   \        \        P                  P                  V4      P	                  WGR7      4       VR9   d\   \        V R,          4      pV'       g	   V'       d:   \        \        P                  P                  V4      P	                  VVR7      4       \        R4       R# )rR   )ÚcountÚ rF   r·   r¹   úMain/Restricted)ÚoffsetrÑ   Ú
repositoryrD   r»   r½   úUniverse/Multiverserb   )rÔ   rÑ   ra   r`   N)rR   rF   )rR   rD   )rR   rb   )rR   ra   )
rd   r;   r   ÚSS_SUMMARY_TOTALrH   rM   ÚSS_SUMMARY_ARCHIVEÚ	pluralizeÚSS_SUMMARY_THIRD_PARTYÚSS_SUMMARY_UNAVAILABLE)	rÍ   rÎ   rÏ   Útotal_packagesrÔ   Úpackages_mrÚpackages_umÚpackages_thirdpartyÚpackages_unknowns	   &&&      r9   Ú_print_package_summaryrá   a  så  € ô
 ˜ uÕ-Ó.€NÜ	Œ(×
#Ñ
#×
*Ñ
*°Ð
*Ó
@ÔAà”Cœ˜NÓ+Ó,¨qÕ0Õ1€FàÐ)Ô)ä�˜fÕ%Ó&Ü�- Õ-Ó.õ/ä�- Õ,Ó-õ.ð 	ô
 	Ü×'Ñ'×1Ñ1°+Ó>×EÑEØØ!Ø,ð Fó ô	
ð Ð(Ô(ä�˜jÕ)Ó*Ü�- Õ-Ó.õ/ä�- 
Õ+Ó,õ-ð 	÷
 Ÿ+ÜÜ×+Ñ+×5Ñ5°kÓB×IÑIØ!Ø%Ø4ð Jó ôð Ð+Ô+Ü! -°Õ">Ó?Ðß§+ÜÜ×/Ñ/×9Ñ9Ø'óç‘& �&ÓBôð Ð'Ô'Ü˜}¨YÕ7Ó8ÐßŸ{ÜÜ×/Ñ/×9Ñ9Ø$óç‘&Ø!Ø*ð ó ôô 
ˆ"†Ir8   c                  ó0  € \        4       P                  p \        V 4      P                  pR P	                  \        VP                  4      \        VP                  4      4      p\        \        P                  P	                  VR7      4       \        R4       R# )z{}/{}©Údater`   N)r"   rG   r    ÚeolrH   rM   ÚmonthÚyearr;   r   ÚSS_INTERIM_SUPPORT)rG   Úeol_daterä   s      r9   Ú_print_interim_release_supportrê      se   € ÜÓ×&Ñ&€FÜ˜vÓ&×*Ñ*€HØ�>‰>œ#˜hŸn™nÓ-¬s°8·=±=Ó/AÓB€DÜ	Œ(×
%Ñ
%×
,Ñ
,°$Ð
,Ó
7Ô8Ü	ˆ"†Ir8   c                  ó(  € \        4       P                  p \        V 4      '       dT   \        V 4      P                  p\        \        P                  P                  \        VP                  4      R 7      4       R# \        \        P                  4       R# )rã   N)r"   rG   r$   r    rå   r;   r   ÚSS_LTS_SUPPORTrH   rM   rç   ÚSS_NO_SECURITY_COVERAGE)rG   ré   s     r9   Ú_print_lts_supportrî   ¨  s^   € ÜÓ×&Ñ&€FÜ�F×ÒÜ" 6Ó*×.Ñ.ˆÜŒh×%Ñ%×,Ñ,´#°h·m±mÓ2DÐ,ÓEÖFäŒh×.Ñ.Ö/r8   c                ól   € V ^8„  d   QhR\         R\         R\        R\        R\        R\        R\        /# )rK   rn   rÕ   Úservice_statusÚservice_applicabilityÚinstalled_updatesÚavailable_updatesr•   )rM   r   r   Úintrr   )rH   s   "r9   rP   rP   ±  sN   € ÷ /ñ /Üð/äð/ô &ð/ô /ð	/ô
 ð/ô ð/ô ñ/r8   c                 ód  € \        4       P                  p\        V4      P                  pV\        P
                  8X  d7   \        P                  P                  VV \        VP                  4      R 7      p	M5\        P                  P                  V V\        VP                  4      R7      p	V'       d>   V	R\        P                  P                  V4      P                  VR7      ,           ,          p	V'       d>   V	R\        P                  P                  V4      P                  VR7      ,           ,          p	\        V	4       V'       d_   V\        P                   8X  dJ   V\"        P$                  8X  d5   \        R4       \        \        P&                  P                  V R7      4       \        R4       R# ))rÕ   rn   rç   )rn   rÕ   rç   rÒ   )r±   r`   ©rn   N)r"   rG   r    Úeol_esmr   r™   r   ÚSS_SERVICE_ENABLEDrH   rM   rç   ÚSS_SERVICE_ADVERTISEÚSS_SERVICE_ENABLED_COUNTSrÙ   ÚSS_SERVICE_ADVERTISE_COUNTSr;   ÚDISABLEDr   Ú
APPLICABLEÚSS_SERVICE_COMMAND)
rn   rÕ   rð   rñ   rò   ró   r•   rG   Úeol_date_esmÚmessages
   &&&&&&&   r9   Ú_print_service_supportr  ±  sc  € ô Ó×&Ñ&€FÜ" 6Ó*×2Ñ2€LØÔ*×2Ñ2Ô2Ü×-Ñ-×4Ñ4Ø!ØÜ�\×&Ñ&Ó'ð 5ó 
‰ô ×/Ñ/×6Ñ6ØØ!Ü�\×&Ñ&Ó'ð 7ó 
ˆ÷ Ø�3œ×;Ñ;×EÑEØó
ç
‰&Ø%ð ó 
õ
õ 	
ˆ÷ Ø�3œ×=Ñ=×GÑGØó
ç
‰&Ø%ð ó 
õ
õ 	
ˆô
 
ˆ'„N÷ 	ØÔ/×8Ñ8Ô8Ø!Ô%8×%CÑ%CÔCäˆbŒ	ÜŒh×)Ñ)×0Ñ0¸Ð0ÓAÔBä	ˆ"†Ir8   c                  óh  € \        4       p V f'   \        \        P                  4       \        R4       R # \        P
                  ! \        P                  4      pW,
          pVP                  ^ 8”  dA   \        \        P                  P                  VP                  R7      4       \        R4       R # R # )Nr`   )Údays)r   r;   r   ÚSS_UPDATE_UNKNOWNr   Únowr   Úutcr  ÚSS_UPDATE_DAYSrH   )Úlast_apt_updater  Útime_since_updates      r9   Ú_print_apt_update_callr
  ã  s€   € Ü,Ó.€OØÒÜŒh×(Ñ(Ô)ÜˆbŒ	Ùä
�,Š,”x—|‘|Ó
$€CØÕ-ÐØ×Ñ Ô!ÜŒh×%Ñ%×,Ñ,Ð2C×2HÑ2HÐ,ÓIÔJÜˆbŽ	ñ "r8   c                ó$   € V ^8„  d   QhR\         /# )rK   r’   r   )rH   s   "r9   rP   rP   ñ  s   € ÷ J&ñ J&œñ J&r8   c           
      ó6  € \        V 4      p\        V 4      pVP                  4       ^ ,          pVP                  4       ^ ,          pVP                  4       ^ ,          pVP                  4       ^ ,          p\	        4       P
                  p\        4       p\        V 4      R,          p	\        4       p
\        V
R,          V
R,          ,           V
R,          ,           4      R,          p\        V
R,          V
R,          ,           V
R,          ,           4      R,          p\        V
4       \        \        P                  4       \        R4       \        4        V'       g7   \        V4      '       d   \!        4        \        \        P"                  4       R	# V\$        P&                  8X  d   \)        4        V	'       d   \        \        P*                  4       M\        \        P,                  4       \        R4       \/        RR
VV\1        V
R,          4      \1        V4      V	R7       V
R,          '       g   V
R,          '       g   V
R,          '       d,   \/        RRVV\1        V
R,          4      \1        V4      V	R7       V	'       g   \        \        P2                  4       R	# R	# )r   r|   r·   r¹   rF   r»   r½   rD   r`   NrÓ   ©rn   rÕ   rð   rñ   rò   ró   r•   rÖ   )r   r   r˜   Úapplicability_statusr"   rG   r#   rœ   r]   r�   rá   r;   r   ÚSS_HELP_CALLr
  r$   rê   ÚSS_NO_INTERIM_PRO_SUPPORTr   rü   rî   ÚSS_IS_ATTACHEDÚSS_IS_NOT_ATTACHEDr  rd   ÚSS_LEARN_MORE)r’   Úesm_infra_entÚesm_apps_entÚesm_infra_statusÚesm_infra_applicabilityÚesm_apps_statusÚesm_apps_applicabilityrG   Úis_ltsr•   rÊ   Ú"security_upgradable_versions_infraÚ!security_upgradable_versions_appss   &            r9   Úsecurity_statusr  ñ  s   € Ü'¨Ó,€MÜ% cÓ*€Là$×7Ñ7Ó9¸!Õ<ÐØ+×@Ñ@ÓBÀ1ÕEÐØ"×5Ñ5Ó7¸Õ:€OØ)×>Ñ>Ó@ÀÕCÐäÓ×&Ñ&€FÜ"Ó$€FÜ˜cÓ" :Õ.€Kä9Ó;ÐÜ)7Ø˜6Õ"Ø
˜\Õ
*õ	+à
˜[Õ
)õ	*ó*ð õ	*Ð&ô )7Ø˜:Õ&Ø
˜\Õ
*õ	+à
˜ZÕ
(õ	)ó)ð õ	)Ð%ô Ð-Ô.ä	Œ(×
Ñ
Ô Ü	ˆ"„IäÔçÜ˜×ÒÜ*Ô,ÜŒh×0Ñ0Ô1ÙàÔ,×5Ñ5Ô5ÜÔçÜŒh×%Ñ%Õ&äŒh×)Ñ)Ô*Ü	ˆ"„IäØØ$Ø'Ø5ÜÐ0°Õ=Ó>ÜÐ@ÓAØõð 	˜:×&Ô&Ø˜l×+Ô+Ø˜j×)Ô)äØØ,Ø*Ø"8Ü!Ð"4°ZÕ"@ÓAÜ!Ð"CÓDØ#õ	
÷ ÜŒh×$Ñ$Ö%ñ r8   c                  óÀ  € \        4       p V R ,          pV Uu. uF  q"P                  NK  	  pp\        V R RR7       V'       d}   \        \        P
                  4       \        R4       \        \        P                  4       \        V4       \        \        P                  P                  \        V4      R7      4       R# \        \        P                  4       R# u upi )rb   T©rÎ   rÏ   r`   ©rZ   N)r]   r�   rá   r;   r   ÚSS_THIRD_PARTYÚSS_PACKAGES_HEADERr>   ÚSS_SHOW_HINTrH   r   ÚSS_NO_THIRD_PARTY)rÊ   Úthird_party_packagesrZ   Úpackage_namess       r9   Úlist_third_party_packagesr'  >  s¢   € Ü9Ó;ÐØ-¨mÕ<ÐÙ1EÓFÑ1E g—\”\Ñ1E€MÐFäØ }À$õ÷ ÜŒh×%Ñ%Ô&äˆbŒ	ÜŒh×)Ñ)Ô*Ü˜=Ô)ÜŒh×#Ñ#×*Ñ*´6¸-Ó3HÐ*ÓIÖJäŒh×(Ñ(Ö)ùò Gó   ˜Cc                  óÀ  € \        4       p V R ,          pV Uu. uF  q"P                  NK  	  pp\        V R RR7       V'       d}   \        \        P
                  4       \        R4       \        \        P                  4       \        V4       \        \        P                  P                  \        V4      R7      4       R# \        \        P                  4       R# u upi )ra   Tr  r`   r   N)r]   r�   rá   r;   r   ÚSS_UNAVAILABLEr"  r>   r#  rH   r   ÚSS_NO_UNAVAILABLE)rÊ   Úunknown_packagesrZ   r&  s       r9   Úlist_unavailable_packagesr-  R  s¤   € Ü9Ó;ÐØ)¨)Õ4ÐÙ1AÓBÑ1A g—\”\Ñ1A€MÐBäØ y¸dõ÷ ÜŒh×%Ñ%Ô&ÜˆbŒ	äŒh×)Ñ)Ô*Ü˜=Ô)ÜŒh×#Ñ#×*Ñ*´6¸-Ó3HÐ*ÓIÖJô 	Œh×(Ñ(Ö)ùò Cr(  c           
      ó  € \        4       pVR ,          pVR,          VR,          ,           pW#,           p\        4       p\        V4      R ,          pV F   w  rxVP                  VP                  4       K"  	  \        4       P                  p	\        4       p
\        V 4      p\        V 4      pVP                  4       ^ ,          pVP                  4       ^ ,          p\        V Uu. uF  qÿP                  NK  	  up4      p\        V Uu. uF  qÿP                  NK  	  up4      p\        V Uu. uF5  pVP                  V9  g   K  VP                  V9  g   K)  VP                  NK7  	  up4      p\        VR RR7       V
'       g7   \        V	4      '       d   \!        4        \#        \$        P&                  4       R# V\(        P*                  8X  d   \-        4        \#        R4       \/        R RVV\1        V4      \1        V4      RR	7       \#        \$        P2                  P5                  R R
7      4       \#        R4       \        V	4      '       Eg*   V'       d5   \#        \$        P6                  P5                  R R
7      4       \9        V4       V'       d5   \#        \$        P:                  P5                  R R
7      4       \9        V4       T;'       g    TpV'       d`   V'       d"   \$        P<                  P5                  R R
7      pM \$        P>                  P5                  R R
7      p\#        V4       \9        V4       V'       d5   \#        \$        P@                  P5                  \C        V4      R7      4       R# R# R# u upi u upi u upi )rF   r·   r¹   Tr  Nr`   rÓ   Fr  rö   r   )"r]   Úsetr�   Úaddr€   r"   rG   r#   r   r   r˜   r  Úsortedr�   rá   r$   rê   r;   r   r  r   rü   rî   r  rd   ÚSS_SERVICE_HELPrH   ÚSS_UPDATES_AVAILABLEr>   ÚSS_UPDATES_INSTALLEDÚSS_FURTHER_OTHER_PACKAGESÚSS_OTHER_PACKAGESr#  r   )r’   rÊ   Úinfra_packagesÚmr_packagesÚall_infra_packagesÚinfra_updatesÚsecurity_upgradable_versionsÚupdaterm   rG   r  r  r  r  r  rZ   Úinstalled_package_namesÚavailable_package_namesÚremaining_package_namesÚ	hint_listÚmsgs   &                    r9   Úlist_esm_infra_packagesrB  g  sì  € Ü9Ó;ÐØ'¨Õ4€NØ$ VÕ,Ð/AÀ,Õ/OÕO€Kà'Õ5Ðä“E€MÜ#1Ð2DÓ#EØõ$Ð ó 2‰	ˆØ×Ñ˜&×+Ñ+Ö,ñ 2ô Ó×&Ñ&€FÜ"Ó$€Fä'¨Ó,€MÜ% cÓ*€Là$×7Ñ7Ó9¸!Õ<ÐØ*×?Ñ?ÓAÀ!ÕDÐä$Ù%3Ó4¡^˜'�Œ¡^Ñ4óÐô %Ù%2Ó3¡]˜'�Œ¡]Ñ3óÐô %ñ .ó	
á-�Ø�|‰|Ð#:Ñ:ô ð —‘Ð$;Ñ;ô ˆG�LŒLÙ-ñ	
óÐô Ø {Àõ÷ Ü˜×ÒÜ*Ô,ÜŒh×0Ñ0Ô1ÙàÔ,×5Ñ5Ô5ÜÔÜˆbŒ	äØØ$Ø'Ø5Ü˜nÓ-Ü˜mÓ,Øõô 
Œ(×
"Ñ
"×
)Ñ
)°+Ð
)Ó
>Ô?Ü	ˆ"„Iä˜×Óß"Ü”(×/Ñ/×6Ñ6¸{Ð6ÓKÔLÜÐ6Ô7ç"Ü”(×/Ñ/×6Ñ6¸{Ð6ÓKÔLÜÐ6Ô7à+×FÐFÐ/Fˆ	ç"ßÜ×8Ñ8×?Ñ?Ø'ð @ó ‘ô ×0Ñ0×7Ñ7ÀÐ7ÓL�Ü�#ŒJÜÐ6Ô7çÜ”(×'Ñ'×.Ñ.´v¸iÓ7HÐ.ÓIÖJñ ñ+  ùòQ 	5ùò 	4ùò	
s   Ã M5ÄM:Ä(M?Å M?ÅM?c           
      ó.  € \        4       pVR ,          pVR,          VR,          ,           pW#,           p\        4       p\        V4      R ,          pV F   w  rxVP                  VP                  4       K"  	  \        4       p	\        V 4      p
V
P                  4       ^ ,          pV
P                  4       ^ ,          p\        V Uu. uF  qÝP                  NK  	  up4      p\        V Uu. uF  qÝP                  NK  	  up4      p\        V Uu. uF5  pVP                  V9  g   K  VP                  V9  g   K)  VP                  NK7  	  up4      p\        VR RR7       V	'       g   \        \        P                  4       R# \        R RVV\!        V4      \!        V4      RR7       \        \        P"                  P%                  R R	7      4       \        R
4       V'       Ed*   V'       d5   \        \        P&                  P%                  R R	7      4       \)        V4       V'       d5   \        \        P*                  P%                  R R	7      4       \)        V4       T;'       g    TpV'       d`   V'       d"   \        P,                  P%                  R R	7      pM \        P.                  P%                  R R	7      p\        V4       \)        V4       V'       d5   \        \        P0                  P%                  \3        V4      R7      4       R# R# R# u upi u upi u upi )rD   r»   r½   Tr  NrÖ   Fr  rö   r`   r   )r]   r/  r�   r0  r€   r#   r   r˜   r  r1  r�   rá   r;   r   r  r  rd   r2  rH   r3  r>   r4  r5  r6  r#  r   )r’   rÊ   Úapps_packagesÚum_packagesÚall_apps_packagesÚapps_updatesr;  r<  rm   r  r  r  r  rZ   r=  r>  r?  r@  rA  s   &                  r9   Úlist_esm_apps_packagesrH  À  s¨  € Ü9Ó;ÐØ& zÕ2€Mà˜:Õ&Ð);¸LÕ)IÕIð ð &Õ3Ðä“5€LÜ#1Ð2CÓ#DØõ$Ð ó 2‰	ˆØ×Ñ˜×*Ñ*Ö+ñ 2ô #Ó$€Fä% cÓ*€LØ"×5Ñ5Ó7¸Õ:€OØ)×>Ñ>Ó@ÀÕCÐä$Ù%2Ó3¡]˜'�Œ¡]Ñ3óÐô %Ù%1Ó2¡\˜'�Œ¡\Ñ2óÐô %ñ -ó	
á,�Ø�|‰|Ð#:Ñ:ô ð —‘Ð$;Ñ;ô ˆG�LŒLÙ,ñ	
óÐô Ø z¸tõ÷ ÜŒh×0Ñ0Ô1ÙäØØ(Ø&Ø4Ü˜mÓ,Ü˜lÓ+Øõô 
Œ(×
"Ñ
"×
)Ñ
)°*Ð
)Ó
=Ô>Ü	ˆ"„IçÐß"Ü”(×/Ñ/×6Ñ6¸zÐ6ÓJÔKÜÐ6Ô7ç"Ü”(×/Ñ/×6Ñ6¸zÐ6ÓJÔKÜÐ6Ô7à+×FÐFÐ/Fˆ	÷ #ßÜ×8Ñ8×?Ñ?Ø&ð @ó ‘ô ×0Ñ0×7Ñ7À
Ð7ÓK�Ü�#ŒJÜÐ6Ô7çÜ”(×'Ñ'×.Ñ.´v¸iÓ7HÐ.ÓIÖJñ ñ- ùòE 	4ùò 	3ùò	
s   ÃLÃ%LÄ	LÄ!LÄ4L)rF   rD   )rR   F)FÚcollectionsr   r   r   Úenumr   Ú	functoolsr   Úrandomr   Útypingr	   r
   r   r   r   rN   Úuaclientr   r   r   r   Ú5uaclient.api.u.pro.security.status.reboot_required.v1r   Ú(uaclient.api.u.pro.status.is_attached.v1r   Úuaclient.aptr   r   r   r   r   Úuaclient.configr   Úuaclient.entitlementsr   r   Ú(uaclient.entitlements.entitlement_statusr   r   r   Úuaclient.systemr    r!   r"   r#   r$   ri   r&   r>   rI   r]   rV   rv   r…   r�   rœ   rª   r²   rË   rá   rê   rî   r  r
  r  r'  r-  rB  rH  r,   r8   r9   Ú<module>rV     s  ðÝ #ß 'Ý Ý Ý ß 6Õ 6ã ç :Ó :õõ B÷õ õ %ß I÷ñ ÷
õ ð )€ô(�4ô (ò2ñ �4Ôñó ðõõ*"ñJ �4Ôôó ðõ*õ8=õ@õBõ0õ,/÷d<ò~ò0õ/òdõJ&òZ*ò(*ò*VKôrPKr8   