o ?Og0@s< ddlZGdddZGdddeZGdddeZdS)Nc@sHeZdZ dddZddZddZdd Zd d Zd d ZddZ dS)VersionNcC|r ||dSdSNparseselfvstringr 8/opt/alt/python310/lib64/python3.10/distutils/version.py__init__&zVersion.__init__cCsd|jjt|fS)Nz %s ('%s')) __class____name__strrr r r __repr__*szVersion.__repr__cCs||}|tur |S|dkSNr_cmpNotImplementedrothercr r r __eq__- zVersion.__eq__cCs||}|tur |S|dkSrrrr r r __lt__3rzVersion.__lt__cCs||}|tur |S|dkSrrrr r r __le__9rzVersion.__le__cCs||}|tur |S|dkSrrrr r r __gt__?rzVersion.__gt__cCs||}|tur |S|dkSrrrr r r __ge__ErzVersion.__ge__r) r __module__ __qualname__r rrrrrrr r r r rs  rc@s:eZdZ edejejBZddZddZ ddZ dS) StrictVersionz)^(\d+) \. (\d+) (\. (\d+))? ([ab](\d+))?$cCs|j|}|std||ddddd\}}}}}|r*ttt|||g|_n ttt||gd|_|rC|dt|f|_dSd|_dS) Nzinvalid version number '%s')rr) version_rematch ValueErrorgrouptuplemapintversion prerelease)rr r)majorminorZpatchr0Zprerelease_numr r r rs    zStrictVersion.parsecCsb|jddkrdtt|jdd}n dtt|j}|jr/||jdt|jd}|S)Nr$r.r#)r/joinr-rr0rr r r __str__s zStrictVersion.__str__cCst|tr t|}nt|tstS|j|jkr!|j|jkrdSdS|js)|js)dS|jr1|js1dS|js9|jr9dS|jrQ|jrS|j|jkrGdS|j|jkrOdSdSdSdS)Nr#r) isinstancerr"rr/r0rrr r r rs*           zStrictVersion._cmpN) rr r!recompileVERBOSEASCIIr(rr5rr r r r r"]s#  r"c@sFeZdZ edejZd ddZddZddZ d d Z d d Z dS) LooseVersionz(\d+ | [a-z]+ | \.)NcCrrrrr r r r 0r zLooseVersion.__init__c CsZ||_dd|j|D}t|D]\}}zt|||<Wqty'Yqw||_dS)NcSsg|] }|r |dkr|qS)r3r ).0xr r r :s z&LooseVersion.parse..)r component_resplit enumerater.r*r/)rr Z componentsiobjr r r r5s  zLooseVersion.parsecCs|jSr)r rr r r r5EszLooseVersion.__str__cCs dt|S)NzLooseVersion ('%s'))rrr r r rIs zLooseVersion.__repr__cCsVt|tr t|}nt|tstS|j|jkrdS|j|jkr!dS|j|jkr)dSdS)Nrr6r#)r7rr=rr/r8r r r rMs      zLooseVersion._cmpr) rr r!r9r:r;rAr rr5rrr r r r r= s  r=)r9rr"r=r r r r s  >1