v*r#!^SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK J r JrJrJrJrJrJr SSKJr SSK JrJr SSKJr SSKJrJr \SrS rS rS r "S S \RB5r"Sr#"SS\RB5r$"SS\RB5r%Sr&Sr'Sr(Sr)Sr*\+"54Sjr,Sr-Sr.Sr/"SS\RB5r0\"SS9(Ga\ Gb\ Rbr2\ Rf"S\ Rh5r5\2Rlr7\54\7l8\ Rr\7l:\2Rvr<\ Rz\ Rr\ Rh4\>> def f(x): ... def g(y): ... return x + y ... return g ... >>> dump(f.__code__) name: f argcount: 1 posonlyargcount: 0 kwonlyargcount: 0 names: () varnames: ('x', 'g') cellvars: ('x',) freevars: () nlocals: 2 flags: 3 consts: ('None', '') >>> dump(f(4).__code__) name: g argcount: 1 posonlyargcount: 0 kwonlyargcount: 0 names: () varnames: ('y',) cellvars: () freevars: ('x',) nlocals: 1 flags: 19 consts: ('None',) >>> def h(x, y): ... a = x + y ... b = x - y ... c = a * b ... return c ... >>> dump(h.__code__) name: h argcount: 2 posonlyargcount: 0 kwonlyargcount: 0 names: () varnames: ('x', 'y', 'a', 'b', 'c') cellvars: () freevars: () nlocals: 5 flags: 3 consts: ('None',) >>> def attrs(obj): ... print(obj.attr1) ... print(obj.attr2) ... print(obj.attr3) >>> dump(attrs.__code__) name: attrs argcount: 1 posonlyargcount: 0 kwonlyargcount: 0 names: ('print', 'attr1', 'attr2', 'attr3') varnames: ('obj',) cellvars: () freevars: () nlocals: 1 flags: 3 consts: ('None',) >>> def optimize_away(): ... 'doc string' ... 'not a docstring' ... 53 ... 0x53 >>> dump(optimize_away.__code__) name: optimize_away argcount: 0 posonlyargcount: 0 kwonlyargcount: 0 names: () varnames: () cellvars: () freevars: () nlocals: 0 flags: 3 consts: ("'doc string'", 'None') >>> def keywordonly_args(a,b,*,k1): ... return a,b,k1 ... >>> dump(keywordonly_args.__code__) name: keywordonly_args argcount: 2 posonlyargcount: 0 kwonlyargcount: 1 names: () varnames: ('a', 'b', 'k1') cellvars: () freevars: () nlocals: 3 flags: 3 consts: ('None',) >>> def posonly_args(a,b,/,c): ... return a,b,c ... >>> dump(posonly_args.__code__) name: posonly_args argcount: 3 posonlyargcount: 2 kwonlyargcount: 0 names: () varnames: ('a', 'b', 'c') cellvars: () freevars: () nlocals: 3 flags: 3 consts: ('None',) N) cpython_onlycheck_impl_detailrequires_debug_ranges gc_collectPy_GIL_DISABLEDsuppress_immortalization skip_if_suppress_immortalization)assert_python_ok)threading_helper import_helper)instructions_with_positions)opmapopnameCOPY_FREE_VARSc## UH;n[U5nURS5(aSUR-v M7Uv M= g7f)z.Yield a doctest-safe sequence of object reprs.z N)repr startswithco_name)teltrs 5/opt/alt/python313/lib64/python3.13/test/test_code.pyconstsrs; I << ' '$s{{2 2G sAAc SH"n[U<S[USU-5<35 M$ [S[[UR555 g)z1Print out a text representation of a code object.) nameargcountposonlyargcountkwonlyargcountnamesvarnamescellvarsfreevarsnlocalsflagsz: co_zconsts:N)printgetattrtupler co_consts)coattrs rdumpr,sB= $EDL 9:;= )U6",,/01c:S[5RU53$)NzForeign getitem: )super __getitem__)selfis rexternal_getitemr3s uw22156 77r-c\rSrSr\S5r\S5rSrSrSr Sr Sr S r S r S r\"5S 5rS rSr\"5S5rSrSrSrSr\S5rSrg)CodeTestcr[R"S5nURSSS5nURURS5 URUR S5 URUR S5 UR[5 [U5 SSS5 g!,(df  g=f)N _testcapifilenamefuncname) r import_module code_newempty assertEqual co_filenamerco_firstlineno assertRaises Exceptionexec)r1r8r*s r test_newemptyCodeTest.test_newemptys!// <  $ $ZR @ 4 Z0 **B/   y ) H* ) )s  B(( B6c^^^SSKJm SmSmUUU4Sjn"SS[5nU"US[5 URnUR SR nURXB5 U"/S Q5nURUSS 5 g) Nr) FunctionTypec$^U4SjR$)Nc>T$N __class__srICodeTest.test_closure_injection..create_closure..sIr-) __closure__rLs`rcreate_closure7CodeTest.test_closure_injection..create_closures%22 2r-ctURURS-[[S/5UR-S9$)z9A new code object with a __class__ cell added to freevarsrL) co_freevarsco_code)replacerUbytesrrV)cs rnew_code1CodeTest.test_closure_injection..new_codes799)GQVXfhiWjQklmluluQu9v vr-c >T"UR5nUR(aeT"U5nURn[XT"U[ 5XU55 grJ)__code__rP __defaults__setattrglobals) clsrfcodeclosuredefaultsrGrQrZs radd_foreign_method;CodeTest.test_closure_injection..add_foreign_methodsHAJJ'D}} $$$S)G~~H C|D')TWU Vr-c\rSrSrSrg)-CodeTest.test_closure_injection..ListrKN__name__ __module__ __qualname____firstlineno____static_attributes__rKr-rListri r-rqr0)rTzForeign getitem: 1) typesrGlistr3r0rP cell_contentsassertIsr>) r1rfrqfunction class_refobjrGrQrZs @@@rtest_closure_injectionCodeTest.test_closure_injections ' 3 w W 4  40@A##((+99  i&9o Q!56r-cSnURn[U5nU"URURURUR UR URURURURURURURURURUR UR"UR$UR&5 g)NcgrJrKrKr-rfunc'CodeTest.test_constructor..funcsDr-)r]type co_argcountco_posonlyargcountco_kwonlyargcount co_nlocals co_stacksizeco_flagsrVr)co_names co_varnamesr?r co_qualnamer@ co_linetableco_exceptiontablerU co_cellvars)r1rr*CodeTypes rtest_constructorCodeTest.test_constructors ]]8 --,,      )),,# (r-cUR[RRR[RR 5 grJ)r>r5 test_qualnamer]rrnr1s rrCodeTest.test_qualnames4   " " + + 7 7  " " / / r-cSnURnSnURnSSSSSSUR[R-4S S UR4S UR 4S S SSSSSUR 44H~upVURXVS9 UR"S0XV0D6nUR[Xu5U5 [R"U40XV0D6nUR[Xu5U5 SSS5 M URURURS9nURURUR5 URURUR5 [R"X$RURS9nURURUR5 URURUR5 g!,(df  GMx=f)Nc SnU$NrTrKxs rr#CodeTest.test_replace..func AHr-cSnSnU$)NrsrtrK)yzs rfunc2$CodeTest.test_replace..func2sAAHr-)rr)rr)rr)rrT)rrTr)r@drVr))r)myname)r)spam)rU)freevar)r)cellvar)r? newfilename)rnewnamer)r+value)rrrK)r]rinspect CO_COROUTINErVr)rsubTestrWr>r'copyrr)r1rrcrcode2r+rrZs r test_replaceCodeTest.test_replaces }}   % $   )=)== > #  & %// * % & ) ) * " U// 0! KD$45<<84-8  !8%@<<> >  !8%@ 65% 0<.>?<<2C2C+0+;+;= --u/@/@A ,,e.>.>?65s A"G G* cSnURnURS:de[U5nSHnUR[5 U"UR UR URURU-URURURURURURURURUR UR"UR$UR&UR(UR*5 SSS5 M UR[5 UR-URS- S9 SSS5 UR[5 UR-URS-S9 SSS5 g!,(df  GMz=f!,(df  N\=f!,(df  g=f)Nc SnU$rrKrs rr,CodeTest.test_nlocals_mismatch..func,rr-r)rTrT)r)r]rrrA ValueErrorrrrrrrVr)rrr?rrr@rrrUrrW)r1rr*rdiffs rtest_nlocals_mismatchCodeTest.test_nlocals_mismatch+sS ]]}}q   8D"":...---**--%/..  z * JJ"--!"3J 4+   z * JJ"--!"3J 4+ *1/.,+ * * *s%CF9F,3F= F) , F:= G cbSnURnURSS9nURX#5 g)Nc^U4Sj$)Nc>T$rJrKargsrrNBCodeTest.test_shrinking_localsplus..func..Ts3r-rKrs`rr0CodeTest.test_shrinking_localsplus..funcSs  r-r)r)r]rWr>)r1rrcnewcodes rtest_shrinking_localsplus"CodeTest.test_shrinking_localsplusPs. }},,v,. 'r-cSnURRSS9=p#UR[UR 55/5 g)NcgrJrKrKr-rr+CodeTest.test_empty_linetable..funcZ r-r-r)r]rWr>rvco_lines)r1rrZrcs rtest_empty_linetableCodeTest.test_empty_linetableYs? --//S/AA h//12B7r-cSnUR[5 URR SSS5 g!,(df  g=f)NcgrJrKrKr-rr3CodeTest.test_co_lnotab_is_deprecated..func`rr-) assertWarnsDeprecationWarningr] co_lnotab)r1rs rtest_co_lnotab_is_deprecated%CodeTest.test_co_lnotab_is_deprecated_s1   0 1 MM # #2 1 1s 9 AcSnUR[SS5 URRSURRSS-S9UlSnUR [ U5 U"5 SSS5 g!,(df  g=f)NcgrJrKrKr-rfoo+CodeTest.test_invalid_bytecode..foogrr-z<229>rTrVzunknown opcode 229)r>rr]rWrVassertRaisesRegex SystemError)r1rmsgs rtest_invalid_bytecodeCodeTest.test_invalid_bytecodefs{  g.||++cll221266,8 #  # #K 5 E6 5 5s -A>> B cSSKn0n[[R"S5U5 USnURnUR R n/n[UR"U5UR55HKupxURURS5/SQ5 [U5(aM:URU5 MM URUV s/sHn U RU R 4PM sn /SQ5 gs sn f)NrzX try: 1/0 except Exception as e: exc = e exc)rrt)) PUSH_EXC_INFON) LOAD_CONSTN) STORE_NAMEe) DELETE_NAMErRERAISErT)COPYrt) POP_EXCEPTNr)disrCtextwrapdedent __traceback__tb_framef_coder get_instructions co_positionsassertIncountanyappendr>rargval) r1r namespacer tracebackrcartificial_instructionsinstr positions instructions r)test_co_positions_artificial_instructions2CodeTest.test_co_positions_artificial_instructionsus  X__    %% !!(("$ ;   &(9(9(;! E MM)//$/ ;y>>'..u5!  $; #:K##[%7%78#:     s"DcL[R"S5n[SSSU5 g)N# def f(): pass positions = f.__code__.co_positions() for line, end_line, column, end_column in positions: assert line == end_line assert column is None assert end_column is None z-Xno_debug_ranges-crrr r1rcs r6test_endline_and_columntable_none_when_no_debug_ranges?CodeTest.test_endline_and_columntable_none_when_no_debug_rangess(   0$=r-cF[R"S5n[SUSS9 g)Nrr1)PYTHONNODEBUGRANGESrrs r:test_endline_and_columntable_none_when_no_debug_ranges_envCCodeTest.test_endline_and_columntable_none_when_no_debug_ranges_envs#   t=r-cSnURRSS9nUR5nUH5upEpgURU5 UR XRR S-5 M7 g)NcSngrrKrs rr8CodeTest.test_co_positions_empty_linetable..funcsAr-r-rrT)r]rWr assertIsNoner>r@)r1rrZrlineend_linecolumn end_columns r!test_co_positions_empty_linetable*CodeTest.test_co_positions_empty_linetablesb ==((c(:))+ 2; .DF   d #   X'>'>'B C3.fs,   s ! 2 /2 >r-r)r)r]rWassertNotEqual)r1rbcode_acode_bcode_ccode_ds rtest_code_equalityCodeTest.test_code_equalitys S1#6#6 F+ F+ F+ F+ F+ F+r-c*SRnSRnURX5 UR[U5[U55 URSS9nURX5 UR[U5[U55 g)NcgrrKrKr-rrN:CodeTest.test_code_hash_uses_firstlineno..ar-cgrrKrKr-rrNr&r'r-)r@)r]rhashrW)r1c1c2c3s rtest_code_hash_uses_firstlineno(CodeTest.test_code_hash_uses_firstlinenost ! ! ! ! B# DHd2h/ ZZrZ * B# DHd2h/r-cZSSS.SjRnURURS5 URURS5 URURS5 UR SSS9nUR X5 UR [U5[U55 g)NrT)rwcgrrK)rrrr1s rrN4CodeTest.test_code_hash_uses_order..sqr-rsr)rr)r]r>rrrrWrr*)r1rYswappeds rtest_code_hash_uses_order"CodeTest.test_code_hash_uses_orders A ( 2 2 * --q1 ,,a0))qA)F A' DGT']3r-cSRnSRnURURS9nURX5 UR[ U5[ U55 g)Nc X-$rJrKrrs rrN7CodeTest.test_code_hash_uses_bytecode..!%r-c X-$rJrKr9s rrNr:r;r-r)r]rWrVrr*)r1rYrr+s rtest_code_hash_uses_bytecode%CodeTest.test_code_hash_uses_bytecodesR  ) )  ) ) YYqyyY ) A" DGT"X.r-c [SSS5n[SSS5nS[R"5l[R"S5 [ US/05 [ US/05 UR X5 [R"S5 g) zGH-109052 Make sure the instrumentation doesn't affect the code equality The validity of this test relies on the fact that "x is x" and "x in x" have only one different instruction and the instructions have the same argument. zx is xz example.pyevalzx in xTcgrJrK)argss rrN?CodeTest.test_code_equal_with_instrumentation.. s4r-rN)compilesys _getframef_trace_opcodessettracerCr)r1code1rs r$test_code_equal_with_instrumentation-CodeTest.test_code_equal_with_instrumentationsq,7,7*. ' '( US"I US"I E) Tr-rKN)rlrmrnrorrDr|rrrrrrrrrrrr rr"r.r5r=rJrprKr-rr5r5s77@(2 ,@\#5J(8 $ - - ^ > > DD,*04/r-r5cDU[R"SU-S-SS5L$)N_rTr)rEintern)ss r isinternedrPs%  C!GcM1R01 11r-c\rSrSrSrSrSr\S5r\S5r \S5r \S5r \\ R"\S 5S 55r\\ R "\S 5\"5S 555r\S 5rSrg)CodeConstsTesticlUH nX2:XdM Us $ URX!5 URS5 g)NzShould never be reached)rfail)r1rrvs r find_constCodeConstsTest.find_consts1Az e$ +,r-cR[U5(dURSU<S35 gg)NString z is not internedrPrTr1rOs rassertIsInternedCodeConstsTest.assertIsInterneds!}} IIQ8 9r-cR[U5(aURSU<S35 gg)NrYz is internedrZr[s rassertIsNotInterned"CodeConstsTest.assertIsNotInterned!s a== II4 5 r-cx[SSS5nURURS5nURU5 g)Nzres = "str_value"?rC str_valuerDrVr)r\r1r*rUs rtest_interned_string#CodeConstsTest.test_interned_string%s3 (#v 6 OOBLL+ 6 a r-c~[SSS5nURURS5nURUS5 g)Nzres = ("str_value",)rbrCrcrrdres rtest_interned_string_in_tuple,CodeConstsTest.test_interned_string_in_tuple+s7 +S& 9 OOBLL. 9 ad#r-c[SSS5nURUR[S55nUR [ U5S5 g)Nzres = a in {"str_value"}rbrCrir)rDrVr) frozensetr\r(res r!test_interned_string_in_frozenset0CodeConstsTest.test_interned_string_in_frozenset1s@ /f = OOBLL)N*C D eAhqk*r-c:SSjnURU"55 g)NcU$rJrK)rs rrb6CodeConstsTest.test_interned_string_default..f9sHr-ri)r\r1rbs rtest_interned_string_default+CodeConstsTest.test_interned_string_default7s  ac"r-z0free-threaded build interns all string constantscx[SSS5nURURS5nURU5 g)Nzres = "str\0value!"rbrCz strvalue!)rDrVr)r_res rtest_interned_string_with_null-CodeConstsTest.test_interned_string_with_null=s5+S& 9 OOBLL- 8   #r-zdoes not intern all constantsc0n[[R"S5U5 [[R"S5U5 URUS"5US"5L5 g)NzP def func1(): return (0.0, (1, 2, "hello")) zP def func2(): return (0.0, (1, 2, "hello")) func1r)rCrr assertTrue)r1r`s rtest_interned_constants&CodeConstsTest.test_interned_constantsDsh  X__    X__    (*gg.>.@@Ar-c."SS5n"SS[5n[SSS5nURSU"5U"S5U"S54S 9nURURSU5 UR URS URS 5 g) Nc\rSrSrSrSrg)9CodeConstsTest.test_unusual_constants..Unhashablei\c[S5e)Nzunhashable type) TypeErrorrs r__hash__BCodeConstsTest.test_unusual_constants..Unhashable.__hash__]s 122r-rKN)rlrmrnrorrprKr-r Unhashabler\s 3r-rc\rSrSrSrg)4CodeConstsTest.test_unusual_constants..MyInti`rKNrkrKr-rMyIntr`rrr-rza = 1zrCrT)r)rsrt)intrDrWassertIsInstancer)r>)r1rrrcs rtest_unusual_constants%CodeConstsTest.test_unusual_constantsWs  3 3 C w F3||q*,a%(&K|L dnnQ/< *DNN1,=>r-rKN)rlrmrnrorVr\r_rrfrjrnrtunittestskipIfrrw skipUnlessr r|rrprKr-rrRrRs-:6!! $$ ++ ##  ___&XY$Z$  *IJ%'B(KB ??r-rRc.\rSrSr\"5S5rSrg)CodeWeakRefTestiicd^0n[S[5U5 USnASTlU4Sjn[R"UR U5nTR [U"555 A[5 TR[U"555 TR TR5 g)Nz def f(): passrbFc>STlg)NTcalled)rcr1s rcallback,CodeWeakRefTest.test_basic..callbackus DKr-) rCr`rweakrefrefr]r{boolr assertFalse)r1rrbrcoderefs` r test_basicCodeWeakRefTest.test_basicks  _gi3 cN   ++ajj(3 WY(   gi)  $r-rN)rlrmrnrorrrprKr-rrris% %r-rc[U5$rJ)next)its rreadrs 8Or-c[U5nUS-nSnUS-(a&[U5nUS- nX!S-U--nUS-(aM&U$)N?r@)r)rrvalshifts r read_varintrsT RA b&C E b& H   " b&& Jr-cB[U5nUS-(aUS- *$US- $r)r)ruvals rread_signed_varintrs( r?D ax|qyr-c## URn[UR5n[U5nUS- S-nUS-S-nUS:Xa XSSSS4v OUS:XaW[ U5nX- nU[ U5-n[ U5nUS:XaSnOUS-n[ U5nUS:XaSnOUS-nXXXx4v OUS:Xa[ U5nX- nXXSS4v ObUS;a'US - nX- n[U5n [U5n XXX4v O5SUs=::aS :de e[U5n US-U S - -n XXXU S--4v GM ![a gf=f7f) Nrtr;rTr ) rr)r@iterrr StopIterationrr) rcrr first_bytelength line_deltarcolend_colrr second_bytes rparse_location_tablers   D d B  bJa2%q.A% 2:tT48 8 RZ+B/J  Dk"o-Hb/Caxq!"oG!|1 > > RZ+B/J  DT48 8 \ !J  D"XFbJV@ @NN #N #Nr(KQY+"23FV{R?O5PQ QM    s(#E D1DE1 D>;E=D>>Ec#h# [U5Hupp4pV[U5H nX4XV4v M M! g7frJ)rrange)rcrMrrrrrs rpositions_from_location_tablers53G3M/43vA30 04Ns02c#8# UHnX!:wdM Uv UnM g7frJrK)lstprevitems rdeduprs <JDs  c&[SU55$)Nc3.# UH un o!v M g7frJrK).0lrMs r &lines_from_postions..s1y|1ays)r)rs rlines_from_postionsrs 1y1 11r-cZSW-n[[-[-nU(a[$[$)z r)rrrqp)rrs r misshappenrsK           r-c6SR5n[5e)Nz )stripr)!example_report_generation_messages rbug93662rs  eg& ,r-c<\rSrSrSrSrSrSr\S5r Sr g) CodeLocationTestic[URR55n[[UR55n[ X#5HupEUR XE5 M UR [ U5[ U55 grJ)rvr]rrzipr>len)r1rpos1pos2l1l2s rcheck_positions CodeLocationTest.check_positionsscDMM..011$--@A$oFB   R $& TCI.r-cUR[5 UR[5 UR[5 grJ)rrrrrs rtest_positionsCodeLocationTest.test_positionss- 12 Z( X&r-cURnUR5VVs/sHu p4UPM nnnURU[[ U555 [[ [ U555n[XV5HupxURXx5 M UR[U5[U55 gs snnfrJ) r]rr>rvrrrrr) r1rr*rMrlines1lines2rrs r check_linesCodeLocationTest.check_liness ]])+7:1a$7 eFm!45)*G*KLM&)FB   R $* Vc&k2 8sB=cUR[5 UR[5 UR[5 grJ)rrrrrs r test_linesCodeLocationTest.test_liness- -. $ "r-c SnSnURRSS[[RSS[RSS[RSS/5[S US --S -S/5S 9UlUR [ U5 UR[URR55S S /-5 g)NcgrJrKrKr-rrb/CodeLocationTest.test_code_new_empty..frr-rrT*RESUMErLOAD_ASSERTION_ERROR RAISE_VARARGSrtrs)rr@rVr)rrNN) r]rWrXrrrAAssertionErrorr>rvr)r1rb PY_CODE_LOCATION_INFO_NO_COLUMNSs rtest_code_new_empty$CodeLocationTest.test_code_new_emptys  +-(ZZ''IIh'II45qIIo.71<> (  & .!,  ((* + %& & r-rKN) rlrmrnrorrrrrrrprKr-rrrs*/' 3#   r-rT)cpythoncUqgrJ) LAST_FREED)ptrs rmyfreerIs r-c\rSrSrSrSrSr\"5S5rSr \ R"5\"5S55r Sr g ) CoExtraiPc[S5$)Nz lambda:42)r@rs rget_funcCoExtra.get_funcQs $ $r-c UR5nUR[[S[[ R "S55 UR[[S[[ R "S55 g)Nrr)rrArSetExtra FREE_INDEXctypesc_voidpGetExtrarss rtest_get_non_codeCoExtra.test_get_non_codeWsQ A   k8R$nnS1 3   k8R$nnS1 3r-c ,UR5nUR[[UR[ S-[ R"S55 UR[UR[ S-[ R"S55S5 g)Nrr) rrArrr]rrrr>rrss rtest_bad_indexCoExtra.test_bad_index_sh A   k8QZZ(nfnnS.A C   Xajj*S.$nnS1345 7r-cUR5n[UR[[R "S55 A[ 5 UR[S5 g)Nr) rrr]rrrrr>rrss rtest_free_calledCoExtra.test_free_calledfs@ A QZZV^^C-@ A L   Z -r-cUR5n[R"5n[UR[ [R"S55 [UR[ [R"S55 UR [S5 [R"5n[UR[ U5 UR URS5 Ag)Ni,) rrrrr]rr>rrr)r1rbextras r test_get_setCoExtra.test_get_setqs ANN$E QZZV^^C-@ A QZZV^^C-@ A   Z -NN$E QZZU 3   U[[# .r-cFUR5n"SS[R5n[UR[ [ R"S55 U"X5nAUR5 UR5 [5 UR[S5 g)Nc.^\rSrSrU4SjrSrSrU=r$)6CoExtra.test_free_different_thread..ThreadTestic:>[TU]5 XlX lgrJ)r/__init__rbtest)r1rbrrMs rr?CoExtra.test_free_different_thread..ThreadTest.__init__sG$&F $Ir-ctU?[5 [(d!URR [ S5 gg)N)rbrrrr>rrs rrun:CoExtra.test_free_different_thread..ThreadTest.runs,L+? --j#>+r-)rbr)rlrmrnrorrrp __classcell__rLs@r ThreadTestrs%??r-rr) r threadingThreadrr]rrrstartjoinrr>r)r1rbrtts rtest_free_different_thread"CoExtra.test_free_different_threadsp  A ?Y-- ? QZZV^^C-@ AA$B HHJ GGI L   Z -r-rKN)rlrmrnrorrr rr rr requires_working_threadingr%rprKr-rrrPsU %  3 7 " # . $ .   4 4 6 ! # . $ 7 .r-rcNUR[R"55 U$rJ)addTestdoctest DocTestSuite)loadertestspatterns r load_testsr/s MM'&&() Lr-__main__)J__doc__rrrEr r*rrrrr ImportError test.supportrrrrrrr test.support.script_helperr r r test.support.bytecode_helperr opcoderrrrr,r3TestCaser5rPrRrrrrrrobjectrrrrr pythonapipy CFUNCTYPErfreefunc%PyUnstable_Eval_RequestCodeExtraIndexRequestCodeExtraIndexargtypes c_ssize_trestypePyUnstable_Code_SetExtrar py_objectc_intPyUnstable_Code_GetExtrarPOINTERrr FREE_FUNCrrr/rlmainrKr-rrIs-}~   <<< 88D '(28^x  ^B 2R?X&&R?j%h''%6)RV1 H 2@; x((; |T""v'9   BV^^4HDD&.["$*$4$4!**H))6+;+;V^^LH||H**H))6+;+;79H||HJ I&y1JK.(##K.\  z MMOo FsH H,+H,