B ”­±ŽÝ¢ã@s:ddlZGdd„dƒZGdd„deƒZGdd„deƒZdS)éNc@sFeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)ÚVersionNcCs|r| |¡dS)N)Úparse)ÚselfÚvstring©rú4/opt/alt/python37/lib/python3.7/distutils/version.pyÚ__init__&szVersion.__init__cCsd|jjt|ƒfS)Nz %s ('%s'))Ú __class__Ú__name__Ústr)rrrrÚ__repr__*szVersion.__repr__cCs| |¡}|tkr|S|dkS)Nr)Ú_cmpÚNotImplemented)rÚotherÚcrrrÚ__eq__-s zVersion.__eq__cCs| |¡}|tkr|S|dkS)Nr)r r)rrrrrrÚ__lt__3s zVersion.__lt__cCs| |¡}|tkr|S|dkS)Nr)r r)rrrrrrÚ__le__9s zVersion.__le__cCs| |¡}|tkr|S|dkS)Nr)r r)rrrrrrÚ__gt__?s zVersion.__gt__cCs| |¡}|tkr|S|dkS)Nr)r r)rrrrrrÚ__ge__Es zVersion.__ge__)N) r Ú __module__Ú __qualname__rr rrrrrrrrrrs rc@s8eZdZe dejejB¡Zdd„Zdd„Z dd„Z dS) Ú StrictVersionz)^(\d+) \. (\d+) (\. (\d+))? ([ab](\d+))?$cCsŽ|j |¡}|std|ƒ‚| ddddd¡\}}}}}|rTttt|||gƒƒ|_nttt||gƒƒd|_|r„|dt|ƒf|_nd|_dS) Nzinvalid version number '%s'ééééé)rr) Ú version_reÚmatchÚ ValueErrorÚgroupÚtupleÚmapÚintÚversionÚ prerelease)rrrÚmajorÚminorZpatchr&Zprerelease_numrrrr†s  zStrictVersion.parsecCsb|jddkr*d tt|jdd…ƒ¡}nd tt|jƒ¡}|jr^||jdt|jdƒ}|S)NrrÚ.r)r%Újoinr#r r&)rrrrrÚ__str__™s zStrictVersion.__str__cCs˜t|tƒrt|ƒ}|j|jkr2|j|jkr.dSdS|jsB|jsBdS|jrR|jsRdS|jsb|jrbdS|jr”|jr”|j|jkr~dS|j|jkrŽdSdSndS)Néÿÿÿÿrr)Ú isinstancer rr%r&)rrrrrr ¦s&         zStrictVersion._cmpN) r rrÚreÚcompileÚVERBOSEÚASCIIrrr+r rrrrr]s % rc@sDeZdZe dej¡Zd dd„Zdd„Zdd„Z d d „Z d d „Z dS)Ú LooseVersionz(\d+ | [a-z]+ | \.)NcCs|r| |¡dS)N)r)rrrrrr.szLooseVersion.__init__c Csb||_dd„|j |¡Dƒ}x:t|ƒD].\}}yt|ƒ||<Wq&tk rRYq&Xq&W||_dS)NcSsg|]}|r|dkr|‘qS)r)r)Ú.0Úxrrrú 8sz&LooseVersion.parse..)rÚ component_reÚsplitÚ enumerater$r r%)rrZ componentsÚiÚobjrrrr3s zLooseVersion.parsecCs|jS)N)r)rrrrr+CszLooseVersion.__str__cCs dt|ƒS)NzLooseVersion ('%s'))r )rrrrr GszLooseVersion.__repr__cCsFt|tƒrt|ƒ}|j|jkr"dS|j|jkr2dS|j|jkrBdSdS)Nrr,r)r-r r2r%)rrrrrr Ks    zLooseVersion._cmp)N) r rrr.r/r0r6rrr+r r rrrrr2 s ! r2)r.rrr2rrrrÚs>/