Ë A/*],Åãó.—ddlZddlZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZdjd„eD««Zd Zej"d k(rd nd ZGd „d«Zd„Zedk(r ddlmZeddd¬«ddlmZee«yy)éN)Ú filedialog)Ú messagebox)Ú askstring)ÚidleConf)Ú py_extensionsÚ c#ó&K—|] }d|z–—Œ y­w)Ú*N©)Ú.0Úexts ú%/usr/lib/python3.12/idlelib/iomenu.pyÚ rsèø€Ð:©M S˜˜S�©Mùs‚úutf-8Úwin32Ú surrogatepassÚsurrogateescapecóð—eZdZd„Zd„Zd„Zd„Zd„ZdZd„Z dZ dZ d„Z dd „Z ejZd „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„ZdZdZdedfddfZej>dk(rdndZ d„Z!dd„Z"d„Z#d„Z$y) Ú IOBindingcóð—||_|j|_|jjd|j«|_|jjd|j «|_|jjd|j«|_|jjd|j«|_ d|_ |jjd|j«|_ y)Nú<>ú<>ú<>ú<>rú<>)ÚeditwinÚtextÚbindÚopenÚ_IOBinding__id_openÚsaveÚ_IOBinding__id_saveÚsave_asÚ_IOBinding__id_saveasÚ save_a_copyÚ_IOBinding__id_savecopyÚ fileencodingÚ print_windowÚ_IOBinding__id_print)Úselfrs rÚ__init__zIOBinding.__init__s¯€ØˆŒ Ø—L‘LˆŒ ØŸ™Ÿ™Ð(CÀTÇYÁYÓOˆŒØŸ™Ÿ™Ð(9¸4¿9¹9ÓEˆŒØŸ9™9Ÿ>™>Ð*CØ*.¯,©,ó8ˆÔà!ŸY™YŸ^™^Ð,MØ,0×,<Ñ,<ó>ˆÔà#ˆÔØŸ)™)Ÿ.™.Ð);¸T×=NÑ=NÓOˆ�ócóª—|jjd|j«|jjd|j«|jjd|j«|jjd|j «|jjd|j «d|_d|_d|_y)Nrrrrr) rÚunbindr r"r$r&r)rÚfilename_change_hook©r*s rÚclosezIOBinding.close%s™€à � ‰ ×ÑÐ4°d·n±nÔEØ � ‰ ×ÑÐ*¨D¯N©NÔ;Ø � ‰ ×ÑÐ2°4×3CÑ3CÔDØ � ‰ ×ÑÐ:¸D׉>Ô Ø—N‘NÓ$ˆEØ˜Ò Ø— ‘ ×#Ñ#Ô%ØÙØ×'Ñ'Ó)‰HàˆHÙ Ø �M‰M˜(Ô #ðð �I‰I× Ñ Ô !Ør,có— tj|«5}|j«}|j}|j}d}ddd«tt«s6|�$tj d d |j¬ «d}t"j$}|jj'dd«|j)d«|_||_|jj/d«|j1«|j)|«r|j3d«|jj5dd«|jj7d«|j9|«y#1swY�Œ$xYw#t t f$r˜|jjj«tddd|jj¬«}t||¬«5}|j«}|j}|j}d}ddd«n #1swYnxYwY�ŒÍwxYw#t$r5}tjdt|«|j¬ «Yd}~yd}~wt $r(tjd d |z|j¬ «YywxYw)NFzSpecify file encodingzwThe file's encoding is invalid for Python 3.x. IDLE will convert it to UTF-8. What is the current encoding of the file?r)Ú initialvalueÚparent)ÚencodingTú I/O Error©rVzDecoding ErrorzFile %s Failed to DecodezMixed Newlinesz:Mixed newlines detected. The file will be changed on save.ú1.0ÚendÚinsert)ÚtokenizerÚreadrWÚnewlinesÚUnicodeDecodeErrorÚ SyntaxErrorrrÚupdaterÚOSErrorrÚ showerrorÚstrÚ isinstanceÚ showwarningr@ÚlinesepÚdeleterFr'Úeol_conventionr\r:r6Úmark_setÚyviewÚupdaterecentfileslist) r*rCÚfÚcharsr'rjÚ convertedÚencÚerrs rrNzIOBinding.loadfile{s€ð ð %Ü—]‘] 8Ô,°ØŸF™F›H�EØ#$§:¡:�LØ%&§Z¡Z�NØ %�I÷ -ô:˜.¬#Ô.ðÐ)Ü×&Ñ&Ð'7ð*Mà04· ± õ;ð!� ÜŸZ™ZˆNà � ‰ ×ј Ô&Ø ×ј$ÔØ(ˆÔØ,ˆÔØ � ‰ ×ј Ô&Ø �‰ÔØ ×ј(Ô#Ù ð �N‰N˜5Ô !Ø � ‰ ×ј8 UÔ+Ø � ‰ �‰˜Ô!Ø ×"Ñ" 8Ô,Ø÷m-Ñ,ûô '¬ Ð4ò %à— ‘ ×!Ñ!×(Ñ(Ô*ÜØ+ð@ð")ØŸ<™<×,Ñ,ô .�ô˜(¨SÕ1°QØŸF™F›H�EØ#$§:¡:�LØ%&§Z¡Z�NØ $�I÷ 2×1Ñ1ýð %ûôò Ü × Ñ  ¬c°#«h¸t¿y¹yÕ IÜûÜ!ò Ü × Ñ Ð!1Ø#>ÀÑ#IØ*.¯)©)õ 5ñð  úseƒE2˜+E%ÁE2Å%E/Å*E2Å2A#HÇ+H È HÈ H ÈHÈHÈHÈHÈ J È%+IÉ1J ÊJ cóB—|j«ryd|jxsd›d�}tjd|tj|j ¬«}|r&|j d«|j«rdnd}n|€dnd }|j j«|S) zÄReturn 'yes', 'no', 'cancel' as appropriate. Tkinter messagebox.askyesnocancel converts these tk responses to True, False, None. Convert back, as now expected elsewhere. ÚyeszDo you want to save zthis untitled documentz before closing?z Save On Close©ÚtitleÚmessageÚdefaultrVNrJÚno)r4rCrÚaskyesnocancelÚYESrr!rO)r*rwÚconfirmrSs rrPzIOBinding.maybesave¶s”€ð �>‰>Ô ØØ)Ø—m‘mÒ?Ð'?Ð@Ø%ð&ˆô×+Ñ+Ø'Ø!Ü$Ÿ.™.ØŸ™ô $ˆñ Ø �I‰I�dŒOØ!Ÿ^™^Ô-‘E°8‰EØ#* ?‘x¸ˆuØ � ‰ ×ÑÔØˆ r,có —|js|j|«nG|j|j«r,|jd« |jj «|jj«y#t $rYŒ&wxYw)NTrI) rCr#Ú writefiler6rÚstore_file_breaksÚAttributeErrorrrO©r*rQs rr!zIOBinding.saveÍso€Ø�}Š}Ø �L‰L˜Õ à�~‰~˜dŸm™mÔ,Ø—‘˜tÔ$ðØ—L‘L×2Ñ2Ô4ð � ‰ ×ÑÔØøô&òÙðúsÁ B B  B có8—|j«}|rN|j|«r=|j|«|jd« |jj «|jj«|j|«y#t $rYŒ7wxYw)Nr?rI) Ú asksavefiler~rFr6rrr€rrOrm©r*rQrCs rr#zIOBinding.save_asÚs…€Ø×#Ñ#Ó%ˆÙ Ø�~‰~˜hÔ'Ø×!Ñ! (Ô+Ø—‘˜qÔ!ðØ—L‘L×2Ñ2Ô4ð � ‰ ×ÑÔØ ×"Ñ" 8Ô,Øøô &òÙðúsÁB  BÂBcó —|j«}|r|j|«|jj«|j |«y)NrI)rƒr~rrOrmr„s rr%zIOBinding.save_a_copyès@€Ø×#Ñ#Ó%ˆÙ Ø �N‰N˜8Ô $Ø � ‰ ×ÑÔØ ×"Ñ" 8Ô,Ør,có”—|j«}|j|«} t|d«5}|j|«|j «t j |j««ddd«y#1swYyxYw#t$r5}tjdt|«|j¬«Yd}~yd}~wwxYw)NÚwbTrXrYF) Ú fixnewlinesÚencoderÚwriteÚflushr@ÚfsyncÚfilenorcrrdrer)r*rCrrornÚmsgs rr~zIOBinding.writefileðs™€Ø×ÑÓ!ˆØ— ‘ ˜DÓ!ˆð Ü�h Ô%¨Ø—‘˜”Ø—‘” Ü—‘˜Ÿ™›Ô$÷&ð÷ &ðûÜò Ü × Ñ  ¬c°#«hØ*.¯)©)õ 5äûð ús5£ B ¯AA=Á4B Á=BÂB ÂB  CÂ+CÃCcó —t|jd«r6|jjd|jj d««}nV|jj d«dk7r|jj dd«|jj dd«}|jdk7r|jd|j«}|S)zYReturn text with os eols. Add prompts if shell else final if missing. rHrZzend-1czend-2cÚ ) ÚhasattrrÚget_prompt_textrÚindexÚgetr\rjÚreplace©r*rs rrˆzIOBinding.fixnewlinesþs›€ô �4—<‘< Ô *Ø—<‘<×/Ñ/°°t·y±y·±ÀxÓ7PÓQ‰Dà�y‰y�}‰}˜XÓ&¨$Ò.Ø— ‘ × Ñ  ¨4Ô0Ø—9‘9—=‘= ¨Ó1ˆDØ × Ñ  $Ò &Ø—<‘<  d×&9Ñ&9Ó:ˆD؈ r,có&—t|t«r|S|jdk(r|jd«S |jd«S#t$rYnwxYw |jdd«}t j tj|«j«\}}|j|«S#t$r}t|«}Yd}~nd}~wt$rdz}YnwxYwtjdd|z|j¬«|jd«S)Nz utf-8-sigÚasciir•zInvalid encoding '%s'rXz%s. Saving as UTF-8rY)rfÚbytesr'r‰ÚUnicodeEncodeErrorr]Údetect_encodingÚioÚBytesIOÚreadlinerarerrdr)r*roÚencodedrqÚ_rrÚfaileds rr‰zIOBinding.encodesù€Ü �eœUÔ #ðˆLà × Ñ   Ò +Ø—<‘<  Ó,Ð ,ð Ø—<‘< Ó(Ð (øÜ!ò Ù ð úð 3Ø—l‘l 7¨IÓ6ˆGÜ×-Ñ-¬b¯j©j¸Ó.A×.JÑ.JÓK‰FˆC�Ø—<‘< Ó$Ð $øÜò ܘ“X�FûÜ!ò 3Ø,¨sÑ2ŠFð 3úä×ÑØ Ø " VÑ +Ø—9‘9õ ð �|‰|˜KÓ(Ð(s0´AÁ AÁAÁAB-Â- CÂ6 CÃCÃCcóô—tjddtj|j¬«}|s|jj «yd}|j «}|r |j }|r€Wtjd¬«\}}|}tj|«|j|«stj|«ytj}d}|dk(rtjd d d «} | d z} n|d k(rtjd d d«} nd}|rœ t!j"|«z} tj$| d«} | j'«j)«} | j«} | rd| z| z} | r[dt+| «z| z} tj,d| |j¬«n'd|z} tj.d| |j¬«|rtj|«y)NÚPrintzPrint to Default PrinterrurIÚ IDLE_tmp_)ÚprefixTÚposixÚmainÚGeneralzprint-command-posixz 2>&1Úntzprint-command-winFÚrz#Printing failed (exit status 0x%x) zPrinting command: %s z Print statusrYz-Printing is not enabled for this platform: %s)rÚ askokcancelÚOKrrOr4rCÚtempfileÚmkstempr@r1r~ÚunlinkÚnamerÚ GetOptionÚshlexÚquoteÚpopenr^ÚstripÚreprrdÚshowinfo)r*rQr|Ú tempfilenameÚsavedrCÚtfdÚplatformÚ printPlatformÚcommandÚpipeÚoutputÚstatusrws rr(zIOBinding.print_window-s¸€Ü×(Ñ(ØØ4Ü$Ÿ-™-ØŸ™ô $ˆñ Ø �I‰I× Ñ Ô !ØØˆ Ø—‘Ó ˆÙ Ø—}‘}ˆHá˜Ð(Ü"*×"2Ñ"2¸+Ô"FÑ ˆS�,Ø#ˆHÜ �H‰H�SŒMØ—>‘> ,Ô/Ü— ‘ ˜,Ô'ØÜ—7‘7ˆØˆ Ø �wÒ Ü×(Ñ(¨° Ø)>ó@ˆGà Ñ'‰GØ ˜Ò Ü×(Ñ(¨° Ð:MÓN‰Gà!ˆM٠ؤ§ ¡ ¨HÓ 5Ñ5ˆGÜ—8‘8˜G SÓ)ˆDà—Y‘Y“[×&Ñ&Ó(ˆFØ—Z‘Z“\ˆFÙØ?Øñ Ø"(ñ)�áØ1´D¸³MÑAÀFÑJ�Ü×$Ñ$ ^°VÀDÇIÁIÖNàEÈÑPˆGÜ × Ñ  °ÀÇ Á Õ JÙ Ü �I‰I�lÔ #Ør,z Python filesÚTEXT)z Text filesz*.txtrÁ)z All filesr Údarwinz.pyÚcóà—|jd«\}}|js0tj|j|j ¬«|_|jj ||¬«}|S)Nr)rVÚ filetypes©Ú initialdirÚ initialfile)ÚdefaultfilenameÚ opendialogrÚOpenrrÅÚshow©r*ÚdirÚbaserCs rrLzIOBinding.askopenfilejsY€Ø×(Ñ(¨Ó0‰ ˆˆTØ�ŠÜ(Ÿo™o°T·Y±YØ:>¿.¹.ôJˆDŒOà—?‘?×'Ñ'°3ÀDÐ'ÓIˆØˆr,cóú—|jr)tjj|j«S|jr|jdfS tj «}|dfS#t $rd}Y|dfSwxYw)NrÃ)rCr@rAÚsplitrDÚgetcwdrc)r*ÚmodeÚpwds rrÉzIOBinding.defaultfilenamersp€Ø �=Š=Ü—7‘7—=‘= §¡Ó/Ð /Ø �\Š\Ø—<‘< Ð#Ð #ð Ü—i‘i“k�ð˜�7ˆNøôò ؘؑ�7ˆNð úsÁA)Á) A:Á9A:cóö—|jd«\}}|js;tj|j|j |j ¬«|_|jj||¬«}|S)Nr!)rVrÅÚdefaultextensionrÆ)rÉÚ savedialogrÚSaveAsrrÅrÖrÌrÍs rrƒzIOBinding.asksavefile~sf€Ø×(Ñ(¨Ó0‰ ˆˆTØ�ŠÜ(×/Ñ/ØŸ9™9Ø"Ÿn™nØ%)×%:Ñ%:ô<ˆDŒOð—?‘?×'Ñ'°3ÀDÐ'ÓIˆØˆr,cóh—|jjr|jj|«yy)z-Update recent file list on all editor windowsN)rrKÚupdate_recent_files_listrEs rrmzIOBinding.updaterecentfileslistˆs&€à �<‰<× Ò Ø �L‰L× 1Ñ 1°(Õ ;ð r,)NN)r)%Ú__name__Ú __module__Ú __qualname__r+r1r4r6r:r/r=rCrDrFrr@rhrjrNrPr!r#r%r~rˆr‰r(rÊr×rrÅÚsysr»rÖrLrÉrƒrmr r,rrrsÈ„ò Pò )ò(ò%ò"ð Ðò)ð€HØ€Gò ,ó*ðX—Z‘Z€Nò9òvò. ò òò òò )ò>0ðd€JØ€J𠘨Ð/Ø'Øð €Ið !$§ ¡ °Ò 8‘u¸bÐòó òó.MyEditWincóœ—||_d|_|jjd|j«|jjd|j«|jjd|j «|jjd|j «|jjd|j«y)Nz z z zz )rrKrrÚprintr!ÚsaveasÚsavecopyr–s rr+z'_io_binding..MyEditWin.__init__—s~€ØˆDŒI؈DŒJØ �I‰I�N‰N˜=¨$¯)©)Ô 4Ø �I‰I�N‰N˜=¨$¯*©*Ô 5Ø �I‰I�N‰N˜=¨$¯)©)Ô 4Ø �I‰I�N‰N˜9 d§k¡kÔ 2Ø �I‰I�N‰N˜=¨$¯-©-Õ 8r,có—y)Nrr r0s rr4z(_io_binding..MyEditWin.get_savedŸs€ Ar,có—yr3r r7s rr6z(_io_binding..MyEditWin.set_saved s€ 4r,có—yr3r r0s rr:z)_io_binding..MyEditWin.reset_undo¡s€˜dr,có:—|jjd«y)Nr©rÚevent_generater�s rrz#_io_binding..MyEditWin.open¢s€Ø �I‰I× $Ñ $Ð%@Õ Ar,có:—|jjd«y)Nrrîr�s rrçz$_io_binding..MyEditWin.print¤s€Ø �I‰I× $Ñ $Ð%7Õ 8r,có:—|jjd«y)Nrrîr�s rr!z#_io_binding..MyEditWin.save¦s€Ø �I‰I× $Ñ $Ð%6Õ 7r,có:—|jjd«y)Nrrîr�s rrèz%_io_binding..MyEditWin.saveas¨s€Ø �I‰I× $Ñ $Ð%>Õ ?r,có:—|jjd«y)Nrrîr�s rréz'_io_binding..MyEditWin.savecopyªs€Ø �I‰I× $Ñ $Ð%FÕ Gr,N) rÛrÜrÝr+r4r6r:rrçr!rèrér r,rÚ MyEditWinrå–s.„ò 9ò &Ú'Ú"ò Bò 9ò 8ò @ó Hr,rô) ÚtkinterràrárvÚmapÚintÚgeometryrÑÚpackrOr) rVràráÚtopÚxÚyrôrrs rÚ _io_bindingrýŽs™€ß&á �6Ó €C؇I�IÐÔÜ Œs�F—O‘OÓ%×+Ñ+¨CÓ0°°Ð4Ó 5�D€A€q؇L�L�˜Q  C¡˜LÑ(Ô)÷HñHñ. �‹9€D؇I�I„K؇N�NÔÙ˜‹o€GÜ ˆgÕr,Ú__main__)r§zidlelib.idle_test.test_iomenuéF)Ú verbosityÚexit)Úrun)rœr@r²rÞr­r]rõrrÚtkinter.simpledialogrÚidlelib.configrÚ idlelib.utilrÚjoinrWr»ÚerrorsrrýrÛÚunittestr§Úidlelib.idle_test.htestrr r,rÚr s�ðÛ Û Û Û ÛÛåÝÝ*å#Ý&à—‘Ñ:©MÓ:Ó:€ Ø €ØŸL™L¨GÒ3‰Ð9J€÷w<ñw<òt #ðL ˆzÒÝÙÐ (°A¸EÕBå+Ùˆ Õð r,