+ r)
p_KeyPoint.setParseAction(lambda x: messaging.KeyPoint(*x[0]))
p_ScriptResponse << pp.Group(l \
    + p_str + c \
    + p_DebugType + c \
    + p_str + c \
    + p_int \
    + r)
p_ScriptResponse.setParseAction(lambda x: messaging.ScriptResponse(*x[0]))
p_ScriptExecRequest << pp.Group(l \
    + p_str + c \
    + p_float + c \
    + p_str + c \
    + p_int \
    + r)
p_ScriptExecRequest.setParseAction(lambda x: messaging.ScriptExecRequest(*x[0]))

# Parse Variants
p_ParamValue_0 = l + pp.Literal('0') + c + p_int  + r
p_ParamValue_0.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_1 = l + pp.Literal('1') + c + p_float  + r
p_ParamValue_1.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_2 = l + pp.Literal('2') + c + p_str  + r
p_ParamValue_2.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_3 = l + pp.Literal('3') + c + p_bool  + r
p_ParamValue_3.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_4 = l + pp.Literal('4') + c + p_CornerVec  + r
p_ParamValue_4.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_5 = l + pp.Literal('5') + c + p_LineVec  + r
p_ParamValue_5.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_6 = l + pp.Literal('6') + c + p_CircleVec  + r
p_KeyPoint.setParseAction(lambda x: messaging.KeyPoint(*x[0]))
p_ScriptResponse << pp.Group(l \
    + p_str + c \
    + p_DebugType + c \
    + p_str + c \
    + p_int \
    + r)
p_ScriptResponse.setParseAction(lambda x: messaging.ScriptResponse(*x[0]))
p_ScriptExecRequest << pp.Group(l \
    + p_str + c \
    + p_float + c \
    + p_str + c \
    + p_int \
    + r)
p_ScriptExecRequest.setParseAction(
    lambda x: messaging.ScriptExecRequest(*x[0]))

# Parse Variants
p_ParamValue_0 = l + pp.Literal('0') + c + p_int + r
p_ParamValue_0.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_1 = l + pp.Literal('1') + c + p_float + r
p_ParamValue_1.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_2 = l + pp.Literal('2') + c + p_str + r
p_ParamValue_2.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_3 = l + pp.Literal('3') + c + p_bool + r
p_ParamValue_3.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_4 = l + pp.Literal('4') + c + p_CornerVec + r
p_ParamValue_4.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_5 = l + pp.Literal('5') + c + p_LineVec + r
p_ParamValue_5.setParseAction(lambda x: messaging.ParamValue.create(x[1]))
p_ParamValue_6 = l + pp.Literal('6') + c + p_CircleVec + r