Ë
    4þåe¢ˆ  ã                   óF  — d dl Z dZ	  e j                  dd«       d dlmZ dZd dlm	Z	 d d	lm
Z
 d d
lmZ d dlmZ d dlmZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZddlmZmZ ddlmZmZmZmZ ddlmZ ddl m!Z" ddl#m$Z$ d dl%Z%ddl&m%Z'  G d„ dejP                  jR                  jT                  «      Z+ G d„ dejP                  jR                  jX                  «      Z- G d„ de«      Z. G d„ de«      Z/ G d„ de0«      Z1 G d„ de0«      Z2 G d „ d!ee$«      Z3e4d"k(  �r3 e3«       Z5 e.e5«      Z6 e/e5«      Z7e5jq                  «       js                  g d#¢«        e	jt                  «         ejv                  d «        ejx                  «       Z=ej|                  dd D ]8  Z?e=e?   j€                  re=e?   jƒ                  «        Œ&e=e?   j…                  «        Œ: e=j‡                  e6e7«        e	jt                  «        e7j‰                  d$d%«       e5jq                  «       js                  g d#¢«       e5j‹                  d&d'd(«       e5j�                  d)g d*«       yy# e$ rB  e j                  dd«       d dlmZ ej                  j                  ej                  _        Y �Œ|w xY w)+é    NFÚVtez2.91)r   Tz2.90)ÚGtk)ÚGdk)ÚGLib)ÚGObject)ÚPangoé   )Ú
run_apportÚapport_crash)ÚDistUpgradeViewÚFuzzyTimeToStrÚInstallProgressÚAcquireProgress)ÚDistUpgradeConfig)Úget)ÚSimpleGtkbuilderApp)Úgettextc                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚGtkCdromProgressAdapterzi Report the cdrom add progress
        Subclass this class to implement cdrom add progress reporting
    c                 óV   — |j                   | _        |j                  | _        || _        y ©N)Úlabel_statusÚstatusÚprogressbar_cacheÚprogressÚparent©Úselfr   s     úA/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyÚ__init__z GtkCdromProgressAdapter.__init__D   s#   € Ø×)Ñ)ˆŒØ×0Ñ0ˆŒØˆ�ó    c                 ó0  — |r| j                   j                  |«       | j                  j                  |j                  t        | j                  «      z  «       t        j                  «       r*t        j                  «        t        j                  «       rŒ)yy)z; update is called regularly so that the gui can be redrawn N)
r   Úset_textr   Úset_fractionÚvalueÚfloatÚ
totalStepsr   Úevents_pendingÚmain_iteration)r   ÚtextÚsteps      r   ÚupdatezGtkCdromProgressAdapter.updateH   sa   € áØ�K‰K× Ñ  Ô&Ø�‰×"Ñ" 4§:¡:¬e°D·O±OÓ.DÑ#DÔEÜ× Ñ Ô"Ü×ÑÔ ô × Ñ ×"r!   c                  ó   — y)N)FÚ © ©r   s    r   Úask_cdrom_namez&GtkCdromProgressAdapter.ask_cdrom_nameO   s   € Ør!   c                  ó   — y)NFr/   r0   s    r   Úchange_cdromz$GtkCdromProgressAdapter.change_cdromQ   s   € Ør!   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    r,   r1   r3   r/   r!   r   r   r   @   s   „ ñòò!òór!   r   c                   ó,   ‡ — e Zd Zd„ Zdˆ fd„	Zd„ Zˆ xZS )ÚGtkOpProgressc                 ó    — || _         d| _        y )Nç        )ÚprogressbarÚfraction)r   r<   s     r   r    zGtkOpProgress.__init__V   s   € Ø&ˆÔð ˆ�r!   c                 óT  •— t         t        | �  |«       | j                  dz  }t	        | j
                  |z
  «      dkD  r,|| _        | j                  j                  | j
                  «       t        j                  «       r*t        j                  «        t        j                  «       rŒ)y y )Nç      Y@çš™™™™™¹?)Úsuperr9   r,   ÚpercentÚabsr=   r<   r$   r   r(   r)   )r   rB   Únew_fractionÚ	__class__s      €r   r,   zGtkOpProgress.update\   s}   ø€ ÜŒm˜TÑ)¨'Ô2ð
 —|‘| EÑ)ˆÜˆt�}‰}˜\Ñ)Ó*¨SÒ0Ø(ˆDŒMØ×Ñ×)Ñ)¨$¯-©-Ô8Ü× Ñ Ô"Ü×ÑÔ ô × Ñ ×"r!   c                 ó:   — | j                   j                  d«       y )Nú )r<   r#   r0   s    r   ÚdonezGtkOpProgress.donei   s   € Ø×Ñ×!Ñ! #Õ&r!   r   )r4   r5   r6   r    r,   rH   Ú__classcell__©rE   s   @r   r9   r9   U   s   ø„ òõ!ö'r!   r9   c                   óD   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ fd„Zd„ Zˆ fd„Zˆ xZ	S )ÚGtkAcquireProgressAdapterc                 óø   •— t         t        | �  «        |j                  | _        |j
                  | _        || _        d| _        |j                  | _
        | j                  j                  d| j                  «       y )NFÚclicked)rA   rL   r    r   r   r   r   r   ÚcanceledÚbutton_fetch_cancelÚbutton_cancelÚconnectÚcancelClicked)r   r   rE   s     €r   r    z"GtkAcquireProgressAdapter.__init__q   sc   ø€ ÜÔ'¨Ñ7Ô9à×)Ñ)ˆŒØ×0Ñ0ˆŒØˆŒØˆŒØ#×7Ñ7ˆÔØ×Ñ×"Ñ" 9¨d×.@Ñ.@ÕAr!   c                 ó<   — t        j                  d«       d| _        y )NrS   T)ÚloggingÚdebugrO   )r   Úwidgets     r   rS   z'GtkAcquireProgressAdapter.cancelClickedz   s   € Ü�‰�oÔ&Øˆ�r!   c                 óÎ  — t        d«      ||fz  }t        j                  | j                  j                  t        j
                  j                  t        j                  j                  t        j                  j                  ¬«      }|j                  |«       |j                  «       }|j                  d«       |j                  «        |t        j                  j                   k(  ryy)Nz&Please insert '%s' into the drive '%s'©r   ÚflagsÚtypeÚbuttonsr.   TF)Ú_r   ÚMessageDialogr   Úwindow_mainÚDialogFlagsÚMODALÚMessageTypeÚQUESTIONÚButtonsTypeÚ	OK_CANCELÚ
set_markupÚrunÚ	set_titleÚdestroyÚResponseTypeÚOK)r   ÚmediumÚdriveÚmsgÚdialogÚress         r   Úmedia_changez&GtkAcquireProgressAdapter.media_change}   s§   € äÐ8Ó9¸VÀE¸NÑJˆÜ×"Ñ"¨$¯+©+×*AÑ*AÜ),¯©×)>Ñ)>Ü(+¯©×(@Ñ(@Ü+.¯?©?×+DÑ+DôFˆð 	×Ñ˜#ÔØ�j‰j‹lˆØ×Ñ˜ÔØ�‰ÔØ”#×"Ñ"×%Ñ%Ò%ØØr!   c                 óÈ   •— t         t        | �  «        | j                  j	                  d«       | j
                  j                  «        | j                  j                  «        y )Nr   )rA   rL   Ústartr   r$   r   ÚshowrQ   )r   rE   s    €r   rs   zGtkAcquireProgressAdapter.start‹   sE   ø€ äÔ'¨Ñ4Ô6Ø�‰×"Ñ" 1Ô%Ø�‰×ÑÔØ×Ñ×ÑÕ!r!   c                 ó¶   — | j                   j                  d«       | j                  j                  t        d«      «       | j                  j                  «        y )NrG   zFetching is complete)r   r#   r   r]   rQ   Úhider0   s    r   ÚstopzGtkAcquireProgressAdapter.stop‘   s>   € à�‰×Ñ˜sÔ#Ø�‰×ÑœQÐ5Ó6Ô7Ø×Ñ×ÑÕ!r!   c                 ó  •— t         t        | �  |«       t        | j                  | j
                  j                  «       dz  z
  «      dkD  �rp| j
                  j                  | j                  dz  «       | j                  dz   }|| j                  kD  r| j                  }| j                  dkD  rÁt        j                  | j                  «      }t        |t        «      r#|j                  t!        j"                  «       «      }| j$                  j'                  t)        d«      || j                  |fz  «       | j
                  j'                  t)        d«      t+        | j,                  «      z  «       nN| j$                  j'                  t)        d«      || j                  fz  «       | j
                  j'                  d«       t/        j0                  «       r)t/        j2                  «        t/        j0                  «       rŒ)| j4                   S )	Nr?   r@   r	   r   z!Fetching file %li of %li at %sB/súAbout %s remainingzFetching file %li of %liz  )rA   rL   ÚpulserC   rB   r   Úget_fractionr$   Úcurrent_itemsÚtotal_itemsÚcurrent_cpsÚapt_pkgÚsize_to_strÚ
isinstanceÚbytesÚdecodeÚlocaleÚgetpreferredencodingr   r#   r]   r   Úetar   r(   r)   rO   )r   ÚownerÚcurrentItemr~   rE   s       €r   rz   zGtkAcquireProgressAdapter.pulse–   s£  ø€ ÜÔ'¨Ñ4°UÔ;äˆt�|‰|˜DŸM™M×6Ñ6Ó8¸Ñ>Ñ>Ó?À#ÓEØ�M‰M×&Ñ& t§|¡|°EÑ'9Ô:Ø×,Ñ,¨qÑ0ˆKØ˜T×-Ñ-Ò-Ø"×.Ñ.�Ø×Ñ !Ò#Ü%×1Ñ1°$×2BÑ2BÓC�Ü˜k¬5Ô1Ø"-×"4Ñ"4Ü×3Ñ3Ó5ó#7�Kà—‘×$Ñ$¤QÐ'JÓ%KØ ×!1Ñ!1°;ðO@ñ &@ô Aà—‘×&Ñ&¤qÐ)=Ó'>ÄØ—H‘HóBñ (õ ð —‘×$Ñ$¤QÐ'AÓ%BØ ×!1Ñ!1ðF3ñ &3ô 4à—‘×&Ñ& tÔ,Ü× Ñ Ô"Ü×ÑÔ ô × Ñ Õ"à—M‘MÐ!Ð"r!   )
r4   r5   r6   r    rS   rq   rs   rw   rz   rI   rJ   s   @r   rL   rL   m   s'   ø„ ôBòòô"ò"÷
#ð #r!   rL   c                   óT   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dd
„Zd„ Zd„ Zd„ Zy	)ÚGtkInstallProgressAdapteri,  c                 ó^  — t        j                  | «       d | _        |j                  | _        |j                  | _        |j                  | _        |j                  | _	        | j                  j                  d| j                  «       || _        t        j                  j                  dd«       y )Núchild-exitedzDPkg::StopOnErrorÚFalse)r   r    Ú_cacher   r   r   Úexpander_terminalÚexpanderÚ_termÚtermrR   Úchild_exitedr   r   ÚconfigÚsetr   s     r   r    z"GtkInstallProgressAdapter.__init__µ   s‚   € Ü× Ñ  Ô&ØˆŒØ"×/Ñ/ˆÔØ×0Ñ0ˆŒØ×0Ñ0ˆŒØ—L‘LˆŒ	Ø�	‰	×Ñ˜.¨$×*;Ñ*;Ô<ØˆŒô 	�‰×ÑÐ.¨wÕ7r!   c                 óL  — t        j                  | «       d| _        | j                  j	                  t        d«      «       | j                  j                  d«       | j                  j	                  d«       | j                  j                  d«       | j                  j                  «        | j                  j                  d| j                  «       t        j                  j!                  d«      xs d}|dk(  rP| j"                  rDd	| j"                  vs| j"                  d	   j$                  sd
}| j                  j'                  d«       d| j(                  z  dg| _        dt        j                  vr| j*                  j-                  d|z  «       d| _        d| _        d| _        y )NFzApplying changesr;   rG   Tzcontents-changedÚDEBIAN_FRONTENDÚgnomezlibgtk3-perlro   zVTE_PTY_KEEP_FD=%szAPT_LISTCHANGES_FRONTEND=nonezDEBIAN_FRONTEND=%s)r   Ústart_updateÚfinishedr   r#   r]   r   r$   r�   Úset_sensitiver’   rt   rR   Ú_on_term_content_changedÚosÚenvironr   rŽ   Úis_installedÚset_expandedÚwritefdÚenvÚappendÚ
start_timeÚtime_uiÚlast_activity)r   Úfrontends     r   r™   z&GtkInstallProgressAdapter.start_updateÂ   s=  € Ü×$Ñ$ TÔ*ØˆŒð 	×Ñ×"Ñ"¤1Ð%7Ó#8Ô9Ø�‰×"Ñ" 3Ô'Ø�‰×Ñ˜sÔ#Ø�‰×#Ñ# DÔ)Ø�	‰	�‰ÔØ�	‰	×ÑÐ,¨d×.KÑ.KÔLä—*‘*—.‘.Ð!2Ó3Ò>°wˆØ�wÒ 4§;¢;Ø" d§k¡kÑ1Ø—K‘K Ñ/×<Ò<Ø#�Ø—‘×*Ñ*¨4Ô0Ø(¨$¯,©,Ñ6Ø3ð5ˆŒà¤B§J¡JÑ.Ø�H‰H�O‰OÐ0°8Ñ;Ô<àˆŒØˆŒØ ˆÕr!   c                 ó  — t        j                  | ||«       t        j                  d|›d|›d�«       t        j                  dd«      |v ry| j
                  j                  j                  | j
                  j                  «       t        d«      |z  }t        d«      |z  }d	|›d
|›�}| j
                  j                  j                  «        | j
                  j                  j                  d«       | j
                  j                  j                  «       j                  t        j                  j                   «       | j
                  j"                  j%                  |«       | j
                  j&                  j)                  «       j+                  |«       | j
                  j,                  j/                  «        | j
                  j                  j1                  «        | j
                  j                  j3                  «        y )Nz!got an error from dpkg for pkg: 'z': 'ú'Údpkgz*dependency problems - leaving unconfiguredFzCould not install '%s'zThe upgrade will continue but the '%s' package may not be in a working state. Please consider submitting a bug report about it.ú<big><b>ú</b></big>

r.   )r   ÚerrorrU   r   Údgettextr   Údialog_errorÚset_transient_forr_   r]   Úrealizerh   Ú
get_windowÚset_functionsr   Ú
WMFunctionÚMOVEÚlabel_errorrf   Útextview_errorÚ
get_bufferr#   Úscroll_errorrt   rg   rv   )r   ÚpkgÚerrormsgÚsummaryrn   Úmarkups         r   r­   zGtkInstallProgressAdapter.errorÞ   sj  € Ü×Ñ˜d C¨Ô2Ü�ŠÂcÊ8ÐTÔUä×Ñ˜FÐ$PÓQÐU]Ñ]Øð 	�‰× Ñ ×2Ñ2°4·;±;×3JÑ3JÔKÜÐ,Ó-°Ñ3ˆÜð 'ó (à*-ñ.‰ò 07¹Ð<ˆØ�‰× Ñ ×(Ñ(Ô*Ø�‰× Ñ ×*Ñ*¨2Ô.Ø�‰× Ñ ×+Ñ+Ó-×;Ñ;¼C¿N¹N×<OÑ<OÔPØ�‰×Ñ×*Ñ*¨6Ô2Ø�‰×"Ñ"×-Ñ-Ó/×8Ñ8¸ÔBØ�‰× Ñ ×%Ñ%Ô'Ø�‰× Ñ ×$Ñ$Ô&Ø�‰× Ñ ×%Ñ%Õ'r!   c                 ój  — t        j                  d|z  «       t        j                  «       }t        d«      |z  }t        d«      }d|›d|›�}| j                  j
                  j                  |«       | j                  j                  j                  d«       | j                  j                  j                  | j                  j                  «       t        j                  j                  |«      s|dz   }t        j                  j                  d«      r‚dd	||g}t        j                  |t        j                   ¬
«      j#                  «       d   }|j%                  dd«      }| j                  j&                  j)                  «       j+                  |«       n<| j                  j&                  j)                  «       j+                  t        d«      «       | j                  j                  j-                  «       }	| j                  j                  j/                  «        | xj0                  t        j                  «       |z
  z  c_        |	t2        j4                  j6                  k(  rd}
nd}
	 | j8                  j;                  |
j=                  d«      «       y #  | j8                  j;                  |
d«       Y y xY w)Nz.got a conffile-prompt from dpkg for file: '%s'z/Replace the customized configuration file
'%s'?ztYou will lose any changes you have made to this configuration file if you choose to replace it with a newer version.z"<span weight="bold" size="larger">z </span> 

r.   z
.dpkg-distz/usr/bin/diffz-u)Ústdoutr   zUTF-8Úreplacez The 'diff' command was not foundzy
zn
zutf-8éÿÿÿÿ)rU   rV   Útimer]   r   Úlabel_conffilerf   Údialog_conffilerh   r°   r_   r�   ÚpathÚexistsÚ
subprocessÚPopenÚPIPEÚcommunicaterƒ   Útextview_conffiler¸   r#   rg   rv   r¥   r   rj   ÚYESr’   Ú
feed_childÚencode)r   ÚcurrentÚnewrs   ÚprimÚsecr½   ÚcmdÚdiffrp   Úresponses              r   Úconffilez"GtkInstallProgressAdapter.conffileõ   sú  € Ü�‰ÐFÈÑPÔQÜ—	‘	“ˆäÐCÓDÀwÑNˆÜð #ó $‰ò OSÑTWÐXˆØ�‰×"Ñ"×-Ñ-¨fÔ5Ø�‰×#Ñ#×-Ñ-¨bÔ1Ø�‰×#Ñ#×5Ñ5°d·k±k×6MÑ6MÔNô �w‰w�~‰~˜gÔ&Ø˜lÑ*ˆGô �7‰7�>‰>˜/Ô*Ø" D¨'°3Ð7ˆCÜ×#Ñ#ØœJŸO™Oô-ß-8©[«]¸1ñ>ˆDà—;‘;˜w¨	Ó2ˆDØ�K‰K×)Ñ)×4Ñ4Ó6×?Ñ?ÀÕEà�K‰K×)Ñ)×4Ñ4Ó6×?Ñ?ÄÐBdÓ@eÔfØ�k‰k×)Ñ)×-Ñ-Ó/ˆØ�‰×#Ñ#×(Ñ(Ô*Ø�ŠœŸ	™	› eÑ+Ñ+�à”#×"Ñ"×&Ñ&Ò&Ø‰HàˆHð	/Ø�I‰I× Ñ  §¡°Ó!9Õ:øð	/Ø�I‰I× Ñ  ¨2Ö.ús   É'*J ÊJ2c                 óÌ  — t         j                  j                  t         j                  j                  «      }t        j                  «       }|dk(  r]| j                  D ])  }|j                  d«      \  }}|t
        j                  |<   Œ+ |j                  «        dt
        j                  d<   |S | j                  j                  |«       | j                  j                  |«       |S )Nr   ú=Ú1ÚDPKG_UNTRANSLATED_MESSAGES)r   ÚPtyÚnew_syncÚPtyFlagsÚDEFAULTr�   Úforkr¢   Úsplitrž   Úchild_setupr’   Úset_ptyÚwatch_child)r   ÚptyÚpidr¢   Úkeyr%   s         r   rß   zGtkInstallProgressAdapter.fork  s²   € Ü�g‰g×ÑœsŸ|™|×3Ñ3Ó4ˆÜ�g‰g‹iˆØ�!Š8à—x‘xò (�Ø"Ÿy™y¨›~‘��eØ"'”—
‘
˜3’ð(ð �O‰OÔð 8;ŒB�J‰JÐ3Ñ4ð ˆ
ð �I‰I×Ñ˜cÔ"Ø�I‰I×!Ñ! #Ô&Øˆ
r!   c                 óD   — t        j                   «       | _        d| _        y)zŠ helper function that is called when the terminal changed
            to ensure that we have a accurate idea when something hangs
        FN)rÂ   r¦   Úactivity_timeout_reported)r   r’   s     r   rœ   z2GtkInstallProgressAdapter._on_term_content_changed.  s   € ô "ŸY™Y›[ˆÔØ).ˆÕ&r!   c                 óP  — | j                   dk(  rt        j                  «       | _         t        || j                  j	                  «       dz  z
  «      dkD  rP| j                  j                  t        |«      dz  «       | j                  j                  |j                  «       «       |dkD  rý| j                  | j                   z
  }|| j                  z  }t        |«      |z  }d|z
  |z  }|dkD  r6|dk  r1| j                  j                  t        d«      t        |«      z  «       n| j                  j                  d«       | j                  j                  rR| j                  j                  j!                  d	«      d
k(  r)| j                  j                  j#                  d|z  «       y y y y )Nr;   r?   r@   ç      ð?g     €N@i £ ry   rG   zload-statusé   zprogress("%s"))r¤   rÂ   rC   r   r{   r$   r&   r   r#   Ústripr¦   r¥   r]   r   r   Ú_webkit_viewÚget_propertyÚexecute_script)r   rº   rB   r   ÚdeltaÚtime_per_percentr†   s          r   Ústatus_changez'GtkInstallProgressAdapter.status_change5  sV  € à�?‰?˜cÒ!ä"Ÿi™i›kˆDŒOäˆw�t—}‘}×1Ñ1Ó3°EÑ9Ñ9Ó:¸SÒ@Ø�M‰M×&Ñ&¤u¨W£~°eÑ';Ô<Ø×Ñ×&Ñ& v§|¡|£~Ô6à�SŠ=Ø×&Ñ&¨¯©Ñ8ˆEà�T—\‘\Ñ!ˆEÜ % e£¨WÑ 4ÐØ˜7‘?Ð&6Ñ6ˆCà�TŠz˜c ZÒ0Ø—‘×&Ñ&¤qÐ)=Ó'>ÄÐPSÓATÑ'TÕUà—‘×&Ñ& sÔ+à—‘×(Ò(Ø—‘×(Ñ(×5Ñ5°mÓDÈÒIØ—‘×(Ñ(×7Ñ7Ð8HÈ7Ñ8RÕSð Jð )ð r!   Nc                 ó^   — |€|j                  «       | _        d| _        y || _        d| _        y ©NT)Úget_child_exit_statusÚ
apt_statusrš   )r   r’   r   s      r   r“   z&GtkInstallProgressAdapter.child_exitedO  s0   € àˆ>à"×8Ñ8Ó:ˆDŒOð ˆ�ð  &ˆDŒOØˆ�r!   c                 ól   — | j                   s| j                  «        | j                   sŒ| j                  S r   )rš   Úupdate_interfacerö   r0   s    r   Ú
wait_childz$GtkInstallProgressAdapter.wait_childX  s(   € Ø—-’-Ø×!Ñ!Ô#ð —-“-à�‰Ðr!   c                 ó:   — | j                   j                  d«       y )Nr.   ©r   r#   r0   s    r   Úfinish_updatez'GtkInstallProgressAdapter.finish_update]  s   € Ø×Ñ×"Ñ" 2Õ&r!   c                 ó´  — t        j                  | «       | j                  dk(  r/| j                  j	                  «        t        j                  d«       | j                  dkD  r¤| j                  | j                  z   t        j
                  «       k  rv| j                  sEt        j                  d| j                  ›d| j                  j                  «       ›d�«       d| _	        | j                  j                  j!                  d«       t#        j$                  «       r)t#        j&                  «        t#        j$                  «       rŒ)t        j                  d«       y )	Nr;   gš™™™™™É?r   zno activity on terminal for z
 seconds (ú)Tg{®Gáz„?)r   rø   r¤   r   rz   rÂ   Úsleepr¦   ÚTIMEOUT_TERMINAL_ACTIVITYrè   rU   Úwarningr   Úget_textr   r�   r    r   r(   r)   r0   s    r   rø   z*GtkInstallProgressAdapter.update_interface`  s  € Ü×(Ñ(¨Ô.à�?‰?˜cÒ!Ø�M‰M×ÑÔ!Ü�J‰J�sŒOà×Ñ Ò!Ø×Ñ ×!?Ñ!?Ñ?Ä4Ç9Á9Ã;ÒNØ×1Ò1Ü—’ÐQU×QoÓQoÐqu÷  rCñ  rC÷  rLñ  rLõ  rNð  !Oô  PØ15�Ô.Ø�K‰K×)Ñ)×6Ñ6°tÔ<ä× Ñ Ô"Ü×ÑÔ ô × Ñ Õ"ä�
‰
�4Õr!   r   )r4   r5   r6   r   r    r™   r­   rÖ   rß   rœ   rò   r“   rù   rü   rø   r/   r!   r   rŠ   rŠ   °   sC   „ ð !$Ðò8ò!ò8(ò.%/òNò$/òTó4òò
'ór!   rŠ   c                   ó   — e Zd Zd„ Zdd„Zy)ÚDistUpgradeVteTerminalc                 ó    — || _         || _        y r   )r’   r   )r   r   r’   s      r   r    zDistUpgradeVteTerminal.__init__t  s   € ØˆŒ	Øˆ�r!   c           
      ó*  ‡ — t         rˆ fd„}nˆ fd„}‰ j                  j                  «        ‰ j                  j                  d|«       ‰ j                  j
                  j                  d«       |dk(  r%‰ j                  j
                  j                  d«       d‰ _        t         r>‰ j                  j                  t        j                  j                  d|d dd d d «      \  }}n<‰ j                  j                  t        j                  j                  d|d dd d «      \  }}|r|dk  ry ‰ j                  s_t        j                  «       r)t        j                   «        t        j                  «       rŒ)t#        j$                  d«       ‰ j                  sŒ_‰ `y )	Nc                 ó   •— d‰_         y rô   ©rš   )Úterminalr   r   s     €r   Úwait_for_childz3DistUpgradeVteTerminal.call.<locals>.wait_for_childy  ó
   ø€ à"�•r!   c                 ó   •— d‰_         y rô   r  )rW   r   s    €r   r
  z3DistUpgradeVteTerminal.call.<locals>.wait_for_child}  r  r!   rŒ   TFú/r   r@   )Úvte291r’   rt   rR   r   r�   r›   r    rš   Ú
spawn_syncr   rÝ   rÞ   Úfork_command_fullr   r(   r)   rÂ   rÿ   )r   rÓ   Úhiddenr
  Úsuccessrå   s   `     r   ÚcallzDistUpgradeVteTerminal.callw  s>  ø€ Ýõ#ô#ð 	�	‰	�‰ÔØ�	‰	×Ñ˜.¨.Ô9Ø�‰×%Ñ%×3Ñ3°DÔ9Ø�5Š=Ø�K‰K×)Ñ)×6Ñ6°tÔ<ØˆŒÝØ!ŸY™Y×1Ñ1Ü—‘×$Ñ$ØØØØØØØó	‰NˆW‘cð "ŸY™Y×8Ñ8Ü—‘×$Ñ$ØØØØØØó‰NˆW�cñ ˜# š'àØ—-’-Ü×$Ñ$Ô&Ü×"Ñ"Ô$ô ×$Ñ$Õ&ä�J‰J�sŒOð —-“-ð ‰Mr!   N©F)r4   r5   r6   r    r  r/   r!   r   r  r  s  s   „ òô+r!   r  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚHtmlViewc                 ó   — || _         y r   )rí   )r   Úwebkit_views     r   r    zHtmlView.__init__¦  s
   € Ø'ˆÕr!   c                 óV  — | j                   sy 	 ddlm} |sJ ‚| j                   j                  |«       | j                   j	                  d| j
                  «       y # t        $ rD | j                   j                  |«       | j                   j	                  d| j                  «       Y y w xY w)Nr   ©ÚWebKit2zload-changedzload-finished)	rí   Úgi.repositoryr  Úload_urirR   Ú_on_load_changedÚImportErrorÚopenÚ_on_load_finished)r   Úurlr  s      r   r   zHtmlView.open¨  s�   € Ø× Ò Øð	OÝ-ÙˆN�7Ø×Ñ×&Ñ& sÔ+Ø×Ñ×%Ñ% n°d×6KÑ6KÕLøÜò 	OØ×Ñ×"Ñ" 3Ô'Ø×Ñ×%Ñ% o°t×7MÑ7MÖNð	Oús   �AA ÁA
B(Â'B(c                 ó8   — | j                   j                  «        y r   )rí   rt   r0   s    r   rt   zHtmlView.show³  ó   € Ø×Ñ×ÑÕ r!   c                 ó8   — | j                   j                  «        y r   )rí   rv   r0   s    r   rv   zHtmlView.hideµ  r$  r!   c                 ó$   — |j                  «        y r   )rt   )r   ÚviewÚframes      r   r!  zHtmlView._on_load_finished·  s   € Ø�	‰	�r!   c                 ód   — ddl m} ||j                  j                  k(  r|j	                  «        y y )Nr   r  )r  r  Ú	LoadEventÚLOAD_FINISHEDrt   )r   r'  ÚeventÚdatar  s        r   r  zHtmlView._on_load_changed¹  s'   € Ý)Ø�G×%Ñ%×3Ñ3Ò3Ø�I‰I�Kð 4r!   N)	r4   r5   r6   r    r   rt   rv   r!  r  r/   r!   r   r  r  ¥  s!   „ ò(ò
Oò!ò!òór!   r  c                   ó¼   ‡ — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zdd„Zdd„Z	 dd„Zdd„Zdd„Zd„ Zd„ Zdd„Zd„ Zˆ xZS ) ÚDistUpgradeViewGtk3z& gtk frontend of the distUpgrade tool c                 ó:	  ‡ — t        j                  ‰ «       |‰ _        |r|dk(  rit        j                  j                  t        j                  «       d«      }t        j                  «       }t        t        j                  «       «      ‰ _        n2d}t        j                  j                  |d«      }t        |«      ‰ _        t        j                  t        j                  «       t        «       j                  d«       	 t        j                   d|«       t#        j$                  d«       t-        j                  ‰ |dz   d«       t        j.                  j1                  «       }	 ‰ j2                  j5                  |j7                  d	d
d«      «       ‰ j                  j?                  dd«      }tA        jB                  «       jE                  |«      }‰ jF                  jI                  «       }	|	jK                  d|«      }	‰ jF                  jM                  |	«       ‰ jO                  «        d ‰ _(        t        j.                  j1                  «       ‰ _)        d ‰ _*        ‰ j2                  jW                  «        ‰ j2                  jY                  «       j[                  t\        j^                  j`                  «       tc        ‰ jd                  «      ‰ _3        ti        ‰ «      ‰ _5        tm        ‰ «      ‰ _7        tq        ‰ «      ‰ _9        t        jt                  t8        jv                  «      ‰ _<        t        jz                  d«      }
t        j|                  «       }|
j                  |d«       |
j�                  |dd«       ‰ j‚                  j…                  |
«       ‰ jx                  j‡                  dt        jˆ                  jŠ                  «       ‰ j‚                  j�                  ‰ jx                  «       ‰ jŽ                  j‘                  d«       ˆ fd„}‰ j’                  j•                  d|«       ‰ j–                  t        _L        y # t&        $ r#}t)        j*                  d|z  «       Y d }~�Œ4d }~ww xY w# t8        j:                  $ r#}t)        j<                  d|z  «       Y d }~�Œd }~ww xY w)Nú.Úmoz/usr/share/locale/Ú
gtkbuilderÚGTKzubuntu-release-upgraderzError setting locales (%s)z/DistUpgrade.uizsystem-software-updateé    r   z)error setting default icon, ignoring (%s)ÚSourcesÚToú%sr.   Tr½   Fc                 ór   •— ‰j                   j                  «       }‰j                  j                  | «       y r   )Úexpander_detailsÚget_expandedÚdialog_changesÚset_resizable)ÚwÚexpandedr   s     €r   Ú
_activatedz0DistUpgradeViewGtk3.__init__.<locals>._activated  s-   ø€ à×,Ñ,×9Ñ9Ó;ˆHØ×Ñ×-Ñ-°(¨lÕ;r!   Úactivate)Mr   r    Úlogdirr�   rÅ   ÚjoinÚgetcwdr   r”   r   Ú
init_checkÚsysÚargvÚget_telemetryÚset_updater_typer„   Úbindtextdomainr   Ú
textdomainÚ	ExceptionrU   r  r   Ú	IconThemeÚget_defaultr_   Úset_default_iconÚ	load_iconr   ÚGErrorrV   r   Údistro_infoÚUbuntuDistroInfoÚversionÚlabel_titleÚ	get_labelrÀ   Ú	set_labelÚcreate_terminalÚ	prev_stepÚ	iconthemerí   r±   r²   r³   r   r´   rµ   r9   r   Ú_opCacheProgressrL   Ú_acquireProgressr   Ú_cdromProgressrŠ   Ú_installProgressÚ	TreeStoreÚTYPE_STRINGÚdetails_listÚTreeViewColumnÚCellRendererTextÚ
pack_startÚadd_attributeÚtreeview_detailsÚappend_columnÚset_sort_column_idÚSortTypeÚ	ASCENDINGÚ	set_modelr<  r=  r:  rR   Ú_handleExceptionÚ
excepthook)r   ÚdatadirrB  Ú	localedirÚgladedirÚeÚiconsÚto_distÚ
to_versionÚtitle_stringÚcolumnÚrenderr@  s   `            r   r    zDistUpgradeViewGtk3.__init__Á  sf  ø€ Ü× Ñ  Ô&ØˆŒÙ˜' Sš.Ü—g‘g—l‘l¤2§9¡9£;¨tÓ4ˆIÜ—Y‘Y“[ˆHÜ+¬B¯I©I«KÓ8ˆD�Kà*ˆIÜ—W‘W—\‘\ '¨<Ó8ˆHÜ+¨GÓ4ˆDŒKô 	�‰”s—x‘xÔ ä‹×(Ñ(¨Ô/ð	>Ü×!Ñ!Ð";¸IÔFÜ×ÑÐ8Ô9ô 	×$Ñ$ TØ%-Ð.?Ñ%?Ø%>ô	@ô —‘×)Ñ)Ó+ˆð	Ø×Ñ×-Ñ-¨e¯o©oÐ>VÐXZÐ\]Ó.^Ô_ð
 —+‘+—/‘/ )¨TÓ2ˆÜ ×1Ñ1Ó3×;Ñ;¸GÓDˆ
à×'Ñ'×1Ñ1Ó3ˆØ#×+Ñ+¨D°*Ó=ˆØ×Ñ×"Ñ" <Ô0ð 	×ÑÔàˆŒô Ÿ™×2Ñ2Ó4ˆŒØ ˆÔØ×Ñ× Ñ Ô"Ø×Ñ×#Ñ#Ó%×3Ñ3´C·N±N×4GÑ4GÔHÜ -¨d×.DÑ.DÓ EˆÔÜ 9¸$Ó ?ˆÔÜ5°dÓ;ˆÔÜ 9¸$Ó ?ˆÔäŸM™M¬'×*=Ñ*=Ó>ˆÔÜ×#Ñ# BÓ'ˆÜ×%Ñ%Ó'ˆØ×Ñ˜& $Ô'Ø×Ñ˜V X¨qÔ1Ø×Ñ×+Ñ+¨FÔ3Ø×Ñ×,Ñ,¨Q´·±×0FÑ0FÔGØ×Ñ×'Ñ'¨×(9Ñ(9Ô:à×Ñ×)Ñ)¨%Ô0ô	<ð 	×Ñ×%Ñ% j°*Ô=ð ×.Ñ.Œ�øôw ò 	>Ü�O‰OÐ8¸1Ñ<×=Ò=ûð	>ûô �~‰~ò 	Ü�M‰MÐEÈÑIÔJÝûð	ús0   Ã=+P5 Å!,Q$ Ð5	Q!Ð>QÑQ!Ñ$RÑ7RÒRc                 ó@  — dd l }|j                  |||«      }t        j                  ddj	                  |«      z  «       t        |||«       t        «       s4| j                  t        d«      t        d«      dj	                  |«      «       t        j                  d«       y )Nr   znot handled exception:
%sú
zA fatal error occurredzÿPlease report this as a bug (if you haven't already) and include the files /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in your report. The upgrade has aborted.
Your original sources.list was saved in /etc/apt/sources.list.distUpgrade.r	   )
Ú	tracebackÚformat_exceptionrU   r­   rC  r   r
   r]   rF  Úexit)r   r[   r%   Útbrz  Úliness         r   rl  z$DistUpgradeViewGtk3._handleException  s…   € ó
 	Ø×*Ñ*¨4°¸Ó;ˆÜ�‰Ð2°T·Y±Y¸uÓ5EÑEÔFô 	�T˜5 "Ô%ÜŒ|Ø�J‰J”qÐ1Ó2Üð >ó ?ð —y‘y Ó'ô)ô 	�‰��r!   c                 ó.   — t        | | j                  «      S r   )r  r‘   r0   s    r   ÚgetTerminalzDistUpgradeViewGtk3.getTerminal(  s   € Ü% d¨D¯J©JÓ7Ð7r!   c                 ó°  — | j                   €q	 	 ddlm} |j                  «       | _         | j                   j                  «       }|j                  dd«       | j                  j                  | j                   ddd«       t        | j                   «      S # t        $ r	 ddlm} Y Œ�w xY w#  t        j                  d«       t        j                  «       cY S xY w)Nr   r  )ÚWebKitzenable-pluginsFTzhtml widget)rí   r  r  r  r‚  ÚWebViewÚget_settingsÚset_propertyÚ	vbox_mainÚpack_endrU   Ú	exceptionr   ÚSampleHtmlViewr  )r   r‚  Úsettingss      r   ÚgetHtmlViewzDistUpgradeViewGtk3.getHtmlView*  s¹   € Ø×ÑÐ$ð8ð5Ý?ð %+§N¡NÓ$4�Ô!Ø×,Ñ,×9Ñ9Ó;�Ø×%Ñ%Ð&6¸Ô>Ø—‘×'Ñ'¨×(9Ñ(9¸4ÀÀqÔIô ˜×)Ñ)Ó*Ð*øô #ò 5ß4ð5ûð8Ü×!Ñ! -Ô0Ü&×5Ñ5Ó7Ò7ús)   �B •A)B( ÂB%Â"B( Â$B%Â%B( Â(+Cc                 óæ   — t        |j                  «      dk(  rYt        |j                  «      dk(  rAt        d«      }t        d«      }| j	                  ||«      }t        j                  d|«       | S y)Nr	   é   zCtrl-c pressedzkThis will abort the operation and may leave the system in a broken state. Are you sure you want to do that?z5ctrl-c press detected, user decided to pass it on: %sF)ÚlenÚstringÚordr]   ÚaskYesNoQuestionrU   r  )r   rW   Úkeyevr¼   rn   rp   s         r   Ú_key_press_handlerz&DistUpgradeViewGtk3._key_press_handler:  so   € äˆu�|‰|Ó Ò!¤c¨%¯,©,Ó&7¸1Ò&<ÜÐ(Ó)ˆGÜð Kó LˆCà×'Ñ'¨°Ó5ˆCÜ�O‰Oð %Ø&)ô+à�7ˆNØr!   c                 ó  — t         j                  j                  «       | _        t	        | j                  d«      s%| j                  j
                  | j                  _        | j                  j                  d| j                  «       t        j                  d«      }| j                  j                  |«       g | _        | j                  j                  | j                  ddd«       | j                  j                  «        t!        j"                  «       | _        | j$                  j'                  «        | j                  j                  | j$                  ddd«       | j$                  j)                  | j                  j+                  «       «       	 t-        t.        j0                  j3                  | j4                  d«      d«      | _        | j                  S # t8        $ r# t:        j<                  | _        Y | j                  S w xY w)z! helper to create a vte terminal râ   zkey-press-eventzmonospace 10Tr   zterm.logr>  )r   ÚTerminalrÐ   r‘   ÚhasattrÚset_pty_objectrâ   rR   r“  r   Úfont_description_from_stringÚset_fontÚ_terminal_linesÚhbox_customrd  r±   r   Ú
VScrollbarÚvscrollbar_terminalrt   Úset_adjustmentÚget_vadjustmentr   r�   rÅ   rC  rB  Ú_terminal_logrL  rF  r¿   )r   Úfontdescs     r   rX  z#DistUpgradeViewGtk3.create_terminalF  si  € ä—\‘\×%Ñ%Ó'ˆŒ
ä�t—z‘z 9Ô-Ø!%§¡×!:Ñ!:ˆD�J‰JÔà�
‰
×ÑÐ,¨d×.EÑ.EÔFÜ×5Ñ5°nÓEˆØ�
‰
×Ñ˜HÔ%Ø!ˆÔØ×Ñ×#Ñ# D§J¡J°°d¸AÔ>Ø�
‰
×ÑÔÜ#&§>¡>Ó#3ˆÔ Ø× Ñ ×%Ñ%Ô'Ø×Ñ×#Ñ# D×$<Ñ$<¸dÀDÈ!ÔLØ× Ñ ×/Ñ/°·
±
×0JÑ0JÓ0LÔMð	,Ü!%¤b§g¡g§l¡l°4·;±;¸zÓ&JÈ3Ó!OˆDÔð �z‰zÐøô ò 	,ä!$§¡ˆDÕØ�z‰zÐð	,ús   Æ9G ÇG>Ç=G>c                 ó   — | j                   S r   )r\  r0   s    r   ÚgetAcquireProgressz&DistUpgradeViewGtk3.getAcquireProgress_  ó   € Ø×$Ñ$Ð$r!   c                 ó<   — || j                   _        | j                   S r   )r^  rŽ   )r   Úcaches     r   ÚgetInstallProgressz&DistUpgradeViewGtk3.getInstallProgressa  s   € Ø',ˆ×ÑÔ$Ø×$Ñ$Ð$r!   c                 ó   — | j                   S r   )r[  r0   s    r   ÚgetOpCacheProgressz&DistUpgradeViewGtk3.getOpCacheProgressd  r¤  r!   c                 ó   — | j                   S r   )r]  r0   s    r   ÚgetCdromProgressz$DistUpgradeViewGtk3.getCdromProgressf  s   € Ø×"Ñ"Ð"r!   c                 ó@   — | j                   j                  d|z  «       y )Nr8  rû   )r   rn   s     r   ÚupdateStatusz DistUpgradeViewGtk3.updateStatush  s   € Ø×Ñ×"Ñ" 4¨#¡:Õ.r!   c                 ó¨   — t        | d|j                  z  «      }t        | d|j                  z  «      }|j                  «        |j                  «        y ©Núimage_step%iúlabel_step%i)Úgetattrr%   rv   ©r   r+   ÚimageÚlabels       r   ÚhideStepzDistUpgradeViewGtk3.hideStepj  s>   € Ü˜˜^¨d¯j©jÑ8Ó9ˆÜ˜˜^¨d¯j©jÑ8Ó9ˆà�
‰
ŒØ�
‰
�r!   c                 ó¨   — t        | d|j                  z  «      }t        | d|j                  z  «      }|j                  «        |j                  «        y r¯  )r²  r%   rt   r³  s       r   ÚshowStepzDistUpgradeViewGtk3.showStepp  s>   € Ü˜˜^¨d¯j©jÑ8Ó9ˆÜ˜˜^¨d¯j©jÑ8Ó9ˆØ�
‰
ŒØ�
‰
�r!   c                 ó:  — t         j                  j                  }| j                  }|rst	        | d|j
                  z  «      }t	        | d|j
                  z  «      }|j                  t         j                  |«       |j                  «        |j                  «        y y )Nr°  úarrow_step%i)
r   ÚIconSizeÚMENUrY  r²  r%   Úset_from_stockÚSTOCK_CANCELrt   rv   )r   Úsizer+   r´  Úarrows        r   ÚabortzDistUpgradeViewGtk3.abortu  st   € Ü�|‰|× Ñ ˆØ�~‰~ˆÙÜ˜D °$·*±*Ñ!<Ó=ˆEÜ˜D °$·*±*Ñ!<Ó=ˆEØ× Ñ ¤×!1Ñ!1°4Ô8Ø�J‰JŒLØ�J‰J�Lð r!   c                 ó|  •— t         t        | �  |«       | j                  j	                  «       rt        j                  d«       t        j                  j                  }t        j                  «       }| j                  r»t        | d| j                  j                  z  «      }t        | d| j                  j                  z  «      }t        | d| j                  j                  z  «      }|j                  d|«       |j!                  t        j"                  |«       |j%                  «        |j'                  «        || _        t        | d|j                  z  «      }t        | d|j                  z  «      }t        | d|j                  z  «      }|j)                  d«      sy |j%                  «        |j'                  «        y )Nzicon theme changed, re-readingr°  r±  rº  Ú
attributesÚvisible)rA   r/  ÚsetSteprZ  Úrescan_if_neededrU   rV   r   r»  r¼  r   ÚAttrListrY  r²  r%   r…  r½  ÚSTOCK_APPLYrt   rv   rî   )r   r+   r¿  Úattrlistr´  rµ  rÀ  rE   s          €r   rÅ  zDistUpgradeViewGtk3.setStep~  sB  ø€ ÜÔ! 4Ñ0°Ô6Ø�>‰>×*Ñ*Ô,Ü�M‰MÐ:Ô;ä�|‰|× Ñ ˆÜ—‘Ó!ˆØ�>Š>Ü˜D °$·.±.×2FÑ2FÑ!FÓGˆEÜ˜D °$·.±.×2FÑ2FÑ!FÓGˆEÜ˜D °$·.±.×2FÑ2FÑ!FÓGˆEØ×Ñ˜|¨HÔ5Ø× Ñ ¤§¡°$Ô7Ø�J‰JŒLØ�J‰JŒLØˆŒä˜˜^¨d¯j©jÑ8Ó9ˆÜ˜˜^¨d¯j©jÑ8Ó9ˆÜ˜˜^¨d¯j©jÑ8Ó9ˆà×!Ñ! )Ô,ØØ�
‰
ŒØ�
‰
�r!   c                 ó.  — | j                   j                  d«       | j                   j                  | j                  «       d|›d|›�}| j                  j                  |«       |d k7  rF| j                  j                  «       }|j                  |«       | j                  j                  «        n| j                  j                  «        | j                   j                  «        | j                   j                  «       j                  t        j                   j"                  «       | j                   j%                  «        | j                   j                  «        t'        j(                  «       r*t'        j*                  «        t'        j(                  «       rŒ)y y )Nr.   r«   r¬   )Údialog_informationrh   r°   r_   Úlabel_informationrf   Útextview_informationr¸   r#   Úscroll_informationrt   rv   r±   r²   r³   r   r´   rµ   rg   r   r(   r)   ©r   r¼   rn   Úextended_msgÚbuffers        r   ÚinformationzDistUpgradeViewGtk3.informationœ  s  € Ø×Ñ×)Ñ)¨"Ô-Ø×Ñ×1Ñ1°$×2BÑ2BÕCÚ.5±cÐ:ˆØ×Ñ×)Ñ)¨#Ô.Ø˜4ÒØ×.Ñ.×9Ñ9Ó;ˆFØ�O‰O˜LÔ)Ø×#Ñ#×(Ñ(Õ*à×#Ñ#×(Ñ(Ô*Ø×Ñ×'Ñ'Ô)Ø×Ñ×*Ñ*Ó,×:Ñ:¼3¿>¹>×;NÑ;NÔOØ×Ñ×#Ñ#Ô%Ø×Ñ×$Ñ$Ô&Ü× Ñ Ô"Ü×ÑÔ ô × Ñ ×"r!   c                 ó²  — | j                   j                  d«       | j                   j                  | j                  «       d|›d|›�}| j                  j                  |«       |d k7  rF| j                  j                  «       }|j                  |«       | j                  j                  «        n| j                  j                  «        | j                   j                  «        | j                   j                  «       j                  t        j                   j"                  «       | j                   j%                  «        | j                   j                  «        y)Nr.   r«   r¬   F)r¯   rh   r°   r_   r¶   rf   r·   r¸   r#   r¹   rt   rv   r±   r²   r³   r   r´   rµ   rg   rÏ  s        r   r­   zDistUpgradeViewGtk3.error®  sú   € Ø×Ñ×#Ñ# BÔ'Ø×Ñ×+Ñ+¨D×,<Ñ,<Õ=â,3±SÐ9ˆØ×Ñ×#Ñ# CÔ(Ø˜4ÒØ×(Ñ(×3Ñ3Ó5ˆFØ�O‰O˜LÔ)Ø×Ñ×"Ñ"Õ$à×Ñ×"Ñ"Ô$Ø×Ñ×!Ñ!Ô#Ø×Ñ×$Ñ$Ó&×4Ñ4´S·^±^×5HÑ5HÔIØ×Ñ×ÑÔØ×Ñ×ÑÔ Ør!   c                 ó^  — t        j                  | ||||«      sy| xj                  dt        d«      z  z  c_        |d k7  rr| j                  j                  d«       | j                  j                  d«       | j                  j                  |d   «       | j                  j                  |d   «       | j                  j                  d|z  «       | j                  j                  | j                  «       | j                  j                  «        t        d«      | j                  ft        d	«      | j                  ft        d
«      | j                   ft        d«      | j"                  ft        d«      | j$                  ft        d«      | j&                  ffD ]�  \  }}|sŒ	| j                  j)                  d |t+        |«      z  g«      }	|D ]W  }
| j                  j)                  |	d|
j,                  ›dt/        j0                  t3        |
j4                  dd «      «      ›�g«       ŒY Œ� | j6                  j9                  «        | j6                  j;                  | j<                  «       | j6                  j?                  d«       | j6                  jA                  «       jC                  tD        jF                  jH                  tD        jF                  jJ                  z  «       | j6                  jM                  «       }| j6                  jO                  «        |tP        jR                  jT                  k(  ryy)NFz

<b>%s</b>z?To prevent data loss close all open applications and documents.Tr   r	   z<big><b>%s</b></big>z%No longer supported by Canonical (%s)z<b>Downgrade (%s)</b>zRemove (%s)zNo longer needed (%s)zInstall (%s)zUpgrade (%s)z<b>z</b> - r¼   r.   )+r   ÚconfirmChangesÚconfirmChangesMessager]   Úbutton_cancel_changesÚset_use_stockÚset_use_underlinerW  Úbutton_confirm_changesÚlabel_summaryrf   Úlabel_changesra  ÚclearÚ	demotionsÚtoDowngradeÚtoRemoveÚtoRemoveAutoÚ	toInstallÚ	toUpgrader£   rŽ  Únamer   Úmarkup_escape_textr²  Ú	candidater<  r±   r°   r_   rh   r²   r³   r   r´   rµ   ÚRESIZErg   rv   r   rj   rÌ   )r   r¼   ÚchangesrÞ  ÚdownloadSizeÚactionsÚremoval_boldÚparent_textra  Únoderº   rp   s               r   rÕ  z"DistUpgradeViewGtk3.confirmChangesÀ  s¶  € ô ×-Ñ-¨d°G¸WØ.7¸ôGàà×"Ò" Üð ,ó -ñ(-ñ 	-Õ"ð �dŠ?Ø×&Ñ&×4Ñ4°UÔ;Ø×&Ñ&×8Ñ8¸Ô>Ø×&Ñ&×0Ñ0°¸±Ô<Ø×'Ñ'×1Ñ1°'¸!±*Ô=à×Ñ×%Ñ%Ð&<¸wÑ&FÔGØ×Ñ×%Ñ% d×&@Ñ&@ÔAà×Ñ×ÑÔ!äÐ7Ó8¸$¿.¹.ÐIÜÐ'Ó(¨$×*:Ñ*:Ð;Ü�Ó §¡Ð.ÜÐ'Ó(¨$×*;Ñ*;Ð<Ü�Ó §¡Ð0Ü�Ó §¡Ð0ð,ò 	hÑ'ˆ[˜,ò Ø×(Ñ(×/Ñ/°Ø1<¼sÀ<Ó?PÑ1PÐ0QóS�à'ò h�CØ×%Ñ%×,Ñ,©TØŸ(›(¤D×$;Ñ$;¼GÀCÇMÁMÐS\Ð^bÓ<cÔ$dð5fð 4gõ hñhð	hð 	×Ñ×#Ñ#Ô%Ø×Ñ×-Ñ-¨d×.>Ñ.>Ô?Ø×Ñ×%Ñ% bÔ)Ø×Ñ×&Ñ&Ó(×6Ñ6´s·~±~×7JÑ7JÜ14·±×1FÑ1Fñ8Gô 	Hà×!Ñ!×%Ñ%Ó'ˆØ×Ñ× Ñ Ô"Ø”#×"Ñ"×&Ñ&Ò&ØØr!   c                 óZ  — d|›d|›�}t        j                  | j                  t         j                  j                  t         j
                  j                  t         j                  j                  ¬«      }|j                  d«       |dk(  r*|j                  t         j                  j                  «       n)|j                  t         j                  j                  «       |j                  |«       |j                  «       }|j!                  «        |t         j                  j                  k(  ryy)Nr«   r¬   rY   r.   ÚNoTF)r   r^   r_   r`   ra   rb   rc   rd   ÚYES_NOrh   Úset_default_responserj   ÚNOrÌ   rf   rg   ri   ©r   r¼   rn   Údefaultro   rp   s         r   r‘  z$DistUpgradeViewGtk3.askYesNoQuestionð  sÔ   � Ú.5±cÐ:ˆÜ×"Ñ"¨$×*:Ñ*:Ü),¯©×)>Ñ)>Ü(+¯©×(@Ñ(@Ü+.¯?©?×+AÑ+AôCˆð 	×Ñ˜ÔØ�dŠ?Ø×'Ñ'¬×(8Ñ(8×(;Ñ(;Õ<à×'Ñ'¬×(8Ñ(8×(<Ñ(<Ô=Ø×Ñ˜#ÔØ�j‰j‹lˆØ�‰ÔØ”#×"Ñ"×&Ñ&Ò&ØØr!   c                 ó
  — |rd|›d|›�}t        j                  | j                  t         j                  j                  t         j
                  j                  t         j                  j                  ¬«      }|j                  d«       |j                  |«       |j                  t        d«      t         j                  j                  t        d«      t         j                  j                  «       |dk(  r*|j!                  t         j                  j                  «       n)|j!                  t         j                  j                  «       |j#                  «       }|j%                  «        |t         j                  j                  k(  ryy)	Nr«   r¬   rY   r.   ÚCancelÚContinueTF)r   r^   r_   r`   ra   rb   ÚWARNINGrd   ÚNONErh   rf   Úadd_buttonsr]   rj   ÚCANCELÚACCEPTrñ  rg   ri   ró  s         r   ÚaskCancelContinueQuestionz-DistUpgradeViewGtk3.askCancelContinueQuestion  s  € ÚÚ29¹#Ð>ˆCä×"Ñ"¨$×*:Ñ*:Ü),¯©×)>Ñ)>Ü(+¯©×(?Ñ(?Ü+.¯?©?×+?Ñ+?ôAˆð 	×Ñ˜ÔØ×Ñ˜#ÔØ×Ñœ1˜X›;¬×(8Ñ(8×(?Ñ(?Ü˜Z›=¬#×*:Ñ*:×*AÑ*Aô	Cð �hÒØ×'Ñ'¬×(8Ñ(8×(?Ñ(?Õ@à×'Ñ'¬×(8Ñ(8×(?Ñ(?Ô@à�j‰j‹lˆØ�‰ÔØ”#×"Ñ"×)Ñ)Ò)ØØr!   c                 óÞ  — | j                   j                  | j                  «       | j                   j                  d«       | j                   j	                  «        | j                   j                  «       j                  t        j                  j                  «       | j                   j                  «       }| j                   j                  «        |t        j                  j                  k(  ryy)Nr.   TF)Údialog_restartr°   r_   rh   r±   r²   r³   r   r´   rµ   rg   rv   r   rj   rÌ   )r   rp   s     r   ÚconfirmRestartz"DistUpgradeViewGtk3.confirmRestart  s©   € Ø×Ñ×-Ñ-¨d×.>Ñ.>Ô?Ø×Ñ×%Ñ% bÔ)Ø×Ñ×#Ñ#Ô%Ø×Ñ×&Ñ&Ó(×6Ñ6´s·~±~×7JÑ7JÔKØ×!Ñ!×%Ñ%Ó'ˆØ×Ñ× Ñ Ô"Ø”#×"Ñ"×&Ñ&Ò&ØØr!   c                 ó€   — t        j                  «       r*t        j                  «        t        j                  «       rŒ)y y r   )r   r(   r)   r0   s    r   ÚprocessEventsz!DistUpgradeViewGtk3.processEvents%  s(   € Ü× Ñ Ô"Ü×ÑÔ ô × Ñ ×"r!   c                 ót   — | j                   j                  «        |r| j                   j                  d«       y y )Nrê   )r   rz   r$   )r   rš   s     r   ÚpulseProgressz!DistUpgradeViewGtk3.pulseProgress)  s0   € Ø×Ñ×$Ñ$Ô&ÙØ×"Ñ"×/Ñ/°Õ4ð r!   c                 ó  — | j                   j                  | j                  «       | j                   j                  d«       | j                   j	                  «        | j                   j                  «       j                  t        j                  j                  «       | j                   j                  «       }| j                   j                  «        |t        j                  j                  k(  rt        j                   d«       y)Nr.   r	   T)Údialog_cancelr°   r_   rh   r±   r²   r³   r   r´   rµ   rg   rv   r   rj   rû  rF  r|  )r   rW   r,  rp   s       r   Úon_window_main_delete_eventz/DistUpgradeViewGtk3.on_window_main_delete_event.  s±   € Ø×Ñ×,Ñ,¨T×-=Ñ-=Ô>Ø×Ñ×$Ñ$ RÔ(Ø×Ñ×"Ñ"Ô$Ø×Ñ×%Ñ%Ó'×5Ñ5´c·n±n×6IÑ6IÔJØ× Ñ ×$Ñ$Ó&ˆØ×Ñ×ÑÔ!Ø”#×"Ñ"×)Ñ)Ò)Ü�H‰H�QŒKØr!   )NNr   rô   )rï  )rö  r  )r4   r5   r6   r7   r    rl  r€  r‹  r“  rX  r£  r§  r©  r«  r­  r¶  r¸  rÁ  rÅ  rÒ  r­   rÕ  r‘  rý  r   r  r  r  rI   rJ   s   @r   r/  r/  ¿  s†   ø„ Ù,óO/òbò,8ò+ò 
òò2%ò%ò%ò#ò/òòò
ôó<!ó$ð& 37ó.ó`ó$ò0	ò!ó5ö
	r!   r/  Ú__main__)z/usr/bin/dpkgz--configurez-aÚTODOzTODO~ÚshortÚlonga²  asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
Úxxéd   )GÚgir  Úrequire_versionr  r   rL  rÛ   rÐ   rÜ   r   r   r   r   r   rF  r„   rU   rÂ   rÇ   Úaptr   rR  r�   ÚDistUpgradeApportr
   r   r   r   r   r   ÚDistUpgradeConfigParserr   Ú	telemetryr   rH  ÚSimpleGtk3builderAppr   r   ÚDistUpgradeGettextr]   r   ÚbaseÚCdromProgressr   Ú
OpProgressr9   rL   rŠ   Úobjectr  r  r/  r4   r'  ÚfpÚipr€  r  Úmainr|  ÚCacher¦  rG  rº   rŸ   Úmark_deleteÚmark_installÚcommitrÖ   r­   rÕ  r/   r!   r   ú<module>r!     sL  ðó, 
à	€ð	#Ø€B×Ñ�u˜fÔ%Ý!Ø€Fõ Ý Ý Ý !Ý ã 
Û Û Û Û ã 
Û Û Û 	ç 7ç ^Ó ^Ý 6Ý +Ý 5ã Ý ,ô˜cŸl™l×/Ñ/×=Ñ=ô ô*'�C—L‘L×%Ñ%×0Ñ0ô 'ô0@# ô @#ôF@ ô @ôF/˜Vô /ôdˆvô ô4x˜/Ð*=ô xðv ˆzÓáÓ €DÙ	" 4Ó	(€BÙ	" 4Ó	(€Bà×ÑÓ×ÑÒ@ÔAØ€C‡H�H„JØ€C‡H�HˆQ„KàˆC�I‰I‹K€EØ�x‰x˜˜ˆ|ò &ˆØ�‰:×"Ò"Ø�#‰J×"Ñ"Õ$à�#‰J×#Ñ#Õ%ð	&ð
 
‡L�L��BÔØ€C‡H�H„Jð ‡K�K��wÔØ×ÑÓ×ÑÒ@ÔAà‡J�Jˆw�vðQôð 	×Ñ˜˜R Õ%ðA øð{ ò #Ø€B×Ñ�u˜fÔ%õ "Ø—w‘w—{‘{€C‡G�G×ð#ús   ˆI ÉAJ ÊJ 