human
Complete this python program:
def YouCompleteMeInstance(custom_options={}):
assistant
#Here is the Python code you requested.

    """Defines a decorator function for tests that passes a unique YouCompleteMe
    instance as a parameter. This instance is initialized with the default options
    `DEFAULT_CLIENT_OPTIONS`. Use the optional parameter |custom_options| to give
    additional options and/or override the already existing ones.
    Do NOT attach it to test generators but directly to the yielded tests.
    Example usage:
    from ycm.tests import YouCompleteMeInstance
    @YouCompleteMeInstance( { \log_level\: \debug\,
    \keep_logfiles\: 1 } )
    def Debug_test( ycm ):
    """
    def Decorator(test):
        @functools.wraps(test)
        def Wrapper(*args, **kwargs):
            ycm = YouCompleteMe(_MakeUserOptions(custom_options))
            WaitUntilReady()
            ycm.CheckIfServerIsReady()
            try:
                test(ycm, *args, **kwargs)
            finally:
                StopServer(ycm)
        return Wrapper
    return Decorator