%PDF- %PDF-
| Direktori : /lib/python3.9/site-packages/cockpit/_vendor/bei/__pycache__/ |
| Current File : //lib/python3.9/site-packages/cockpit/_vendor/bei/__pycache__/bootloader.cpython-39.pyc |
a
��h�
� @ s� d dl Z d dlmZmZmZmZmZmZmZ dddd�Z e
ee
eee
e
f d�dd �Zee
e
f eee
ee f ee
eee
e
f d
�dd�Z
deee
ee f eee
e
f e
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�returnc c sn t �| ��� D ]Z}|�d�}|�d�r2|�|� q|rt|�t|� }|d dksVJ �d|d |fV qd S )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�stepsr r c c sp t tfi | ��}t| �}dd� |D �}||B D ]}t|| |�E d H q.|D ]\}}d|tt|�� fV qLd S )Nc S s h | ]\}}|�qS r r )�.0�name�_argsr r r � <setcomp>P � zyield_body.<locals>.<setcomp>� )�dict�GADGETS�setr �repr�tuple)r r r �gadgetsZprovided_gadgetsZstep_gadgetsr �argsr r r �
yield_bodyF s r, )r r* r c C s� t � }g }ttd |�D ]L\}}|dkrVt|p0i | |�D ]\}}|�|| | � q8q|�|| � qd�dd� g |�|�D ��d S )Nr z...r$ c s s | ]}|� d �V qdS )�
Nr )r r r r r � <genexpr>e r# z"make_bootloader.<locals>.<genexpr>r- )r'