e+SSKrSSKJr "SS\5r"SS5r"SS\5r"S S \5r"S S \5rS r\ S:XaSSK J r \ "SSSS9 SSK J r \ "\5 gg)N) Delegatorc\rSrSrSrSrSrSrSrSr Sr S r S r S r S rSS jrSSjrSrSrSSjrSrSrSrg ) UndoDelegatoricP[R"U5 UR5 gN)r__init__ reset_undoselfs 2/opt/imh/python3.13/lib/python3.13/idlelib/undo.pyr UndoDelegator.__init__s4  c`URb3URS5 URS5 URS5 [R"X5 UbUUR SUR 5 UR SUR 5 UR SUR5 gg)Nz<>z<>z<>)delegateunbindr setdelegatebind undo_event redo_event dump_event)r rs r rUndoDelegator.setdelegates == $ KK # KK # KK- .d-   IIj$// 2 IIj$// 2 II+T__ = rc>SSKJn U"URSUR5 [SURSS9 [SURSS9 [SUR SS9 [SUR 55 U"URURS5 g ) Nr)pprintzpointer: )endzsaved:z can_merge:z get_saved():break)rundolistpointerprintsaved can_merge get_saved)r eventrs r rUndoDelegator.dump_event(sw!t}}]dll+, j$,,C0 h , lDNN4 ndnn./t}}T\\]+,rc^SUlSUl/UlSUlUR S5 gNr) was_savedrr undoblock set_savedr s r r UndoDelegator.reset_undo2s*   qrcrU(aURUlOSUlSUlUR5 g)Nr(F)rr!r" check_saved)r flags r r,UndoDelegator.set_saved9s* DJDJ rc4URUR:H$r)r!rr s r r#UndoDelegator.get_savedAszzT\\))rNcXlgr)saved_change_hook)r hooks r set_saved_change_hook#UndoDelegator.set_saved_change_hookFs!%rr(cUR5nXR:wa)XlUR(aUR5 gggr)r#r*r5)r is_saveds r r/UndoDelegator.check_savedKs<>># ~~ %%N%%&&(& &rc:UR[XU55 gr)addcmd InsertCommand)r indexcharstagss r insertUndoDelegator.insertRs M%56rc8UR[X55 gr)r= DeleteCommandr index1index2s r deleteUndoDelegator.deleteUs M&12rcvURS:Xa[5UlURR5 gNr)r+CommandSequence bump_depthr s r undo_block_startUndoDelegator.undo_block_startcs( >>Q ,.DN !!#rcURRS5S:XaVURnSUl[U5S:a3[U5S:XaURS5nUR US5 gggr')r+rNlengetcmdr=r cmds r undo_block_stopUndoDelegator.undo_block_stophsf >> $ $R (A -..CDN3x!|s8q=**Q-C C#  .rcU(aURUR5 URS:waURRU5 gUR(aCUR S:a3UR UR S- nURU5(agU/UR UR S&URUR :aSUlUR S-Ul[UR 5UR:aEUR S UR S- UlURS:aURS- UlSUlUR5 g)Nrr)r(T) dorr+appendr"rrmerger!rRmax_undor/)r rUexecutelastcmds r r=UndoDelegator.addcmdts   FF4== ! >>Q  NN ! !# &  >>dllQ.mmDLLN3G}}S!!(+u dllm$ :: $DJ||a' t}}  - a <*&I)73$ $.  rrcL\rSrSrSrS SjrSrSrSrSr Sr S r S r S r g) CommandNc`0Ul0UlXlX lX0lU(aX@lggr) marks_before marks_afterrGrHr@rA)r rGrHr@rAs r r Command.__init__s.   I rcURRnURURURUR 4nUR cUSSnU[ U5-$)Nr() __class__rhrGrHr@rArepr)r sts r __repr__Command.__repr__sR NN # # [[$++tzz499 = 99 #2A47{rcgrrmr texts r rY Command.do rcgrrmr}s r rf Command.redorrcgrrmr}s r rb Command.undorrcgrLrmrTs r r[ Command.mergesrc~0nUR5H&nUS:wdM US:wdMURU5X#'M( U$)NrBcurrent) mark_namesr?)r r~marksnames r save_marksCommand.save_markss>OO%DxDI$5"jj. & rcXUR5Hup4URX45 M gr)itemsmark_set)r r~rrr?s r set_marksCommand.set_markss  ;;=KD MM$ &)r)r@rGrHrsrrrAr)rhrirjrkrAr rzrYrfrbr[rrrlrmrr roros1 D   'rroct\rSrSrS SjrSrSrSrSr\ R\ R-S-r S r S rg) r>Nc2[RXSX#5 grror )r rGr@rAs r r InsertCommand.__init__stU9rcURU5UlURUR5UlUR URSS5(aURS5UlUR URUR UR5 URSUR[UR 54-5Ul URU5Ul g)N>end-1cz%s+%dc) rrrr?rGcomparerBr@rArRrHrsr}s r rYInsertCommand.dos OOD1jj- << S( 3 3**X.DK DKKTYY7jjT[[#djj/,J!JK ??40rcURSUR5 URURURUR5 UR XR 5 URS5 gNrB)rrGrBr@rArrsseer}s r rfInsertCommand.redosN h , DKKTYY7 t--. rcURSUR5 URURUR5 UR XR 5 UR S5 gr)rrGrIrHrrrrr}s r rbInsertCommand.undosH h , DKK- t../ rcURURLagURUR:wagURUR:wag[ UR 5S:wagUR (a<UR UR S5UR UR 5:wagURUlUR UR -Ulg)NFr)r(T)rvrHrGrArRr@classifyrTs r r[InsertCommand.merges >> . ;;#** $ 99  syy>Q  :: ==B (DMM#)),D Djj ZZ#))+ r_c2XR;agUS:Xagg)N alphanumeric newline punctuation)r)r cs r rInsertCommand.classifys !! !! 9rr@rGrHrsrrr)rhrirjrkr rYrfrbr[string ascii_lettersdigitsrrrlrmrr r>r>s;:1 ''&--7#=Lrr>c0\rSrSrSSjrSrSrSrSrg) rEiNc4[RXUSS5 grrrFs r r DeleteCommand.__init__ svtT:rcXURU5UlURUR5UlUR(a!URUR5UlO#URURS-5UlUR URSS5(aURS5UlUR URUR5UlURURUR5 URU5Ul g)Nz +1crr) rrrr?rGrHrgetr@rIrsr}s r rYDeleteCommand.dos OOD1jj- ;;**T[[1DK**T[[6%9:DK << S( 3 3**X.DKXXdkk4;;7  DKK-??40rcURSUR5 URURUR5 UR XR 5 UR S5 gr)rrGrIrHrrsrr}s r rfDeleteCommand.redosH h , DKK- t--. rcURSUR5 URURUR5 UR XR 5 UR S5 gr)rrGrBr@rrrrr}s r rbDeleteCommand.undo$sH h , DKK, t../ rrr) rhrirjrkr rYrfrbrlrmrr rErEs; 1rrEcH\rSrSrSrSrSrSrSrSr Sr S S jr S r g ) rMi,c /UlSUlgrLcmdsdepthr s r r CommandSequence.__init__0s  rcURRn/nURHnURSU<35 M US-SR U5-S-$)Nz z( z, z ))rvrhrrZjoin)r rxstrsrUs r rzCommandSequence.__repr__4sS NN # #99C KK$sg '5y5::d++e33rc,[UR5$r)rRrr s r __len__CommandSequence.__len__;s499~rc:URRU5 gr)rrZrTs r rZCommandSequence.append>s rc URU$r)r)r is r rSCommandSequence.getcmdAsyy|rcLURHnURU5 M gr)rrf)r r~rUs r rfCommandSequence.redoDs99C HHTNrcvURSSnUR5 UHnURU5 M gr)rreverserb)r r~rrUs r rbCommandSequence.undoHs-yy| C HHTNrcBURU-UlUR$r)r)r incrs r rNCommandSequence.bump_depthNsZZ$& zzrrN)r)) rhrirjrkr rzrrZrSrfrbrNrlrmrr rMrM,s*4 rrMc"^ SSKJnJnJn SSKJn U"U5nUR S5 [[UR5RS5SS5upgURSXgS-4-5 U"US S 9nUR5 UR5 U"U5n [5m U RT 5 U"US U 4S jS 9n U RSS9 U"USU 4SjS 9n U RSS9 U"USU 4SjS 9n U RSS9 g)Nr)ToplevelTextButton) PercolatorzTest UndoDelegator+r)z+%d+%d )heightUndoc&>TRS5$r)rdsr !_undo_delegator..b1<<3Er)r~commandleft)sideRedoc&>TRS5$r)rrsr rrdrrDumpc&>TRS5$r)rrsr rrfrr)tkinterrrridlelib.percolatorrtitlemapintgeometrysplitpack focus_setr insertfilter)parentrrrrtopxyr~prbrfdumprs @r _undo_delegatorrSs..- 6 CII"# sFOO%++C04 5DALLQCL() B DIIKNN4AANN1 #F,E FDII6I #F,E FDII6I #F,E FDII6Ir__main__)mainzidlelib.idle_test.test_undoF) verbosityexit)run)ridlelib.delegatorrrror>rErMrrhunittestridlelib.idle_test.htestrrmrr rs{ '$JIJZ*'*'Z6G6r G H$g$N. z &!%@+ r