eA@SrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ r SSK r SSK J r /SQr S>Sjr SrS?SjrS>S jrS>S jrS rS r"S S5r\"5rSr\\SSS4Sjr\"5rSr\\SS4Sjr\4SS.SjjrSSS.Sjr\4SjrS@Sjr SASjr!S@Sjr"SBSjr#S?Sjr$S?Sjr%S r&"S!S"5r'S#r(S$r)S%r*S&r+S'r,"S(S)\-5r.S*r/\R`"S+/S,QS-S./S/9r1S0r2S1r3S>S2jr4"S3S45r5"S5S65r6S7r7S8r8S9r9S:r:S;r;S<rselfs r$__repr___Sentinel.__repr___sr&r6N)__name__ __module__ __qualname____firstlineno__r9__static_attributes__r6r&r$r3r3^sr&r3cU[LU[L:wa [S5eXs=La [LaMO X4$UbD[U[5(a XR4$[ S[ U5RS35egX4$)Nz-Both or neither of value and tb must be givenzException expected for value, z foundNN) _sentinel ValueError isinstance BaseException __traceback__ TypeErrortyper;)excvaluer,s r$_parse_value_tbrKds i0HII i 9 ?#}------<#Cy112&:; ; 9r&Tc URSS5n[XU5up[[U5XUSS9nUR XEUS9 g)aPrint exception up to 'limit' stack trace entries from 'tb' to 'file'. This differs from print_tb() in the following ways: (1) if traceback is not None, it prints a header "Traceback (most recent call last):"; (2) it prints the exception type and value after the stack trace; (3) if type is SyntaxError and value has the appropriate format, it prints the line where the syntax error occurred with a caret on the next line indicating the approximate position of the error. colorizeFTr*compact)rchainrMN)getrKrrHr!) rIrJr,r*rrPkwargsrMtes r$rrssFzz*e,HB/IE DK% NBHH$hH7r&c[Rb[RO[Rn[R"US9n[ U[ XS9$)Nr+)r*rrM)rr __stderr__ _colorize can_colorizerBUILTIN_EXCEPTION_LIMIT)rIrrMs r$_print_exception_bltinrYs:/3::S^^D%%40H 3&=D \\r&c URSS5n[XU5up[[U5XUSS9n[ UR XFS95$)abFormat a stack trace and the exception information. The arguments have the same meaning as the corresponding arguments to print_exception(). The return value is a list of strings, each ending in a newline and some containing internal newlines. When these lines are concatenated and printed, exactly the same text is printed as does print_exception(). rMFTrNrPrM)rQrKrrHlistr )rIrJr,r*rPrRrMrSs r$rrsLzz*e,HB/IE DK% NB   9 ::r&F) show_groupc URSS5nU[LaUn[[U5USSS9n[ UR X$S95$)akFormat the exception part of a traceback. The return value is a list of strings, each ending in a newline. The list contains the exception's message, which is normally a single string; however, for :exc:`SyntaxError` exceptions, it contains several lines that (when printed) display detailed information about where the syntax error occurred. Following the message, the list contains the exception's ``__notes__``. When *show_group* is ``True``, and the exception is an instance of :exc:`BaseExceptionGroup`, the nested exceptions are included as well, recursively, with indentation relative to their nesting depth. rMFNT)rO)r]rM)rQrBrrHr\r)rIrJr]rRrMrSs r$rrsNzz*e,H  DKd CB ((J(R SSr&insert_final_newlinerMct[US5nU(aSOSnU(a~UbU(d([RU[RU3nU$[RU[RS[RU[RU3nU$UbU(dUU3nU$USUU3nU$)N exception rz: ) _safe_stringr BOLD_MAGENTARESETMAGENTA)etyperJr`rMvaluestrend_charlines r$_format_final_exc_linerlsE;/H+tH = --.ugj6F6F5GzRD K !--.ugj6F6F5Gr*J\J\I]^f]ghrhxhxgy{CzDED K =WXJ'D KWBxj 3D Kr&cHU"U5$! SUSURS3s$=f)N< z () failed>)r;)rJwhatfuncs r$rdrds14E{44&$-- 33s !c@[[R"5XUS9 g)zVShorthand for 'print_exception(sys.exception(), limit=limit, file=file, chain=chain)'.r*rrPN)rrrbrss r$r r sCMMO55Ir&cZSR[[R"5XS95$)z%Like print_exc() but return a string.rr*rP)joinrrrbrus r$r r s 77#CMMO5N OOr&c :[[S5(d [[S5(d [S5e[[S5(a[[RXUS9 g[[R [R [RXUS9 g)z]This is a shorthand for 'print_exception(sys.last_exc, limit=limit, file=file, chain=chain)'.last_exc last_typezno last exceptionrsN)hasattrrrCrrxry last_valuelast_tracebackrss r$rrse 3 # #GC,E,E,--sJ EEJ s~~s7I7I#e =r&cjUc[R"5Rn[[ XS9US9 g)zPrint a stack trace from its invocation point. The optional 'f' argument can be used to specify an alternate stack frame at which to start. The optional 'limit' and 'file' arguments have the same meaning as for print_exception(). Nr)r+)r _getframef_backr%r)fr*rs r$rrs) y MMO " "}Q,48r&cjUc[R"5Rn[[ XS95$)z5Shorthand for 'format_list(extract_stack(f, limit))'.r))rr~rr r)rr*s r$r r s(y MMO " " }Q4 55r&cUc[R"5Rn[R [ U5US9nUR 5 U$)a[Extract the raw traceback from the current stack frame. The return value has the same format as for extract_tb(). The optional 'f' and 'limit' arguments have the same meaning as for print_stack(). Each item in the list is a quadruple (filename, line number, function name, text), and the entries are in order from oldest to newest stack frame. r))rr~rrextractrreverse)rr*stacks r$rrsA y MMO " "  Ae )rrr)r rrrr7s r$r9FrameSummary.__repr__Os0HOO]]4;;TYYPH Hr&cg)Nr6r7s r$__len__FrameSummary.__len__Ssr&c*URGcURbURb/n[URURS-5Hn[R "UR U5R5nU(d\URbOUR RS5(a/[R"URU5R5nURU5 M SRU5S-Ulgggg)Nrnrc) rrrrange linecachegetlinerrstripr startswith_getline_from_codeappendrv)r8linesrrks r$ _set_linesFrameSummary._set_linesVs KK  '+E T__q-@A ((?FFH 64==;S;STW;X;X$77 FKRRTD T" B ))E*T1DK,( r&c:UR5 UR$r)rrr7s r$_original_linesFrameSummary._original_lineses {{r&cUR5 URc2URb%[R"UR5UlUR$r)rrrtextwrapdedentr7s r$_dedented_linesFrameSummary._dedented_linesksD     'DKK,C#+??4;;#?D ###r&cUR5 URcgURRS5SR5$)Nrcr)rr partitionstripr7s r$rkFrameSummary.liness<  ;; {{$$T*1-3355r&) rrrrrrrrrr)r;r<r=r>__doc__ __slots__rrrrr9rrpropertyrrrkr?r6r&r$rrs II?Cd44<4GHH 2 $$66r&rc## Uc=[R"5RRRRnUb!XR4v URnUbM gg7f)zWalk a stack yielding the frame and line number for each frame. This will follow f.f_back from the given frame. If no frame is given, the current stack is used. Usually used with StackSummary.extract. N)rr~rf_lineno)rs r$rr|sP  y MMO " " ) ) 0 0 7 7 -m HH -s A"A(&A(c#j# Ub,URUR4v URnUbM+gg7f)zWalk a traceback yielding the frame and line number for each frame. This will follow tb.tb_next (and thus is in the opposite order to walk_stack). Usually used with StackSummary.extract. N)r tb_linenorrs r$rrs/ .kk2<<'' ZZ .s-33c## Ubt[URRUR5nUSc"URUR4USS-4v OURU4v UR nUbMsgg7fNrr)_get_code_positionrf_codetb_lastirr)r, positionss r$r1r1sr .&r{{'9'92;;G  Q< ++ /)AB-?? ?++y( ( ZZ .s A5A;9A;cvUS:agUR5n[[R"X!S-S55$)Nr)NNNN) co_positionsnext itertoolsislice)codeinstruction_index positions_gens r$rrs81'%%'M    Q0FM NNr&cr\rSrSrSr\SSSS.Sj5r\SSSS.Sj5r\S 5rS r S r S r S r g)riz?A list of FrameSummary objects, representing a stack of frames.NTFr* lookup_linescapture_localsc<^U4SjnURU"5X#US9$)aCreate a StackSummary from a traceback or stack object. :param frame_gen: A generator that yields (frame, lineno) tuples whose summaries are to be included in the stack. :param limit: None to include all frames or the number of frames to include. :param lookup_lines: If True, lookup lines for each frame immediately, otherwise lookup is deferred until the frame is rendered. :param capture_locals: If True, the local variables from each frame will be captured as object representations into the FrameSummary. c36># THupXSSS44v M g7frr6)rr frame_gens r$extended_frame_gen0StackSummary.extract..extended_frame_gens$& $d333'sr)r0)klassrr*rrrs ` r$rStackSummary.extracts- 455  )6+ +r&cU[LnUbU(a[[SS5nUbUS:aSnUbVU(a[U5nU[ U5U- SnO2US:a[ R "X5nO[R"X*S9nU"5n[5nUHunuppURn U RnU RnURU5 [R"XR 5 U(a UR"nOSnUR%['XUSUXU URS9 5 M UHn[R("U5 M U(aUHnUR* M U$)Ntracebacklimitr)maxlenF)rrrrrr)rXgetattrrrlenrr collectionsdequesetr co_filenameco_nameaddr lazycache f_globalsf_localsrr checkcacherk)rrr*rr builtin_limitresultfnamesrrrrrcorrrs r$r0-StackSummary._extract_from_extended_frame_gensS!88 =MC!148E UQY  !), %c)nu&<&=> !%,,Y> '--iG 9B 5A5EB~~H::D JJx   ++ 6:: MMXt %h))(( :C$H   *  r&c [5nUHIn[U[5(aURU5 M+UupEpgUR[XEXgS95 MK U$)zh Create a StackSummary object from a supplied list of FrameSummary objects or old-style list of tuples. rk)rrDrr)ra_listrframerrrrks r$rStackSummary.from_listsRE%.. e$/4,$ l8TMN   r&c ^^^^^^^^^^^URSS5m/nURnURRS5(aSnT(aURSR [ R U[ R[ R UR[ R[ R UR[ R5 5 O5URSR XARUR55 UR(GaURR5(GaURb URc5UR[R"UR S5S -5 GOWUR"R%5nUS nXQR&UR- n[)XaR5n[)XqR5n URR%5SUR&UR- S -m[+U5[+TS 5- n [-S X- 5n[-S X- 5n [/TS US 9m[/TS U S 9mS R1T5n X[+U 5[+TS 5U - - n SmSm[3[45 [7U 5mSSS5 UR9XTT5m/mS [+T5S - 1n S mS mSmSmT(aTR:mTR<mTR>S :XaTU- mTR@S :XaTU- m[/TTR>TS 9m[/TTR@TS 9mTRBmTRDmU RG[ITR>S - TR>S-55 U RG[ITR@S - TR@S-55 U RKS 5 U RK[+T55 UUUUUUUUUUU4 Sjn [MU 5n[OU5HOunnU(a:UXS - - nUS:Xa U "US - 5 OUS:aTRSUS - S35 U "U5 MQ UR[R"[RP"SR1T55SS55 URR(aL[MURRRU55H%unnURSR UUS95 M' SR1U5$!,(df  GN=f)zFormat the lines for a single FrameSummary. Returns a string representing one frame involved in the stack. This gets called for every frame to be printed in the stack summary. rMFz-zz( File {}"{}"{}, line {}{}{}, in {}{}{} z File "{}", line {}, in {} Nz rcrr)offset^rc> TRT US-5 T(dg[T U5[T UR55- n/nU[T 5S- :XaTO [T U5n[ U5HnXA:d US:XaUT:aURS5 M'T(a_UTR :dUTR :Xa?UT:a9UTR :dUTR :XaUT:aURT5 MURT5 M T(GaTSn/n/n[R"[R"XRSS9S S 9GHup[U 5n US :XaUR[RSRS U 55-[R-5 UR[RSRS U 55-[R-5 MUS:XaUR[RSRSU 55-[R-5 UR[RSRSU 55-[R-5 GMFURSRSU 555 URSRSU 555 GM SRU5n SRU5n U TS'TRU S-5 gTRSRU5S-5 g)z*output all_lines[lineno] along with caretsrcNrrror r) fillvaluec US$Nrr6xs r$HStackSummary.format_frame_summary..output_line..s@ABC@Dr&)keyr c3*# UH upUv M g7frr6.0char_s r$ IStackSummary.format_frame_summary..output_line..sYznycjcgZ^nyc3*# UH upUv M g7frr6rrcarets r$rrs[~r}fnfg\ar}r~c3*# UH upUv M g7frr6rs r$rrsTuit^e^bUYitrc3*# UH upUv M g7frr6r s r$rrsVymxaiabW\mxrc3*# UH upUv M g7frr6rs r$rrsCdXcWTDXcrc3*# UH upUv M g7frr6r s r$rrsEh\gPXPQe\gr)rrlstrip_display_widthrleft_end_linenoright_start_linenorgroupby zip_longestr\rBOLD_REDrvrfRED)r num_spacescarets num_caretscolrkcolorized_line_partscolorized_carets_partscolorgroup caret_groupcolorized_linecolorized_carets all_linesanchorsanchors_left_end_offsetanchors_right_start_offsetrM dp_end_offsetdp_start_offset primary_charrsecondary_char show_caretss r$ output_line6StackSummary.format_frame_summary..output_lineysMM)F"3d":;&!$Yv%6!7#i>O>V>V>X:Y!YJF28C NQ'>>3JaCa"W%?%??#w'A'AAcLfFf#MM.9"MM,7 1  &bz/1,13.,5,=,=i>S>STXln>ovD-ELE*.u+K$| 4 ; ;JQ>QTVT[T[[~r}[~T~>~BLBRBR?R!S!&# 4 ; ;JNNRWWTuitTuMuy}G}M}M?M!N 4 ; ;BGGCdXcCdh i-E*,1E)F+-773I+J(%3r  &6&=> bggfo&<=r&z...... rcgNTr6rs r$r3StackSummary.format_frame_summary..s[_r&z {name} = {value} )rrJ)+rQrrrr rrgrfrrrrrrrindentrkr splitlinesr _byte_offset_to_character_offsetrmaxr(rvr Exception(_extract_caret_anchors_from_line_segment_should_show_caretsleft_end_offsetright_start_offsetr)r*r@rAupdaterdiscardsorted enumeraterrr)r8 frame_summaryrRrowrall_lines_original first_line last_line start_offset end_offsetdedent_characterssegmentsignificant_linesrCsig_lines_listirlinediffrrJr:r;r<r=rMr>r?r@rrArBs @@@@@@@@@@@r$format_frame_summary!StackSummary.format_frame_summary s ::j%0 ))  ! ! , ,Z 8 8 H  JJBII&&$$&&!(($$&&!&&$$   JJ6==.. 0B0BD E  ( ( (]-J-J-P-P-R-R##+''/ 8??=+=+=vFMN&3%B%B%M%M%O"/2 ./G/G-J^J^/^_  @ L_L_` =iI`I`a )99DDFH]-- 0D0DDqH %( Oc)A,6G$G!"1l&FG  J$BC #11l"S .y}Z P ))I.!s7|s9R=?QT^?^/_`# i(FwOG)"66|QZ\cd &'I(:$;!*+'-.*" !$.5.E.E+181K1K...!3/<?/11Q62lB2/=!'"9"9:CZ/+2@!'"<"<=F`2.$+#7#7L%,%;%;N%,,g5597;R;RUV;VW&,,g881X>X[\>\] "))"-!))#i.90>0>f"((9!:!*>!:IAv#)Nq5,A#A#q=' 3%\"MMDAl*KL'"; OOHOOBGGFO$DfN_`   %m&:&:&@&@&BC e 3::E:RS Dwws|e)(s U!! U0cv^^^[[[5 SSKnUR SR T55nUR (d SSS5 gUR SnSnUUU4Sjn U=URS`=bQuURS`=b?u [URRUR5(aURnOt URS`=bbuURS`=bPu[UR5S:Xa6[URSUR5(aURnO UbU "U5(a SSS5 gSSS5 U(agTSSTR!5(dTS TSR#5(agg!,(df  NN=f) NrrcFc>URS:H=(aD UR[T5:H=(a% URT:H=(a URT:H$r)rrr col_offsetend_col_offset)rJr:r[rZs r$_spawns_full_line;StackSummary._should_show_carets.._spawns_full_linesSLLA%;((C N:;((L8;,, : r&)rJr6rTr )r SyntaxError ImportErrorastparservbodyReturnCallrDrJrqNameAssignrtargetsr'r) r8rZr[r:r;rltree statementrJrhs ``` r$rN StackSummary._should_show_caretssS k; / 99TYYy12D99 0 /  ! IE 1SZZ1chhj1!)//"6"6AA )2ZZ1chhjI--.!3"9#4#4Q#7BB ) 2  %6u%=%=30 / /4  Q<  & - - / /9R=3M3T3T3V3V=0 /s%7F*A-F*A F*&F*:F** F8c @URSS5n/nSnSnSnSnUHnURXS9n U cMUb3XHR:wd$Ub!XXR:wdUbXhR:waYU[ :a)U[ -nUR SUSUS:aS OS S 35 URnURnURnSnUS- nU[ :aMUR U 5 M U[ :a)U[ -nUR SUSUS:aS OS S 35 U$) aFormat the stack ready for printing. Returns a list of strings ready for printing. Each string in the resulting list corresponds to a single frame from the stack. Each string ends in a newline; the strings may contain internal newlines as well, for those items with source text lines. For long sequences of the same frame and line, the first few repetitions are shown, followed by a summary line stating the exact number of further repetitions. rMFNrrMz [Previous line repeated z more timersrz] )rQrbrrr_RECURSIVE_CUTOFFr) r8rRrMr last_filerY last_namecountrUformatted_frames r$r StackSummary.formatsZ::j%0   !M"77 7YO&!Y2H2H%H!Y2F2F%F!Y2D2D%D,,..EMM4UG<&+aisR8=*22 )00 )..  QJE(( MM/ *)", $ $ & &E MM,UG4#aisR05  r&r6) r;r<r=r>r classmethodrr0rrbrNr r?r6r&r$rrsbI+/d ++*DHe//b$unB.r&rc\URS5n[USURSSS95$)Nzutf-8replace)errors)encoderdecode)strr as_utf8s r$rJrJs2jj!G ww&&wy&A BBr&_Anchors)r)rOr*rPr@rAr"r )defaultsc&^^^^^SSKnURSUS35n[UR5S:wagUR 5mU4SjmU4SjmU4SjmU4S jmUUU4S jnSUU4S jjnURSnUUR S `=GbmunU=URS `=bu U"UR5upxU"XxS 5upxUS-n U [TU5:a}URRS- U:d8U T"URRS- URR5:a(TUU =n R5(d U S;aU S- n [XxXy5$ =URS `=b8u U"UR5upU"XS5upU"USS9up[XX5$ UR S `=b7uU"UR"5upU"XS5upU"USS9up[XX5$ g g![a gf=f)z Given source code `segment` corresponding to a FrameSummary, determine: - for binary ops, the location of the binary op - for indexing and function calls, the location of the brackets. `segment` is expected to be a valid Python expression. rNz( z )rc">[TUU5$)z%Get character index given byte offset)rJ)rr rs r$ normalize;_extract_caret_anchors_from_line_segment..normalizeLs/f vFFr&c>U[T5:a<U[TU5:a*SnUS- nU[T5:aU[TU5:aM*U[T5:aU[TU5:deX4$)zkGets the next valid character index in `lines`, if the current location is not valid. Handles empty lines. rr)r)rr2rs r$next_valid_charA_extract_caret_anchors_from_line_segment..next_valid_charPsys5z!cSv-?&?C aKFs5z!cSv-?&?E "sSv-?'???{r&c(>US- nT"X5upX4$)z.Get the next valid character index in `lines`.rr6rr2rs r$ increment;_extract_caret_anchors_from_line_segment..incrementZs  q%f2 {r&c,>SnUS- nT"X5upX4$)z6Get the next valid character at least on the next linerrr6rs r$nextline:_extract_caret_anchors_from_line_segment..nextline`s%! %f2 {r&ct>TUUnUS;a T"X5upOU"U5(d T"X5upOX4$M7)zIGet the next valid non-"\#" character that satisfies the `stop` predicate\#r6)rr2stopchrrrs r$increment_untilA_extract_caret_anchors_from_line_segment..increment_untilgsPvs#BU{&v3 "XX'4 {r&cj>URS- nT"X R5nU(aT"X#5$X#4$)zGet the lineno/col position of the end of `expr`. If `force_valid` is True, forces the position to be a valid character (e.g. if the position is beyond the end of the line, move to the next line) r)rrg)expr force_validrr2rrs r$setup_positionsA_extract_caret_anchors_from_line_segment..setup_positionsss71$ 3 34/:v+M Mr&r6cDUR5(+=(a US:g$)N)isspacers r$r:_extract_caret_anchors_from_line_segment..sQYY[Ie]^be]eIer&rrc US:H$)N[r6rs r$rr ]^be]er&F)rc US:H$)N(r6rs r$rrrr&)T)rlrmrjrrnrIExprBinOpleftrightrrfrr SubscriptrJrprq)r]rlrtrrrurrr2 right_colr left_linenoleft_col right_linenorrrrrs @@@@@r$rMrM%s#*yy3wis+, 499~    EG   N N ! I  XX^^ SYY[#2$))"# UH"nTRU5[;aSOSv M$ g7f)rrN)east_asian_width_WIDE_CHAR_SPECIFIERS)rr unicodedatas r$r!_display_width..s0!D ) )$ /3H HaO!s*-)risasciirsum)rkr rs @r$r(r(sH ~T ||~~  &M r&c*\rSrSrSrSrSSjrSrg)_ExceptionPrintContextic>[5UlSUlSUlg)NrF)rseenexception_group_depth need_closer7s r$r_ExceptionPrintContext.__init__sE %&"r&c&SSUR--$)Nror)rr7s r$rH_ExceptionPrintContext.indentsa$44455r&Nc# # UcSnUR5nUR(aX2S-- n[U[5(a[R"XS5v gUHn[R"XCS5v M g7f)N|rocgrFr6rs r$r-_ExceptionPrintContext.emit..Tr&cgrFr6rs r$rrrr&)rHrrDrr)r8text_gen margin_char indent_strtexts r$emit_ExceptionPrintContext.emitsl  K[[]  % % + +J h $ $//(8IJ J ood8IJJ!sBB)rrrr)r;r<r=r>rrHrr?r6r&r$rrs 6 Kr&rc \rSrSrSrSSSSSSSSS.S jr\S 5r\S 5r \S 5r S r Sr Sr SSS.SjrSrSSS.SjrSSS.SjrSrg)riaRAn exception ready for rendering. The traceback module captures enough attributes from the original exception to this intermediary form to ensure that no references are held, while still being able to fully print or format it. max_group_width and max_group_depth control the formatting of exception groups. The depth refers to the nesting level of the group, and the width refers to the size of a single exception group's exceptions array. The formatted output is truncated when either limit is exceeded. Use `from_exception` to create TracebackException instances from exception objects, or the constructor to create TracebackException instances from individual components. - :attr:`__cause__` A TracebackException of the original *__cause__*. - :attr:`__context__` A TracebackException of the original *__context__*. - :attr:`exceptions` For exception groups - a list of TracebackException instances for the nested *exceptions*. ``None`` for other exceptions. - :attr:`__suppress_context__` The *__suppress_context__* value from the original exception. - :attr:`stack` A `StackSummary` representing the traceback. - :attr:`exc_type` (deprecated) The class of the original traceback. - :attr:`exc_type_str` String display of exc_type - :attr:`filename` For syntax errors - the filename where the error occurred. - :attr:`lineno` For syntax errors - the linenumber where the error occurred. - :attr:`end_lineno` For syntax errors - the end linenumber where the error occurred. Can be `None` if not present. - :attr:`text` For syntax errors - the text where the error occurred. - :attr:`offset` For syntax errors - the offset into the text where the error occurred. - :attr:`end_offset` For syntax errors - the end offset into the text where the error occurred. Can be `None` if not present. - :attr:`msg` For syntax errors - the compiler error message. NTF )r*rrrOmax_group_widthmax_group_depth save_exc_type_seenc  U SLn U c [5n U R[U55 XlXl[ R [U5XEUS9UlU (aUOSUl [US5Ul [USS5Ul SUlUSLUlUb#UR$UlUR(UlOSUlSUlU(a[-U[.5(aUR0UlUR2nUb [5U5OSUlUR6nUb [5U5OSUlUR8UlUR:UlUR<UlUR>UlSUlGO@U(a][-U[@5(aH[USS5b:[USS5n[CX#U5nU(aU=RSUS 3- sl OU(a[-U[D[F45(a[US S5b[US S5n[CX#U5nU(aU=RSUS 3- sl [-U[D5(a^[US S5nUbNU[HRJ;a:U(aU=RS US 3- sl OU=RS US 3- sl U(aURM5 Ub URNOSUl'U (GdWX4/nU(GaJURQ5unn U (aiU RRb\[U RR5U ;aC[U[WU RR5U RRU RRRXUUUUU U S 9 nOSnU(a(USL=(a U SL=(a U RN(+nOSnU (apU RZbcU(a\[U RZ5U ;aC[U[WU RZ5U RZU RZRXUUUUU U S 9 nOSnU (a`[]U [^5(aK/nU R`H8n[U[WU5UURXUUUUU U S 9 nURcU5 M: OSnUUl)UUl-UUl0U(a'URcURRU RR45 U(a'URcURZU RZ45 U(a/URe[gUR`U R`55 U(aGMIggg![a%n S[U S[53/Ul Sn A GNSn A ff=f)Nrrb __notes__z!Ignored error getting __notes__: FT name_fromz. Did you mean: 'z'?rz Or did you forget to import 'z. Did you forget to import ')r*rrrrr)4rridrrrr0r1r _exc_typerd_strrrrLr_is_syntax_error_have_exc_typer=exc_type_qualnamer<exc_type_module issubclassrjrrrrrr r[msgrk_compute_suggestion_error NameErrorAttributeErrorrstdlib_module_names _load_lines__suppress_context__pop __cause__rrHrF __context__rDBaseExceptionGroup exceptionsrextendzip)r8exc_type exc_value exc_tracebackr*rrrOrrrris_recursive_callelnoend_lno wrong_name suggestionqueuerScause need_contextcontextrrItexcs r$rTracebackException.__init__ s"- =EE "Y- ..!BB ( 7)C+ &3!K8  Z$Y TBDN !&&d2  %-%:%:D "#+#6#6D %)D "#'D  8[99%..DM""C&)o#c(4DK**G.5.Ac'ltDO!DI#**DK'22DO }}DH$(D ! *X{;; ;5A K>J29ZXJ 0 B?? *X >/JKK 640< FD9J29ZXJ 0 B?? (I..$Y= )jC(>$>!$(L!--3$AMM):%)G0Q]]+  33#%1'5(7(7# %G#GA'9::!#J ||1 I--"')5+9,;,;"' )#))$/ ,"&J$ !( * LL",, !<=LL"..!--!@ALLR]]ALL!AB%!g Z3LKQU4V3WXZDNN Zs=U V &VV cBU"[U5XR/UQ70UD6$)z.Create a TracebackException from an exception.)rHrF)clsrIargsrRs r$from_exception!TracebackException.from_exceptions%49c#4#4FtFvFFr&cN[R"S[SS9 UR$)Nz-Deprecated in 3.13. Use exc_type_str instead.r) stacklevel)warningswarnDeprecationWarningrr7s r$rTracebackException.exc_types  E(Q 8~~r&cUR(dgURnURnUS;a[U[5(dSnUS-U-nU$)N)__main__builtinsz .)rrrrDr)r8stypesmods r$ exc_type_strTracebackException.exc_type_strsR""&&## / /dC(("3J&E r&cBURHnUR M g)z7Private API. force all lines in the stack to be loaded.N)rrk)r8rs r$rTracebackException._load_linessZZE JJ r&cj[U[5(aURUR:H$[$r)rDr__dict__rrs r$rTracebackException.__eq__s) e/ 0 0==ENN2 2r&cUR$r)rr7s r$__str__TracebackException.__str__s yyr&r)r]_depthc +n# URSS5nSU-S-nUR(dU[SURUS9-v gURnUR (dbUS:aE[X`RSUS9R S 5nUVs/sH nXX-S -PM snShvN OA[X`RUS9v O*URXdS9Vs/sHoU-PM snShvN [UR[RR5(at[UR[[45(dOURH>n [U S 5n U R S 5Vs/sH oU-S -PM snShvN M@ O:URb-US R![URS ["S 95-v UR$(a7U(a/UR$Hn U R'XS-US9ShvN M gggs snfGNvs snfGN[UR [5(aUR S :wa UR OU n O[U5S -n UR(a'U [UR5:a[U5S -n UR(a'U [UR5:a[U5S -n X:dU S :aU S -n U S - U- n U S - U- n Sn U S :aSUSU 5n S=pU(aQUSU [R"-X{U -[R -X|S-n[R"n[R nS RU5v SRSR%U 5USX- -U5v OS RU5v UR&=(d SnU(aRSR[R(U[R [RU[R U5v gSRUUU5v g7f)z0Format SyntaxError exceptions (internal helper).rMFrNz File {}"{}"{}, line {}{}{} zz File "{}", line {} z ({})rcz z {} rrroc3R# UHoR5(aUOSv M g7f)roNr)rcs r$r:TracebackException._format_syntax_error..2s!U}! 1#<}s%'z {}{}{}{} r zz{}{}{}: {}{}{}{} z {}: {}{} )rQrr rrgrrfrrDrrr'rr intrr[r-rvrre)r8rrRrMfilename_suffixrrtextltextspacesr r[rr caretspace start_color end_colorrs r$r"'TracebackException._format_syntax_errors?::j%0 ;; "6==&&MM/Z$$&&KK$$ /55MM/Z>> ]] &%nnT]];Oyy dC KK%ELL)EZ#e*,F{{" ''..DKK--;;$//1't<< $1 4 $ "%UaJ99#dii.!8 Z!^F99c$))n!!'!J V+&NV3  A:!UuVe}!UJ.00K"&5M&//027i2HIKUK[K[\!*-. '1&9&9 $.$4$4 $++E22*11 +# 12! %++E22hh11 &--''  ""  ! !%%eS/B BsOO)rP_ctxc +Z# URSS5nUc [5n/nUnU(azU(arURb[nURnO5URb$UR (d[ nURnOSnSnURXv45 UnU(aMrOURSU45 [U5GHDupU bURU 5ShvN URcUR(aIURS5ShvN URURRUS95ShvN URURUS95ShvN MURUR:a)URSURS35ShvN MURS:Hn U (aU=RS - slUR(aQURS U (aS OSS 9ShvN URURRUS95ShvN URURUS95ShvN [!UR5n XR"::aU n OUR"S -n SUl['U 5GH-n XS - :HnU(aS UlUR"bXR":nOSnU(dU S -OSnUR)5U S:XaSOS-SUS3-v U=RS - slU(d&URU RXUS9ShvN O8XR"- nUS :aSOSnURSUSUS35ShvN U(a-UR$(aUR)5S-v SUlU=RS -slGM0 U (dGM+URS :XdeSUlGMG gGN-GNGNGNGNiGN GNGNNN7f)aFormat the exception. If chain is not *True*, *__cause__* and *__context__* will not be formatted. The return value is a generator of strings, each ending in a newline and some containing internal newlines. `print_exception` is a wrapper around this method which just prints the lines to a file. The message indicating which exception occurred is always the last string in the output. rMFNz#Traceback (most recent call last): rxz... (max_group_depth is z) rrz3Exception Group Traceback (most recent call last): +)rTz...z+-z z+---------------- z ---------------- )rPr7rMryrzand z more exceptionrcz&+------------------------------------ )rQrr_cause_messagerr_context_messagerreversedrrrr rrrrrrrrH)r8rPr7rRrMoutputrI chained_msg chained_excr is_toplevelnum_excsnr`rx truncatedtitle remainingplurals r$r TracebackException.formatSs::j%0 <)+D ==,"0K"%--Koo222"2K"%//K"&K"&K {01!# MM4+ & (HC99S>))~~%99#yy)OPPP#yy)9)98)9)LMMM99S%>%>%>%QRRR++d.B.BB99.t/C/C.DCHJJJ $99Q> ..!3.99#yyN-8cd ) DDD $yy)9)98)9)LMMM99S%>%>%>%QRRRs~~.333 A,,q0A"'qA !qSH*.++7%&*>*>%> $) ,5qse5E;;=$%qDDd4/w6IJKL..!3.$#&>>!#4#;#;%]e#;#fff$,/C/C$C (1A 2#'99"9+_VHBG$III DOO#{{}H IJ*/..!3..7":;55:::12D.}))QMRJDNR.gIsB"P+&rrrrrrrrrrrr"r r!r?r6r&r$rrs%NEIeU$dOCbGG     384olYCv#b3J!++r&ri(rrcjX:XagUR5UR5:Xa[$[$)Nr)lower _CASE_COST _MOVE_COST)ch_ach_bs r$_substitution_costrQs* | zz|tzz|# r&cUb[U[5(dg[U[5(aURn[ U5nUSSS:gnU(a[UbXUR bUR nUR bMUR nSUR;aURSULaSnU(aUVs/sHowSSS:wdM UPM nnGO [U[5(aG[UR5n[ U5nUSSS:waUVs/sHowSSS:wdM UPM nnO[U[5(deUcgUR bUR nUR bMUR n[UR5[UR5-[UR5-nSUR;a$URSn [!X5(aSU3$SSKn U R%XB5$s snf![a gf=fs snf![a gf=f![a Of=f['U5[(:ag['U5n U [*:agU n Sn UHZnX:XaM ['U5U -S-[,-S-n[/XS- 5n[1X.U5nUU:aMGU (aUU :dMVUn Un M\ U $) Nrrr8Fzself.rr)rDrrobjdirrrrrLrk __import__rrr\r f_builtinsrz _suggestions_generate_suggestionsr_MAX_CANDIDATE_ITEMS_MAX_STRING_SIZErNmin_levenshtein_distance)rr,rrTdhide_underscoredrrmodr8rXwrong_name_len best_distancer possible_name max_distancecurrent_distances r$rrsJ!>&)Dt((zl++A11!@@K3  3  2     1v$$_N(("MJ  & M*^;a?:MQRR <):; 0LY l * - =&J,M slAH;H< H  H H,-H& H!)H!/H&7H6 H HH!H&& H32H36 IIc X:XagSnXS(a6XS(a-XX:Xa#US- nXS(aXS(a XX:XaM#XSnXSnSnUSU=(d S(a`USU=(d S(aMXS- XS- :Xa=US-nUSU=(d S(a%USU=(d S(aXS- XS- :XaM=USU=(d SnUSU=(d SnU(aU(d[[U5[U5--$[U5[:d[U5[:aUS-$[U5[U5:aXp[U5[U5- [-U:aUS-$[[ [[[U5S--[55nSn[ [U55HnXnU[-=p[ R n [ [U55HBn U [XU 5-n X[n [Xi5[-n [X5nXeU 'Xj:dM@Un MD X:dMUS-s $ U$r) rNrr[r\rrmaxsizerQr\)abmax_costprepostrVrbindexbchardistanceminimumindex substitute insert_deletes r$r]r]s1 v C D'ag!&AF"2 q D'ag!&AF"2 $A $A D MT\T q$,$/A1fI64J   MT\T q$,$/A1fI64J -4<4A -4<4A ASVc!f_-- 1v  CF-=$=!| 1vA1 AQ:%0!| uZs1vz!:JG HC FA- "Z//++3q6]E!$6uh$GGJzH 1J>M3F J #  a< ) * Mr&rrA)NNTrF)NNN)>rcollections.abcrrrrrr  contextlibrrVr__all__r%r rr rr:r;r3rBrKrobjectrXrYrrrlrrdr r rrr rrrrrr1rrzr\rrJ namedtuplerrMrr(rrrZr[rNrMrQrr]r6r&r$rysF   $' ;$707*& &  K  #, T8$!(] $-$ ; )2TT0BFPU  $'4JP = 96  e6e6P  Od4dN C  ! !3Z Pd*KK.Y+Y+x   M`:r&