3 \�. � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z dd� Z g Zdd� Zdd� Z dd � Zd d� Zdd � Zddd�Zddd�ZG dd� d�Ze� jZddd�ZdS )� Nc C s dS )Na'
--> --> � r r r �/usr/lib64/python3.6/cgitb.py�reset# s r c C s | rd| d S dS d S )Nzz� r )�textr r r �small. s r c C s | rd| d S dS d S )Nzz r r )r r r r �strong4 s r c C s | rd| d S dS d S )Nzzr r )r r r r �grey: s r c C s� | |krd|| fS | |j kr,d|j | fS d|j kr~|j d }t|�ti �krf| |kr~d|| fS nt|| �r~dt|| �fS d tfS )N�local�global�__builtins__�builtin)� f_globals�type�hasattr�getattr� __UNDEF__)�name�frame�locals�builtinsr r r �lookup@ s r c C s� g d d dt f\}}}}}x�tj| �D ]�\}} } }}|tjkr>P |tjkr�| tjkr�|dkr�|t k r�t|| t �}|j|| ||f� q�t | ||�\} }|j| | |f� n"| dkr�||d 7 }|}nd\}}| }q$W |S )Nr �.)Nr ) r �tokenize�generate_tokens�NEWLINE�NAME�keyword�kwlistr �appendr )�readerr r �varsZ lasttoken�parent�prefix�valueZttype�token�start�end�line�wherer r r �scanvarsP s" r* � c " s� | \}}}t |t�r|j}dtjj� d d tj }tjtj� �}dt j jdtt j j t|��� dd|d | � d }d tdd � d }g } tj||�} �xJ| D �]@\}� }} }}� r�tjj� �� d� t j j � �f }nd � }tj|�\}}}}d}| dk�r2dtt j j | �� tj||||dd� d� }i �|gf� �fdd� }t|||�}dd||f g}|d k �r|| }x�|D ]�}tddtt|�� t|� �d }|�k�r�d|t j j|�f }|jd| � n&d|t j j|�f }|jdt|� � |d7 }�q~W i g }}x�|D ]�\}}} ||k�r0�qd||<