+
    ois                         ^ RI t R tR tRtR# )    Nc                  @     ^ RI Hp  RpV#   \         d    Rp T# i ; i)r   )_messageTF)google._upbr   ImportError)r   has_upbs     n/Users/tonyclaw/.openclaw/workspace/scripts/youtube-playlists/venv/lib/python3.14/site-packages/proto/utils.pyr   r      s1    ( N  Ns    c                X   a  \         P                  ! S 4      V 3R l4       p\        V4      # )zMake the callable into a cached property.

Similar to @property, but the function will only be called once per
object.

Args:
    fx (Callable[]): The property function.

Returns:
    Callable[]: The wrapped function.
c                   < \        V R 4      '       g   \        P                  V R / 4       SP                  V P                  9  d    S! V 4      V P                  SP                  &   V P                  SP                  ,          # )_cached_values)hasattrobject__setattr____name__r   )selffxs   &r   innercached_property.<locals>.inner)   si     t-..t%5r: ;;d111/1$xD, ""2;;//    )	functoolswrapsproperty)r   r   s   f r   cached_propertyr      s,     __R0 0 E?r   )r   )r   r   r   __all__ r   r   <module>r      s    < r   