+
    „WÝj÷  ã                  óF   € R t ^ RIHt ^ RIHt R R ltR R ltR R ltR	# )
u²  Which daemon a named-profile client must start when nothing serves its home.

A ``<root>/profiles/<name>`` home that the default multiplexer serves has no daemon of its own.
When the multiplexer is down (restart, update, crash) the profile looks ``absent`` and the ensure
loop would spawn a per-profile gateway for it â€” a second owner that answers this client and then
blocks the multiplexer's next all-or-nothing reserve (``Cannot reserve gateway profiles``). The
client must start the multiplexer instead, so the start target is decided here from the same facts
the multiplexer boots on (``gateway_multiplex_mode.host_serves_named_profile``): a profile's own
``gateway.standalone: true``, the default profile's explicit ``true``, or â€” when the flag is unset or
the retired ``false`` that boot settles like unset â€” the served set the last multiplexer recorded in
the root's ``gateway_state.json`` (a standalone default gateway clears it).
)Úannotations)ÚPathc               ó    € V ^8„  d   QhRRRR/# ©é   Úhomer   ÚreturnzPath | None© )Úformats   "ÚXC:\Users\johnn\AppData\Local\hermes\hermes-agent\hermes_cli\gateway_runtime_multiplex.pyÚ__annotate__r      s   € ÷ *ñ *˜tð *¨ñ *ó    c                óf   € ^ RI Hp V! V 4      f   R# V P                  P                  pW 8w  d   V# R# )zPDefault root that may multiplex *home*, when *home* is a named profile under it.)Únamed_profile_homeN)Úhermes_constantsr   Úparent)r   r   Úroots   &  r   Úmultiplexer_root_forr      s1   € å3Ù˜$ÓÒ'ÙØ�;‰;×Ñ€DØ”<ˆ4Ð) TÐ)r   c               ó    € V ^8„  d   QhRRRR/# r   r	   )r
   s   "r   r   r      s   € ÷ Lñ L˜Dð L [ñ Lr   c                óP   € \        V 4      pVf   R# ^ RIHp V! W4      RJ d   R# T# )aa  The root whose gateway must serve named profile *home* when nothing records a verdict.

``hermes gateway run`` refuses a ``profiles/<name>`` home a gateway of its own unless it authored
``gateway.standalone: true`` (or passes ``--force``); the retired ``multiplex_profiles: false``
no longer opts out, so only a standalone profile keeps its own daemon.
N©Úhost_serves_named_profileF)r   Ú!hermes_cli.gateway_multiplex_moder   )r   r   r   s   &  r   Úimplied_host_rootr      s0   € ô   Ó%€DØ‚|ÙÝKÙ,¨TÓ8¸EÓAˆ4ÐKÀtÐKr   c               ó    € V ^8„  d   QhRRRR/# r   r	   )r
   s   "r   r   r   )   s   € ÷ Hñ H $ð H¨;ñ Hr   c                óŠ  € \        V 4      pVf   R# ^ RIHp V! W4      pVe   V'       d   V# R# ^ RIHp ^ RIHp V! VR,          4      ;'       g    / P                  R4      p\        V\        4      '       g   R# V Uu0 uF  qw'       g   K  V! \        V4      4      kK  	  ppV! V P                  4      V9   d   V# R# u upi )a   The root whose (possibly stopped) multiplexer serves *home*, else None.

``hermes_cli.gateway.named_profile_served_by_running_multiplexer`` answers the live question;
this is its offline twin for the moment no gateway runs, deciding from the boot policy
(:func:`hermes_cli.gateway_multiplex_mode.host_serves_named_profile`): a standalone secondary is
never served, an explicit ``true`` serves the rest, and an unset or retired ``false`` flag falls
back to the ``served_profiles`` the last multiplexer recorded. No evidence keeps it unanswered.
Nr   )Úread_runtime_status)Únormalize_profile_namezgateway_state.jsonÚserved_profiles)r   r   r   Úgateway.statusr   Úhermes_cli.profilesr   ÚgetÚ
isinstanceÚlistÚstrÚname)	r   r   r   Úverdictr   r   ÚservedÚpÚnamess	   &        r   Úmultiplexer_serves_homer*   )   s´   € ô   Ó%€DØ‚|ÙÝKÙ'¨Ó3€GØÒßˆtÐ( DÐ(Ý2Ý:Ù! $Ð)=Õ"=Ó>×DÐDÀ"×IÑIÐJ[Ó\€FÜ�fœd×#Ò#ÙÙ5;ÓA±V°»qÔ+Ñ#¤C¨£FÖ+±V€EÐAÙ)¨$¯)©)Ó4¸Ô=ˆ4ÐGÀ4ÐGùò Bs   Â 	C ÂC N)Ú__doc__Ú
__future__r   Úpathlibr   r   r   r*   r	   r   r   Ú<module>r.      s#   ðñõ #å õ*õL÷Hr   