JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr a0bi 8 SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK r SSK J r SSK Jr \RR!S5(aSSKJs Js Js Jr O\R&\R.r\r\r/SQrSSjr\R>SSj5r \R>S5r!\R>S 5r"\R>S 5r#"S S \$5r%"S S5r&\R>S5r'Sr(\R>S5r)\R>S5r*1Skr+Sr,Sr-Sr."SS5r/\0"\S5(a\Rb/r2O/r2"SS\/5r3\Rh"\RjSRm5Vs/sH n\7"\US5PM sn5r8"SS\ 5r9g!\a SrGN>f=fs snf) N)DistutilsError) working_setjava)AbstractSandboxDirectorySandboxSandboxViolation run_setupcSn[X5nUR5nSSS5 UcUn[WUS5n[XaU5 g!,(df  N-=f)z& Python 3 implementation of execfile. rbNexec)openreadcompiler )filenameglobalslocalsmodestreamscriptcodes ڋ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/sandbox.py _execfiler$sN D h   ~ 68V ,D  s A Ac## [RSSnUbU[RSS&Uv U[RSS&g!U[RSS&f=f7fN)sysargv)replsaveds r save_argvr1sI HHQKE    e s*AAAAAc## [RSSnUv U[RSS&g!U[RSS&f=f7fr)rpathrs r save_pathr#<s6 HHQKE  e sA/AAAc## [R"USS9 [RnU[lSv U[lg!U[lf=f7f)zD Monkey-patch tempfile.tempdir with replacement, ensuring it exists T)exist_okN)osmakedirstempfiletempdir) replacementrs r override_tempr+Es@ KK d+   E"H!  5s1AA A AAc## [R"5n[R"U5 Uv [R"U5 g![R"U5 f=f7fr)r&getcwdchdir)targetrs rpushdr0Vs< IIKEHHV  s,A%A A% A""A%c(\rSrSrSr\S5rSrg)UnpickleableException`zH An exception representing another Exception that could not be pickled. c [R"U5[R"U54$![a) SSKJn UR X""[ U555s$f=f)zq Always return a dumped (pickled) type and exc. If exc can't be pickled, wrap it in UnpickleableException first. r)r2)pickledumps Exceptionsetuptools.sandboxr2dumprepr)typeexcclss rr9UnpickleableException.dumpesO  1<<%v||C'88 8 1 G88CT#Y0 0  1s+.0A! A!N)__name__ __module__ __qualname____firstlineno____doc__ staticmethodr9__static_attributes__r?rr2r2`s 1 1rGr2c*\rSrSrSrSrSrSrSrg)ExceptionSavertzR A Context Manager that will save an exception, serialized, and restore it later. cU$rr?selfs r __enter__ExceptionSaver.__enter__zs rGcTU(dg[RX5UlX0lgNT)r2r9_saved_tb)rMr;r<tbs r__exit__ExceptionSaver.__exit__}s& ,00; rGcS[U5;ag[[RUR5upUR UR 5e)z"restore and re-raise any exceptionrRN)varsmapr5loadsrRwith_tracebackrS)rMr;r<s rresumeExceptionSaver.resumes> 4: %  dkk2   **rG)rRrSN) r@rArBrCrDrNrUr\rFr?rGrrIrIts  +rGrIc#B^# [RR5m[5nTv SSS5 [RR T5 U4Sj[R5n[ U5 WR 5 g!,(df  Nc=f7f)z Context in which imported modules are saved. Translates exceptions internal to the context into the equivalent exception outside the context. Nc3h># UH'nUT;dM URS5(aM#Uv M) g7f)z encodings.N startswith).0mod_namers r save_modules..s7#H 5  ##L1 #s 22 2)rmodulescopyrIupdate_clear_modulesr\) saved_exc del_modulesrs @r save_modulesrlsq KK   E  Y  KKu K;   s)BBAB BBcJ[U5Hn[RU M gr)listrrf) module_namesrcs rriris& KK !'rGc## [R"5nUv [R"U5 g![R"U5 f=f7fr) pkg_resources __getstate__ __setstate__r"s rsave_pkg_resources_staterts9  & & (E* ""5) ""5)sA4AA  Ac #2# [RRUS5n[5 [ 5 [ 5 [ 5 [5 [U5 [U5 [S5 Sv SSS5 SSS5 SSS5 SSS5 SSS5 SSS5 g!,(df  N7=f!,(df  N@=f!,(df  NI=f!,(df  NR=f!,(df  N[=f!,(df  g=f7f)Ntemp setuptools) r&r!joinrtrlr#hide_setuptoolsrr+r0 __import__) setup_dirtemp_dirs r setup_contextr}sww||Iv.H ! # ^![&x0"9-&|4!.1! $ # .-10![^ $ #s+D D C5C$ C $ C 0B1 C C C$C5 D( D1 B?;C  C C  C! C$$ C2 .C55 D ?D DD>Cython distutilsrwrq_distutils_hackc>URSS5SnU[;$)a  >>> _needs_hiding('setuptools') True >>> _needs_hiding('pkg_resources') True >>> _needs_hiding('setuptools_plugin') False >>> _needs_hiding('setuptools.__init__') True >>> _needs_hiding('distutils') True >>> _needs_hiding('os') False >>> _needs_hiding('Cython') True .r)split_MODULES_TO_HIDE)rc base_modules r _needs_hidingrs%"..a(+K * **rGc[RRSS5nUbUR5 [ [ [R5n[ U5 g)a Remove references to setuptools' modules from sys.modules to allow the invocation to import the most appropriate setuptools. This technique is necessary to avoid issues such as #315 where setuptools upgrading itself would fail to find a function declared in the metadata. rN)rrfget _remove_shimfilterrri)rrfs rryrysCkkoo&7>O"$$&]CKK0G7rGc[RR[RRU55n[ U5 U/[ U5-[ RSS&[ RRSU5 [R"5 [RRS5 [U5 [USS9n[X5 SSS5 SSS5 g!,(df  N=f![ a0nUR"(aUR"S(aeSnANOSnAff=f!,(df  g=f)z8Run a distutils setup script, sandboxed in its directoryNrc"UR5$r)activate)dists rrun_setup..s dmmorG__main__)__file__r@)r&r!abspathdirnamer}rnrrinsertr__init__ callbacksappendrdictr SystemExitargs) setup_scriptrr{nsvs rr r s =>I y ! '.4:5CHHQK HHOOAy )  "  ! ! ( ()E F!),<*E,+- " !-, vv!&&)  " !sUD? BD C1 D1 C? ;D>D??D D< &D72D?7D<<D?? E c\rSrSrSrSrSrSrSrSr Sr S r S H#r \ "\\ 5(dM\ "\ 5\"5\ 'M% SS jr\(a \"S \5r\"S\5rSH#r \ "\\ 5(dM\"\ 5\"5\ 'M% SrSH#r \ "\\ 5(dM\"\ 5\"5\ 'M% SrSH#r \ "\\ 5(dM\"\ 5\"5\ 'M% SrSrSrSrSrg )ri zDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFc[[5Vs/sH/nURS5(aM[X5(dM-UPM1 snUlgs snf)N_)dir_osrahasattr_attrs)rMnames rrAbstractSandbox.__init__sEC  ??3' ,3D,?     sAAAc ^URHn[[U[X55 M gr)rsetattrr&getattr)rMsourcers r_copyAbstractSandbox._copys!KKD Bgf3 4 rGcURU5 [(aUR[lUR[lSUlgrQ)r_filebuiltinsfile_openr _activerLs rrNAbstractSandbox.__enter__s0 4 5 JJHM   rGcSUl[(a[[l[[lUR [5 gNF)rrrrrr rr)rMexc_type exc_value tracebacks rrUAbstractSandbox.__exit__!s' 5!HM  3rGcJU U"5sSSS5 $!,(df  g=f)zRun 'func' under os sandboxingNr?)rMfuncs rrunAbstractSandbox.run(s 6TTs "c8^^[[T5mUU4SjnU$)Ncp>UR(aUR"TX/UQ70UD6upT"X/UQ70UD6$r)r _remap_pair)rMsrcdstrkwroriginals rwrap3AbstractSandbox._mk_dual_path_wrapper..wrap0s=||++D#HTHRHC2t2r2 2rGrrrrrs` @r_mk_dual_path_wrapper%AbstractSandbox._mk_dual_path_wrapper-s3% 3  rG)renamelinksymlinkNcJ^^T=(d [[T5mUU4SjnU$)Ncl>UR(aUR"TU/UQ70UD6nT"U/UQ70UD6$r)r _remap_inputrMr!rrrrs rr5AbstractSandbox._mk_single_path_wrapper..wrap>s;||((tAdAbAD.4.2. .rGr)rrrs`` r_mk_single_path_wrapper'AbstractSandbox._mk_single_path_wrapper;s 1wsD1 /  rGrr )statlistdirr.r chmodchownmkdirremoveunlinkrmdirutimelchownchrootlstat startfilemkfifomknodpathconfaccessc8^^[[T5mUU4SjnU$)Nc>UR(a3UR"TU/UQ70UD6nURTT"U/UQ70UD65$T"U/UQ70UD6$r)rr _remap_outputrs rr4AbstractSandbox._mk_single_with_return..wrapcs]||((tAdAbA))$0K0K0KLLD.4.2. .rGrrs` @r_mk_single_with_return&AbstractSandbox._mk_single_with_return`s3% /  rG)readlinktempnamc8^^[[T5mUU4SjnU$)Nc^>T"U0UD6nUR(aURTU5$U$r)rr)rMrrretvalrrs rr'AbstractSandbox._mk_query..wraprs1t*r*F||))$77MrGrrs` @r _mk_queryAbstractSandbox._mk_queryos3%   rG)r-tmpnamcU$)z=Called to remap or validate any path, whether input or outputr?)rMr!s r_validate_pathAbstractSandbox._validate_path~s rGc$URU5$zCalled for path inputsrrM operationr!rrs rrAbstractSandbox._remap_input""4((rGc$URU5$)zCalled for path outputsr)rMrr!s rrAbstractSandbox._remap_outputrrGcjUR"US-U/UQ70UD6UR"US-U/UQ70UD64$)?Called for path pairs like rename, link, and symlink operationsz-fromz-to)rrMrrrrrs rrAbstractSandbox._remap_pairsL   i'13 D D D   i%/ Bt Br B  rG)rrr)r@rArBrCrDrrrrNrUrrrrrrrrrrrrrrrrFr?rGrrr s NG 5 . 3  248FHTN. '6 #FE 2E* 3  4T:FHTN-0 ( 3  3D9FHTN( % 3  &t_FHTN%)) rGrdevnullc\rSrSrSr\R /SQ5r/r\ 4Sjr Sr \ (aSSjr SSjr SrS rS rS rS rSS jrSrg)riz?Hx(5}},5&&t||4  "L6Ls B B B(c^U4SjUR5nU4SjUR5n[R"X#5n[ U5$)Nc3F># UHnTRU5v M g7frr`)rb exceptionfilepaths rrd-DirectorySandbox._exempted..s# # UHn[R"UT5v M g7fr)rematch)rbpatternr*s rrdr+s# 7OGBHHWh ' '7Os$')r_exception_patterns itertoolschainany)rMr* start_matchespattern_matches candidatess ` rr$DirectorySandbox._exemptedsG <@r)as0rr^s    +%<<6""66 ++bgg C E        ! !  1I1(++< 2"  **  " "+* (E E P 2y::,KK[8[8| LLHMMOOA QO ,~,Q EBsF<G <GG