+
    =l jš*  ã                   ó´  € ^ 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HtHtHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IH t  ]PB                  ! 4       t"]PF                  ! ]PH                  ! ]%4      4      t&R R lt'RR/R lt(]PR                  ]PT                  ]PV                  ! ]PX                  4      ]PZ                  ! R4      R 4       4       4       4       t.]! R]P^                  ]P`                  ].]Pb                  ]! ]! R]Pd                  Pg                  RPi                  ]
Pj                  ! ]Pl                  ! 4       R7      4      R7      RRR7      ]! R]Pn                  Pg                  RR7      RR7      ]! R]Pp                  Pg                  RR 7      RRR!.RR"7      ]! R#]Pr                  RR7      .R$7      .R%7      t:R# )&é    N)ÚAnyÚDictÚList)ÚconfigÚcontractÚentitlementsÚevent_loggerÚ
exceptionsÚmessagesÚstatusÚutil)ÚProgressWrapper)ÚServiceWithDependenciesÚ_dependencies)Ú_enabled_services)Úcli_util)ÚProArgumentÚProArgumentGroupÚ
ProCommand)ÚHelpCategory)ÚCanDisableFailurec                ó    € V ^8„  d   QhR\         P                  R\        R\        \        ,          R\        \        ,          R\        R\        /# )é   ÚcfgÚserviceÚall_dependenciesÚenabled_service_namesÚcalled_nameÚservice_title)r   ÚUAConfigÚstrr   r   )Úformats   "Ú6/usr/lib/python3/dist-packages/uaclient/cli/disable.pyÚ__annotate__r$      sR   € ÷ ñ Ü	�‰ðäðô Ô2Õ3ðô  ¤�9ð	ô
 ðô ñó    c                 óÐ  € . pV Fh  pVP                   V8X  g   VP                   V9  d   K'  VP                   F1  pVP                   V8X  g   K  VP                  VP                   4       K3  	  Kj  	  V Fo  p	\        P                  ! W	4      p
\
        P                  P                  VV
R 7      p\        P                  ! VR7      '       d   KY  \        P                  ! VV
R 7      h	  R# ))Úservice_being_disabledÚdependent_service)ÚmsgN)ÚnameÚ
depends_onÚappendr   Ú	get_titler   ÚDEPENDENT_SERVICEr"   r   Úprompt_for_confirmationr
   ÚDependentServiceStopsDisable)r   r   r   r   r   r   Údependent_servicesÚsÚrequirementr(   Údependent_service_titleÚuser_msgs   &&&&&&      r#   Úprompt_for_dependency_handlingr6      sÍ   € ð ÐÛˆØ�6‰6�WÔ §¡Ð.CÔ CÙØŸ<œ<ˆKØ×Ñ 7Ö*Ø"×)Ñ)¨!¯&©&Ö1ó (ñ ó 0ÐÜ".×"8Ò"8Øó#
Ðô ×-Ñ-×4Ñ4Ø#0Ø5ð 5ó 
ˆô ×+Ò+°×9Õ9Ü×9Ò9Ø'4Ø"9ôð ó 0r%   Úupdate_statusTc               ó¸  € V P                   pVe   Tp V'       d   \        4       pM \        \        P                  ! VR7      4      pV P	                  V4      w  rxV'       g¼   \
        P                  V P                  4       Ve˜   \        V\        4      '       d‚   VP                  et   \
        P                  VP                  P                  4       \
        P                  VP                  P                  VP                  P                  V P                  R7       M\
        P                  V P                  4       V'       d   \        P                  ! VR7       V# )a  Perform the disable action on a named entitlement.

:param entitlement_name: the name of the entitlement to enable
:param cfg: the UAConfig to pass to the entitlement
:param json_output: output should be json only

@return: True on success, False otherwise
©Ú
assume_yes)Ú	error_msgÚ
error_coder   ©r   )Úenabled_variantr   r   ÚCLIEnableDisableProgressÚdisableÚeventÚservice_failedr*   Ú
isinstancer   ÚmessageÚinfor)   ÚerrorÚservice_processedr   )	Úentitlementr   Újson_outputr:   r7   ÚvariantÚprogressÚretÚreasons	   &&$$$    r#   Úperform_disablerN   >   sú   € ð ×)Ñ)€GØÒØˆçÜ"Ó$‰ä"Ü×-Ò-¸ÔDó
ˆð ×%Ñ% hÓ/�K€CçÜ×Ñ˜[×-Ñ-Ô.àÒ¤*¨VÔ5F×"GÒ"GØ�~‰~Ò)Ü—
‘
˜6Ÿ>™>×-Ñ-Ô.Ü—‘Ø$Ÿn™n×0Ñ0Ø%Ÿ~™~×2Ñ2Ø'×,Ñ,ð ô øô 	×Ñ × 0Ñ 0Ô1çÜ�Š˜#Õà€Jr%   zpro disablec               ó8  € . p. p. p. pR\         P                  RRRR/pV P                  R8H  pV P                  p	\        P
                  ! V4      p
V P                  '       d!   V	'       d   \        P                  ! RRR	7      h\        V R
. 4      p\        P                  ! W±4      w  pp\        V4      P                   Uu. uF  qîP                  NK  	  pp\        V4      P                   pRpV EFè  p\        P"                  ! VVV P                  R7      pVP$                  pVe   TpV	'       g'    \'        VVP                  VVVVP(                  R7       V'       d   \7        4       pM \7        \        P8                  ! V	R7      4      pVP;                  4       Vn         VP?                  V4      w  pp\@        P@                  ! VR7       V'       g¯   RpVPC                  V4       Ve•   \E        V\F        4      '       d|   VPH                  ek   V
! VPH                  P0                  4       VPC                  RR
R
VP                  RVPH                  P0                  RVPH                  P                  /4       EKˆ  EK‹  EKŽ  EK‘  VPC                  V4       VPK                  4       pV'       d/   RVR&   V
! \2        PL                  P                  RR7      4       EKè  EKë  	  V'       dÓ   RpRRPU                  \        PV                  ! VR7      4      ,           R,           pRPU                  \X        PZ                  ! V^PRRR7      4      p\        P\                  ! RRPU                  V4      VR7      pV
! VP0                  4       VPC                  RRR
RRVP0                  RVPP                  RVPR                  /4       \^        P`                  ! V4      pVPc                  4        V'       dp   VPe                  4        VPe                  4        V'       d   RMR VR&   W7R!&   WGR"&   WWR#&   WgR$&   \g        \h        Pj                  ! V\l        Pn                  RR%7      4       V'       d   ^ # ^# u upi   \        P*                   df   p\,        P/                  T4       T
! TP0                  4       T
! \2        P4                  P                  TP(                  R7      4       Rp Rp?EKê  Rp?ii ; i  \        P*                   d¥   pRpTPC                  T4       T
! TP0                  4       T
! \2        PN                  P                  TP(                  R7      4       TPC                  RR
R
TP                  RTP0                  RTPP                  RTPR                  /4        Rp?EK¦  Rp?ii ; i)&zZPerform the disable action on a list of entitlements.

@return: 0 on success, 1 otherwise
Ú_schema_versionÚresultÚsuccessÚneeds_rebootFÚjsonú--purgeú--assume-yes)Úoption1Úoption2r   T)r   r*   ÚpurgeN)r   r   )Útitler9   r=   ÚtyperD   Úmessage_codezdisable operation)Ú	operationÚadditional_infozTry ú, Ú.Ú
)ÚwidthÚbreak_long_wordsÚbreak_on_hyphensr@   )r]   Úinvalid_serviceÚservice_msgÚsystemÚfailureÚprocessed_servicesÚfailed_servicesÚerrorsÚwarnings)ÚclsÚ	sort_keys)8r	   ÚJSON_SCHEMA_VERSIONr"   r:   r   Ú&create_interactive_only_print_functionrY   r
   ÚInvalidOptionCombinationÚgetattrr   Úget_valid_entitlement_namesr   Úenabled_servicesr*   r   ÚservicesÚentitlement_factoryr>   r6   rZ   ÚUbuntuProErrorÚLOGÚ	exceptionr)   r   ÚENABLE_FAILEDr   r?   Úcalculate_total_disable_stepsÚtotal_stepsr@   r   r,   rC   r   rD   Ú_check_for_rebootÚENABLE_REBOOT_REQUIRED_TMPLÚDISABLE_FAILED_TMPLÚmsg_coder^   ÚjoinÚvalid_servicesÚtextwrapÚwrapÚInvalidServiceOpErrorr   ÚUAContractClientÚupdate_activity_tokenÚsortÚprintrT   Údumpsr   ÚDatetimeAwareJSONEncoder)Úargsr   Úkwargsri   rj   rk   rl   Újson_responserI   r:   Úinteractive_only_printÚnamesÚentitlements_foundÚentitlements_not_foundr2   r   r   rL   Úent_nameÚentrJ   ÚerK   Údisable_retrM   Úent_reboot_requiredÚvalid_namesrf   ÚerrÚcontract_clients   &$,                           r#   Úaction_disabler›   l   s  € ð ÐØ€OØ€FØ€Hð 	œ<×;Ñ;Ø�)Ø˜ð€Mð —+‘+ Ñ'€KØ—‘€Jô
 &×LÒLØóÐð ‡z‡z€z—jÜ×1Ò1Ø ~ô
ð 	
ô �D˜) RÓ(€Eô 	×0Ò0°Ó<ñØØô *¨#Ó.×?Ò?óÙ?�1�ŒÑ?ð ð ô % SÓ)×2Ñ2Ðà
€CÜ&ˆÜ×.Ò.ØØØ—*‘*ô
ˆð ×%Ñ%ˆØÒØˆCçðÜ.ØØ—H‘HØ$Ø)Ø (Ø"%§)¡)õ÷" Ü&Ó(‰Hä&Ü×1Ò1¸ZÔHóˆHð  #×@Ñ@ÓBˆÔð-	Ø"%§+¡+¨hÓ"7ÑˆK˜Ü�MŠM˜cÕ"çØ�Ø×&Ñ& xÔ0ØÒ%¬*ØÔ-÷+ò +ð —~‘~Ò1Ù.¨v¯~©~×/AÑ/AÔBØŸ™à &¨	Ø )¨3¯8©8Ø )¨6¯>©>×+=Ñ+=Ø .°·±×0CÑ0Cð	÷ò 2ò+Ò%ð #×)Ñ)¨(Ô3Ø&)×&;Ñ&;Ó&=Ð#ß&Ø48�M .Ñ1Ù*Ü ×<Ñ<×CÑCØ&9ð Dó ÷ò 'ñ} '÷l Øˆà�T—Y‘Yœ|×:Ò:¸sÔCÓDÕDÀsÕJð 	ð —i‘iÜ�MŠMØØØ!&Ø!&ô	ó
ˆô ×.Ò.ØØ ŸI™IÐ&<Ó=Ø#ô
ˆñ
 	˜sŸw™wÔ'Ø�‰à˜Ø˜4Ø˜3Ÿ7™7Ø §¡Ø! 3×#6Ñ#6ðô	
ô ×/Ò/°Ó4€OØ×)Ñ)Ô+çØ×ÑÔ!Ø×ÑÔç/2¡)¸	ˆ�hÑØ.@Ð*Ñ+Ø+:Ð'Ñ(Ø"(�hÑØ$,�jÑ!äÜ�JŠJØÜ×1Ñ1Øôô	
÷ ˆ1Ð˜Ðùò]øô: ×,Ñ,ô Ü—‘˜aÔ Ù& q§u¡uÔ-Ù&Ü×*Ñ*×1Ñ1¸¿	¹	Ð1ÓBôð �Þûðûô\ ×(Ñ(ô 	ØˆCØ×"Ñ" 8Ô,Ù" 1§5¡5Ô)Ù"Ü×,Ñ,×3Ñ3¸#¿)¹)Ð3ÓDôð �M‰Mà˜IØ˜sŸx™xØ˜qŸu™uØ" A§J¡JØ% q×'8Ñ'8ð÷ó ûð	úsK   Â?QÄ0%Q#Æ2S ÇB"S É?(S Ê(+S Ñ#SÑ8ASÓSÓ VÓ5BVÖVr@   r   r_   r=   )ÚoptionsÚstoreÚ+)ÚhelpÚactionÚnargsrV   )ÚcommandÚ
store_true)rŸ   r    z--formatÚcli)ÚdefaultrT   )rŸ   r    Úchoicesr¥   rU   )Ú	arguments)rŸ   Údescriptionr    Úhelp_categoryÚargument_groups);rT   Úloggingrƒ   Útypingr   r   r   Úuaclientr   r   r   r	   r
   r   r   r   Úuaclient.apir   Ú+uaclient.api.u.pro.services.dependencies.v1r   r   Ú-uaclient.api.u.pro.status.enabled_services.v1r   Úuaclient.clir   Úuaclient.cli.commandsr   r   r   Úuaclient.cli.parserr   Ú(uaclient.entitlements.entitlement_statusr   Úget_event_loggerrA   Ú	getLoggerÚreplace_top_level_logger_nameÚ__name__rx   r6   rN   Úverify_json_format_argsÚassert_rootÚassert_attachedÚ&_raise_enable_disable_unattached_errorÚassert_lock_filer›   ÚCLI_ROOT_DISABLEÚCLI_DISABLE_DESCÚOTHERÚCLI_DISABLE_SERVICEr"   r�   r‚   r    ÚCLI_ASSUME_YESÚCLI_FORMAT_DESCÚ	CLI_PURGEÚdisable_command© r%   r#   Ú<module>rÇ      sÓ  ðÛ Û Û ß "Ñ "÷	÷ 	ó 	õ )÷õ LÝ !ß KÑ KÝ ,Ý Fà×%Ò%Ó'€Ø×Ò˜×:Ò:¸8ÓDÓE€õð>+Ø@Dô+ð\ 
×!Ñ!Ø	×ÑØ	×Ò˜(×IÑIÓJØ	×Ò˜=Ó)ñró *ó Kó ó "ðrñj ØØ	×	"Ñ	"Ø×)Ñ)ØØ×$Ñ$ááØØ!×5Ñ5×<Ñ<Ø $§	¡	Ø(×7Ò7¸F¿OºOÓ<MÔNó!ð =ó ð
 #Øô	ñ Ø"Ø!×0Ñ0×7Ñ7À	Ð7ÓJØ'ôñ
 ØØ!×1Ñ1×8Ñ8ÀÐ8ÓGØ"Ø" F˜OØ!ôñ ØØ!×+Ñ+Ø'ôð/ô	
ð ô'‚r%   