+
    "i"                    f    R t ^ RIHt ^ RIHt ^ RIHtHtHt ]! RR7      R R l4       t	R R	 lt
R
# )zVersion utils.)annotations)	lru_cache)AwesomeVersionAwesomeVersionExceptionAwesomeVersionStrategyi   )maxsizec               $    V ^8  d   QhRRRRRR/# )   leftstrrightreturnzbool | None )formats   "//config/custom_components/hacs/utils/version.py__annotate__r      s!       S [     c                     \        V 4      p\        V4      pVP                  \        P                  8w  d$   VP                  \        P                  8w  d   W#8  # R#   \        \
        \        3 d     R# i ; i)MReturn a bool if source is newer than target, will also be true if identical.N)r   strategyr   UNKNOWNr   AttributeErrorKeyError)r
   r   left_versionright_versions   &&  r   version_left_higher_then_rightr      sq    	%d+&u-!!%;%C%CC&&*@*H*HH//  $^X> s   AA A65A6c               $    V ^8  d   QhRRRRRR/# )r	   r
   r   r   r   boolr   )r   s   "r   r   r      s!     7 7# 7c 7d 7r   c                (    W8X  d   R# \        W4      # )r   T)r   )r
   r   s   &&r   'version_left_higher_or_equal_then_rightr      s    })$66r   N)__doc__
__future__r   	functoolsr   awesomeversionr   r   r   r   r   r   r   r   <module>r$      s6     "   4  7r   