+
    jHàj9  ã                  óB  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
Ht RtRtR R lt]! ^R	7      R
 R l4       t]! ^R	7      R R l4       tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR tRRR R!/R" R# lltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ lt R0 R1 lt!R2 R3 lt"R4 R5 lt#]$R68X  dO   ]PJ                  ! R7R87      t&]#! ]&4       ]&PO                  4       t(]PR                  ! ](PU                  ](4      4       R# R# )9u>   ``hermes journey`` â€” what Hermes has learned, on a timeline.)ÚannotationsN)Ú	lru_cache)ÚAnyÚOptionalz#E8C463g      @c               ó   € V ^8„  d   QhRR/# )é   Úreturnzdict[str, Any]© )Úformats   "Ú7/home/ubuntu/.hermes/hermes-agent/hermes_cli/journey.pyÚ__annotate__r      s   € ÷ "ñ "˜ñ "ó    c                 ó   € ^ RI Hp  V ! 4       # )é    ©Úbuild_learning_graph)Úagent.learning_graphr   r   s    r   Ú_build_payloadr      s   € Ý9áÓ!Ð!r   )Úmaxsizec               ó   € V ^8„  d   QhRR/# )r   r   Ústrr	   )r
   s   "r   r   r      s   € ÷ ñ �cñ r   c                 óš   €  ^ RI Hp  V ! 4       pVP                  RR4      ;'       g    VP                  RR4      #   \         d     R# i ; i)z@The active skin's primary color (mirrors the TUI theme primary).)Úget_active_skinÚ
ui_primaryÚ Úbanner_titlez#FFD700)Úhermes_cli.skin_enginer   Ú	get_colorÚ	Exception)r   Úskins     r   Ú_primary_hexr       sI   € ðÝ:áÓ ˆØ�~‰~˜l¨BÓ/×\Ð\°4·>±>À.ÐR[Ó3\Ð\øÜô Úðús   ‚%; ¨; »A
Á	A
c               ó   € V ^8„  d   QhRR/# )r   r   zdict[str, str]r	   )r
   s   "r   r   r   #   s   € ÷ 5ñ 5�.ñ 5r   c                 ó2   € ^ RI Hp  V ! \        4       RR7      # )r   ©Úderive_paletteT)Údark)Úagent.learning_graph_renderr$   r    r#   s    r   Ú_paletter'   "   s   € å:áœ,›.¨tÔ4Ð4r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚbaseúOptional[str]ÚalphaÚfloatr   r	   )r
   s   "r   r   r   )   s&   € ÷ Vñ V�ð V eð V°ñ Vr   c                ó’   € ^ RI HpHpHp V '       g   R# VR8¼  d   V # V! V! V! \	        4       R,          4      V! V 4      V4      4      # )r   ©Ú
hex_to_rgbÚmix_rgbÚ
rgb_to_hexNg+‡ÙÎ÷ï?Úbg)r&   r/   r0   r1   r'   )r)   r+   r/   r0   r1   s   &&   r   Ú_fader3   )   s?   € ßKÑKçÙØ�„~ØˆÙ‘g™j¬«°DÕ)9Ó:¹JÀtÓ<LÈeÓTÓUÐUr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Ústyler   r+   r,   r   r*   r	   )r
   s   "r   r   r   3   s!   € ÷ /ñ /�Cð / ð /¨-ñ /r   c                óH   € \        \        4       P                  V 4      V4      # )zLFade the style's base ink toward the background by ``alpha`` (rgba-over-bg).)r3   r'   Úget©r6   r+   s   &&r   Ú_resolver:   3   s   € ä”“—‘ Ó&¨Ó.Ð.r   c               ó    € V ^8„  d   QhRRRR/# )r   Úrgbútuple[int, int, int]r   r,   r	   )r
   s   "r   r   r   8   s   € ÷ 9ñ 9Ð1ð 9°eñ 9r   c                óx   a€ R  R loV3R lV  4       w  rpRV,          RV,          ,           RV,          ,           # )c               ó    € V ^8„  d   QhRRRR/# )r   ÚvalueÚintr   r,   r	   )r
   s   "r   r   Ú)_relative_luminance.<locals>.__annotate__9   s   € ÷ Kñ K�sð K˜uñ Kr   c                ób   € V ^ÿ,          pVR8:  d
   VR,          # VR,           R,          R,          # )éÿ   g#Æ‚¤?g×£p=
×)@g)\�Âõ(¬?gáz®Gáð?g333333@r	   )r@   Úns   & r   ÚchannelÚ$_relative_luminance.<locals>.channel9   s.   € Ø�C�KˆØ œLˆq�5�yÐJ°°Eµ	¸UÕ/BÀsÕ.JÐJr   c              3  ó4   <"  € T F  pS! V4      x € K  	  R # 5i©Nr	   )Ú.0r@   rF   s   & €r   Ú	<genexpr>Ú&_relative_luminance.<locals>.<genexpr>=   s   øé € Ð8±C¨5™ Ÿ˜³Cùs   ƒg¼–�z6Ë?g¥,Cëâæ?g]mÅþ²{²?r	   )r<   ÚredÚgreenÚbluerF   s   &   @r   Ú_relative_luminancerP   8   s6   ø€ õKô 9±CÓ8Ñ€C�Ø�C�<˜& 5�.Õ(¨6°D­=Õ8Ð8r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Ú
foregroundr=   Ú
backgroundr   r,   r	   )r
   s   "r   r   r   A   s$   € ÷ (ñ (Ð 4ð (ÐBVð (Ð[`ñ (r   c                óv   € \        \        V 4      \        V4      3R R7      w  r#VR,           VR,           ,          # )T)Úreverseçš™™™™™©?)ÚsortedrP   )rR   rS   ÚhighÚlows   &&  r   Ú_contrast_ratiorZ   A   s5   € ÜÔ+¨JÓ7Ô9LÈZÓ9XÐYÐcgÔh�I€DØ�4�K˜C $�JÕ'Ð'r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úcolorr*   rS   r   Úminimumr,   r   r	   )r
   s   "r   r   r   F   s(   € ÷ ñ ˜Mð °sð ÀUð È}ñ r   c                ó   € V '       g   R# ^ RI HpHpHp V! V 4      pV! V4      p\	        Wg4      V8¼  d   V # \        V4      R8”  d   RMRp\        ^^4       F-  p	V! WhV	R,          4      p
\	        W§4      V8¼  g   K%  V! V
4      u # 	  V! V4      # )zGLift a foreground toward the readable pole until it clears ``minimum``.Nr.   g      à?rV   )r   r   r   )rD   rD   rD   )r&   r/   r0   r1   rZ   rP   Úrange)r\   rS   r]   r/   r0   r1   Úforeground_rgbÚbackground_rgbÚpoleÚstepÚ	candidates   &&&        r   Ú_ensure_contrastre   F   sŒ   € çÙßKÑKá Ó&€NÙ 
Ó+€NÜ�~Ó6¸'ÔAØˆÜ+¨NÓ;¸cÔA‰9À€DÜ�a˜–ˆÙ˜N°$¸µ+Ó>ˆ	Ü˜9Ó5¸Ö@Ù˜iÓ(Ò(ñ ñ �dÓÐr   c               ó$   € V ^8„  d   QhRRRRRR/# r5   r	   )r
   s   "r   r   r   X   s&   € ÷ dñ d 3ð d¨uð d¸ñ dr   c                óT   € \        \        W4      \        4       R,          \        4      # )zBKeep age tinting without allowing explanatory labels to disappear.r2   )re   r:   r'   Ú_CHARTED_SIGNAL_MIN_CONTRASTr9   s   &&r   Ú_resolve_charted_signalri   X   s   € äœH UÓ2´H³J¸tÕ4DÔFbÓcÐcr   c               ó    € V ^8„  d   QhRRRR/# )r   ÚrowÚlistr\   Úboolr	   )r
   s   "r   r   r   ]   s   € ÷ ñ �dð  4ñ r   c                óz  € ^ RI Hp V! 4       pV  F§  pV^ ,          V^,          re\        V4      ^8”  d
   V^,          MRp\        V4      ^8”  d
   V^,          MRpV'       g   VP                  V4       Ke  V'       d   VP                  V\	        W‡4      R7       K‹  VP                  V\        Wg4      R7       K©  	  V# )r   ©ÚTextç      ð?N©r6   )Ú	rich.textrp   ÚlenÚappendr3   r:   )	rk   r\   rp   ÚtextÚrunÚchunkr6   r+   Úoverrides	   &&       r   Ú_row_to_textrz   ]   s’   € Ýá‹6€DÛˆØ˜1•v˜s 1�vˆuÜ˜c›( Qœ,��A–¨CˆÜ  ›X¨œ\�3�q–6¨tˆßØ�K‰K˜ÖßØ�K‰K˜¤U¨8Ó%;ˆKÖ<à�K‰K˜¤X¨eÓ%;ˆKÖ<ñ ð €Kr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚwidthúOptional[int]Úheightr   ztuple[int, int]r	   )r
   s   "r   r   r   n   s&   € ÷ Iñ I�mð I¨]ð I¸ñ Ir   c                ó®   € \         P                  ! R4      p\        ^(T ;'       g    VP                  4      \        ^
T;'       g    VP                  4      3# )éZ   )r€   é   )ÚshutilÚget_terminal_sizeÚmaxÚcolumnsÚlines)r|   r~   Úsizes   && r   Ú
_term_sizerˆ   n   sC   € Ü×#Ò# HÓ-€DÜˆr�5×(Ð(˜DŸL™LÓ)¬3¨r°6×3GÐ3G¸T¿Z¹ZÓ+HÐHÐHr   c               ó   a€ ^ RI Hp ^ RIHp ^ RIHp VP                  V 4      pVP                  V 4      p	VP                  V 4      p
VP                  V 4      p\        ^V^,
          4      p\        ^V^
,
          \        V
4      ,
          4      pVP                  WWÓR7      p\        V P                  R. 4      4      pR V3R llpV! 4       pVP                  RV! R	\         24      R
7       VP                  RV! R4      R
7       V.pV! R4      p\!        V4       F{  w  ppV'       d   VP                  R4       TP                  VR,          R,           S'       d   \#        VR,          R4      MRR
7       VP                  VR,          V! R4      R
7       K}  	  VP                  V4       V	'       d¬   V! R4      p\!        V	4       Fƒ  w  ppV'       d   VP                  R4       TP                  VR,          R,           S'       d   \%        VP                  R4      R4      MRR
7       VP                  VR,          V! R4      R
7       K…  	  VP                  V4       VP                  V! R4      4       VR,           F1  p\'        VS4      pVP)                  ^4       VP                  V4       K3  	  V! R4      pVP                  VR,          V! R4      R
7       VP                  R\        ^V\        VR,          4      ,
          \        VR,          4      ,
          4      ,          4       VP                  VR,          V! R4      R
7       VP                  V4       \+        V^d,          4      pV! R4      pVP                  RV! R4      R
7       TP                  VR,          ;'       g    RV! \        4      R
7       VP                  RVR,           RV R V R!2V! R4      R
7       VP                  V4       VP                  R". 4      pV'       EdI   VP                  V! R4      4       VP                  V! R#V! R4      R
7      4       VR$,           EF  pV! R4      pVP                  VR%,           R2V! R&4      R
7       S'       d-   \-        VR,          \/        VP                  R'R4      4      4      MRpVP                  VR,           R2VR
7       VP                  \1        VR,          4      VR
7       \1        VR(,          4      pTP                  R\        V4      ^ 8:  d   TMVR),          R*,            2V! R4      R
7       VP                  V4       EK  	  V
 F)  p VP                  V! RV ,           V! R4      R
7      4       K+  	  V! V!  # )+r   )ÚGroupro   )Úlearning_graph_render)ÚcolsÚrowsÚrevealÚnodesc               ó    € V ^8„  d   QhRRRR/# )r   r6   r*   r   r	   )r
   s   "r   r   Ú'_frame_renderable.<locals>.__annotate__„   s   € ÷ (ñ (�-ð ( Mñ (r   c                ó   <€ S'       d   V # R # rI   r	   )r6   r\   s   &€r   ÚstÚ_frame_renderable.<locals>.st„   s   ø€ ßˆuÐ' 4Ð'r   u   âœ¦ Journey zbold rr   u&   Â· learned skills & memories over timeÚgrey62ú  z   ÚglyphÚ r6   rq   NÚlabelr\   Úgrey54r   ÚgridÚstartÚendu   â—· Údateu   â€”ÚvisibleÚ/u    revealed Â· Ú%Úlabelsz  charted signals:Né   NÚkeyÚgrey70r+   Úmeta:Né   Nu   â€¦)Úrich.consolerŠ   rs   rp   Úagentr‹   Úbuild_legendÚcategory_legendÚbuild_summaryÚaxis_labelsr„   rt   Úrender_graphr8   ru   Ú_TITLE_COLORÚ	enumerater:   r3   rz   Úpad_leftÚroundri   r,   r   )!ÚpayloadrŒ   r�   rŽ   r\   rŠ   rp   ÚrenderÚlegendÚ
categoriesÚsummaryÚaxisÚinnerÚ
field_rowsÚframeÚcountr“   ÚtitleÚpartsÚlegend_lineÚiÚitemÚcat_lineÚgrowÚlineÚ	axis_lineÚpctÚfootr¢   rk   Úsignal_styler¦   Ú	line_texts!   &$$$d                            r   Ú_frame_renderablerÊ   s   s“  ø€ Ý"Ýå5à× Ñ  Ó)€FØ×'Ñ'¨Ó0€JØ×"Ñ" 7Ó+€GØ×Ñ˜gÓ&€Dä��D˜1•HÓ€Eä�Q˜˜r�	¤C¨£LÕ0Ó1€JØ×Ñ ¸*ÐÓT€EÜ�—‘˜G RÓ(Ó)€E÷(ð (ñ ‹F€EØ	‡L�L�¡r¨E´,°Ð*@Ó'A€LÔBØ	‡L�LÐ9ÁÀHÃ€LÔNØ�w€Eá�t“*€KÜ˜VÖ$‰ˆˆ4ßØ×Ñ˜uÔ%Ø×Ñ˜4 �=¨3Õ.×V[´h¸tÀG½}ÈcÔ6RÐaeÐÔfØ×Ñ˜4 �=±°8³ÐÖ=ñ	 %ð
 
‡L�L�ÔçÙ˜“:ˆÜ  Ö,‰GˆAˆtßØ—‘ Ô%Ø�O‰O˜D �M¨CÕ/×X]´u¸T¿X¹XÀgÓ=NÐPSÔ7TÐcgˆOÔhØ�O‰O˜D �M±°H³ˆOÖ>ñ	 -ð
 	�‰�XÔà	‡L�L‘�b“ÔØ�f—�ˆÜ˜D %Ó(ˆØ�‰�aÔØ�‰�TÖñ ñ �T“
€IØ×Ñ�T˜'•]©"¨X«,ÐÔ7Ø×Ñ�Sœ3˜q %¬#¨d°7­mÓ*<Õ"<¼sÀ4ÈÅ;Ó?OÕ"OÓPÕPÔQØ×Ñ�T˜%•[©¨8«ÐÔ5Ø	‡L�L�Ôä
�˜•Ó
€CÙ�‹:€DØ‡K�K�™b ›l€KÔ+Ø‡K�K��f•×&Ð& ©b´Ó.>€KÔ?Ø‡K�K�#�e˜IÕ&Ð' q¨¨¨}¸S¸EÀÐCÉ2ÈhË<€KÔXØ	‡L�L�Ôà�Y‰Y�x Ó$€Fß€vØ�‰‘T˜"“XÔØ�‰‘TÐ-±R¸³\ÔBÔCØ˜2—J‘JˆDÙ�t“*ˆCØ�J‰J˜$˜u�+˜ aÐ(±°8³ˆJÔ=çY^Ô'¨¨W­´u¸T¿X¹XÀgÈsÓ=SÓ7TÔUÐdhð ð �J‰J˜$˜w�-˜¨Ð*°,ˆJÔ?Ø�J‰J”s˜4 �=Ó)°ˆJÔ>Ü�t˜F•|Ó$ˆDØ�J‰J˜¤C¨£I°¤O™D¸¸c½ÀUÕ9JÐKÐLÑTVÐW_ÓT`ˆJÔaØ�L‰L˜×ñ ó ˆ	Ø�‰‘T˜$ Õ*±"°X³,Ô?Ö@ñ á�%‰=Ðr   r|   ÚforceFc               ó$   € V ^8„  d   QhRRRRRR/# )r   r\   rm   r|   r}   rË   r	   )r
   s   "r   r   r   Æ   s!   € ÷ =ñ =�tð = Mð =Àñ =r   c                óP   € ^ RI Hp V'       d   RRRR/M/ pV! RRV '       * RV/VB # )	u  A Rich console. ``force`` emits truecolor ANSI even into a captured stream â€” the interactive CLI
grabs that output and re-renders it through prompt_toolkit (raw escapes to a real terminal would
otherwise be swallowed). Mirrors the ``ChatConsole`` idiom in ``cli.py``.
©ÚConsoleÚforce_terminalTÚcolor_systemÚ	truecolorÚno_colorr|   r	   )r¨   rÏ   )r\   r|   rË   rÏ   Úextras   $$$  r   Ú_consolerÕ   Æ   s5   € õ
 %çEJÐ˜t ^°[ÑAÐPR€EÙÑ< œIÐ<¨UÐ<°eÑ<Ð<r   c               ó    € V ^8„  d   QhRRRR/# ©r   Úargszargparse.Namespacer   rA   r	   )r
   s   "r   r   r   Ñ   s   € ÷ ñ Ð&ð ¨3ñ r   c                óÜ  € ^ RI Hp \        V RR4      '       dJ   ^ RIpV! \	        \        V RR4      4      R7      P                  VP                  \        4       4      4       ^ # \        4       p\	        \        V RR4      4      '       * p\        \        V RR4      \        V RR4      4      w  rV\        WE\	        \        V R	R4      4      R
7      pVP                  R4      '       g   VP                  R4       ^ # \        V RR4      '       d   \        WsWVV\        V R^4      R7      # \        \        \        V RR4      ;'       g    R4      RR4      pVP                  \        W5WhVR7      4       ^ # )r   rÎ   ÚjsonFNrÓ   )rÓ   r|   r~   Úforce_color)r\   r|   rË   r�   uy   [grey62]No learning yet â€” use Hermes a while and your learned skills and memories will start mapping out here.[/grey62]ÚplayÚfps)rŒ   r�   r\   rÝ   rŽ   rq   g        ©rŒ   r�   rŽ   r\   )r¨   rÏ   ÚgetattrrÚ   rm   Ú
print_jsonÚdumpsr   rˆ   rÕ   r8   ÚprintÚ_playÚ_clampr,   rÊ   )	rØ   rÏ   rÚ   r³   r\   rŒ   r�   ÚconsolerŽ   s	   &        r   Ú	_cmd_showræ   Ñ   s1  € Ý$äˆt�V˜U×#Ò#Ûáœœg d¨J¸Ó>Ó?Ô@×KÑKÈDÏJÉJÔWeÓWgÓLhÔiÙäÓ€GÜ”W˜T :¨uÓ5Ó6Ô6€EÜœG D¨'°4Ó8¼'À$ÈÐRVÓ:WÓX�J€DÜ˜U´d¼7À4ÈÐX]Ó;^Ó6_Ô`€Gà�;‰;�w×ÒØ�‰ð=ô	
ñ Üˆt�V˜U×#Ò#Ü�W¨DÀ5ÌgÐVZÐ\aÐceÓNfÔgÐgÜ”Eœ' $¨°#Ó6×=Ð=¸#Ó>ÀÀSÓI€FØ‡M�MÔ# G¸TÐX]Ô^Ô_Ùr   c               ó    € V ^8„  d   QhRRRR/# )r   rÝ   rA   r   r	   )r
   s   "r   r   r   ì   s   € ÷ ñ °sð ¸sñ r   c               óð  € ^ RI Hp ^*pR\        ^\        ^<V4      4      ,          p V! V \        ^V4      RR7      ;_uu_ 4       p	\	        V4       FE  p
W§^,
          ,          pV	P                  \        WW;VR7      4       \        P                  ! V4       KG  	  V	P                  \        WVRVR7      4       RRR4       ^ #   + '       g   i     ^ # ; i  \         d    T P                  R4        ^‚# i ; i)r   )ÚLiverq   F)rå   Úrefresh_per_secondÚscreenrÞ   Nz[grey54]interrupted[/grey54])Ú	rich.liveré   r„   Úminr_   ÚupdaterÊ   ÚtimeÚsleepÚKeyboardInterruptrâ   )rå   r³   rŒ   r�   r\   rÝ   ré   ÚframesÚdelayÚliverÀ   rŽ   s   &&$$$$      r   rã   rã   ì   sÑ   € Ýà€FØ”#�aœ˜R ›Ó&Õ&€Eð	Ù˜'´c¸!¸S³kÈ%×PÕPÐTXÜ˜6–]�Ø q�jÕ)�Ø—‘Ô-¨gÀtÐbgÔhÔiÜ—
’
˜5Ö!ñ #ð �K‰KÔ)¨'À4ÐPSÐ[`ÔaÔb÷ Qñ ÷ QÖPñ ûô ô Ø�‰Ð4Ô5Úðús0   §C ÁA3CÂ7C ÃC	ÃC ÃC ÃC5Ã4C5c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úvr,   ÚloÚhir   r	   )r
   s   "r   r   r   þ   s(   € ÷ (ñ (ˆeð (˜ð ( Eð (¨eñ (r   c                ó(   € W8  d   V# \        W4      # rI   )rí   )rö   r÷   rø   s   &&&r   rä   rä   þ   s   € Ø”ˆ2Ð'œS ›ZÐ'r   c               ó    € V ^8„  d   QhRRRR/# r×   r	   )r
   s   "r   r   r     s   € ÷ ñ Ð&ð ¨3ñ r   c                óæ  € ^ RI Hp \        \        \	        V RR4      4      '       * \        \	        V RR4      4      R7      p\        \        4       P                  R. 4      R R7      pV'       g   VP                  R	4       ^ # V Fi  pVP                  R
4      R8X  d   RMRpV! VP                  R4      4      pVP                  RVR,           RV RVP                  RR4       RV R2	4       Kk  	  ^ # )r   )Úformat_daterÓ   FrÛ   )r\   rË   r�   c                ó8   € V P                  R 4      ;'       g    ^ # )Ú	timestamp)r8   )rE   s   &r   Ú<lambda>Ú_cmd_list.<locals>.<lambda>	  s   € ÀAÇEÁEÈ+ÓDV×D[ÐD[ÐZ[ÐD[r   )r¤   z![grey62]No learning yet.[/grey62]ÚkindÚmemoryu   â—†u   â—�rþ   z[grey54]Úidz[/grey54]  r˜   r™   r   z
  [grey54]z	[/grey54])	r&   rü   rÕ   rm   rß   rW   r   r8   râ   )rØ   rü   rå   r�   Únoder—   rž   s   &      r   Ú	_cmd_listr    sÙ   € Ý7ä¤¤g¨d°JÀÓ&FÓ!GÔGÌtÔT[Ð\`ÐboÐqvÓTwÓOxÔy€GÜ”>Ó#×'Ñ'¨°Ó4Ñ:[Ô\€EßØ�‰Ð9Ô:ÙÛˆØŸ™ &Ó)¨XÔ5‘¸5ˆÙ˜4Ÿ8™8 KÓ0Ó1ˆØ�‰˜  d¥ ¨K¸°w¸aÀÇÁÈÐRTÓ@UÐ?VÐV`ÐaeÐ`fÐfoÐpÖqñ ñ r   c               ó    € V ^8„  d   QhRRRR/# )r   Únode_idr   r   zOptional[dict]r	   )r
   s   "r   r   r     s   € ÷ ñ ˜#ð  .ñ r   c                ó�   € ^ RI Hp V! V 4      pVP                  R4      '       g!   \        RVP                  RR4       24       R# V# )zVResolve a node id via ``node_detail``; print the failure and return None when missing.)Únode_detailÚokr–   Úmessagez	not foundN)Úagent.learning_mutationsr	  r8   râ   )r  r	  Údetails   &  r   Ú_lookup_noder    sA   € å4á˜Ó!€FØ�:‰:�d×ÒÜ��6—:‘:˜i¨Ó5Ð6Ð7Ô8ÙØ€Mr   c               ó    € V ^8„  d   QhRRRR/# r×   r	   )r
   s   "r   r   r     s   € ÷ %ñ %Ð(ð %¨Sñ %r   c                óÂ  € ^ RI Hp \        V P                  4      pVf   ^# \	        V RR4      '       gH    \        RVR,          : R24      P                  4       P                  4       R9  d   \        R4       ^#  V! V P                  4      p\        R	VR
,           24       VP                  R4      '       d   ^ # ^#   \        \        3 d    \        R4        ^# i ; i)r   )Údelete_nodeÚyesFz	  Delete r™   z? [y/N] z	  abortedz

  abortedr–   r  r
  )Úyr  )r  r  r  r  rß   ÚinputÚstripÚlowerrâ   ÚEOFErrorrñ   r8   )rØ   r  r  Úress   &   r   Ú_cmd_deleter    sË   € Ý4ä˜$Ÿ)™)Ó$€FØ‚~ÙÜ�4˜ ×&Ò&ð	Ü�y ¨¥Ñ 3°8Ð<Ó=×CÑCÓE×KÑKÓMÐUaÔaÜ�kÔ"Ùð bñ �d—i‘iÓ
 €CÜ	ˆBˆs�9�~ÐÐ
Ô Ø—‘˜—’ˆ1Ð$ 1Ð$øô Ô+Ð,ô 	Ü�-Ô Úð	ús   ¶AB> Â>CÃCc               ó    € V ^8„  d   QhRRRR/# r×   r	   )r
   s   "r   r   r   2  s   € ÷ %ñ %Ð&ð %¨3ñ %r   c                óˆ  € ^ RI Hp \        V P                  4      pVf   ^# \	        VR,          VR,          R8X  d   RMRR7      pVe+   VP                  4       VR,          P                  4       8X  d   \        R4       ^ # V! V P                  V4      p\        R	VR
,           24       VP                  R4      '       d   ^ # ^# )r   )Ú	edit_nodeÚcontentr  Úskillz.mdz.txt)Úsuffixz  no changesr–   r  r
  )r  r  r  r  Ú_open_in_editorr  râ   r8   )rØ   r  r  Úeditedr  s   &    r   Ú	_cmd_editr"  2  s¡   € Ý2ä˜$Ÿ)™)Ó$€FØ‚~ÙÜ˜V IÕ.ÀÀvÅÐRYÔ@Y±uÐ_eÔf€FØ‚~˜Ÿ™›¨6°)Õ+<×+BÑ+BÓ+DÔDÜˆnÔÙÙ
�D—I‘I˜vÓ
&€CÜ	ˆBˆs�9�~ÐÐ
Ô Ø—‘˜—’ˆ1Ð$ 1Ð$r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úinitialr   r  r   r*   r	   )r
   s   "r   r   r   A  s!   € ÷ ñ ˜Sð ¨Sð °]ñ r   c               óž  € ^ RI p^ RIp^ RIpVP                  P	                  R4      ;'       g&    VP                  P	                  R4      ;'       g    RpVP                  RVRRR7      ;_uu_ 4       pVP                  V 4       VP                  pRRR4        VP                  . VP                  4       OXN4       \        VR	R
7      ;_uu_ 4       pVP                  4       uuRRR4        VP                  V4       #   + '       g   i     Lv; i  \         d     # i ; i  + '       g   i     MN; i  \         d>   p\        RT 24        Rp? TP                  X4       R#   \         d     R# i ; iRp?ii ; i  TP                  T4       R#   \         d     R# i ; i   TP                  X4       i   \         d     i i ; i; i)r   NÚEDITORÚVISUALÚviÚwFzutf-8)r  ÚdeleteÚencodingz	utf-8-sig)r+  z  editor failed: )ÚosÚ
subprocessÚtempfileÚenvironr8   ÚNamedTemporaryFileÚwriteÚnameÚcallÚsplitÚopenÚreadÚunlinkÚOSErrorrâ   )	r$  r  r,  r-  r.  ÚeditorÚfhÚpathÚexcs	   &$       r   r   r   A  sw  € ÛÛÛà�Z‰Z�^‰^˜HÓ%×IÐI¨¯©¯©¸Ó)A×IÐIÀT€FØ	×	$Ñ	$ S°ÀÐPWÐ	$×	XÔ	XÐ\^Ø
�‰�ÔØ�w‰wˆ÷ 
YðØ�‰Ð/˜&Ÿ,™,›.Ð/¨$Ð/Ô0Ü�$ ×-Õ-°Ø—7‘7“9÷ .Ñ-ð	Ø�I‰I�d�O÷ 
Y×	Xûô ô 	Ùð	ú÷ .×-ûäô ÜÐ! # Ð'Ô(Ûð	Ø�I‰I�dŽOøÜô 	Úð	þðúð .ð	Ø�I‰I�dŽOøÜô 	Úð	ûð	Ø�I‰I�d�OøÜô 	Ùð	ýs´   Á2C>Â8D5 ÃD"Ã!
D5 Ã,DÃ>D	ÄDÄDÄ"D2	Ä-D5 Ä1F' Ä2D5 Ä5E=Å E8ÅF' ÅE& Å&E5Å4E5Å8E=Å=F' ÆF ÆF$Æ#F$Æ'GÆ)F;Æ:GÆ;G	ÇGÇG	Ç	Gc               ó    € V ^8„  d   QhRRRR/# )r   Úparentzargparse.ArgumentParserr   ÚNoner	   )r
   s   "r   r   r   X  s   € ÷ (ñ (Ð0ð (°Tñ (r   c                ó²  € V P                  R \        RRRR7       V P                  RRRR7       V P                  R	\        ^R
R7       V P                  R\        RRR7       V P                  R\        RRR7       V P                  RRRR7       V P                  RR\        P                  R7       V P                  RRRR7       V P                  \        R7       V P                  RR7      pVP                  RRR7      pVP                  RRR7       VP                  RR\        P                  R7       VP                  \        R7       VP                  RRR7      pVP                  RR R7       VP                  R!R"RR#R7       VP                  \        R7       VP                  R$R%R7      pVP                  RR R7       VP                  \        R7       R# )&z--revealrq   z0..1z=Render the timeline built up to this point (0=oldest, 1=now).)ÚtypeÚdefaultÚmetavarÚhelpz--playÚ
store_truez0Animate the build-up over time (Ctrl-C to stop).)ÚactionrD  z--fpsz4Animation frames per second for --play (default 12).)rA  rB  rD  z--widthNz!Override render width in columns.z--heightzOverride render height in rows.z
--no-colorzDisable color output.z--force-colorz--jsonz-Print the raw graph payload as JSON and exit.)ÚfuncÚjourney_action)Údestrl   z List node ids (for delete/edit).)rD  )rF  r*  z7Delete a learned skill (archived) or memory by node id.r  zINode id (skill name, or a memory id exactly as `journey list` prints it).z-yz--yeszSkip the confirmation prompt.Úeditz5Edit a learned skill or memory by node id in $EDITOR.)Úadd_argumentr,   rA   ÚargparseÚSUPPRESSÚset_defaultsræ   Úadd_subparsersÚ
add_parserr  r  r"  )r>  ÚsubÚp_listÚp_delÚp_edits   &    r   Úregister_clirU  X  sÇ  € Ø
×ÑØœ¨°VØLð ô ð ×Ñ˜¨Ð<nÐÔoØ
×Ñ˜¤c°2Ð<rÐÔsØ
×Ñ˜	¬°TÐ@cÐÔdØ
×Ñ˜
¬°dÐAbÐÔcØ
×Ñ˜¨\Ð@WÐÔXà
×Ñ˜°Ä8×CTÑCTÐÔUØ
×Ñ˜¨Ð<kÐÔlØ
×ÑœYÐÔ'à
×
Ñ
Ð%5Ð
Ó
6€Cà�^‰^˜FÐ)Kˆ^ÓL€FØ
×Ñ˜¨\ÐÔ:Ø
×Ñ˜°Ä8×CTÑCTÐÔUØ
×ÑœYÐÔ'à�N‰N˜8Ð*cˆNÓd€EØ	×Ñ�vÐ$oÐÔpØ	×Ñ�t˜W¨\Ð@_ÐÔ`Ø	×ÑœKÐÔ(à�^‰^˜FÐ)`ˆ^Óa€FØ
×Ñ˜Ð%pÐÔqØ
×ÑœYÐÖ'r   Ú__main__zhermes journey)Úprog)+Ú__doc__Ú
__future__r   rL  r‚   Úsysrï   Ú	functoolsr   Útypingr   r   r¯   rh   r   r    r'   r3   r:   rP   rZ   re   ri   rz   rˆ   rÊ   rÕ   ræ   rã   rä   r  r  r  r"  r   rU  Ú__name__ÚArgumentParserÚ_pÚ
parse_argsÚ_aÚexitrG  r	   r   r   Ú<module>rc     s  ðÙ Då "ã Û Û 
Û Ý ß  à€Ø"Ð õ"ñ �1Ôôó ðñ �1Ôô5ó ð5õVõ/õ
9õ(õ
õ$dõ
õ"Iò
Pðf=°Dð =È÷ =õõ6õ$(õõõ%õ&%õõ.(ð@ ˆzÔØ	×	 Ò	 Ð&6Ô	7€BÙ�ÔØ	�‰‹€BØ‡H‚HˆR�W‰W�R‹[Öñ	 r   