� !QOgq � �B � d dl Z d dlZd dlZdZdZdZdZedz Zeedz dz edz d z z z Zd Z dZ dZd � Zd� Z d� Z G d� de� Z G d� de j"