o
    ˷eg5                     @   s	  U d Z ddlmZmZmZ ddlmZ ddgZi dejdej	d	ej
d
ejdejdejdejdejdejdejdejdejdejdejdejdejdeji dejdejdejdejdejdejdejdej d ej!d!ej"d"ej#d#ej$d$ej%d%ej&d&ej'd'ej(d(eji d)ej)d*ej*d+ej+d,ej,d-ej-d.ej.d/ej)d0ej,d1ej/d2ej/d3ej/d4ej0d5ej1d6ej2d7ej3d8ej0d9ej1i d:ej2d;ej3d<ej4d=ej0d>ej1d?ej2d@ej3dAej4dBej5dCej6dDej7dEej8dFej9dGej:dHej;dIej<dJej=i dKej>dLej?dMej@dNejAdOejBdPejCdQej<dRej=dSej?dTej@dUejAdVejBdWejCdXejDdYejEdZejFd[ejGi d\ejd]ejd^ejd_ejHd`ejIdaejJdbejKdcejLddejMdeejNdfejOdgejPdhejQdiejRdjejSdkejTdlejUi dmejVdnejWdoejXdpejYdqejZdrej[dsej\dtej]duej^dvej_dwej`dxejadyejadzejbd{ejcd|ejdd}ej#ej*fi d~ej#ej+fdej#ej-fdej#ej.fdej#ejefdej#ejbfdej#ejcfdej#ejdfdejfdejgdejhdejidejjdejkdej#ejlfdej#ejhfdej#ejhfdej#ejmfi dej#ejkfdej#ejkfdejndejodejpdejqdej)dej,dejndejodejpdejqdej,dej)dejrdejsdejti dejudejvdejwdej#ejnfdej#ejofdej#ejpfdej#ejqfdej#ej,fdej#ej)fdej#ejsfdej#ejrfdej#ejtfdej#ejufdej#ejvfdej#ejwfdejxdejyi dejzdej{dej|dej}dejxdejydejzdej{dejzdej{dej~dejdejdejdejdejdej#ejyfi dej#ejxfdej#ejzfdej#ej{fdej#ej|fdej#ej}fdej#ej~fdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejnfdej#ejofdej#ejpfdej#ejqfdejdeji dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdeji dejdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfdej#ejfej#ejfej#ejfej#ejfej#ejfdZeeeeeedf f f ed< deeef fddZe ZdS )a  
Mappings from VT100 (ANSI) escape sequences to the corresponding prompt_toolkit
keys.

We are not using the terminfo/termcap databases to detect the ANSI escape
sequences for the input. Instead, we recognize 99% of the most common
sequences. This works well, because in practice, every modern terminal is
mostly Xterm compatible.

Some useful docs:
- Mintty: https://github.com/mintty/mintty/blob/master/wiki/Keycodes.md
    )DictTupleUnion   )KeysANSI_SEQUENCESREVERSE_ANSI_SEQUENCES 	
   z[1~z[2~z[3~z[4~z[5~z[6~z[7~z[8~z[Zz	z[~zOPzOQzORzOSz[[Az[[Bz[[Cz[[Dz[[Ez[11~z[12~z[13~z[14~z[15~z[17~z[18~z[19~z[20~z[21~z[23~z[24~z[25~z[26~z[28~z[29~z[31~z[32~z[33~z[34~z[1;2Pz[1;2Qz[1;2Sz[15;2~z[17;2~z[18;2~z[19;2~z[20;2~z[21;2~z[23;2~z[24;2~z
[27;2;13~z
[27;5;13~z
[27;6;13~z[1;5Pz[1;5Qz[1;5Sz[15;5~z[17;5~z[18;5~z[19;5~z[20;5~z[21;5~z[23;5~z[24;5~z[1;6Pz[1;6Qz[1;6Sz[15;6~z[17;6~z[18;6~z[19;6~z[20;6~z[21;6~z[23;6~z[24;6~z[62~z[63~z[200~z[Ez[Gz[3;2~z[5;2~z[6;2~z[2;3~z[3;3~z[5;3~z[6;3~z[2;4~z[3;4~z[5;4~z[6;4~z[3;5~z[5;5~z[6;5~z[3;6~z[5;6~z[6;6~z[2;7~z[5;7~z[6;7~z[2;8~z[5;8~z[6;8~z[Az[Bz[Cz[Dz[Hz[FzOAzOBzOCzODzOFzOHz[1;2Az[1;2Bz[1;2Cz[1;2Dz[1;2Fz[1;2Hz[1;3Az[1;3Bz[1;3Cz[1;3Dz[1;3Fz[1;3Hz[1;4Az[1;4Bz[1;4Cz[1;4Dz[1;4Fz[1;4Hz[1;5Az[1;5Bz[1;5Cz[1;5Dz[1;5Fz[1;5Hz[5Az[5Bz[5Cz[5DzOczOdz[1;6Az[1;6Bz[1;6Cz[1;6Dz[1;6Fz[1;6Hz[1;7Az[1;7Bz[1;7Cz[1;7Dz[1;7Fz[1;7Hz[1;8Az[1;8Bz[1;8Cz[1;8Dz[1;8Fz[1;8Hz[1;9Az[1;9Bz[1;9Cz[1;9Dz[1;5pz[1;5qz[1;5rz[1;5sz[1;5tz[1;5uz[1;5vz[1;5wz[1;5xz[1;5yz[1;6pz[1;6qz[1;6rz[1;6sz[1;6tz[1;6uz[1;6vz[1;6wz[1;6xz[1;6yz[1;7pz[1;7qz[1;7rz[1;7sz[1;7tz[1;7uz[1;7vz[1;7wz[1;7xz[1;7yz[1;8pz[1;8qz[1;8rz[1;8sz[1;8tz[1;8u)z[1;8vz[1;8wz[1;8xz[1;8y.returnc                  C   s4   i } t  D ]\}}t|ts|| vr|| |< q| S )zc
    Create a dictionary that maps prompt_toolkit keys back to the VT100 escape
    sequences.
    )r   items
isinstancetuple)resultsequencekey r2   a/var/www/ideatree/venv/lib/python3.10/site-packages/prompt_toolkit/input/ansi_escape_sequences.py_get_reverse_ansi_sequencesH  s   
r4   N)__doc__typingr   r   r   keysr   __all__	ControlAtControlAControlBControlCControlDControlEControlFControlGControlHControlIControlJControlKControlLControlMControlNControlOControlPControlQControlRControlSControlTControlUControlVControlWControlXControlYControlZEscapeShiftEscapeControlBackslashControlSquareCloseControlCircumflexControlUnderscoreHomeInsertDeleteEndPageUpPageDownBackTabF1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24	ControlF1	ControlF2	ControlF4	ControlF5	ControlF6	ControlF7	ControlF8	ControlF9
ControlF10
ControlF11
ControlF12
ControlF13
ControlF14
ControlF16
ControlF17
ControlF18
ControlF19
ControlF20
ControlF21
ControlF22
ControlF23
ControlF24ScrollUp
ScrollDownBracketedPasteIgnoreShiftDeleteShiftPageUpShiftPageDownShiftInsertControlDeleteControlPageUpControlPageDownControlShiftDeleteControlShiftPageUpControlShiftPageDownControlInsertControlShiftInsertUpDownRightLeftShiftUp	ShiftDown
ShiftRight	ShiftLeftShiftEnd	ShiftHome	ControlUpControlDownControlRightControlLeft
ControlEndControlHomeControlShiftDownControlShiftUpControlShiftRightControlShiftLeftControlShiftEndControlShiftHomeControl0Control1Control2Control3Control4Control5Control6Control7Control8Control9ControlShift0ControlShift1ControlShift2ControlShift3ControlShift4ControlShift5ControlShift6ControlShift7ControlShift8ControlShift9r   str__annotations__r4   r   r2   r2   r2   r3   <module>   s   	
 !"*-./01234567:;<=>?@ABCDEFGHIJKLMNOPQRSTUVXY[\]^_`abcijknoqrstuvwxyz{}~             	  
                                     !  "  #  $  %  &  '  (  )  -  .  /  0  1  2  7  8  9  :  ;  <  >  ?  @  A  B  C  M  N  O  P  Q  R  T  U  V  W  X  Y  [  \  ]  ^  _  `  d  e  f  g  h  i  k  l  m  n  o  p  r  s  t  u  v  w  y  z  {  |  }  ~                       	    
                                                                                             !    "    #    $    %    &    '    (    )    *    +    
,


  (  3
