Files
proxmox/venv/lib/python3.12/site-packages/click/__pycache__/testing.cpython-312.pyc

278 lines
27 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<0C>Hi<48>J<00><01><><00>ddlmZddlmZddlZddlZddlZddlZddl Z ddl
Z
ddl Z ddl mZddlmZddlmZddlmZddlmZdd lmZe j*r dd
lmZdd lmZGd <0C>d <0A>Zej6dd<0E><04>ZGd<0F>dej:<00>ZGd<11>d<12>ZGd<13>dej@<00>Z! dd<15>Z"Gd<16>d<17>Z#Gd<18>d<19>Z$y)<1C>)<01> annotationsN)<01> TracebackType<70>)<01>_compat)<01>
formatting)<01>termui)<01>utils)<01>_find_binary_reader)<01>ReadableBuffer)<01>Commandc<01>Z<00>eZdZd d<01>Zd d<02>Zd d<03>Zddd<04>Zddd<05>Zddd<06>Zdd<07>Z dd<08>Z
dd <09>Z y
)<13> EchoingStdinc<01>.<00>||_||_d|_y)NF)<03>_input<75>_output<75>_paused)<03>self<6C>input<75>outputs <20>O/home/intlc/projects/proxmox/venv/lib/python3.12/site-packages/click/testing.py<70>__init__zEchoingStdin.__init__s<00><00><1B><04> <0B><1D><04> <0C><1C><04> <0C>c<01>.<00>t|j|<01>S<00>N)<02>getattrr<00>r<00>xs r<00> __getattr__zEchoingStdin.__getattr__s<00><00><16>t<EFBFBD>{<7B>{<7B>A<EFBFBD>&<26>&rc<01>T<00>|js|jj|<01>|Sr)rr<00>write)r<00>rvs r<00>_echozEchoingStdin._echo"s <00><00><13>|<7C>|<7C> <10>L<EFBFBD>L<EFBFBD> <1E> <1E>r<EFBFBD> "<22><11> rc<01>V<00>|j|jj|<01><00>Sr)r"r<00>read<61>r<00>ns rr$zEchoingStdin.read(s <00><00><13>z<EFBFBD>z<EFBFBD>$<24>+<2B>+<2B>*<2A>*<2A>1<EFBFBD>-<2D>.<2E>.rc<01>V<00>|j|jj|<01><00>Sr)r"r<00>read1r%s rr(zEchoingStdin.read1+s <00><00><13>z<EFBFBD>z<EFBFBD>$<24>+<2B>+<2B>+<2B>+<2B>A<EFBFBD>.<2E>/<2F>/rc<01>V<00>|j|jj|<01><00>Sr)r"r<00>readliner%s rr*zEchoingStdin.readline.s <00><00><13>z<EFBFBD>z<EFBFBD>$<24>+<2B>+<2B>.<2E>.<2E>q<EFBFBD>1<>2<>2rc<01>z<00>|jj<00>D<00>cgc]}|j|<01><00><02>c}Scc}wr)r<00> readlinesr"rs rr,zEchoingStdin.readlines1s+<00><00>'+<2B>{<7B>{<7B>'<<3C>'<<3C>'><3E>?<3F>!<21><04>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A>?<3F>?<3F><>?s<00>8c<01>@<00><00>t<00>fd<01><08>jD<00><00>S)Nc3<01>@<00>K<00>|]}<01>j|<01><00><01><00>y<00>wr)r")<03>.0rrs <20>r<00> <genexpr>z(EchoingStdin.__iter__.<locals>.<genexpr>5s<00><><00><><00>7<>a<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD>7<>s<00>)<02>iterr<00>rs`r<00>__iter__zEchoingStdin.__iter__4s<00><><00><13>7<>4<EFBFBD>;<3B>;<3B>7<>7<>7rc<01>,<00>t|j<00>Sr)<02>reprrr2s r<00>__repr__zEchoingStdin.__repr__7s<00><00><13>D<EFBFBD>K<EFBFBD>K<EFBFBD> <20> rN)r<00>
t.BinaryIOrr7<00>return<72>None)r<00>strr8<00>t.Any)r!<00>bytesr8r<)<01><><EFBFBD><EFBFBD><EFBFBD>)r&<00>intr8r<)r8z list[bytes])r8zcabc.Iterator[bytes]<5D>r8r:) <0C>__name__<5F>
__module__<EFBFBD> __qualname__rrr"r$r(r*r,r3r6<00>rrrrs0<00><00><1D>
'<27><12> /<2F>0<>3<>@<01>8<>!rrc#<01>>K<00>|<00>d<00><01>yd|_d<00><01>d|_y<00>w)NTF)r)<01>streams r<00> _pause_echorF;s<00><00><><00> <0A>~<7E> <0A><1D><06><0E> <0A><1E><06><0E>s<00>c<01><<00><00>eZdZdZd<05>fd<02> Zd<06>fd<03> Zd<07>fd<04> Z<06>xZS)<08> BytesIOCopyzdPatch ``io.BytesIO`` to let the written stream be copied to another.
.. versionadded:: 8.2
c<01>0<00><01>t<00>|<00><00>||_yr)<03>superr<00>copy_to)rrK<00> __class__s <20>rrzBytesIOCopy.__init__Ks<00><><00> <0A><07><18><1A><1E><04> rc<01>V<00><01>t<00>|<00><00>|jj<00>yr)rJ<00>flushrK)rrLs <20>rrNzBytesIOCopy.flushOs<00><><00> <0A><07> <0A><0F> <0C> <0C> <0C><1A><1A>rc<01>X<00><01>|jj|<01>t<00>|<00>|<01>Sr)rKr rJ)r<00>brLs <20>rr zBytesIOCopy.writeSs$<00><><00> <0C> <0C> <0C><1A><1A>1<EFBFBD><1D><14>w<EFBFBD>}<7D>Q<EFBFBD><1F>r)rKz
io.BytesIOr8r9<00>r8r9)rPr r8r>)r@rArB<00>__doc__rrNr <00> __classcell__<5F>rLs@rrHrHEs<00><><00><08>
<1F><1D> <20> rrHc<01> <00>eZdZdZdd<02>Zdd<03>Zy)<06> StreamMixerz<72>Mixes `<stdout>` and `<stderr>` streams.
The result is available in the ``output`` attribute.
.. versionadded:: 8.2
c<01><><00>tj<00>|_t|j<00><01>|_t|j<00><01>|_y)N)rK)<06>io<69>BytesIOrrH<00>stdout<75>stderrr2s rrzStreamMixer.__init__`s/<00><00>"$<24>*<2A>*<2A>,<2C><04> <0B>"-<2D>d<EFBFBD>k<EFBFBD>k<EFBFBD>"B<><04> <0B>"-<2D>d<EFBFBD>k<EFBFBD>k<EFBFBD>"B<><04> rc<01><><00>|jj<00>|jj<00>|jj<00>y)z<>
Guarantee that embedded file-like objects are closed in a
predictable order, protecting against races between
self.output being closed and other streams being flushed on close
.. versionadded:: 8.2.2
N)r[<00>closerZrr2s r<00>__del__zStreamMixer.__del__es4<00><00> <0A> <0B> <0B><19><19><1B> <0C> <0B> <0B><19><19><1B> <0C> <0B> <0B><19><19>rNrQ)r@rArBrRrr^rCrrrVrVXs<00><00><08>C<01>
rrVc<01>X<00><00>eZdZ d<04>fd<01> Zedd<02><04>Zedd<03><04>Z<06>xZS)<06>_NamedTextIOWrapperc <01>B<00><01>t<00>|<00>|fi|<04><01>||_||_yr)rJr<00>_name<6D>_mode)r<00>buffer<65>name<6D>mode<64>kwargsrLs <20>rrz_NamedTextIOWrapper.__init__ss%<00><><00> <0E><07><18><16>*<2A>6<EFBFBD>*<2A><19><04>
<EFBFBD><19><04>
rc<01><00>|jSr)rbr2s rrez_NamedTextIOWrapper.namez<00> <00><00><13>z<EFBFBD>z<EFBFBD>rc<01><00>|jSr)rcr2s rrfz_NamedTextIOWrapper.mode~rir)
rdr7rer:rfr:rgr;r8r9r?)r@rArBr<00>propertyrerfrSrTs@rr`r`rsX<00><><00><1A> <20><1A>(+<2B><1A>36<33><1A>BG<42><1A> <0A><1A><0E><1A><0E><1A><0E><1A><0E>rr`c<01><><00>t|d<01>r.ttjd|<00><00>}|<02>|St d<03><00>|<00>d}n!t |t <00>r|j|<01>}tj|<00>S)Nr$z t.IO[t.Any]z.Could not find binary reader for input stream.r)
<EFBFBD>hasattrr
<00>t<>cast<73> TypeError<6F>
isinstancer:<00>encoderXrY)r<00>charsetr!s r<00>make_input_streamrt<00>sj<00><00><0F>u<EFBFBD>f<EFBFBD><1D> <20><11><16><16> <0A>u<EFBFBD>!=<3D> ><3E><02> <0A>><3E><15>I<EFBFBD><17>H<>I<>I<> <0C>}<7D><13><05> <13>E<EFBFBD>3<EFBFBD> <1F><15> <0C> <0C>W<EFBFBD>%<25><05> <0A>:<3A>:<3A>e<EFBFBD> <1C>rc<01>x<00>eZdZdZ d d d<03>Zed
d<04><04>Zed
d<05><04>Zed
d<06><04>Zd
d<07>Z y) <0B>ResultaCHolds the captured result of an invoked CLI script.
:param runner: The runner that created the result
:param stdout_bytes: The standard output as bytes.
:param stderr_bytes: The standard error as bytes.
:param output_bytes: A mix of ``stdout_bytes`` and ``stderr_bytes``, as the
user would see it in its terminal.
:param return_value: The value returned from the invoked command.
:param exit_code: The exit code as integer.
:param exception: The exception that happened if one did.
:param exc_info: Exception information (exception type, exception instance,
traceback type).
.. versionchanged:: 8.2
``stderr_bytes`` no longer optional, ``output_bytes`` introduced and
``mix_stderr`` has been removed.
.. versionadded:: 8.0
Added ``return_value``.
Nc <01>t<00>||_||_||_||_||_||_||_||_yr<00><08>runner<65> stdout_bytes<65> stderr_bytes<65> output_bytes<65> return_value<75> exit_code<64> exception<6F>exc_info) rryrzr{r|r}r~rr<>s rrzResult.__init__<5F>s@<00><00><1D><04> <0B>(<28><04><19>(<28><04><19>(<28><04><19>(<28><04><19>"<22><04><0E>"<22><04><0E> <20><04> rc<01><><00>|jj|jjd<01>j dd<03>S)aThe terminal output as unicode string, as the user would see it.
.. versionchanged:: 8.2
No longer a proxy for ``self.stdout``. Now has its own independent stream
that is mixing `<stdout>` and `<stderr>`, in the order they were written.
<20>replace<63>
<EFBFBD>
)r|<00>decoderyrsr<>r2s rrz Result.output<75>s9<00><00><14> <20> <20>'<27>'<27><04> <0B> <0B>(;<3B>(;<3B>Y<EFBFBD>G<>O<>O<> <12>D<EFBFBD>
<EFBFBD>
rc<01><><00>|jj|jjd<01>j dd<03>S)z&The standard output as unicode string.r<>r<>r<>)rzr<>ryrsr<>r2s rrZz Result.stdout<75>s9<00><00><14> <20> <20>'<27>'<27><04> <0B> <0B>(;<3B>(;<3B>Y<EFBFBD>G<>O<>O<> <12>D<EFBFBD>
<EFBFBD>
rc<01><><00>|jj|jjd<01>j dd<03>S)z<>The standard error as unicode string.
.. versionchanged:: 8.2
No longer raise an exception, always returns the `<stderr>` string.
r<>r<>r<>)r{r<>ryrsr<>r2s rr[z Result.stderr<72>s9<00><00><14> <20> <20>'<27>'<27><04> <0B> <0B>(;<3B>(;<3B>Y<EFBFBD>G<>O<>O<> <12>D<EFBFBD>
<EFBFBD>
rc<01><><00>|jrt|j<00>nd}dt|<00>j<00>d|<01>d<04>S)N<>okay<61><<3C> <20>>)rr5<00>typer@)r<00>exc_strs rr6zResult.__repr__<5F>s8<00><00>*.<2E>.<2E>.<2E>$<24>t<EFBFBD>~<7E>~<7E>&<26>f<EFBFBD><07><12>4<EFBFBD><04>:<3A>&<26>&<26>'<27>q<EFBFBD><17> <09><11>3<>3rr)ry<00> CliRunnerrzr<r{r<r|r<r}r;r~r>rzBaseException | Noner<65>z?tuple[type[BaseException], BaseException, TracebackType] | Noner?)
r@rArBrRrrkrrZr[r6rCrrrvrv<00>s<><00><00><08>><16>!<21><19>!<21><1C>!<21><1C> !<21>
<1C> !<21> <1C> !<21><17>!<21>(<28>!<21><0F>!<21>*<0E> 
<EFBFBD><0E> 
<EFBFBD><0E>
<EFBFBD><0E>
<EFBFBD> <0E>
<EFBFBD><0E>
<EFBFBD>4rrvc<01><><00>eZdZdZ d d
d<03>Zd d<04>Z d d d<05>Zej d dd<06><05>Z d dd<07>Z
ej d dd<08><05>Z y)r<>a<>The CLI runner provides functionality to invoke a Click command line
script for unittesting purposes in a isolated environment. This only
works in single-threaded systems without any concurrency as it changes the
global interpreter state.
:param charset: the character set for the input and output data.
:param env: a dictionary with environment variables for overriding.
:param echo_stdin: if this is set to `True`, then reading from `<stdin>` writes
to `<stdout>`. This is useful for showing examples in
some circumstances. Note that regular prompts
will automatically echo the input.
:param catch_exceptions: Whether to catch any exceptions other than
``SystemExit`` when running :meth:`~CliRunner.invoke`.
.. versionchanged:: 8.2
Added the ``catch_exceptions`` parameter.
.. versionchanged:: 8.2
``mix_stderr`` parameter has been removed.
Nc<01>D<00>||_|xsi|_||_||_yr)rs<00>env<6E>
echo_stdin<EFBFBD>catch_exceptions)rrsr<>r<>r<>s rrzCliRunner.__init__<5F>s%<00><00><1F><04> <0C>25<32>)<29><12><04><08>$<24><04><0F> 0<><04>rc<01>"<00>|jxsdS)z<>Given a command object it will return the default program name
for it. The default is the `name` attribute or ``"root"`` if not
set.
<20>root)re)r<00>clis r<00>get_default_prog_namezCliRunner.get_default_prog_names<00><00>
<13>x<EFBFBD>x<EFBFBD>!<21>6<EFBFBD>!rc<01>V<00>t|j<00>}|r|j|<01>|S)z8Returns the environment overrides for invoking a script.)<03>dictr<74><00>update)r<00> overridesr!s r<00>make_envzCliRunner.make_envs%<00><00><12>$<24>(<28>(<28>^<5E><02> <14> <0E>I<EFBFBD>I<EFBFBD>i<EFBFBD> <20><11> rc#<01>b<00><17>K<00>t||j<00>}d}tj}tj}tj
}t j} dt _|j|<02>}t<00>}
|jr:tjtjt||
j<00><00>x}}t||jdd<04><05>xt_<00>|jrd<06>_t|
j|jdd<08><05>t_t|
j
|jd dd
<EFBFBD> <0B>t_t#|<05>dd<11>fd <0C> <0A>} t#|<05>dd<11>fd <0A> <0A>} t#|<05>dd<0E><04>} |<03> d d<14>fd<0F> }t$j&}t$j(}t$j*}t,j.}t0j.}| t$_| t$_| t$_|t,_|t0_i} |j3<00>D]O\}}t4j6j9|<15>||<|<16> t4j6|=<00>=|t4j6|<<00>Q|
j|
j
|
j<f<03><02>|j3<00>D]-\}}|<16> t4j6|=<00>|t4j6|<<00>/|t_|t_|t_|t$_|t$_|t$_|t,_|t0_| t _y#t:$rY<00><01>'wxYw#t:$rY<00><>wxYw#|j3<00>D]<\}}|<16>" t4j6|=<00>#t:$rY<00>&wxYw|t4j6|<<00>>|t_|t_|t_|t$_|t$_|t$_|t,_|t0_| t _wxYw<01>w)a\A context manager that sets up the isolation for invoking of a
command line tool. This sets up `<stdin>` with the given input data
and `os.environ` with the overrides from the given dictionary.
This also rebinds some internals in Click to be mocked (like the
prompt functionality).
This is automatically done in the :meth:`invoke` method.
:param input: the input stream to put into `sys.stdin`.
:param env: the environment overrides as dictionary.
:param color: whether the output should contain color codes. The
application can still override this explicitly.
.. versionadded:: 8.2
An additional output stream is returned, which is a mix of
`<stdout>` and `<stderr>` streams.
.. versionchanged:: 8.2
Always returns the `<stderr>` stream.
.. versionchanged:: 8.0
`<stderr>` is opened with ``errors="backslashreplace"``
instead of the default ``"strict"``.
.. versionchanged:: 4.0
Added the ``color`` parameter.
N<>Pz<stdin><3E>r)<03>encodingrerfrz<stdout><3E>wz<stderr><3E>backslashreplace)r<>rerf<00>errorsc<01><<00><01>tjj|xsd<01> t<00><03>j d<02>}tjj|<01>d<03><02>tjj<00>|S#t
$r}t <00>|<02>d}~wwxYw)N<>r<>r<>)<08>sysrZr <00>next<78>rstrip<69> StopIteration<6F>EOFErrorrN)<04>prompt<70>val<61>e<>
text_inputs <20>r<00> visible_inputz*CliRunner.isolation.<locals>.visible_input`s~<00><><00> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C>V<EFBFBD>\<5C>r<EFBFBD> *<2A> (<28><1A>:<3A>&<26>-<2D>-<2D>f<EFBFBD>5<><03> <10>J<EFBFBD>J<EFBFBD> <1C> <1C><03>u<EFBFBD>B<EFBFBD>Z<EFBFBD> (<28> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C> <1E><16>J<EFBFBD><4A> !<21> (<28><1E>j<EFBFBD>a<EFBFBD>'<27><> (<28>s<00>B<00> B<03> B<03>Bc<01><><00><01>tjj|xsd<01>d<02><02>tjj<00> t <00><02>j d<03>S#t $r}t<00>|<01>d}~wwxYw)Nr<4E>r<>r<>)r<>rZr rNr<>r<>r<>r<>)r<>r<>r<>s <20>r<00> hidden_inputz)CliRunner.isolation.<locals>.hidden_inputkse<00><><00> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C><06> <0C>"<22>~<7E>R<EFBFBD>0<> 1<> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C> <1E> (<28><1B>J<EFBFBD>'<27>.<2E>.<2E>v<EFBFBD>6<>6<><36> <20> (<28><1E>j<EFBFBD>a<EFBFBD>'<27><> (<28>s<00>A!<00>! A:<03>* A5<03>5A:c<01><><00>tjjd<01>}|rtjj |<01>tjj <00>|S)Nr)r<><00>stdinr$rZr rN)<02>echo<68>chars r<00>_getcharz%CliRunner.isolation.<locals>._getcharts><00><00><16>9<EFBFBD>9<EFBFBD>><3E>><3E>!<21>$<24>D<EFBFBD><13><13>
<EFBFBD>
<EFBFBD> <20> <20><14>&<26> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C> <1E><17>Krc<01><00><01>|<01><03> S| SrrC)rE<00>color<6F> default_colors <20>r<00>should_strip_ansiz.CliRunner.isolation.<locals>.should_strip_ansi<73>s<00><><00><15>}<7D>(<28>(<28>(<28><1C>9<EFBFBD> rr)r<>z
str | Noner8r:)r<><00>boolr8r:)NN)rEzt.IO[t.Any] | Noner<65><00> bool | Noner8r<>)rtrsr<>r<>rZr[r<00> FORCED_WIDTHr<48>rVr<>rnro<00>BinaryIOrr`<00> _CHUNK_SIZErFr<00>visible_prompt_func<6E>hidden_prompt_funcr<63>r r<>r<00>items<6D>os<6F>environ<6F>get<65> Exceptionr)rrr<>r<><00> bytes_input<75>
echo_input<EFBFBD> old_stdin<69>
old_stdout<EFBFBD>
old_stderr<EFBFBD>old_forced_width<74> stream_mixerr<72>r<>r<>r<><00>old_visible_prompt_func<6E>old_hidden_prompt_func<6E>old__getchar_func<6E>old_should_strip_ansi<73>old__compat_should_strip_ansi<73>old_env<6E>key<65>valuer<65>r<>s @@r<00> isolationzCliRunner.isolations<><00><><00><><00>D(<28><05>t<EFBFBD>|<7C>|<7C><<3C> <0B><19>
<EFBFBD><17>I<EFBFBD>I<EFBFBD> <09><18>Z<EFBFBD>Z<EFBFBD>
<EFBFBD><18>Z<EFBFBD>Z<EFBFBD>
<EFBFBD>%<25>2<>2<><18>"$<24>
<EFBFBD><1F><12>m<EFBFBD>m<EFBFBD>C<EFBFBD> <20><03>"<22>}<7D> <0C> <0F>?<3F>?<3F>'(<28>v<EFBFBD>v<EFBFBD><11>
<EFBFBD>
<EFBFBD>L<EFBFBD><1B>l<EFBFBD>6I<36>6I<36>J<>(<0E> <0E>K<EFBFBD>*<2A>"5<> <17>$<24>,<2C>,<2C>Y<EFBFBD>S<EFBFBD>"
<EFBFBD>
<EFBFBD><03> <09>J<EFBFBD> <10>?<3F>?<3F>&'<27>J<EFBFBD> "<22>(<28> <18> <1F> <1F>$<24>,<2C>,<2C>Z<EFBFBD>c<EFBFBD>
<EFBFBD><03>
<EFBFBD>)<29> <18> <1F> <1F><19>\<5C>\<5C><1B><14>%<25> 
<EFBFBD><03>
<EFBFBD>
<15>Z<EFBFBD> <20> <17>
!<21> <17>
<15>Z<EFBFBD> <20> (<28>
!<21> (<28>
<15>Z<EFBFBD> <20> <18>
!<21> <18><1E> <0A>EI<01> <1D>&<26> <1D>6A<36> <1D> <11> <1D>#)<29>"<<3C>"<<3C><1F>!'<27>!:<3A>!:<3A><1E>"<22>O<EFBFBD>O<EFBFBD><19> %<25> 7<> 7<><1D>(/<2F>(A<>(A<>%<25>%2<><06>"<22>$0<><06>!<21>"<22><06><0F>"3<><05><1F>$5<><07>!<21><14><07> 7<>!<21>i<EFBFBD>i<EFBFBD>k<EFBFBD> ,<2C>
<EFBFBD><03>U<EFBFBD>!<21>z<EFBFBD>z<EFBFBD>~<7E>~<7E>c<EFBFBD>2<><07><03> <0C><18>=<3D><1D><1E>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>',<2C>B<EFBFBD>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> ,<2C> <20>&<26>&<26> <0C>(;<3B>(;<3B>\<5C>=P<>=P<>Q<> Q<>%<25>m<EFBFBD>m<EFBFBD>o<EFBFBD> ,<2C>
<EFBFBD><03>U<EFBFBD><18>=<3D><1D><1E>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>',<2C>B<EFBFBD>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> ,<2C>$<24>C<EFBFBD>J<EFBFBD>#<23>C<EFBFBD>J<EFBFBD>!<21>C<EFBFBD>I<EFBFBD>)@<40>F<EFBFBD> &<26>(><3E>F<EFBFBD> %<25>/<2F>F<EFBFBD>O<EFBFBD>&;<3B>E<EFBFBD> #<23>(E<>G<EFBFBD> %<25>&6<>J<EFBFBD> #<23><>-%<25><1D><1C><1D><>%<25><1D><1C><1D><> &<26>m<EFBFBD>m<EFBFBD>o<EFBFBD> ,<2C>
<EFBFBD><03>U<EFBFBD><18>=<3D><1D><1E>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD><4F>$<24><1D><1C><1D><>',<2C>B<EFBFBD>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD> ,<2C>$<24>C<EFBFBD>J<EFBFBD>#<23>C<EFBFBD>J<EFBFBD>!<21>C<EFBFBD>I<EFBFBD>)@<40>F<EFBFBD> &<26>(><3E>F<EFBFBD> %<25>/<2F>F<EFBFBD>O<EFBFBD>&;<3B>E<EFBFBD> #<23>(E<>G<EFBFBD> %<25>&6<>J<EFBFBD> #<23>s<EFBFBD><00>H)P/<01>.:M8<00>)M<02>:;M8<00>5P/<01>M)<02>A:P/<01> M&<05>"M8<00>%M&<05>&M8<00>) M5<05>2P/<01>4M5<05>5P/<01>8P,<03>N$<06>#P,<03>$ N0 <09>-P,<03>/N0 <09>0A<P,<03>,P/c
<01>&<00>d}|<05> |j}|j|||<06><02>5} d}
d} d} t|t<00>rt j
|<02>} |j d<04>} |jd|xsd| d<06>|<07><01>}
tj"j)<00>tj*j)<00>| dj-<00>}| d j-<00>}| d
j-<00>} ddd<01>t/|
  |<08> <0B>S#t$r|j|<01>} Y<00><>wxYw#t$r<>}tj<00>}tjd|j<00>}|<0F>d}|dk7r|} t|t <00>sItj"j%t|<0F><00>tj"j%d<08>d }|} Yd}~<0E><01>Zd}~wt&$r&}|s<01>|} d } tj<00>}Yd}~<0E><01><>d}~wwxYw#tj"j)<00>tj*j)<00>| dj-<00>}| d j-<00>}| d
j-<00>}wxYw#1swY<00><01><>xYw) a{Invokes a command in an isolated environment. The arguments are
forwarded directly to the command line script, the `extra` keyword
arguments are passed to the :meth:`~clickpkg.Command.main` function of
the command.
This returns a :class:`Result` object.
:param cli: the command to invoke
:param args: the arguments to invoke. It may be given as an iterable
or a string. When given as string it will be interpreted
as a Unix shell command. More details at
:func:`shlex.split`.
:param input: the input data for `sys.stdin`.
:param env: the environment overrides.
:param catch_exceptions: Whether to catch any other exceptions than
``SystemExit``. If :data:`None`, the value
from :class:`CliRunner` is used.
:param extra: the keyword arguments to pass to :meth:`main`.
:param color: whether the output should contain color codes. The
application can still override this explicitly.
.. versionadded:: 8.2
The result object has the ``output_bytes`` attribute with
the mix of ``stdout_bytes`` and ``stderr_bytes``, as the user would
see it in its terminal.
.. versionchanged:: 8.2
The result object always returns the ``stderr_bytes`` stream.
.. versionchanged:: 8.0
The result object has the ``return_value`` attribute with
the value returned from the invoked command.
.. versionchanged:: 4.0
Added the ``color`` parameter.
.. versionchanged:: 3.0
Added the ``catch_exceptions`` parameter.
.. versionchanged:: 3.0
The result object has the ``exc_info`` attribute with the
traceback if available.
N)rr<>r<>r<00> prog_namerC)<02>argsr<73>zint | t.Any | Noner<65>r<00>rx)r<>r<>rqr:<00>shlex<65>split<69>pop<6F>KeyErrorr<72><00>main<69>
SystemExitr<EFBFBD>r<>rnro<00>coder>rZr r<>rNr[<00>getvaluerv)rr<>r<>rr<>r<>r<><00>extrar<61><00>
outstreamsr}rr~r<>r<><00>e_coderZr[rs r<00>invokezCliRunner.invoke<6B>sG<00><00>j<18><08> <1B> #<23>#<23>4<>4<> <1C> <11>^<5E>^<5E>%<25>S<EFBFBD><05>^<5E> ><3E>+ 2<>*<2A><1F>L<EFBFBD>.2<EFBFBD>I<EFBFBD><19>I<EFBFBD><19>$<24><03>$<24><1C>{<7B>{<7B>4<EFBFBD>(<28><04> <<3C>!<21>I<EFBFBD>I<EFBFBD>k<EFBFBD>2<> <09> 2<>'<27>s<EFBFBD>x<EFBFBD>x<EFBFBD>V<>T<EFBFBD>Z<EFBFBD>R<EFBFBD>9<EFBFBD>V<>PU<50>V<> <0C>2<14>
<EFBFBD>
<EFBFBD> <20> <20>"<22><13>
<EFBFBD>
<EFBFBD> <20> <20>"<22>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06>W+ 2<>Z<16><17><1F><1F><1F>%<25><1F><1F><1D> 
<EFBFBD>
<EFBFBD><EFBFBD>G<1C> <<3C> <20>6<>6<>s<EFBFBD>;<3B> <09> <<3C><>
<1E> #<23><1E><<3C><<3C>><3E><08><1A><16><16> 4<>a<EFBFBD>f<EFBFBD>f<EFBFBD>=<3D><06><19>><3E><1E>F<EFBFBD><19>Q<EFBFBD>;<3B> !<21>I<EFBFBD>!<21>&<26>#<23>.<2E><17>J<EFBFBD>J<EFBFBD>$<24>$<24>S<EFBFBD><16>[<5B>1<><17>J<EFBFBD>J<EFBFBD>$<24>$<24>T<EFBFBD>*<2A><1E>F<EFBFBD>"<22> <09><><1C> *<2A>'<27><19><1D> <09><1D> <09><1E><<3C><<3C>><3E><08><>  *<2A><><14>
<EFBFBD>
<EFBFBD> <20> <20>"<22><13>
<EFBFBD>
<EFBFBD> <20> <20>"<22>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06><>W+ 2<>+ 2<>st<00>,J<03>D<02>$D.<02>=A5J<03>D+<05>(J<03>*D+<05>+J<03>. H <05>7BG<05>H <02> H <05>#H<05>>H <02>H <05> H <02> A7J<05>J<03>Jc#<01><>K<00>tj<00>}tj|<01><01>}tj|<03> |<03><02>tj|<02>|<01>ddl} |j |<03>yy#t$rYywxYw#tj|<02>|<01>&ddl} |j |<03>w#t$rYwwxYwwxYw<01>w)a<>A context manager that creates a temporary directory and
changes the current working directory to it. This isolates tests
that affect the contents of the CWD to prevent them from
interfering with each other.
:param temp_dir: Create the temporary directory under this
directory. If given, the created directory is not removed
when exiting.
.. versionchanged:: 8.0
Added the ``temp_dir`` parameter.
)<01>dirNr)r<><00>getcwd<77>tempfile<6C>mkdtemp<6D>chdir<69>shutil<69>rmtree<65>OSError)r<00>temp_dir<69>cwd<77>dtr<74>s r<00>isolated_filesystemzCliRunner.isolated_filesystem"s<><00><00><><00> <11>i<EFBFBD>i<EFBFBD>k<EFBFBD><03> <15> <1D> <1D>(<28> +<2B><02>
<EFBFBD><08><08><12> <0C> <19><14>H<EFBFBD> <0E>H<EFBFBD>H<EFBFBD>S<EFBFBD>M<EFBFBD><17><1F><1D><19><1A>M<EFBFBD>M<EFBFBD>"<22>%<25>  <20><>
<1F><19><18><19><> <0F>H<EFBFBD>H<EFBFBD>S<EFBFBD>M<EFBFBD><17><1F><1D><19><1A>M<EFBFBD>M<EFBFBD>"<22>%<25><><1E><19><18><19><>  <20>sf<00>AC<01>B<00>C<01>#A6<00>4C<01>6 B<03>?C<01>B<03>C<01>C<03>"B4<04>3C<03>4 C<07>=C<03>?C<07>C<03>C)zutf-8NFT)
rsr:r<><00>$cabc.Mapping[str, str | None] | Noner<65>r<>r<>r<>r8r9)r<>r r8r:r)r<>r<>r8zcabc.Mapping[str, str | None])NNF)r<00> str | bytes | t.IO[t.Any] | Noner<65>r<>r<>r<>r8z8cabc.Iterator[tuple[io.BytesIO, io.BytesIO, io.BytesIO]])NNNNF)r<>r r<>zstr | cabc.Sequence[str] | Nonerr<>r<>r<>r<>r<>r<>r<>r<>r;r8rv)r<>zstr | os.PathLike[str] | Noner8zcabc.Iterator[str]) r@rArBrRrr<>r<><00>
contextlib<EFBFBD>contextmanagerr<72>r<>r<>rCrrr<>r<><00>sY<00><00><08>.<1F>48<34> <20>!%<25>
1<><14>
1<>2<>
1<><19>
1<>
<1F>
1<>
<0E>
1<>"<22>AE<01><12>=<3D><12> &<26><12><10><1E><1E>37<33>48<34><1B> W7<>/<2F>W7<>2<>W7<><14> W7<>
B<01> W7<><1F>W7<>x15<31>26<32>48<34>(,<2C><1B>o
<EFBFBD> <14>o
<EFBFBD>.<2E>o
<EFBFBD>0<> o
<EFBFBD>
2<> o
<EFBFBD> &<26> o
<EFBFBD><14>o
<EFBFBD><17>o
<EFBFBD>
<10>o
<EFBFBD>b<10><1E><1E>8<<3C><19>5<><19> <1B><19><1F>rr<>)rEzEchoingStdin | Noner8zcabc.Iterator[None])rr<>rsr:r8r7)%<25>
__future__r<00>collections.abc<62>abc<62>cabcr<63>rXr<>r<>r<>r<><00>typingrn<00>typesrr<>rrrr r
<00> TYPE_CHECKING<4E> _typeshedr <00>corer rr<>rFrYrHrV<00> TextIOWrapperr`rtrvr<>rCrr<00><module>rs<><00><01>"<22><1E><11> <09> <09> <0C>
<EFBFBD><0F><12><1F><15><18><14><13>(<28><04>?<3F>?<3F>(<28><1D>!<21>!<21>D <0C><1A><1A><1F><1B><1F> <20>"<22>*<2A>*<2A> <20>&<1C><1C>4<1A>"<22>*<2A>*<2A><1A>"<1D> +<2B><1D>69<36><1D><0F><1D>(K4<>K4<>\\<19>\r