+
     i¾i2  ã                   ó¾  € ^ RI t ^ RIt^ RItRsRsRs] P                  P                  RR4      P                  R4       U u. uF2  p V P                  4       '       g   K  RV P                  4       ,          NK4  	  up s
RsRR ltR tR tRR	 ltRR
 ltRR ltRR ltRR ltRR ltRR lt ! R R]4      t ! R R]4      tR t R t]R8X  d
   ]! 4        R# R# u up i )é    NÚDEBPYTHON3_SUPPORTEDÚ Ú,úpython%sc                 ó^  € ^ RI HpHp \        '       g[   \        P
                  P                  R4      '       d6   V! 4       p\        R4      pVP                  V4       VP                  4        Vs\        '       d"   V '       d    \        P                  RV 4      pV# R#   T d    \        hi ; i)r   )ÚConfigParserÚNoOptionErrorz"/usr/share/python3/debian_defaultsÚDEFAULTN)Úconfigparserr   r	   Ú	_defaultsÚosÚpathÚexistsÚopenÚ	read_fileÚcloseÚgetÚ
ValueError)Únamer   r	   ÚconfigÚdefaultsfileÚvalues   &     Ú!/usr/share/python3/py3versions.pyÚread_defaultr      sŒ   € ç8ß‹9Ü�7‰7�>‰>Ð>×?Ò?Ù!“^ˆFÜÐ DÓEˆLØ×Ñ˜\Ô*Ø×ÑÔ ØˆIçƒy—Tð	Ü—M‘M )¨TÓ2ˆEð ˆÙøð ô 	ÜÐð	ús   ÂB ÂB,c                 ó–   € \         ;QJ d#    . R  V P                  R4       4       F  NK  	  5# ! R  V P                  R4       4       4      # )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i©N)Úint)Ú.0Úparts   & r   Ú	<genexpr>Ú#version_to_tuple.<locals>.<genexpr>(   s   é € Ð:Ñ'9˜t”�T—�Ó'9ùó   ‚Ú.)ÚtupleÚsplit)Úversions   &r   Úversion_to_tupler(   '   s6   € ßŒ5Ñ: w§}¡}°SÔ'9Ó:�5Ð:ˆ5Ñ: w§}¡}°SÔ'9Ó:Ó:Ð:ó    c           
      ó  € \        V P                  R 4      4      ^8”  d   \        R4      h^ RIpRVP                  RVP                  RVP
                  RVP                  RVP                  /p/ p\        4       p\        \        RR7      4      pR	pV P                  R 4       EF  pVP                  4       pVR
8X  d   K  VR9   d   K&  VP                  R\        4       4       \        P                  ! R4      pVP                  V4      p	 V	'       g   \        R4      hV	P                  ^4      V	P                  ^4      rºVP                  R4      w  rÍ\!        V4      ^8  d   KÁ  V
R9   d   VP#                  V4       KÛ  RpW*,          pV Uu. uF'  qþ! \%        V4      \%        V4      4      '       g   K%  VNK)  	  ppEK  	  RV9   d!   WCR&   V'       d   VP)                  V4      VR&   V# u upi   \&         d    \        R4      hi ; i)r   zDtoo many arguments provided for X-Python3-Version: min and max only.NÚ=z>=z<=z<<T©Úversion_onlyFÚallÚversionsz(>=|<=|<<|=)? *(\d\.\d+)$z'error parsing Python3-Version attributer$   )ÚcurrentÚcurrent_ext)Nr+   )Úlenr&   r   ÚoperatorÚeqÚgeÚleÚltÚsetÚsupported_versionsÚstripÚ
setdefaultÚreÚcompileÚmatchÚgroupr   Úaddr(   Ú	ExceptionÚunion)Úvstringr3   Ú	operatorsÚvinfoÚexact_versionsÚversion_rangeÚ
relop_seenÚfieldÚveÚmÚopÚvÚvmajÚvminÚfiltopÚavs   &               r   Úparse_versionsrR   +   sÑ  € Ü
ˆ7�=‰=˜ÓÓ Ô"ÜÐ_Ó`Ð`ÛØ�x—{‘{ C¨¯©Ø�x—{‘{ D¨(¯+©+Ø�x—{‘{ð$€Ið €EÜ“U€NÜÔ*¸Ô=Ó>€MØ€JØ—‘˜s×#ˆØ—‘“ˆØ�EŒ>ÙØÐ.Ô.ÙØ×Ñ˜¤S£UÔ+Ü�ZŠZÐ4Ó5ˆØ�H‰H�U‹Oˆð	HßÜ Ð!JÓKÐKØ—G‘G˜A“J §¡¨£
�ØŸ™ ›‰JˆDÜ�4‹y˜1Œ}ÙØ�[Ô Ø×"Ñ" 1Ö%à!�
Ø"��Ù.;ó !@©m¨¸vÜ$ RÓ(Ô*:¸1Ó*=÷@?§ ©m�ð !@’ñ+ $ð2 �UÔØ*ˆjÑßØ .× 4Ñ 4°]Ó CˆE�*ÑØ€Lùò!@øäô 	HÜÐFÓGÐGð	Hús1   Ä	AG,Å"G,Å<G,Æ
"G'Æ1G'Æ7G,Ç'G,Ç,Hc                 ó  € \         '       g;    \        R 4      pVP                  R4       Uu. uF  q"P                  4       NK  	  ups V '       d   \          Uu. uF  q3R,          NK  	  up# \         # u upi   \         d    . s  L>i ; iu upi )zold-versionsr   ºé   NN)Ú_old_versionsr   r&   r:   r   ©r-   r   ÚsrM   s   &   r   Úold_versionsrY   V   s{   € ç‹=ð	Ü  Ó0ˆEØ05·±¸CÔ0@ÓAÑ0@¨1ŸW™WžYÑ0@ÑAˆM÷ Ý,Ó-™}˜!�"—�™}Ñ-Ð-äÐùò BøÜô 	ØŠMð	üò .ó(   ŽA6 ¬A1ÁA6 ÁB	Á1A6 Á6BÂBc                 ó  € \         '       g;    \        R 4      pVP                  R4       Uu. uF  q"P                  4       NK  	  ups V '       d   \          Uu. uF  q3R,          NK  	  up# \         # u upi   \         d    . s  L>i ; iu upi )zunsupported-versionsr   rT   )Ú_unsupported_versionsr   r&   r:   r   rW   s   &   r   Úunsupported_versionsr]   d   s�   € ç Ó ð	'Ü Ð!7Ó8ˆEØ8=¿¹ÀCÔ8HÓ$IÑ8H°1§W¡W¦YÑ8HÑ$IÐ!÷ Ý4Ó5Ñ4˜!�"—�Ñ4Ñ5Ð5ä$Ð$ùò %JøÜô 	'Ø$&Ò!ð	'üò 6rZ   c           	      óâ  € \        4        \        '       g;    \        R 4      pVP                  R4       Uu. uF  q"P	                  4       NK  	  ups\        P%                  \        P'                  \(        4      4      p	\        P+                  4        \        P-                  V	4       V '       d   \         U
u. uF  qªR
,          NK  	  up
# \        # u upi   \
         Ed	    . ROp ^ RIpTP                  T^RTP                  R7      pTP                  pM6  \         d)    \        P                  ! RP                  T4      4      p Mi ; iRpT FR  pTP                  R4      '       g   K  TP                  R^4      ^,          P	                  4       P                  R4      pKT  	  TP                  4        T Uu. uF  p\         P"                  ! RR	T4      NK  	  Mu upi ppTs EL—i ; iu up
i )zsupported-versionsr   NF)ÚbufsizeÚshellÚstdoutÚ zDepends:Ú:z\s*(\S+)[ (]?.*z\1rT   )z/usr/bin/apt-cachez--no-all-versionsÚshowzpython3-all)Údefault_versionÚ_supported_versionsr   r&   r:   r   Ú
subprocessÚPopenÚPIPEra   ÚImportErrorr   ÚpopenÚjoinÚ
startswithr   r<   ÚsubÚpopÚindexÚ_default_versionÚsortÚappend)r-   r   rX   Úcmdrg   ÚpÚfdÚdependsÚlineÚdefaultrM   s   &          r   r9   r9   r   s•  € äÔßÓð	*Ü Ð!5Ó6ˆEØ6;·k±kÀ#Ô6FÓ"GÑ6F°§7¡7¦9Ñ6FÑ"GÐô$ "×%Ñ%Ô&9×&?Ñ&?Ô@PÓ&QÓR€GÜ×ÑÔÜ×Ñ˜wÔ'ßÝ2Ó3Ñ2˜!�"—�Ñ2Ñ3Ð3ä"Ð"ùò1 #HøÜõ 	*ò*ˆCð-Û!Ø×$Ñ$ S°!Ø+0¸¿¹ð %ó J�à—X‘X‘øÜô -Ü—X’X˜cŸh™h s›mÓ,’ð-úàˆGÛ�Ø—?‘? :×.Ô.Ø"Ÿj™j¨¨aÓ0°Õ3×9Ñ9Ó;×AÑAÀ#ÓF’Gñ ð �H‰HŒJÙELÓMÁWÀ”r—v’vÐ0°%¸Ö;ÂWùÒMˆGÐMØ")Óð!	*üò* 4s_   ˜C ¶CÁC Â6G,ÃC ÃG)Ã&/DÄG)Ä0E	ÅG)ÅE	Å	G)Å,AG)Æ:!GÇ
G)Ç(G)c                 ó  € \         '       g   \        P                  ! R 4      s \        R4      p\         V\        P                  P                  RV4      39   g   \        RV,          4      hVs V '       d   \         R,          # \         # )z/usr/bin/python3zdefault-versionz/usr/binzkthe symlink /usr/bin/python3 does not point to the python3 default version. It must be reset to point to %srT   )rq   r   Úreadlinkr   r   rl   r   )r-   Údebian_defaults   & r   re   re   “   su   € çÓÜŸ;š;Ð'9Ó:Ðä!Ð"3Ó4€NÜ ´·±·±¸ZÈÓ0XÐYÔYÜð *à,:õ;ó <ð 	<ð &ÐßÜ Õ#Ð#äÐr)   c                 ó  € \        4        R p\        V 4      p\        RR7      p\        V4      ^8X  dŠ   VR,          P	                  V4      p. pV F  qeP                  V4       K  	   VP                  VP                  \        R,          4      4      pTP                  4        T'       d   TP                  T4       M\        R4      hT'       g   \        R4      hT'       d   T# T Uu. uF  pRT,          NK  	  up#    Rp Lq; iu upi )	NTr,   r/   rT   r   z/No supported python3 versions in version stringzempty set of versionsr   )re   rR   r9   r2   Úintersectionrs   ro   rp   rq   rr   r   )	rC   r-   r/   rE   Ú	supportedÚvlr'   ry   rM   s	   &&       r   Úrequested_versionsr�   ¤   sá   € äÔØ€HÜ˜7Ó#€EÜ"°Ô5€IÜ
ˆ5ƒz�Q„Ø˜Õ$×1Ñ1°)Ó<ˆØˆÛˆG§¡¨7Ö!3‘xð	Ø—f‘f˜RŸX™XÔ&6°rÕ&:Ó;Ó<ˆGð 	�‰Œ	ßØ�I‰I�gÔøäÐJÓKÐKßÜÐ0Ó1Ð1ßØˆ	á(*Ó+© 1�
˜Q—�©Ñ+Ð+øð	ØŠGüò ,s   Á(+C> Ã)DÃ>Dc                 óˆ  € ^ RI p\        4       pVP                  R4      VP                  R4      ,            Uu. uFH  p\        P                  P	                  V4      V9   g   K)  \        P                  P	                  V4      NKJ  	  ppVP                  4        V '       d   V Uu. uF  qUR,          NK  	  up# V# u upi u upi )r   Nz/usr/bin/python3.[0-9]z/usr/bin/python3.[0-9][0-9]rT   )Úglobr9   r   r   Úbasenamerr   )r-   rƒ   r   rX   r/   rM   s   &     r   Úinstalled_versionsr…   ¿   s¤   € ÛÜ"Ó$€IàŸ™Ð#;Ó<¸t¿y¹yÐIfÓ?gÖgó5Ùg�AÜ—7‘7×#Ñ# AÓ&¨)Ñ3ô $”—‘× Ñ  Ö#Ùgð ð 5ð ‡M�M„OßÙ'Ó(™x˜!�"—�™xÑ(Ð(àˆùò5ùò
 )s   ¸&B:Á##B:Â$B?c                 ón   € \        R 4      pV ! R V 4       4      pRV,          pV'       d   V# RV,           # )Tc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   )r(   )r   Úvers   & r   r!   Ú+minmax_supported_version.<locals>.<genexpr>Î   s   é € ÐNÑ6M¨sÔ% c×*Ð*Ó6Mùr#   z%d.%dÚpython)r9   )Úminmaxr-   Úsupported_versions_listr'   Úversion_strs   &&   r   Úminmax_supported_versionrŽ   Ì   s<   € Ü0°Ó6ÐÙÑNÑ6MÓNÓN€GØ˜GÕ#€KßØÐà˜+Õ%Ð%r)   c                   ó   € ] tR t^ÖtRtR# )ÚControlFileValueError© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r‘   r)   r   r�   r�   Ö   ó   † Ûr)   r�   c                   ó   € ] tR t^ÚtRtR# )ÚMissingVersionValueErrorr‘   Nr’   r‘   r)   r   rš   rš   Ú   r˜   r)   rš   c                óŠ  € RpRpRp\        V RR7      ;_uu_ 4       pV Uu. uF  qfP                  4       NK  	  ppRRR4       X F»  pVR8X  d   VR8w  d   VR8X  d    M¥RpK  VP                  R4      '       d   RpK9  VP                  RV,           4      '       d   TpK[  VP                  4       P                  R4      '       g   K‚  VR8w  d   \	        R	4      hVP                  R
^4      ^,          P                  4       pK½  	  Vf   \        R4      hVR8X  d   Vf   \        R4      hV# V# u upi   + '       g   i     Lÿ; i)zBread the debian/control file, extract the X-Python3-Version
field.Nzutf-8)Úencodingr   ÚSourcezSource:z	Package: zx-python3-version:z1attribute X-Python3-Version not in Source sectionrc   znot a control filez$no X-Python3-Version in control file)r   r:   rm   Úlowerr   r&   r�   rš   )ÚfnÚpkgr'   ÚsversionÚsectionÚcontrolfilerx   Úliness   &&      r   Úextract_pyversion_attributer¥   Þ   s   € ð €GØ€HØ€GÜ	ˆb˜7×	#Õ	# {Ù*5Ó6©+ $—‘–©+ˆÐ6÷ 
$ãˆØ�2Œ:˜' Tœ/Ø�hŒÙØŠGØ�_‰_˜Y×'Ò'ØŠGØ�_‰_˜[¨3Õ.×/Ò/ØŠGØ�Z‰Z‹\×$Ñ$Ð%9×:Ô:Ø˜(Ô"Ü Ð!TÓUÐUØ—z‘z # qÓ)¨!Õ,×2Ñ2Ó4ŠHñ ð ‚Ü#Ð$8Ó9Ð9Ø
ˆh„ØÒÜ*Ð+QÓRÐRØˆØ€Nùò) 7÷ 
$×	#ús   œD2¡D-¹D2Ä-D2Ä2E	c            	      ó	  € ^ RI Hp  Rp V ! VR7      pVP                  RRRRRR	7       VP                  R
RRRRR	7       VP                  RRRRRR	7       VP                  RRRRRR	7       VP                  RRRRR	7       VP                  RRRRR	7       VP                  RRRRRR R!7       VP                  4       w  r4\        P
                  P                  \        P                  ^ ,          4      pVP                  '       d2   \        V4      ^ 8X  d"    \        \        VP                  4      4       R## VP                   '       d@   \        V4      ^ 8X  d0   \        R$P#                  \%        VP                  4      4      4       R## VP&                  '       d@   \        V4      ^ 8X  d0   \        R$P#                  \)        VP                  4      4      4       R## VP*                  '       d6   \        V4      ^ 8X  d&   \        \-        \.        VP                  4      4       R## VP0                  '       d6   \        V4      ^ 8X  d&   \        \-        \2        VP                  4      4       R## VP4                  '       d©   \        V4      ^8:  d™   \        V4      ^ 8X  d   R%pM	V^ ,          p \        P
                  P7                  V4      '       d&   Tp \9        VR&4      p	\;        W“P                  4      p
M\;        WsP                  4      p
\        R$P#                  X
4      4       R## \        P>                  PA                  R,V: R$V: R+24       \        P                  ! ^4       R##   \         d5   p\        R"T,          T4       \        P                  ! ^4        R#p?R## R#p?ii ; i  \<         dA    \        P>                  PA                  T: R'T: R(24       \        P                  ! ^4        Lè\B         d@    \        P>                  PA                  R)T,          4       \%        TP                  4      p
 EL0i ; i  \         dI   p\        P>                  PA                  T: R*T: R+24       \        P                  ! ^4        R#p?R## R#p?ii ; i)-r   )ÚOptionParserz;[-v] [-h] [-d|--default] [-s|--supported] [-i|--installed] )Úusagez-dz	--defaultz!print the default python3 versionÚ
store_truery   )ÚhelpÚactionÚdestz-sz--supportedz$print the supported python3 versionsr   z-rz--requestedz’print the python3 versions requested by a build; the argument is either the name of a control file or the value of the X-Python3-Version attributeÚ	requestedz-iz--installedz.print the installed supported python3 versionsÚ	installedz--min-supportedz+print the minimum supported python3 versionÚminsupportedz--max-supportedz+print the maximum supported python3 versionÚmaxsupportedz-vz	--versionz print just the version number(s)Fr-   )rª   ry   r«   r¬   z%s:Nrb   zdebian/controlr�   z: not a control file: z, zC%s: no X-Python3-Version in control file, using supported versions
z: Ú
zusage: )"Úoptparser§   Ú
add_optionÚ
parse_argsr   r   r„   ÚsysÚargvry   r2   Úprintre   r-   r   Úexitr   rl   r9   r®   r…   r¯   rŽ   Úminr°   Úmaxr­   Úisfiler¥   r�   r�   ÚstderrÚwriterš   )r§   r¨   ÚparserÚoptsÚargsÚprogramÚmsgr/   rŸ   rC   Úvss              r   ÚmainrÄ     s›  € Ý%ØI€EØ6Ù Ô&€FØ
×Ñ�d˜KØ>Ø)°	ð ô ;ð ×Ñ�d˜MØAØ)°ð ô =ð ×Ñ�d˜MðMð *°ð	 ô =ð
 ×Ñ�d˜MØKØ)°ð ô =ð ×ÑÐ'ØHØ)°ð ô @ð ×ÑÐ'ØHØ)°ð ô @ð ×Ñ�d˜KØ=Ø#¨L¸~ð ô Oð ×"Ñ"Ó$�J€DÜ�g‰g×ÑœsŸx™x¨�{Ó+€Gà‡|‡|€|œ˜D›	 Qœð	Ü”/ $×"3Ñ"3Ó4Ö5ð 
��ˆœC ›I¨œNÜˆc�h‰hÔ)¨$×*;Ñ*;Ó<Ó=Ö>Ø	��ˆœC ›I¨œNÜˆc�h‰hÔ)¨$×*;Ñ*;Ó<Ó=Ö>Ø	×	×	Ð	œs 4›y¨Aœ~ÜÔ&¤s¨D×,=Ñ,=Ó>Ö?Ø	×	×	Ð	œs 4›y¨Aœ~ÜÔ&¤s¨D×,=Ñ,=Ó>Ö?Ø	��ˆœC ›I¨œNÜˆt‹9˜Œ>Ø'‰Hà˜A•wˆHð	Ü�w‰w�~‰~˜h×'Ò'Ø�ð?Ü9¸"¸hÓG�GÜ+¨G×5FÑ5FÓG‘Bô (¨×2CÑ2CÓD�Ü�#—(‘(˜2“,Öô
 	�
‰
×Ò«W³eÐ<Ô=Ü�Š�ŽøôO ô 	Ü�%˜'•/ 3Ô'Ü�HŠH�Q�KŠKûð	ûô, -ô  Ü—J‘J×$Ñ$Û(/³ð&5ô 6ä—H’H˜Q–KÜ/ô ?Ü—J‘J×$Ñ$ð &Hà%,õ&-ô .ô ,¨D×,=Ñ,=Ó>“Bð	?ûô ô 	Ü�J‰J×Ñ«7³CÐ8Ô9Ü�HŠH�Q�KŠKûð	úsm   ÄM Ê$$P7 Ë	P7 Ë!N! Ë-0P7 ÍNÍ*)NÎNÎ!AP4Ï)P7 Ï+P4Ï4<P4Ð0P7 Ð3P4Ð4P7 Ð7R
Ñ=RÒR
Ú__main__r   )F)r   r<   rµ   r   rV   r\   Úenvironr   r&   r:   rf   rq   r   r(   rR   rY   r]   r9   re   r�   r…   rŽ   r   r�   rš   r¥   rÄ   r“   )rˆ   s   0r   Ú<module>rÇ      sô   ðó 
Û 	Û 
à€	Ø€ØÐ à—z‘z—~‘~Ð&<¸bÓA×GÑGÈÔLó'ÙLð 58àŸ)™)Ÿ+ô 0�z C§I¡I£K×/Ð/ÙLñ'Ð ð Ð ôò(;ò(ôVô%ô#ôB ô",ô6
ô&ô	˜Jô 	ô	˜zô 	òð>ò<IðV ˆzÔÙ†Fñ ùòy
's   Á CÁC