Your IP : 18.223.100.85


Current Path : /opt/alt/python313/lib64/python3.13/_pyrepl/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/_pyrepl/__pycache__/windows_console.cpython-313.pyc

�

1}g+J���%SSKJr SSKrSSKrSSKrSSKrSSKrSSKJr SSK	r	SSK
JrJrJ
r
JrJrJrJrJrJr SSK	JrJrJr SSKJrJr SSKJr SS	KJr SS
K	JrJrJrJ r  Sr$\$(aSSK%J&r& 0SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_S'S(_S)S*_S+S,_S-S._S/S0_S1S2_S3S4S5S6S7S8S9S:S;S<S=.
Er'S>\(S?'S@r)SAr*SBr+SCr,SDr-SEr."SFSG\/5r0"SHSI\5r1"SJSK\5r2"SLSM\5r3"SNSO\5r4"SPSQ\5r5"SRSS\	R(5r6"STSU\	R(5r7"SVSW\	R,5r8"SXSY\5r9Sr:SZr;S[r<S\r=S]r>Sr?S\r@S]rAS^rBS_rC\R�S`:XGa\"SaSbSc9rE\R�R�rG\/\GlH\\GlI\ER�rJ\\	R*"\25/\JlH\\JlI\ER�rL\\"\
5\"\
5\\"\45/\LlH\\LlI\ER�rM\\/\MlH\\MlI\ER�rO\\"\95\\"\5/\OlH\\OlI\ER�rP\\"\5/\PlH\\PlI\ER�rQ\/\QlH\\QlI\G"\C5rR\G"\B5rSgSdrT\TrG\TrJ\TrL\TrM\TrO\TrP\TrQSrRSrSg! SSK	J!rJ"r SeSjr"S
S\#5r GNc=f)f�)�annotationsN)�deque)	�_COORD�WORD�
SMALL_RECT�BOOL�HANDLE�CHAR�DWORD�WCHAR�SHORT)�	Structure�POINTER�Union�)�Event�Console)�trace)�wlen)�GetLastError�WinDLL�windll�WinError)�CDLL�cdllc��g)N�*�r��>/opt/alt/python313/lib64/python3.13/_pyrepl/windows_console.pyrr4s��rc�"�\rSrSrSSSjjrSrg)r�7Nc��XlX lg�N)�err�descr)�selfr%r&s   r �__init__�WinError.__init__8s���H��Jr)r&r%r$)r%�
int | Noner&z
str | None�return�None)�__name__�
__module__�__qualname__�__firstlineno__r(�__static_attributes__rrr rr7s��	�	rrF)�IO�#�end�$�home�%�left�&�up�'�right�(�down�.�delete�p�f1�q�f2�r�f3�s�f4�t�f5�u�f6�v�f7�w�f8�x�f9�y�f10�f11�f12�f13�f14�f15�f16�f17�f18�f19�f20)
�z�{�|�}�~�����zdict[int, str]�VK_MAPzz[{}Dz[{}Cz[{}Az[{}Bzc��\rSrSrSrg)�_error�jrN)r-r.r/r0r1rrr rkrkjs��rrkc�^�\rSrSrS!S"U4SjjjrS#Sjr\S5rS$SjrS%S&Sjjr	Sr
SrS	rS
r
S'Sjr\S(Sj5rS)S
jrS)SjrS)SjrS*SjrS*SjrS+SjrS(SjrS,SjrS-S.SjjrS-S/SjjrS0SjrS)SjrS)SjrS)SjrS)SjrS)SjrS1Sjr S2Sjr!S)Sjr"S r#U=r$$)3�WindowsConsole�nc�<>�[TU]XX45 [[[[
-[-5 /UlSUlSUl	SUl
[5Ul[R"URS5Ulg!["a
 SUlgf=f)N�P�r�w)�superr(�SetConsoleMode�	OutHandle�ENABLE_WRAP_AT_EOL_OUTPUT�ENABLE_PROCESSED_OUTPUT�"ENABLE_VIRTUAL_TERMINAL_PROCESSING�screen�width�height�_WindowsConsole__offsetr�event_queue�io�_WindowsConsoleIO�	output_fd�out�
ValueError)r'�f_in�f_out�term�encoding�	__class__s     �r r(�WindowsConsole.__init__os����	����d�5���%�%�
&�0�
1�	
�"$�����
������
�).����	��+�+�D�N�N�C�@�D�H���	��D�H�	�s� &B�B�Bc���Uup4[UR5[[U5UR5:a�UR	5 URS[UR5S-
5 UR
S5 S[UR54UlURRS5 [UR5[[U5UR5:aM�URupVUR=pxURn	XH:aUnO�XHU	-:�a�XI-
S-nX�-
n
URX�R55 URSURSU
-4UlU=RU
-
sl	[U
5HnURRS5 M  O@US:�a:[U5X�-:a)[[U5U	-
S5nURS5 URXwU	-nXX�-n
X�l	UR	5 [[X�U	-5X�5H"unnnUU:wdMURX�UU5 M$ [U
5nU[U5:aAURSU5 SU4UlUR!5 US-
nU[U5:aMAUR#5 XlUR%X45 g)z�
Refresh the console screen.

Parameters:
- screen (list): List of strings representing the screen contents.
- c_xy (tuple): Cursor position (x, y) on the screen.
rr�
�N)�lenrz�minr|�_hide_cursor�_move_relative�_WindowsConsole__write�_WindowsConsole__posxy�appendr}�_scroll�_getscrollbacksize�range�max�zip�#_WindowsConsole__write_changed_line�
_erase_to_end�_show_cursor�move_cursor)r'rz�c_xy�cx�cy�px�py�
old_offset�offsetr|�scroll_lines�i�oldscr�newscr�y�oldline�newlines                 r �refresh�WindowsConsole.refresh�sx������$�+�+���S��[�$�+�+�!>�>���������3�t�{�{�#3�a�#7�8��L�L����c�$�+�+�.�.�D�L��K�K���r�"��$�+�+���S��[�$�+�+�!>�>������"�m�m�+�
������;��F�
�F�?�
"��[�1�_�F�!�.�L�

�L�L��'>�'>�'@�A��<�<��?�D�L�L��O�l�,J�J�D�L��M�M�\�)�M��<�(�����"�"�2�&�)�
�a�Z�C��K�&�/�9���V��v�-�q�1�F��M�M�"�����Z�v�*=�>�����1���
�����
��v���/��
@�	
�
����'�!��)�)�!�g�r�B�A�
��K���#�f�+�o�����1�%��a�4�D�L���� �
��F�A�	�#�f�+�o�	
���������� rc�p�SSKnUR5(aUR$g![a gf=f)Nr)�nt�ImportError�_is_inputhook_installed�
_inputhook)r'r�s  r �
input_hook�WindowsConsole.input_hook�s>��	���%�%�'�'��=�=� �(���	��	�s�(�
5�5c���[[U5[U55nSnSnSnSn	UHn
X�:�a OU	[U
5-
n	US-
nM Xu:a@X&X6:Xa6X6S:wa.U[X65-
nUS-
nXu:aX&X6:Xa
X6S:waM.UR5 URXq5 [U5[U5:�aUR	5 URX6S5 [U5UR:Xa"URSUS-5 SUS-4Ulg[U5U4UlSU;dXRS:wdSU;aURSU5 gg)Nrr��)	r�rr�r�r�r�r{r�r�)r'r�r�r��px_coord�minlen�x_pos�x_coord�px_pos�j�cs           r �__write_changed_line�#WindowsConsole.__write_changed_line�si���T�'�]�D��M�2��������
���A��}��
��a��L�A��a�K�F�	�
����'�.�0���&�(��t�G�N�+�+�G��Q�J�E�
����'�.�0���&�(�
	
�������G�'���=�4��=�(���� ����W�V�_�%���=�D�J�J�&�����1�q�5�)��a�!�e�8�D�L���=�!�+�D�L��� �A���a��$8�F�g�<M�� � ��A�&�	=Nrc�^�[5n[U5Ul[U5Ul[UcSOU5Ul[UcUR5SS-
OU5Ul[5n[5nSUl	[[USXg5(d[[55eg)Nrr� )rr
�Top�Bottom�Left�getheightwidth�Rightr�	CHAR_INFO�UnicodeChar�ScrollConsoleScreenBufferrvrr)r'�top�bottomr8r<�scroll_rect�destination_origin�	fill_infos        r r��WindowsConsole._scrolls���!�l����*���"�6�]��� �d�l���=���!�,1�M�D���!�!�$�q�(�u�
���$�X���K�	� #�	��(��{�D�*<�
�
��<�>�*�*�
rc�&�URS5 g)Nz[?25l�r��r's r r��WindowsConsole._hide_cursor������[�!rc�&�URS5 g)Nz[?25hr�r�s r r��WindowsConsole._show_cursorr�rc�&�URS5 g)Nz[?12hr�r�s r �_enable_blinking�WindowsConsole._enable_blinking r�rc�&�URS5 g)Nz[?12lr�r�s r �_disable_blinking� WindowsConsole._disable_blinking#r�rc��SU;a)SRUVs/sHo"S:XaSOUPM sn5nURbPURRURURS55 URR5 g[R"URURURS55 gs snf)Nr�r�z^Z�replace)�joinr��write�encoder��flush�osr�)r'�text�xs   r �__write�WindowsConsole.__write&s����T�>��7�7��E��1��K�D�Q�6��E�F�D��8�8���H�H�N�N�4�;�;�t�}�}�i�@�A��H�H�N�N���H�H�T�^�^�T�[�[����	�%J�K��
Fs�C	c��[5n[[U5(d[[	55eUR
RUR
R4$r$)�CONSOLE_SCREEN_BUFFER_INFO�GetConsoleScreenBufferInforvrr�dwCursorPosition�X�Y�r'�infos  r �	screen_xy�WindowsConsole.screen_xy0sG��)�+��)�)�T�:�:��<�>�*�*��$�$�&�&��(=�(=�(?�(?�?�?rc�.�UR[5 gr$)r��
ERASE_IN_LINEr�s r r��WindowsConsole._erase_to_end7s�����]�#rc��[S5 /UlUR5uUlUlSUlSUlSUlg)N�prepare�rrr)rrzr�r|r{r��_WindowsConsole__gone_tallr}r�s r r��WindowsConsole.prepare:s>��
�i�����"&�"5�"5�"7����T�Z���������
rc��gr$rr�s r �restore�WindowsConsole.restoreCs��rc��XRS-
nX RS-
nUS:a&UR[RU*55 O*US:�a$UR[RU55 US:a&UR[
RU*55 gUS:�a%UR[RU55 gg)z%Moves relative to the current __posxyrrN)r�r��	MOVE_LEFT�format�
MOVE_RIGHT�MOVE_UP�	MOVE_DOWN)r'r�r��dx�dys     r r��WindowsConsole._move_relativeFs���
���a��
 ��
���a��
 ��
��6��L�L��)�)�2�#�.�/�
�!�V��L�L��*�*�2�.�/�
��6��L�L������,�-�
�!�V��L�L��)�)�"�-�.�rc��US:dUS:a[SUSU35eX R:dX RUR-:�a'URR	S[SS55 gUR
X5 X4Ulg)NrzBad cursor position z, �scrollr�)r�r}r|r~�insertrr�r�)r'r�r�s   r r��WindowsConsole.move_cursorTsx���q�5�A��E��3�A�3�b���<�=�=��}�}���]�]�T�[�[�%@� @����#�#�A�u�X�r�':�;�����%��4�D�Lrc�T�U(aUR5 gUR5 gr$)r�r�)r'�visibles  r �set_cursor_vis�WindowsConsole.set_cursor_vis^s����������rc�&�[5n[[U5(d[[	55eUR
RUR
R-
S-UR
RUR
R-
S-4$)zlReturn (height, width) where height and width are the height
and width of the terminal window in characters.r)
r�r�rvrr�srWindowr�r�r�r�r�s  r r��WindowsConsole.getheightwidthdsr��*�+��)�)�T�:�:��<�>�*�*��M�M� � �4�=�=�#4�#4�4�q�8��M�M���$�-�-�"4�"4�4�q�8�
�	
rc��[5n[[U5(d[[	55eUR
R$r$)r�r�rvrrrr�r�s  r r��!WindowsConsole._getscrollbacksizeos4��)�+��)�)�T�:�:��<�>�*�*��}�}�#�#�#rc��U(dD[5n[[U5(d[[	55eUR
(dg[
5n[5n[[USU5(d[[	55eU$)Nr)r�GetNumberOfConsoleInputEvents�InHandlerr�value�INPUT_RECORD�ReadConsoleInput)r'�block�events�rec�reads     r �_read_input�WindowsConsole._read_inputvsa����W�F�0��6�B�B��|�~�.�.��<�<���n���w����#�q�$�7�7��<�>�*�*��
rc�l�UR(aURR5$URU5nUcgUR[:Xa[SS5$UR[:wd%UR
RR(d
U(aMxgUR
RRRnUR
RRRS:Xa[SSSS9$UR
RRS	:Xa3[SS
UR
RRRS9$UR
RRRS:Xaw[RUR
RR5nU(a2[SXBR
RRRS9$U(aGM�g[SX2R
RRRS9$)z�Return an Event instance.  Returns None if |block| is false
and there is no event pending, otherwise waits for the
completion of an event.N�resizer��
�keyr��
)�evt�data�raw��	backspace�)r~�popr�	EventType�WINDOW_BUFFER_SIZE_EVENTr�	KEY_EVENT�KeyEvent�bKeyDown�uCharr��wVirtualKeyCoderi�get)r'rrr"�codes     r �	get_event�WindowsConsole.get_event�s�������#�#�'�'�)�)���"�"�5�)�C��{���}�}� 8�8��X�r�*�*��}�}�	�)����1C�1C�1L�1L�����)�)�$�$�*�*�6�6�C��y�y�!�!�'�'�3�3�t�;���T�u�=�=����#�#�3�3�q�8���$��	�	�*�*�0�0�<�<���
���#�#�)�)�5�5��?��z�z�#�)�)�"4�"4�"D�"D�E��� �!��)�)�2D�2D�2J�2J�2V�2V�������U��)�)�2D�2D�2J�2J�2V�2V�W�Wrc��[S5e)z.
Push a character to the console event queue.
z"push_char not supported on Windows��NotImplementedError)r'�chars  r �	push_char�WindowsConsole.push_char�s��"�"F�G�Grc�&�URS5 g)N�r�r�s r �beep�WindowsConsole.beep�s�����V�rc�L�UR[5 SUlS/Ulg)zWipe the screenr�r�N)r��CLEARr�rzr�s r �clear�WindowsConsole.clear�s�����U������d��rc�6�[UR5S-
nUS:�a5URU(d!US-nUS:�aURU(dM!URS[XRUR
-S-
55 UR
S5 g)zsMove the cursor to the end of the display and otherwise get
ready for end.  XXX could be merged with restore?  Hmm.rrz
N)r�rzr�r�r|r}r�)r'r�s  r �finish�WindowsConsole.finish�sy��
�����q� ���1�f�T�[�[��^�
��F�A��1�f�T�[�[��^�^����A�s�1�k�k�D�M�M�&A�A�&E�F�G����V�rc��g)z�Flush all output to the screen (assuming there's some
buffering going on somewhere).

All output on Windows is unbuffered so this is a nopNrr�s r �flushoutput�WindowsConsole.flushoutput�s��
	
rc�R�[[5(d[[55eg)z0Forget all pending, but not yet processed input.N)�FlushConsoleInputBufferrrrr�s r �forgetinput�WindowsConsole.forgetinput�s��&�x�0�0��<�>�*�*�1rc��[SSS5$)zAReturn the characters that have been typed but not yet
processed.r"r�r)rr�s r �
getpending�WindowsConsole.getpending�s���U�B��$�$rc���[R"5n[R"5(agU(a [R"5U-
US-:�ag[R"S5 MZ)zWait for an event.Ti�Fg{�G�z�?)�time�msvcrt�kbhit�sleep)r'�timeout�
start_times   r �wait�WindowsConsole.wait�sM���Y�Y�[�
���|�|�~�~���4�9�9�;��3�g��n�D���J�J�t��rc��[S5e)NzNo repaint supportr7r�s r �repaint�WindowsConsole.repaint�s��!�"6�7�7r)�__gone_tall�__offset�__posxyr~r|r�rzr{)rrr�r�)r��IO[bytes] | intr�r`r��strr�ra)rzz	list[str]r��tuple[int, int]r+r,)
r��intr�rar�rar�rcr+r,)NN)
r�rcr�rcr8r*r<r*r+r,)r�rar+r,)r+rb)r+r,)r�rcr�rcr+r,)r�boolr+r,�r+rc)T)rrdr+zINPUT_RECORD | None)rrdr+zEvent | None)r9zint | bytesr+r,)r+r)rVzfloat | Noner+rd)%r-r.r/r0r(r��propertyr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�rr4r:r>rBrErHrLrOrXr[r1�
__classcell__)r�s@r rnrnnsU���!"�!"���������	�
���4B!�H�!��!�/'��/'�"�/'�-0�/'�<?�/'�	
�/'�dSW�+��+� #�+�+5�+�EO�+�	
�+�&"�"�"�"�L��@��@�$��
�/� � �	
�$�
�-X�^H����
�+�
%�
	�8�8rrnc�6�\rSrSrS\4S\4S\4S\4S\4/rSrg)	r�i��dwSizer��wAttributesr�dwMaximumWindowSizerN)	r-r.r/r0rrr�_fields_r1rrr r�r��s1��	�6��	�V�$�	���	�Z� �	��'��Hrr�c�$�\rSrSrS\4S\4/rSrg)�CONSOLE_CURSOR_INFOi�ri�bVisiblerN)r-r.r/r0rrrlr1rrr rnrn�s��	�5��	�T���Hrrnc�$�\rSrSrS\4S\4/rSrg)r�i�r��
AttributesrN)r-r.r/r0rrrlr1rrr r�r��s��	���	�t���Hrr�c�$�\rSrSrS\4S\4/rSrg)�Charir�rN)r-r.r/r0rr
rlr1rrr rsrss��	���	����Hrrsc�<�\rSrSrS\4S\4S\4S\4S\4S\4/rSr	g	)
r.ir/�wRepeatCountr1�wVirtualScanCoder0�dwControlKeyStaterN)
r-r.r/r0rrrsrrlr1rrr r.r.s8��	�T��	���	�D�!�	�T�"�	�$��	�e�$�
�Hrr.c��\rSrSrS\4/rSrg)�WindowsBufferSizeEventirirN)r-r.r/r0rrlr1rrr ryrys���6�"�#�Hrryc�$�\rSrSrS\4S\4/rSrg)�ConsoleEventir.ryrN)r-r.r/r0r.ryrlr1rrr r{r{s��	�X��	!�#9�:��Hrr{c�$�\rSrSrS\4S\4/rSrg)ri"r+rrN)r-r.r/r0rr{rlr1rrr rr"s���d�#�g�|�%<�=�Hrr�r'��i����i�����win32�kernel32T)�use_last_errorc��[S5e)NzWindows onlyr7)�args�kwargss  r �	_win_onlyr�_s
��!�.�1�1rre)U�
__future__rrr��sysrRrS�collectionsr�ctypes�ctypes.wintypesrrrrr	r
rrr
rrr�consolerrr�utilsrrrrrrr�OSError�
TYPE_CHECKING�typingr2ri�__annotations__r�r�rrrrA�	Exceptionrkrnr�rnr�rsr.ryr{rr-�FOCUS_EVENT�
MENU_EVENT�MOUSE_EVENTr,rxrwry�STD_INPUT_HANDLE�STD_OUTPUT_HANDLE�platform�	_KERNEL32r��GetStdHandle�argtypes�restyper��ScrollConsoleScreenBufferWr�ru�ReadConsoleInputWrrrKrvrr�rrr �<module>r�s���(#�	�	�
��
��
�
�
�
�-�,�#����=�=��
�����%���&��	�&��	�$�	�
	�'��	�&�
�	�(��	�$��	�$��	�$��	�$��	�$��	�$��	�$��	�$�� 	�$�!�"	�%�#�$�
�
�
�
�
�
�
�
�
�7����>�
��	�
�
�
���	���	�Y�	�{8�W�{8�~����)���	���5���v����$�V�-�-�$��6�<�<��>�9�>�
�	���
�
������� ��%)�"������<�<�7���z�$�7�I��?�?�/�/�L�"�G�L��!�L��!*�!E�!E������1�2�+��'�*.��&� )� D� D����
���
����	��*��&�)-��%��-�-�N�%�u�o�N��!�N�� �2�2��!'���)>��w�u�~� V���#���$-�$K�$K�!�.4�g�e�n�-E�!�*�,0�!�)�'�?�?��(.�x��$�&*��#��.�/�I��,�-�H�2��L�!*�� )���N� ��$-�!�'���I��H��u
�5���7��s�J-�-K


?>