python (3.11.7)

(root)/
lib/
python3.11/
idlelib/
__pycache__/
autocomplete_w.cpython-311.opt-1.pyc

eQdZddlZddlTddlmZddlmZmZddlm	Z	dZ
dZed	fZd
Z
dZdZd
ZdZdZdZGddZedkrddlmZeddddSdS)zH
An auto-completion window for IDLE, used by the autocomplete extension
N)*)	Scrollbar)FILESATTRS)MC_SHIFTz<<autocompletewindow-hide>>z
<FocusOut>z
<ButtonPress>z<<autocompletewindow-keypress>>)z<Key>z<Key-BackSpace>z<Key-Return>z	<Key-Tab>z<Key-Up>z
<Key-Down>z
<Key-Home>z	<Key-End>z<Key-Prior>z
<Key-Next>z<Key-Escape>z!<<autocompletewindow-keyrelease>>z<KeyRelease>z<B1-ButtonRelease>z<Configure>z<B1-Double-ButtonRelease>cneZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdS)AutoCompleteWindowc:||_||_dx|_x|_|_dx|_|_d|_d|_d|_	d|_
d|_d|_d|_
dx|_x|_x|_x|_x|_|_d|_d|_dS)NF)widgettagsautocompletewindowlistbox	scrollbarorigselforegroundorigselbackgroundcompletionsmorecompletionsmodestart
startindexlasttypedstartuserwantswindowhideid
keypressidlistupdateidwinconfigidkeyreleaseid
doubleclickidlastkey_was_tabis_configuring)selfrrs   J/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/idlelib/autocomplete_w.py__init__zAutoCompleteWindow.__init__s	BFFF$,;?>!7#	
# $IM	M	Mdo	M(9	M	M#043E$#c2tt|jt|}d}||kr9|j|||kr"|dz
}||kr|j|||k"|t|jkrA|jd|j|fzd|jt|jfz|t|kr3|jd|j|fz||d|j||_dS)Nr%s+%dc)minlenrrdeleterinsertr)r!newstartmin_lenis    r"
_change_startz AutoCompleteWindow._change_start@sc$*oos8}}55
'kkdjmx{::
FA'kkdjmx{::s4:Kx4?A*>>'4?C
OO*LL
N
N
Ns8}}Kx4?A*>>'|#y
*
*
*


r$cd}t|j}||kr'||zdz}|j||kr|}n|dz}||k't|t|jdz
S)zFind the first index in self.completions where completions[i] is
        greater or equal to s, or the last index if there is no such.
        rr&)r)rr()r!sr.jms     r"_binary_searchz!AutoCompleteWindow._binary_searchNs~
3t'((q!eeQ1A"a''E!ee1c$*++A-...r$c||}|j|dt||kr|S|dz}t|j}||kr<||zdz}|j|dt||kr|}n|dz}||k<|dz
}||kr
|j|S|j|}|j|}tt|t|}	t|}||	kr/||||kr|dz
}||	kr||||k|d|S)zAssuming that s is the prefix of a string in self.completions,
        return the longest string which is a prefix of all the strings which
        s is a prefix of them. If s is not a prefix of a string, return s.
        Nr&r1)r5rr)r()
r!r2firstr.r3r4last
first_comp	last_compr-s
          r"_complete_stringz#AutoCompleteWindow._complete_string[s]
##A&&E"7CFF7+q00HAI !!!eeQ1A"7CFF7+q00E!eesD==#E**%e,
$T*	c*oos9~~66FF'kkjmy|;;
FA'kkjmy|;;"1"~r$ct|jd}|j||j}|j|}|||kr|}nktt|t|}d}||kr/||||kr|dz
}||kr||||k|d|}|	||j|dt|j
|j
kr(|j|j|j
dS|j|jd|jd|jr|j|_d|_|jdt"|jD]"}|jt"|#|j||j
|dSdS)zzCall when the selection of the Listbox has changed.

        Updates the Listbox display and calls _change_start.
        rr&N)selectbackgroundselectforegroundbgfg)intrcurselectionseerrr5r(r)r/r	configurerrcgetrr*ENDr+
select_set_selection_changed)r!curselltsselstartr,r-r.items        r"rHz%AutoCompleteWindow._selection_changed{sH
T\..00344   !#F+s##v--HH#c((CMM22GAg++#a&HQK"7"7Qg++#a&HQK"7"7|H8$$$F#$4S__$45CCL""D4J484J
#
L
L
L
L
L
L""DL4E4Ed4K4K48L4E4Ed4K4K
#
M
M
M#
*#'#7 '+$##As+++ ,33DL''T2222''(;(;DJ(G(GHHH'')))))
*
*r$c	|\|_|_||_|j||_|j|jd|_|r||j}|j}|	||
|}|j||krJ|t|jdz
ks)|j|dzdt||kr||kS||_|j|_
t|jx|_}	|	|	d	|	jdd|	jddn#t*$rYnwxYwt-|	t.x|_}
t3|	|
jd	
x|_}|jD]}|t:||d|_|d|_ |
!|j"
|
#tHtJ|#tLtNd|	(|j)|
|j|*|	+tX|j-|_.|j+tX|j-|_/|	0tXtbtdD]"}
|j0tX|
#|j+tf|j4|_5tlD]"}
|j0tf|
#|j+tn|j8|_9|j0tntt|+tv|j<|_=d	|_>|	+t~|j@|_A|+t|jC|_DdS)zShow the autocomplete list, bind events.

        If complete is True, complete the text, and if there is exactly
        one matching completion, don't open a list.
        r+r&Nz!::tk::unsupported::MacWindowStylestylehelpnoActivates)orientF)yscrollcommandexportselectionr>r=)command)sidefillT)rUrVexpand)Errrrindexrgetrr;r/r5r)rrToplevelr
withdrawwm_overrideredirecttkcall_wTclErrorrVERTICALrListboxsetrr+rFrErrconfigyviewpackRIGHTYLEFTBOTHliftrGrHbindHIDE_VIRTUAL_EVENT_NAME
hide_eventhideaidhidewid	event_addHIDE_FOCUS_OUT_SEQUENCEHIDE_SEQUENCESKEYPRESS_VIRTUAL_EVENT_NAMEkeypress_eventrKEYPRESS_SEQUENCESKEYRELEASE_VIRTUAL_EVENT_NAMEkeyrelease_eventrKEYRELEASE_SEQUENCELISTUPDATE_SEQUENCElistselect_eventrr WINCONFIG_SEQUENCEwinconfig_eventrDOUBLECLICK_SEQUENCEdoubleclick_eventr)r!
comp_listsrXcompleteruserWantsWin	completedrr.acwrrrLseqs              r"show_windowzAutoCompleteWindow.show_windows%2<.$.	+++E22[__T_h??
		*--dj99IJEy)))##I..A"i//S)**1,,, 1%os9~~o6)CC E))+"j(0(=(==#"""	FKK;Wcf

/
/
/
/			D	%.s8%D%D%DD!(Y]9>"@"@"@	@w$	&	&DNN3%%%%!(.@!A!A!(.@!A!A///E***$T$777


	
 3 3DJ ? ?@@@!!!xx 7II{''(?QQ

-/FGGG!	@	@CK!!"93????+**+F+/+>@@%	D	DCK!!"=sCCCC K,,-J-1-BDD;<OPPP#LL)<)-)>@@#88$68LMM$\\*>*.*@BBts#E??
FFc	<|jrdSd|_|sdS	|j}||j||j\}}}}|j}tj	dr|
||}	}||}}
|
t|td|
|z
z}||z}
|||zz
|	ks||	kr|
|z
}
n|
|	z}
|d||
fz||n#t($rYnwxYwtj	dr9	|t,|jn#t($rYnwxYwd|_d|_dS)NTWindowsrz+%d+%dF)r 	is_activerrCrbboxr
platformsystem
startswithupdatewinfo_widthwinfo_heightwinfo_rootxr(maxwinfo_rootywm_geometry	deiconifyupdate_idletasksr`unbindr|r)r!eventtextxycxcyr	acw_width
acw_height
text_widthtext_heightnew_xnew_ys              r"r}z"AutoCompleteWindow.winconfig_events-	F"~~	F	;DHHT_%%%99T_55LAq"b)C  ++I66


$'OO$5$5s7G7G7I7IzI&*&6&6&8&8$:K:K:M:MJ$$&&QAzI7M0N0N)O)OOE$$&&*Eq2v&*44z>>#OOHu~5666MMOOO  """"			D	?''	22	$


-t/?@@@@



#D#s$E=F&&
F32F3 G>>
H
Hc|jsdS	|js|dSdS#t$r|YdSwxYwN)r
	focus_gethide_windowKeyErrorr!s r"_hide_event_checkz$AutoCompleteWindow._hide_event_checks&	F	*4466
#  """""
#
#			
	s-<AAc|rb|jtjkr"|jd|jdS|jtjkr|dSdSdS)Nr&)	rtype	EventTypeFocusOutrafterrButtonPressrr!rs  r"rnzAutoCompleteWindow.hide_event*s>>	#zY///!!!T%;<<<<<y444  """""	#	#54r$c|rUd|_t|jd}||j|dSdS)NTr)rrrArrBr/rr!rrIs   r"r{z#AutoCompleteWindow.listselect_event7sh>>	9#'D 2244Q788Ft/788888	9	9r$ct|jd}||j||dS)Nr)rArrBr/rrrs   r"rz$AutoCompleteWindow.doubleclick_event=sVT\..003444+F3444r$cf|sdS|jt|dr|j}nd}dkrd|_tdksdvs|jtkrdvr|tzstdkr|	|j
zndkr|	|j
d	znd
kr|	|j
dzntdkr|	|j
d
znPt|j
dkr|dS|	|j
dd|j
|_|j
dt|j
d|j
||j
|dSdkr*||dS|jt*krdvs|jtkrdvr|tzst|j
d}|j|dt|j
|j
kr7|jt*ks|j
r |	|j||dSdvr|sd|_t|j
d}dkrd}ndkrt|jdz
}nՉdvr|j
|j
|j
dz
}dkrt5d||z
}nkt7t|jdz
||z}nBdkrt5d|dz
}n(t7t|jdz
|dz}|j
||j
|||	|j|dSdkr{|sy|jrbt|j
d}|	|j||dSd|_d|_dSt9fddDrdS|jr|jdkr|	|j
|jz|j
|_|j
dt|j
d|j
||j
|dS|dS)Nmc_staterTabFr&)
underscore	BackSpace)periodminusr_r.r-breakReturn)rspace	parenleft
parenrightbracketleftbracketright)slash	backslashquotedbl
apostrophe)HomeEndPriorNextUpDownTrr)rrrrc3 K|]}|vV	dSr).0r2keysyms  r"	<genexpr>z4AutoCompleteWindow.keypress_event.<locals>.<genexpr>s?EEfEEEEEEr$)ShiftControlAltMetaCommandOption )rrhasattrrrr)rrrr/rrrrselect_clearrArBrGr5rHrrrrnearestrrr(anychar)r!rstaterInewseljumprs      @r"ruz!AutoCompleteWindow.keypress_eventCsH~~	45*%%	NEEEU??#(D KK1*E E E	U""v#($($XI%($6{{a""4:#67777<''""4:#344448##""4:#344447""""4:#34444tz??a''$$&&&4""4:crc?333"&*DL%%aT\-F-F-H-H-K)L)LMMML##D$7$7
$C$CDDD##%%%7
x

MMOOO7i5  V&&i5  V>&?&?xi'&?2244Q788F'(8TZ(89TZGGI&&$*&""4#3F#;<<<4
E
E
EF$(D 2244Q788F5T-..q0,,,|++DL,E,E,G,GHH|++A../W$$ F4K00FF!T%5!6!6q!8&+FFFF4Qq))S!12214fQh??L%%f---L##F+++##%%%t/78887ooeo#

T\6688;<<""4#3F#;<<<  """w(,$'+$t
EEEE'DEEEEE	4
Z	EJ#--tzEJ6777"&*DL%%aT\-F-F-H-H-K)L)LMMML##D$7$7
$C$CDDD##%%%7
4r$c|sdS|jd|jd|jt	|jfzkr|dSdS)Nr+r')rrrXrr)rrrs  r"rxz#AutoCompleteWindow.keyrelease_events~~	F;X&&;X#dj//(JJKKLL
LLr$c|jduSr)r
rs r"rzAutoCompleteWindow.is_actives&d22r$c`|||jdSr)r/r;rrs r"rzAutoCompleteWindow.completes,400<<=====r$c~|sdS|jttt
D]"}|jt|#|jt|j|jt|j	d|_d|_	tD]"}|jt|#|jt|jd|_|jtt|jt|jd|_|jt"|jd|_|jr,|jt(|jd|_|j|jd|_|jd|_|jd|_dSr)rr
event_deletermrrrsrrrorprvrtrrwryrrrzrrr|	focus_setrdestroy)r!rs  r"rzAutoCompleteWindow.hide_windows	~~	F	
,,-D-D	F	F	F!	C	CCK$$%<cBBBB&&'>MMM2DLAAA%	G	GCK$$%@#FFFF6HHH  !>!4	6	6	68$:KLLL /1BCCC 	$#**+=t?OPPP#D	
	
   '')))"&r$N)__name__
__module____qualname__r#r/r5r;rHrr}rrnr{rrurxrrrrr$r"r	r	s!$!$!$F///@$*$*$*LFFFP3$3$3$j


###999rrrh333>>>%'%'%'%'%'r$r	__main__)mainz%idlelib.idle_test.test_autocomplete_wr1F)	verbosityexit)__doc__rtkintertkinter.ttkridlelib.autocompleterridlelib.multicallrrmrrrsrtrvrwryrzr|r~r	runittestrrr$r"<module>rs!!!!!!--------&&&&&&7&)?;?C!D$*"2P'P'P'P'P'P'P'P'fzD	0AEJJJJJJr$