<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def resolver(cls, var_name: str) -> FunctionType: """ Variable resolver decorator. Function or method decorated with it is used to resolve the config variable. .. note:: Variable is resolved only once. Next gets are returned from the cache. :param var_name: Variable name :return: Function decorator """

        def dec(f):
            if var_name in cls().resolvers:
                raise ConfigurationError(
                    f'Resolver for {var_name} already registered')
            cls().resolvers[var_name] = f
            return f

        return dec