Ë
    ›Qj¡  ã                   ó˜   — d dl mZ d dlZd dlZd dlmZ d dlmZ ddlm	Z	 ddl
mZ ddl
mZmZmZ dd	lmZ g d
¢Z	 dd„Zi ddfd„Zdd„Zy)é    )Úwith_statementN)ÚPromptSession)ÚInMemoryHistoryé   )ÚClickCompleter)Ú	ClickExit)ÚCommandLineParserErrorÚExitReplExceptionÚInvalidGroupFormat)Ú_execute_internal_and_sys_cmds)Úbootstrap_promptÚregister_replÚreplc                 óZ   — t        «       t        | |¬«      ddœ}|j                  |«       |S )z 
    Bootstrap prompt_toolkit kwargs or use user defined values.

    :param group: click Group
    :param prompt_kwargs: The user specified prompt kwargs.
    )Úctxz> )ÚhistoryÚ	completerÚmessage)r   r   Úupdate)ÚgroupÚprompt_kwargsr   Údefaultss       úL/var/www/html/truck-me/venv/lib/python3.12/site-packages/click_repl/_repl.pyr   r      s1   € ô #Ó$Ü# E¨sÔ3Øñ€Hð ‡O�O�MÔ"Ø€Oó    Tc           	      óŒ  ‡— | }| j                   �0t        | j                  t        j                  «      s| j                   }|j                  }|j
                  D ]~  }t        |t        j                  «      sŒ|j
                  |j                     �Œ8|j                  rŒEt        t        |«      j                  › d|j                  › d|j                  › d�«      ‚ t        j                  j                  «       }| j                  j                  }t        |j                  t        j                  «      rK|j                  j                   D �	�
�ci c]'  }	|	j"                  j%                  «       D ]  \  }
}|
|“Œ
 Œ) }}
}	}n|j                  j"                  }|j'                  |d«      }|rt)        |||«      }t+        di |¤ŽŠˆfd„}nt        j                  j,                  }	 	  |«       }|s|rŒnA	 t3        |||«      }|€Œ 	 	 |j8                  }	 ||_        |j;                  |«       ||_        	 ŒO|�|||<   yyc c}}
}	w # t.        $ r Y Œkt0        $ r Y Œ%w xY w# t4        $ r Y Œ„t6        $ r Y Œ>w xY w# ||_        w xY w# t        j<                  $ r}|j?                  «        Y d}~Œwd}~wt@        tB        f$ r Y Œ‹t6        $ r Y Œ”w xY w)a8  
    Start an interactive shell. All subcommands are available in it.

    :param old_ctx: The current Click context.
    :param prompt_kwargs: Parameters passed to
        :py:func:`prompt_toolkit.PromptSession`.

    If stdin is not a TTY, no prompt will be printed, but only commands read
    from stdin.
    Nz 'z+' requires value for an optional argument 'z' in REPL modec                  ó$   •— ‰ j                  «       S ©N)Úprompt)Úsessions   €r   Úget_commandzrepl.<locals>.get_commanda   s   ø€ Ø—>‘>Ó#Ð#r   © )"ÚparentÚ
isinstanceÚcommandÚclickÚGroupÚparamsÚArgumentÚnameÚrequiredr   ÚtypeÚ__name__ÚsysÚstdinÚisattyÚCommandCollectionÚsourcesÚcommandsÚitemsÚpopr   r   ÚreadlineÚKeyboardInterruptÚEOFErrorr   r	   r
   Úprotected_argsÚinvokeÚClickExceptionÚshowr   Ú
SystemExit)Úold_ctxr   Úallow_system_commandsÚallow_internal_commandsÚ	group_ctxr   Úparamr/   Úrepl_command_nameÚsourceÚcmd_nameÚcmd_objÚavailable_commandsÚoriginal_commandr    r$   ÚargsÚold_protected_argsÚer   s                      @r   r   r   '   sÊ  ø€ ð €Ið ‡~�~Ð!¬*°W·_±_ÄeÇkÁkÔ*RØ—N‘Nˆ	à×Ñ€Eð —‘ò 	ˆä�uœeŸn™nÕ-Ø× Ñ  §¡Ñ,Ñ4Ø—N“Nä$Ü˜“;×'Ñ'Ð(¨¨5¯:©:¨,ð 7)Ø).¯©¨°NðDóð ð	ô �Y‰Y×ÑÓ€Fð
  Ÿ™×,Ñ,ÐÜ�)×#Ñ#¤U×%<Ñ%<Ô=ð $×+Ñ+×3Ñ3÷
ð 
àØ%+§_¡_×%:Ñ%:Ó%<ò
ñ "�˜'ð �gÑð
Øð
Ðó 
ð '×.Ñ.×7Ñ7Ðà)×-Ñ-Ð.?ÀÓFÐáÜ(¨°¸yÓIˆÜÑ0 -Ñ0ˆõ	$ô —i‘i×(Ñ(ˆà
ð	Ù!“mˆGñ ÙØàð	Ü1ØÐ0Ð2GóˆDð ˆ|Øð ð	à!*×!9Ñ!9Ðð>Ø+/�	Ô(Ø—‘˜YÔ'à+=�	Õ(ðE ðV Ð#Ø0@ÐÐ,Ò-ð $ùô
øô. !ò 	ÙÜò 	Ùð	ûô  &ò 	Ùä ò 	Ùð	ûð ,>�	Õ(ûÜ×#Ñ#ò 	Ø�F‰F�H‰HûÜœ:Ð&ò 	Ùä ò 	Ùð	úsr   Å,H7Ç H> Ç.I È I< ÈI0 È%I< È>	IÉ	IÉIÉ	I-É"I-É,I-É0	I9É9I< É<KÊJ$Ê$KÊ8KËKc                 ób   —  | j                  |¬«      t        j                  t        «      «       y)z9Register :func:`repl()` as sub-command *name* of *group*.)r)   N)r$   r%   Úpass_contextr   )r   r)   s     r   r   r   –   s"   € à€E‡M�M�t€MÓœU×/Ñ/´Ó5Õ6r   r   )r   )Ú
__future__r   r%   r-   Úprompt_toolkitr   Úprompt_toolkit.historyr   Ú
_completerr   Ú
exceptionsr   r	   r
   r   Úutilsr   Ú__all__r   r   r   r!   r   r   ú<module>rT      sK   ðÝ %ã Û 
Ý (Ý 2å &Ý !ß UÑ UÝ 1ò 8€ð 	óð. °TÐSWólAô^7r   