def__repr__(self)->str:returnf"<Echo: delay={self.delay}, decay={self.decay}>"@propertydefdelay(self)->float|None:returnself._delay@delay.setterdefdelay(self,v:float|None)->None:ifvisNone:self._delay=Nonereturnifv<0:raiseValueError(f"Delay must be must be greater than 0, not {v}")self._delay=v@propertydefdecay(self)->float|None:returnself._decay@decay.setterdefdecay(self,v:float|None)->None:ifvisNone:self._decay=vreturnifnot(0.0<v<=1.0):raiseValueError(f"Decay must be must be 0.0 < x ≤ 1.0, not {v}")self._decay=v