§
    ­xkdÛ  ã                   óT   — d dl mZ d dlZd dlZd dlmZmZ d dlZd dlZd„ Z	d„ Z
d„ ZdS )é    )Úprint_functionN)ÚOptionalÚTuplec                 ó‚   — |dz  }|dz  }| j         |z   | j        |z   dz  z   }| j        |z   dz  }|dk    rd}|dz  }||fS )z³
    get the (year, month) tuple when the maintenance for the distribution
    ends. Needs the data of the release and the number of months that
    its is supported as input
    é   r   é   )ÚyearÚmonth)Úrelease_dateÚm_monthsÚyearsÚmonthsÚsupport_end_yearÚsupport_end_months         ú+/usr/lib/python3/dist-packages/apt/utils.pyÚget_maintenance_end_dater      sr   € ð ˜‰N€EØ˜‰]€FØ#Ô(¨5Ñ0°LÔ4FÈÑ4OÐTVÑ3VÑVÐØ%Ô+¨fÑ4¸Ñ:Ðà˜AÒÐØÐØ˜AÑÐØÐ/Ð0Ð0ó    c                 ój  — | rt           j                             | ¦  «        sdS t          j        t	          j        | ¦  «        ¦  «        5 }t	          j        |¦  «        }t          |¦  «        }d|vr	 ddd¦  «         dS |d         }t	          j        |¦  «        cddd¦  «         S # 1 swxY w Y   dS )zF
    return the release date as time_t for the given release file
    NÚDate)	ÚosÚpathÚexistsÚfdopenÚapt_pkgÚopen_maybe_clear_signed_fileÚTagFileÚnextÚstr_to_time)r   ÚdataÚtagÚsectionÚdates        r   Ú"get_release_date_from_release_filer#   1   s  € ð
 ð •r”w—~’~ dÑ+Ô+ð Øˆtå	Œ•7Ô7¸Ñ=Ô=Ñ	>Ô	>ð )À$ÝŒo˜dÑ#Ô#ˆÝ�s‘)”)ˆØ˜Ð Ð Øð	)ð )ð )ñ )ô )ð )ð )ð )ð
 �vŒˆÝÔ" 4Ñ(Ô(ð)ð )ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   Á
)B(Â B(Â(B,Â/B,c                 ój  — || vrdS | |         }d}|j         j        D ]<}|�|j        €Œ|j        D ](\  }}|j        |k    r|j        |k    r|j        |k    r|}Œ)Œ=|sdS | j                             |j        d         d         ¦  «        }	| j        j        D ]�}
|
j	        D ]“}|	r�|	j
        |j
        k    r|	j        rxt          j                             d¦  «        }dD ]V}t          j        |
j        ¦  «        d|
j        ›d|›�z   }t$          j                             ||z   ¦  «        r||z   c c c S ŒWŒ”ŒždS )z+get the release file that provides this pkgNr   zDir::State::lists)Ú	InReleaseÚReleaseÚdists_Ú_)Ú_pkgÚversion_listÚ	file_listÚoriginÚlabelÚarchiveÚ_listÚ
find_indexÚlistÚindex_filesÚdescribeÚ
is_trustedr   ÚconfigÚfind_dirÚuri_to_filenameÚuriÚdistr   r   r   )ÚcacheÚpkgnamer-   ÚreleaseÚpkgÚverÚaverÚver_fileÚ_indexÚ	indexfileÚ	metaindexÚmÚdirnameÚrelfileÚnames                  r   Úget_release_filename_for_pkgrH   B   s¤  € ð �eÐÐØˆtØ
�Œ.€CØ
€Cð ”Ô%ð 
ð 
ˆØˆ<˜4œ>Ð1ØØ $¤ð 	ð 	ÑˆH�fð ” 5Ò(Ð(Ø”N eÒ+Ð+ØÔ$¨Ò/Ð/à�øð	ð ð ØˆtØ”×&Ò& s¤}°QÔ'7¸Ô':Ñ;Ô;€IØ”[Ô%ð 
.ð 
.ˆ	ØÔ&ð 		.ð 		.ˆAØð .˜YÔ/°1´:Ò=Ð=À)ÔBVÐ=Ý!œ.×1Ò1Ð2EÑFÔF�Ø7ð .ð .�GÝ"Ô2°9´=ÑAÔAÐAØ!œ˜˜Ø˜ðEñ �Dõ ”w—~’~ g°¡nÑ5Ô5ð .Ø&¨™~Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð.øð		.ð ˆ4r   )Ú
__future__r   Údatetimer   Útypingr   r   Úaptr   r   r#   rH   © r   r   ú<module>rN      sŒ   ðð& &Ð %Ð %Ð %Ð %Ð %à €€€Ø 	€	€	€	à "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø €€€ð1ð 1ð 1ð&)ð )ð )ð""ð "ð "ð "ð "r   