from typing import Dict, List, Optional, Tuple
from scipy.stats import chisquare
from axelrod.action import Action
from axelrod.player import Player
from axelrod.strategy_transformers import FinalTransformer
from .memoryone import MemoryOnePlayer
IlIllllIllIl, lllIllIIlIlIlII = Action.C, Action.D
class IIlIlIIIlllIIlII(Player):
    lIIlIIIllIIllIllI = "strategy"
    IlIIllIlIlIIIl = {
        "memory_depth": float("inf"),  
        "stochastic": False,
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def __init__(llIlIlllIIIllllI, IIIIIllIlIlI: int = 10) -> None:
        super().__init__()
        llIlIlllIIIllllI.llIlIllIIllIllI = IIIIIllIlIlI
    def lIlIIlIIlIlIIIlIIllI(llIlIlllIIIllllI, IIlIIIIIIlIIIIIlll: Player) -> Action:
        if len(llIlIlllIIIllllI.history) < llIlIlllIIIllllI.llIlIllIIllIllI:
            return IlIllllIllIl
        if IIlIIIIIIlIIIIIlll.defections > 0:  
            return lllIllIIlIlIlII
        return IlIllllIllIl