
    g"                    Z    S r SSKJr  SSKJr  SSKJrJrJr  \" SS9S
S j5       r	SS jr
g	)zVersion utils.    )annotations)	lru_cache)AwesomeVersionAwesomeVersionExceptionAwesomeVersionStrategyi   )maxsizec                     [        U 5      n[        U5      nUR                  [        R                  :w  a"  UR                  [        R                  :w  a  X#:  $ g! [        [
        [        4 a     gf = f)MReturn a bool if source is newer than target, will also be true if identical.N)r   strategyr   UNKNOWNr   AttributeErrorKeyError)leftrightleft_versionright_versions       //config/custom_components/hacs/utils/version.pyversion_left_higher_then_rightr      sq    	%d+&u-!!%;%C%CC&&*@*H*HH//  $^X> s   AA A10A1c                $    X:X  a  g[        X5      $ )r
   T)r   )r   r   s     r   'version_left_higher_or_equal_then_rightr      s    })$66    N)r   strr   r   returnzbool | None)r   r   r   r   r   bool)__doc__
__future__r   	functoolsr   awesomeversionr   r   r   r   r    r   r   <module>r       s6     "   4  7r   