"""Support for simplified access to data on nodes of type omni.graph.examples.cpp.UniversalAdd

Universal add node for all types. This file was originally generated using UniversalAddGenerator.py. Edits have been made
since the initial generation as the API evolved. This example uses outputs and pairs of inputs of every type to be 'universal'.
See the 'Add' node for a Python implementation that uses only one output and one pair of inputs using the 'any' type.
"""

import numpy

import omni.graph.core as og
import omni.graph.core._omni_graph_core as _og
import omni.graph.tools.ogn as ogn



class OgnUniversalAddDatabase(og.Database):
    """Helper class providing simplified access to data on nodes of type omni.graph.examples.cpp.UniversalAdd

    Class Members:
        node: Node being evaluated

    Attribute Value Properties:
        Inputs:
            inputs.bool_0
            inputs.bool_1
            inputs.bool_arr_0
            inputs.bool_arr_1
            inputs.colord3_0
            inputs.colord3_1
            inputs.colord3_arr_0
            inputs.colord3_arr_1
            inputs.colord4_0
            inputs.colord4_1
            inputs.colord4_arr_0
            inputs.colord4_arr_1
            inputs.colorf3_0
            inputs.colorf3_1
            inputs.colorf3_arr_0
            inputs.colorf3_arr_1
            inputs.colorf4_0
            inputs.colorf4_1
            inputs.colorf4_arr_0
            inputs.colorf4_arr_1
            inputs.colorh3_0
            inputs.colorh3_1
            inputs.colorh3_arr_0
            inputs.colorh3_arr_1
            inputs.colorh4_0
            inputs.colorh4_1
            inputs.colorh4_arr_0
            inputs.colorh4_arr_1
            inputs.double2_0
            inputs.double2_1
            inputs.double2_arr_0
            inputs.double2_arr_1
            inputs.double3_0
            inputs.double3_1
            inputs.double3_arr_0
            inputs.double3_arr_1
            inputs.double4_0
            inputs.double4_1
            inputs.double4_arr_0
            inputs.double4_arr_1
            inputs.double_0
            inputs.double_1
            inputs.double_arr_0
            inputs.double_arr_1
            inputs.float2_0
            inputs.float2_1
            inputs.float2_arr_0
            inputs.float2_arr_1
            inputs.float3_0
            inputs.float3_1
            inputs.float3_arr_0
            inputs.float3_arr_1
            inputs.float4_0
            inputs.float4_1
            inputs.float4_arr_0
            inputs.float4_arr_1
            inputs.float_0
            inputs.float_1
            inputs.float_arr_0
            inputs.float_arr_1
            inputs.frame4_0
            inputs.frame4_1
            inputs.frame4_arr_0
            inputs.frame4_arr_1
            inputs.half2_0
            inputs.half2_1
            inputs.half2_arr_0
            inputs.half2_arr_1
            inputs.half3_0
            inputs.half3_1
            inputs.half3_arr_0
            inputs.half3_arr_1
            inputs.half4_0
            inputs.half4_1
            inputs.half4_arr_0
            inputs.half4_arr_1
            inputs.half_0
            inputs.half_1
            inputs.half_arr_0
            inputs.half_arr_1
            inputs.int2_0
            inputs.int2_1
            inputs.int2_arr_0
            inputs.int2_arr_1
            inputs.int3_0
            inputs.int3_1
            inputs.int3_arr_0
            inputs.int3_arr_1
            inputs.int4_0
            inputs.int4_1
            inputs.int4_arr_0
            inputs.int4_arr_1
            inputs.int64_0
            inputs.int64_1
            inputs.int64_arr_0
            inputs.int64_arr_1
            inputs.int_0
            inputs.int_1
            inputs.int_arr_0
            inputs.int_arr_1
            inputs.matrixd2_0
            inputs.matrixd2_1
            inputs.matrixd2_arr_0
            inputs.matrixd2_arr_1
            inputs.matrixd3_0
            inputs.matrixd3_1
            inputs.matrixd3_arr_0
            inputs.matrixd3_arr_1
            inputs.matrixd4_0
            inputs.matrixd4_1
            inputs.matrixd4_arr_0
            inputs.matrixd4_arr_1
            inputs.normald3_0
            inputs.normald3_1
            inputs.normald3_arr_0
            inputs.normald3_arr_1
            inputs.normalf3_0
            inputs.normalf3_1
            inputs.normalf3_arr_0
            inputs.normalf3_arr_1
            inputs.normalh3_0
            inputs.normalh3_1
            inputs.normalh3_arr_0
            inputs.normalh3_arr_1
            inputs.pointd3_0
            inputs.pointd3_1
            inputs.pointd3_arr_0
            inputs.pointd3_arr_1
            inputs.pointf3_0
            inputs.pointf3_1
            inputs.pointf3_arr_0
            inputs.pointf3_arr_1
            inputs.pointh3_0
            inputs.pointh3_1
            inputs.pointh3_arr_0
            inputs.pointh3_arr_1
            inputs.quatd4_0
            inputs.quatd4_1
            inputs.quatd4_arr_0
            inputs.quatd4_arr_1
            inputs.quatf4_0
            inputs.quatf4_1
            inputs.quatf4_arr_0
            inputs.quatf4_arr_1
            inputs.quath4_0
            inputs.quath4_1
            inputs.quath4_arr_0
            inputs.quath4_arr_1
            inputs.texcoordd2_0
            inputs.texcoordd2_1
            inputs.texcoordd2_arr_0
            inputs.texcoordd2_arr_1
            inputs.texcoordd3_0
            inputs.texcoordd3_1
            inputs.texcoordd3_arr_0
            inputs.texcoordd3_arr_1
            inputs.texcoordf2_0
            inputs.texcoordf2_1
            inputs.texcoordf2_arr_0
            inputs.texcoordf2_arr_1
            inputs.texcoordf3_0
            inputs.texcoordf3_1
            inputs.texcoordf3_arr_0
            inputs.texcoordf3_arr_1
            inputs.texcoordh2_0
            inputs.texcoordh2_1
            inputs.texcoordh2_arr_0
            inputs.texcoordh2_arr_1
            inputs.texcoordh3_0
            inputs.texcoordh3_1
            inputs.texcoordh3_arr_0
            inputs.texcoordh3_arr_1
            inputs.timecode_0
            inputs.timecode_1
            inputs.timecode_arr_0
            inputs.timecode_arr_1
            inputs.token_0
            inputs.token_1
            inputs.token_arr_0
            inputs.token_arr_1
            inputs.transform4_0
            inputs.transform4_1
            inputs.transform4_arr_0
            inputs.transform4_arr_1
            inputs.uchar_0
            inputs.uchar_1
            inputs.uchar_arr_0
            inputs.uchar_arr_1
            inputs.uint64_0
            inputs.uint64_1
            inputs.uint64_arr_0
            inputs.uint64_arr_1
            inputs.uint_0
            inputs.uint_1
            inputs.uint_arr_0
            inputs.uint_arr_1
            inputs.vectord3_0
            inputs.vectord3_1
            inputs.vectord3_arr_0
            inputs.vectord3_arr_1
            inputs.vectorf3_0
            inputs.vectorf3_1
            inputs.vectorf3_arr_0
            inputs.vectorf3_arr_1
            inputs.vectorh3_0
            inputs.vectorh3_1
            inputs.vectorh3_arr_0
            inputs.vectorh3_arr_1
        Outputs:
            outputs.bool_0
            outputs.bool_arr_0
            outputs.colord3_0
            outputs.colord3_arr_0
            outputs.colord4_0
            outputs.colord4_arr_0
            outputs.colorf3_0
            outputs.colorf3_arr_0
            outputs.colorf4_0
            outputs.colorf4_arr_0
            outputs.colorh3_0
            outputs.colorh3_arr_0
            outputs.colorh4_0
            outputs.colorh4_arr_0
            outputs.double2_0
            outputs.double2_arr_0
            outputs.double3_0
            outputs.double3_arr_0
            outputs.double4_0
            outputs.double4_arr_0
            outputs.double_0
            outputs.double_arr_0
            outputs.float2_0
            outputs.float2_arr_0
            outputs.float3_0
            outputs.float3_arr_0
            outputs.float4_0
            outputs.float4_arr_0
            outputs.float_0
            outputs.float_arr_0
            outputs.frame4_0
            outputs.frame4_arr_0
            outputs.half2_0
            outputs.half2_arr_0
            outputs.half3_0
            outputs.half3_arr_0
            outputs.half4_0
            outputs.half4_arr_0
            outputs.half_0
            outputs.half_arr_0
            outputs.int2_0
            outputs.int2_arr_0
            outputs.int3_0
            outputs.int3_arr_0
            outputs.int4_0
            outputs.int4_arr_0
            outputs.int64_0
            outputs.int64_arr_0
            outputs.int_0
            outputs.int_arr_0
            outputs.matrixd2_0
            outputs.matrixd2_arr_0
            outputs.matrixd3_0
            outputs.matrixd3_arr_0
            outputs.matrixd4_0
            outputs.matrixd4_arr_0
            outputs.normald3_0
            outputs.normald3_arr_0
            outputs.normalf3_0
            outputs.normalf3_arr_0
            outputs.normalh3_0
            outputs.normalh3_arr_0
            outputs.pointd3_0
            outputs.pointd3_arr_0
            outputs.pointf3_0
            outputs.pointf3_arr_0
            outputs.pointh3_0
            outputs.pointh3_arr_0
            outputs.quatd4_0
            outputs.quatd4_arr_0
            outputs.quatf4_0
            outputs.quatf4_arr_0
            outputs.quath4_0
            outputs.quath4_arr_0
            outputs.texcoordd2_0
            outputs.texcoordd2_arr_0
            outputs.texcoordd3_0
            outputs.texcoordd3_arr_0
            outputs.texcoordf2_0
            outputs.texcoordf2_arr_0
            outputs.texcoordf3_0
            outputs.texcoordf3_arr_0
            outputs.texcoordh2_0
            outputs.texcoordh2_arr_0
            outputs.texcoordh3_0
            outputs.texcoordh3_arr_0
            outputs.timecode_0
            outputs.timecode_arr_0
            outputs.token_0
            outputs.token_arr_0
            outputs.transform4_0
            outputs.transform4_arr_0
            outputs.uchar_0
            outputs.uchar_arr_0
            outputs.uint64_0
            outputs.uint64_arr_0
            outputs.uint_0
            outputs.uint_arr_0
            outputs.vectord3_0
            outputs.vectord3_arr_0
            outputs.vectorf3_0
            outputs.vectorf3_arr_0
            outputs.vectorh3_0
            outputs.vectorh3_arr_0
    """

    # Imprint the generator and target ABI versions in the file for JIT generation
    GENERATOR_VERSION = (1, 41, 3)
    TARGET_VERSION = (2, 139, 12)

    # This is an internal object that provides per-class storage of a per-node data dictionary
    PER_NODE_DATA = {}

    # This is an internal object that describes unchanging attributes in a generic way
    # The values in this list are in no particular order, as a per-attribute tuple
    #     Name, Type, ExtendedTypeIndex, UiName, Description, Metadata,
    #     Is_Required, DefaultValue, Is_Deprecated, DeprecationMsg
    # You should not need to access any of this data directly, use the defined database interfaces
    INTERFACE = og.Database._get_interface([
        ('inputs:bool_0', 'bool', 0, None, 'Input of type bool', {ogn.MetadataKeys.DEFAULT: 'false'}, True, False, False, ''),
        ('inputs:bool_1', 'bool', 0, None, 'Input of type bool', {ogn.MetadataKeys.DEFAULT: 'false'}, True, False, False, ''),
        ('inputs:bool_arr_0', 'bool[]', 0, None, 'Input of type bool[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:bool_arr_1', 'bool[]', 0, None, 'Input of type bool[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colord3_0', 'color3d', 0, None, 'Input of type colord[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:colord3_1', 'color3d', 0, None, 'Input of type colord[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:colord3_arr_0', 'color3d[]', 0, None, 'Input of type colord[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colord3_arr_1', 'color3d[]', 0, None, 'Input of type colord[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colord4_0', 'color4d', 0, None, 'Input of type colord[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:colord4_1', 'color4d', 0, None, 'Input of type colord[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:colord4_arr_0', 'color4d[]', 0, None, 'Input of type colord[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colord4_arr_1', 'color4d[]', 0, None, 'Input of type colord[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorf3_0', 'color3f', 0, None, 'Input of type colorf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:colorf3_1', 'color3f', 0, None, 'Input of type colorf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:colorf3_arr_0', 'color3f[]', 0, None, 'Input of type colorf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorf3_arr_1', 'color3f[]', 0, None, 'Input of type colorf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorf4_0', 'color4f', 0, None, 'Input of type colorf[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:colorf4_1', 'color4f', 0, None, 'Input of type colorf[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:colorf4_arr_0', 'color4f[]', 0, None, 'Input of type colorf[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorf4_arr_1', 'color4f[]', 0, None, 'Input of type colorf[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorh3_0', 'color3h', 0, None, 'Input of type colorh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:colorh3_1', 'color3h', 0, None, 'Input of type colorh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:colorh3_arr_0', 'color3h[]', 0, None, 'Input of type colorh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorh3_arr_1', 'color3h[]', 0, None, 'Input of type colorh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorh4_0', 'color4h', 0, None, 'Input of type colorh[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:colorh4_1', 'color4h', 0, None, 'Input of type colorh[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:colorh4_arr_0', 'color4h[]', 0, None, 'Input of type colorh[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:colorh4_arr_1', 'color4h[]', 0, None, 'Input of type colorh[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double2_0', 'double2', 0, None, 'Input of type double[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:double2_1', 'double2', 0, None, 'Input of type double[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:double2_arr_0', 'double2[]', 0, None, 'Input of type double[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double2_arr_1', 'double2[]', 0, None, 'Input of type double[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double3_0', 'double3', 0, None, 'Input of type double[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:double3_1', 'double3', 0, None, 'Input of type double[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:double3_arr_0', 'double3[]', 0, None, 'Input of type double[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double3_arr_1', 'double3[]', 0, None, 'Input of type double[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double4_0', 'double4', 0, None, 'Input of type double[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:double4_1', 'double4', 0, None, 'Input of type double[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:double4_arr_0', 'double4[]', 0, None, 'Input of type double[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double4_arr_1', 'double4[]', 0, None, 'Input of type double[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double_0', 'double', 0, None, 'Input of type double', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:double_1', 'double', 0, None, 'Input of type double', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:double_arr_0', 'double[]', 0, None, 'Input of type double[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:double_arr_1', 'double[]', 0, None, 'Input of type double[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float2_0', 'float2', 0, None, 'Input of type float[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:float2_1', 'float2', 0, None, 'Input of type float[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:float2_arr_0', 'float2[]', 0, None, 'Input of type float[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float2_arr_1', 'float2[]', 0, None, 'Input of type float[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float3_0', 'float3', 0, None, 'Input of type float[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:float3_1', 'float3', 0, None, 'Input of type float[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:float3_arr_0', 'float3[]', 0, None, 'Input of type float[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float3_arr_1', 'float3[]', 0, None, 'Input of type float[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float4_0', 'float4', 0, None, 'Input of type float[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:float4_1', 'float4', 0, None, 'Input of type float[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:float4_arr_0', 'float4[]', 0, None, 'Input of type float[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float4_arr_1', 'float4[]', 0, None, 'Input of type float[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float_0', 'float', 0, None, 'Input of type float', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:float_1', 'float', 0, None, 'Input of type float', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:float_arr_0', 'float[]', 0, None, 'Input of type float[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:float_arr_1', 'float[]', 0, None, 'Input of type float[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:frame4_0', 'frame4d', 0, None, 'Input of type frame[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:frame4_1', 'frame4d', 0, None, 'Input of type frame[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:frame4_arr_0', 'frame4d[]', 0, None, 'Input of type frame[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:frame4_arr_1', 'frame4d[]', 0, None, 'Input of type frame[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half2_0', 'half2', 0, None, 'Input of type half[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:half2_1', 'half2', 0, None, 'Input of type half[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:half2_arr_0', 'half2[]', 0, None, 'Input of type half[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half2_arr_1', 'half2[]', 0, None, 'Input of type half[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half3_0', 'half3', 0, None, 'Input of type half[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:half3_1', 'half3', 0, None, 'Input of type half[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:half3_arr_0', 'half3[]', 0, None, 'Input of type half[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half3_arr_1', 'half3[]', 0, None, 'Input of type half[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half4_0', 'half4', 0, None, 'Input of type half[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:half4_1', 'half4', 0, None, 'Input of type half[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:half4_arr_0', 'half4[]', 0, None, 'Input of type half[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half4_arr_1', 'half4[]', 0, None, 'Input of type half[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half_0', 'half', 0, None, 'Input of type half', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:half_1', 'half', 0, None, 'Input of type half', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:half_arr_0', 'half[]', 0, None, 'Input of type half[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:half_arr_1', 'half[]', 0, None, 'Input of type half[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int2_0', 'int2', 0, None, 'Input of type int[2]', {ogn.MetadataKeys.DEFAULT: '[0, 0]'}, True, [0, 0], False, ''),
        ('inputs:int2_1', 'int2', 0, None, 'Input of type int[2]', {ogn.MetadataKeys.DEFAULT: '[0, 0]'}, True, [0, 0], False, ''),
        ('inputs:int2_arr_0', 'int2[]', 0, None, 'Input of type int[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int2_arr_1', 'int2[]', 0, None, 'Input of type int[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int3_0', 'int3', 0, None, 'Input of type int[3]', {ogn.MetadataKeys.DEFAULT: '[0, 0, 0]'}, True, [0, 0, 0], False, ''),
        ('inputs:int3_1', 'int3', 0, None, 'Input of type int[3]', {ogn.MetadataKeys.DEFAULT: '[0, 0, 0]'}, True, [0, 0, 0], False, ''),
        ('inputs:int3_arr_0', 'int3[]', 0, None, 'Input of type int[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int3_arr_1', 'int3[]', 0, None, 'Input of type int[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int4_0', 'int4', 0, None, 'Input of type int[4]', {ogn.MetadataKeys.DEFAULT: '[0, 0, 0, 0]'}, True, [0, 0, 0, 0], False, ''),
        ('inputs:int4_1', 'int4', 0, None, 'Input of type int[4]', {ogn.MetadataKeys.DEFAULT: '[0, 0, 0, 0]'}, True, [0, 0, 0, 0], False, ''),
        ('inputs:int4_arr_0', 'int4[]', 0, None, 'Input of type int[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int4_arr_1', 'int4[]', 0, None, 'Input of type int[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int64_0', 'int64', 0, None, 'Input of type int64', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:int64_1', 'int64', 0, None, 'Input of type int64', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:int64_arr_0', 'int64[]', 0, None, 'Input of type int64[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int64_arr_1', 'int64[]', 0, None, 'Input of type int64[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int_0', 'int', 0, None, 'Input of type int', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:int_1', 'int', 0, None, 'Input of type int', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:int_arr_0', 'int[]', 0, None, 'Input of type int[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:int_arr_1', 'int[]', 0, None, 'Input of type int[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:matrixd2_0', 'matrix2d', 0, None, 'Input of type matrixd[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:matrixd2_1', 'matrix2d', 0, None, 'Input of type matrixd[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:matrixd2_arr_0', 'matrix2d[]', 0, None, 'Input of type matrixd[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:matrixd2_arr_1', 'matrix2d[]', 0, None, 'Input of type matrixd[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:matrixd3_0', 'matrix3d', 0, None, 'Input of type matrixd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:matrixd3_1', 'matrix3d', 0, None, 'Input of type matrixd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:matrixd3_arr_0', 'matrix3d[]', 0, None, 'Input of type matrixd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:matrixd3_arr_1', 'matrix3d[]', 0, None, 'Input of type matrixd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:matrixd4_0', 'matrix4d', 0, None, 'Input of type matrixd[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:matrixd4_1', 'matrix4d', 0, None, 'Input of type matrixd[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:matrixd4_arr_0', 'matrix4d[]', 0, None, 'Input of type matrixd[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:matrixd4_arr_1', 'matrix4d[]', 0, None, 'Input of type matrixd[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:normald3_0', 'normal3d', 0, None, 'Input of type normald[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:normald3_1', 'normal3d', 0, None, 'Input of type normald[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:normald3_arr_0', 'normal3d[]', 0, None, 'Input of type normald[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:normald3_arr_1', 'normal3d[]', 0, None, 'Input of type normald[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:normalf3_0', 'normal3f', 0, None, 'Input of type normalf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:normalf3_1', 'normal3f', 0, None, 'Input of type normalf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:normalf3_arr_0', 'normal3f[]', 0, None, 'Input of type normalf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:normalf3_arr_1', 'normal3f[]', 0, None, 'Input of type normalf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:normalh3_0', 'normal3h', 0, None, 'Input of type normalh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:normalh3_1', 'normal3h', 0, None, 'Input of type normalh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:normalh3_arr_0', 'normal3h[]', 0, None, 'Input of type normalh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:normalh3_arr_1', 'normal3h[]', 0, None, 'Input of type normalh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:pointd3_0', 'point3d', 0, None, 'Input of type pointd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:pointd3_1', 'point3d', 0, None, 'Input of type pointd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:pointd3_arr_0', 'point3d[]', 0, None, 'Input of type pointd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:pointd3_arr_1', 'point3d[]', 0, None, 'Input of type pointd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:pointf3_0', 'point3f', 0, None, 'Input of type pointf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:pointf3_1', 'point3f', 0, None, 'Input of type pointf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:pointf3_arr_0', 'point3f[]', 0, None, 'Input of type pointf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:pointf3_arr_1', 'point3f[]', 0, None, 'Input of type pointf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:pointh3_0', 'point3h', 0, None, 'Input of type pointh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:pointh3_1', 'point3h', 0, None, 'Input of type pointh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:pointh3_arr_0', 'point3h[]', 0, None, 'Input of type pointh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:pointh3_arr_1', 'point3h[]', 0, None, 'Input of type pointh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:quatd4_0', 'quatd', 0, None, 'Input of type quatd[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:quatd4_1', 'quatd', 0, None, 'Input of type quatd[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:quatd4_arr_0', 'quatd[]', 0, None, 'Input of type quatd[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:quatd4_arr_1', 'quatd[]', 0, None, 'Input of type quatd[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:quatf4_0', 'quatf', 0, None, 'Input of type quatf[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:quatf4_1', 'quatf', 0, None, 'Input of type quatf[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:quatf4_arr_0', 'quatf[]', 0, None, 'Input of type quatf[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:quatf4_arr_1', 'quatf[]', 0, None, 'Input of type quatf[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:quath4_0', 'quath', 0, None, 'Input of type quath[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:quath4_1', 'quath', 0, None, 'Input of type quath[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:quath4_arr_0', 'quath[]', 0, None, 'Input of type quath[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:quath4_arr_1', 'quath[]', 0, None, 'Input of type quath[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordd2_0', 'texCoord2d', 0, None, 'Input of type texcoordd[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:texcoordd2_1', 'texCoord2d', 0, None, 'Input of type texcoordd[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:texcoordd2_arr_0', 'texCoord2d[]', 0, None, 'Input of type texcoordd[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordd2_arr_1', 'texCoord2d[]', 0, None, 'Input of type texcoordd[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordd3_0', 'texCoord3d', 0, None, 'Input of type texcoordd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:texcoordd3_1', 'texCoord3d', 0, None, 'Input of type texcoordd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:texcoordd3_arr_0', 'texCoord3d[]', 0, None, 'Input of type texcoordd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordd3_arr_1', 'texCoord3d[]', 0, None, 'Input of type texcoordd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordf2_0', 'texCoord2f', 0, None, 'Input of type texcoordf[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:texcoordf2_1', 'texCoord2f', 0, None, 'Input of type texcoordf[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:texcoordf2_arr_0', 'texCoord2f[]', 0, None, 'Input of type texcoordf[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordf2_arr_1', 'texCoord2f[]', 0, None, 'Input of type texcoordf[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordf3_0', 'texCoord3f', 0, None, 'Input of type texcoordf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:texcoordf3_1', 'texCoord3f', 0, None, 'Input of type texcoordf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:texcoordf3_arr_0', 'texCoord3f[]', 0, None, 'Input of type texcoordf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordf3_arr_1', 'texCoord3f[]', 0, None, 'Input of type texcoordf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordh2_0', 'texCoord2h', 0, None, 'Input of type texcoordh[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:texcoordh2_1', 'texCoord2h', 0, None, 'Input of type texcoordh[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('inputs:texcoordh2_arr_0', 'texCoord2h[]', 0, None, 'Input of type texcoordh[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordh2_arr_1', 'texCoord2h[]', 0, None, 'Input of type texcoordh[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordh3_0', 'texCoord3h', 0, None, 'Input of type texcoordh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:texcoordh3_1', 'texCoord3h', 0, None, 'Input of type texcoordh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:texcoordh3_arr_0', 'texCoord3h[]', 0, None, 'Input of type texcoordh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:texcoordh3_arr_1', 'texCoord3h[]', 0, None, 'Input of type texcoordh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:timecode_0', 'timecode', 0, None, 'Input of type timecode', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:timecode_1', 'timecode', 0, None, 'Input of type timecode', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('inputs:timecode_arr_0', 'timecode[]', 0, None, 'Input of type timecode[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:timecode_arr_1', 'timecode[]', 0, None, 'Input of type timecode[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:token_0', 'token', 0, None, 'Input of type token', {ogn.MetadataKeys.DEFAULT: '"default_token"'}, True, "default_token", False, ''),
        ('inputs:token_1', 'token', 0, None, 'Input of type token', {ogn.MetadataKeys.DEFAULT: '"default_token"'}, True, "default_token", False, ''),
        ('inputs:token_arr_0', 'token[]', 0, None, 'Input of type token[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:token_arr_1', 'token[]', 0, None, 'Input of type token[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:transform4_0', 'frame4d', 0, None, 'Input of type transform[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:transform4_1', 'frame4d', 0, None, 'Input of type transform[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('inputs:transform4_arr_0', 'frame4d[]', 0, None, 'Input of type transform[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:transform4_arr_1', 'frame4d[]', 0, None, 'Input of type transform[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:uchar_0', 'uchar', 0, None, 'Input of type uchar', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:uchar_1', 'uchar', 0, None, 'Input of type uchar', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:uchar_arr_0', 'uchar[]', 0, None, 'Input of type uchar[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:uchar_arr_1', 'uchar[]', 0, None, 'Input of type uchar[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:uint64_0', 'uint64', 0, None, 'Input of type uint64', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:uint64_1', 'uint64', 0, None, 'Input of type uint64', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:uint64_arr_0', 'uint64[]', 0, None, 'Input of type uint64[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:uint64_arr_1', 'uint64[]', 0, None, 'Input of type uint64[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:uint_0', 'uint', 0, None, 'Input of type uint', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:uint_1', 'uint', 0, None, 'Input of type uint', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('inputs:uint_arr_0', 'uint[]', 0, None, 'Input of type uint[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:uint_arr_1', 'uint[]', 0, None, 'Input of type uint[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:vectord3_0', 'vector3d', 0, None, 'Input of type vectord[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:vectord3_1', 'vector3d', 0, None, 'Input of type vectord[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:vectord3_arr_0', 'vector3d[]', 0, None, 'Input of type vectord[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:vectord3_arr_1', 'vector3d[]', 0, None, 'Input of type vectord[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:vectorf3_0', 'vector3f', 0, None, 'Input of type vectorf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:vectorf3_1', 'vector3f', 0, None, 'Input of type vectorf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:vectorf3_arr_0', 'vector3f[]', 0, None, 'Input of type vectorf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:vectorf3_arr_1', 'vector3f[]', 0, None, 'Input of type vectorf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:vectorh3_0', 'vector3h', 0, None, 'Input of type vectorh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:vectorh3_1', 'vector3h', 0, None, 'Input of type vectorh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('inputs:vectorh3_arr_0', 'vector3h[]', 0, None, 'Input of type vectorh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('inputs:vectorh3_arr_1', 'vector3h[]', 0, None, 'Input of type vectorh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:bool_0', 'bool', 0, None, 'Output of type bool', {ogn.MetadataKeys.DEFAULT: 'false'}, True, False, False, ''),
        ('outputs:bool_arr_0', 'bool[]', 0, None, 'Output of type bool[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:colord3_0', 'color3d', 0, None, 'Output of type colord[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:colord3_arr_0', 'color3d[]', 0, None, 'Output of type colord[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:colord4_0', 'color4d', 0, None, 'Output of type colord[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:colord4_arr_0', 'color4d[]', 0, None, 'Output of type colord[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:colorf3_0', 'color3f', 0, None, 'Output of type colorf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:colorf3_arr_0', 'color3f[]', 0, None, 'Output of type colorf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:colorf4_0', 'color4f', 0, None, 'Output of type colorf[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:colorf4_arr_0', 'color4f[]', 0, None, 'Output of type colorf[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:colorh3_0', 'color3h', 0, None, 'Output of type colorh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:colorh3_arr_0', 'color3h[]', 0, None, 'Output of type colorh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:colorh4_0', 'color4h', 0, None, 'Output of type colorh[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:colorh4_arr_0', 'color4h[]', 0, None, 'Output of type colorh[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:double2_0', 'double2', 0, None, 'Output of type double[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('outputs:double2_arr_0', 'double2[]', 0, None, 'Output of type double[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:double3_0', 'double3', 0, None, 'Output of type double[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:double3_arr_0', 'double3[]', 0, None, 'Output of type double[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:double4_0', 'double4', 0, None, 'Output of type double[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:double4_arr_0', 'double4[]', 0, None, 'Output of type double[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:double_0', 'double', 0, None, 'Output of type double', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('outputs:double_arr_0', 'double[]', 0, None, 'Output of type double[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:float2_0', 'float2', 0, None, 'Output of type float[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('outputs:float2_arr_0', 'float2[]', 0, None, 'Output of type float[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:float3_0', 'float3', 0, None, 'Output of type float[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:float3_arr_0', 'float3[]', 0, None, 'Output of type float[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:float4_0', 'float4', 0, None, 'Output of type float[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:float4_arr_0', 'float4[]', 0, None, 'Output of type float[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:float_0', 'float', 0, None, 'Output of type float', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('outputs:float_arr_0', 'float[]', 0, None, 'Output of type float[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:frame4_0', 'frame4d', 0, None, 'Output of type frame[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:frame4_arr_0', 'frame4d[]', 0, None, 'Output of type frame[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:half2_0', 'half2', 0, None, 'Output of type half[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('outputs:half2_arr_0', 'half2[]', 0, None, 'Output of type half[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:half3_0', 'half3', 0, None, 'Output of type half[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:half3_arr_0', 'half3[]', 0, None, 'Output of type half[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:half4_0', 'half4', 0, None, 'Output of type half[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:half4_arr_0', 'half4[]', 0, None, 'Output of type half[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:half_0', 'half', 0, None, 'Output of type half', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('outputs:half_arr_0', 'half[]', 0, None, 'Output of type half[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:int2_0', 'int2', 0, None, 'Output of type int[2]', {ogn.MetadataKeys.DEFAULT: '[0, 0]'}, True, [0, 0], False, ''),
        ('outputs:int2_arr_0', 'int2[]', 0, None, 'Output of type int[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:int3_0', 'int3', 0, None, 'Output of type int[3]', {ogn.MetadataKeys.DEFAULT: '[0, 0, 0]'}, True, [0, 0, 0], False, ''),
        ('outputs:int3_arr_0', 'int3[]', 0, None, 'Output of type int[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:int4_0', 'int4', 0, None, 'Output of type int[4]', {ogn.MetadataKeys.DEFAULT: '[0, 0, 0, 0]'}, True, [0, 0, 0, 0], False, ''),
        ('outputs:int4_arr_0', 'int4[]', 0, None, 'Output of type int[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:int64_0', 'int64', 0, None, 'Output of type int64', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('outputs:int64_arr_0', 'int64[]', 0, None, 'Output of type int64[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:int_0', 'int', 0, None, 'Output of type int', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('outputs:int_arr_0', 'int[]', 0, None, 'Output of type int[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:matrixd2_0', 'matrix2d', 0, None, 'Output of type matrixd[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:matrixd2_arr_0', 'matrix2d[]', 0, None, 'Output of type matrixd[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:matrixd3_0', 'matrix3d', 0, None, 'Output of type matrixd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:matrixd3_arr_0', 'matrix3d[]', 0, None, 'Output of type matrixd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:matrixd4_0', 'matrix4d', 0, None, 'Output of type matrixd[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:matrixd4_arr_0', 'matrix4d[]', 0, None, 'Output of type matrixd[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:normald3_0', 'normal3d', 0, None, 'Output of type normald[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:normald3_arr_0', 'normal3d[]', 0, None, 'Output of type normald[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:normalf3_0', 'normal3f', 0, None, 'Output of type normalf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:normalf3_arr_0', 'normal3f[]', 0, None, 'Output of type normalf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:normalh3_0', 'normal3h', 0, None, 'Output of type normalh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:normalh3_arr_0', 'normal3h[]', 0, None, 'Output of type normalh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:pointd3_0', 'point3d', 0, None, 'Output of type pointd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:pointd3_arr_0', 'point3d[]', 0, None, 'Output of type pointd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:pointf3_0', 'point3f', 0, None, 'Output of type pointf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:pointf3_arr_0', 'point3f[]', 0, None, 'Output of type pointf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:pointh3_0', 'point3h', 0, None, 'Output of type pointh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:pointh3_arr_0', 'point3h[]', 0, None, 'Output of type pointh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:quatd4_0', 'quatd', 0, None, 'Output of type quatd[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:quatd4_arr_0', 'quatd[]', 0, None, 'Output of type quatd[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:quatf4_0', 'quatf', 0, None, 'Output of type quatf[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:quatf4_arr_0', 'quatf[]', 0, None, 'Output of type quatf[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:quath4_0', 'quath', 0, None, 'Output of type quath[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:quath4_arr_0', 'quath[]', 0, None, 'Output of type quath[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:texcoordd2_0', 'texCoord2d', 0, None, 'Output of type texcoordd[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('outputs:texcoordd2_arr_0', 'texCoord2d[]', 0, None, 'Output of type texcoordd[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:texcoordd3_0', 'texCoord3d', 0, None, 'Output of type texcoordd[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:texcoordd3_arr_0', 'texCoord3d[]', 0, None, 'Output of type texcoordd[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:texcoordf2_0', 'texCoord2f', 0, None, 'Output of type texcoordf[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('outputs:texcoordf2_arr_0', 'texCoord2f[]', 0, None, 'Output of type texcoordf[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:texcoordf3_0', 'texCoord3f', 0, None, 'Output of type texcoordf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:texcoordf3_arr_0', 'texCoord3f[]', 0, None, 'Output of type texcoordf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:texcoordh2_0', 'texCoord2h', 0, None, 'Output of type texcoordh[2]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0]'}, True, [0.0, 0.0], False, ''),
        ('outputs:texcoordh2_arr_0', 'texCoord2h[]', 0, None, 'Output of type texcoordh[2][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:texcoordh3_0', 'texCoord3h', 0, None, 'Output of type texcoordh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:texcoordh3_arr_0', 'texCoord3h[]', 0, None, 'Output of type texcoordh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:timecode_0', 'timecode', 0, None, 'Output of type timecode', {ogn.MetadataKeys.DEFAULT: '0.0'}, True, 0.0, False, ''),
        ('outputs:timecode_arr_0', 'timecode[]', 0, None, 'Output of type timecode[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:token_0', 'token', 0, None, 'Output of type token', {ogn.MetadataKeys.DEFAULT: '"default_token"'}, True, "default_token", False, ''),
        ('outputs:token_arr_0', 'token[]', 0, None, 'Output of type token[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:transform4_0', 'frame4d', 0, None, 'Output of type transform[4]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], False, ''),
        ('outputs:transform4_arr_0', 'frame4d[]', 0, None, 'Output of type transform[4][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:uchar_0', 'uchar', 0, None, 'Output of type uchar', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('outputs:uchar_arr_0', 'uchar[]', 0, None, 'Output of type uchar[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:uint64_0', 'uint64', 0, None, 'Output of type uint64', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('outputs:uint64_arr_0', 'uint64[]', 0, None, 'Output of type uint64[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:uint_0', 'uint', 0, None, 'Output of type uint', {ogn.MetadataKeys.DEFAULT: '0'}, True, 0, False, ''),
        ('outputs:uint_arr_0', 'uint[]', 0, None, 'Output of type uint[]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:vectord3_0', 'vector3d', 0, None, 'Output of type vectord[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:vectord3_arr_0', 'vector3d[]', 0, None, 'Output of type vectord[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:vectorf3_0', 'vector3f', 0, None, 'Output of type vectorf[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:vectorf3_arr_0', 'vector3f[]', 0, None, 'Output of type vectorf[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
        ('outputs:vectorh3_0', 'vector3h', 0, None, 'Output of type vectorh[3]', {ogn.MetadataKeys.DEFAULT: '[0.0, 0.0, 0.0]'}, True, [0.0, 0.0, 0.0], False, ''),
        ('outputs:vectorh3_arr_0', 'vector3h[]', 0, None, 'Output of type vectorh[3][]', {ogn.MetadataKeys.DEFAULT: '[]'}, True, [], False, ''),
    ])

    @classmethod
    def _populate_role_data(cls):
        """Populate a role structure with the non-default roles on this node type"""
        role_data = super()._populate_role_data()
        role_data.inputs.colord3_0 = og.AttributeRole.COLOR
        role_data.inputs.colord3_1 = og.AttributeRole.COLOR
        role_data.inputs.colord3_arr_0 = og.AttributeRole.COLOR
        role_data.inputs.colord3_arr_1 = og.AttributeRole.COLOR
        role_data.inputs.colord4_0 = og.AttributeRole.COLOR
        role_data.inputs.colord4_1 = og.AttributeRole.COLOR
        role_data.inputs.colord4_arr_0 = og.AttributeRole.COLOR
        role_data.inputs.colord4_arr_1 = og.AttributeRole.COLOR
        role_data.inputs.colorf3_0 = og.AttributeRole.COLOR
        role_data.inputs.colorf3_1 = og.AttributeRole.COLOR
        role_data.inputs.colorf3_arr_0 = og.AttributeRole.COLOR
        role_data.inputs.colorf3_arr_1 = og.AttributeRole.COLOR
        role_data.inputs.colorf4_0 = og.AttributeRole.COLOR
        role_data.inputs.colorf4_1 = og.AttributeRole.COLOR
        role_data.inputs.colorf4_arr_0 = og.AttributeRole.COLOR
        role_data.inputs.colorf4_arr_1 = og.AttributeRole.COLOR
        role_data.inputs.colorh3_0 = og.AttributeRole.COLOR
        role_data.inputs.colorh3_1 = og.AttributeRole.COLOR
        role_data.inputs.colorh3_arr_0 = og.AttributeRole.COLOR
        role_data.inputs.colorh3_arr_1 = og.AttributeRole.COLOR
        role_data.inputs.colorh4_0 = og.AttributeRole.COLOR
        role_data.inputs.colorh4_1 = og.AttributeRole.COLOR
        role_data.inputs.colorh4_arr_0 = og.AttributeRole.COLOR
        role_data.inputs.colorh4_arr_1 = og.AttributeRole.COLOR
        role_data.inputs.frame4_0 = og.AttributeRole.FRAME
        role_data.inputs.frame4_1 = og.AttributeRole.FRAME
        role_data.inputs.frame4_arr_0 = og.AttributeRole.FRAME
        role_data.inputs.frame4_arr_1 = og.AttributeRole.FRAME
        role_data.inputs.matrixd2_0 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd2_1 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd2_arr_0 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd2_arr_1 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd3_0 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd3_1 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd3_arr_0 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd3_arr_1 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd4_0 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd4_1 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd4_arr_0 = og.AttributeRole.MATRIX
        role_data.inputs.matrixd4_arr_1 = og.AttributeRole.MATRIX
        role_data.inputs.normald3_0 = og.AttributeRole.NORMAL
        role_data.inputs.normald3_1 = og.AttributeRole.NORMAL
        role_data.inputs.normald3_arr_0 = og.AttributeRole.NORMAL
        role_data.inputs.normald3_arr_1 = og.AttributeRole.NORMAL
        role_data.inputs.normalf3_0 = og.AttributeRole.NORMAL
        role_data.inputs.normalf3_1 = og.AttributeRole.NORMAL
        role_data.inputs.normalf3_arr_0 = og.AttributeRole.NORMAL
        role_data.inputs.normalf3_arr_1 = og.AttributeRole.NORMAL
        role_data.inputs.normalh3_0 = og.AttributeRole.NORMAL
        role_data.inputs.normalh3_1 = og.AttributeRole.NORMAL
        role_data.inputs.normalh3_arr_0 = og.AttributeRole.NORMAL
        role_data.inputs.normalh3_arr_1 = og.AttributeRole.NORMAL
        role_data.inputs.pointd3_0 = og.AttributeRole.POSITION
        role_data.inputs.pointd3_1 = og.AttributeRole.POSITION
        role_data.inputs.pointd3_arr_0 = og.AttributeRole.POSITION
        role_data.inputs.pointd3_arr_1 = og.AttributeRole.POSITION
        role_data.inputs.pointf3_0 = og.AttributeRole.POSITION
        role_data.inputs.pointf3_1 = og.AttributeRole.POSITION
        role_data.inputs.pointf3_arr_0 = og.AttributeRole.POSITION
        role_data.inputs.pointf3_arr_1 = og.AttributeRole.POSITION
        role_data.inputs.pointh3_0 = og.AttributeRole.POSITION
        role_data.inputs.pointh3_1 = og.AttributeRole.POSITION
        role_data.inputs.pointh3_arr_0 = og.AttributeRole.POSITION
        role_data.inputs.pointh3_arr_1 = og.AttributeRole.POSITION
        role_data.inputs.quatd4_0 = og.AttributeRole.QUATERNION
        role_data.inputs.quatd4_1 = og.AttributeRole.QUATERNION
        role_data.inputs.quatd4_arr_0 = og.AttributeRole.QUATERNION
        role_data.inputs.quatd4_arr_1 = og.AttributeRole.QUATERNION
        role_data.inputs.quatf4_0 = og.AttributeRole.QUATERNION
        role_data.inputs.quatf4_1 = og.AttributeRole.QUATERNION
        role_data.inputs.quatf4_arr_0 = og.AttributeRole.QUATERNION
        role_data.inputs.quatf4_arr_1 = og.AttributeRole.QUATERNION
        role_data.inputs.quath4_0 = og.AttributeRole.QUATERNION
        role_data.inputs.quath4_1 = og.AttributeRole.QUATERNION
        role_data.inputs.quath4_arr_0 = og.AttributeRole.QUATERNION
        role_data.inputs.quath4_arr_1 = og.AttributeRole.QUATERNION
        role_data.inputs.texcoordd2_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd2_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd2_arr_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd2_arr_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd3_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd3_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd3_arr_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordd3_arr_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf2_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf2_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf2_arr_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf2_arr_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf3_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf3_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf3_arr_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordf3_arr_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh2_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh2_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh2_arr_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh2_arr_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh3_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh3_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh3_arr_0 = og.AttributeRole.TEXCOORD
        role_data.inputs.texcoordh3_arr_1 = og.AttributeRole.TEXCOORD
        role_data.inputs.timecode_0 = og.AttributeRole.TIMECODE
        role_data.inputs.timecode_1 = og.AttributeRole.TIMECODE
        role_data.inputs.timecode_arr_0 = og.AttributeRole.TIMECODE
        role_data.inputs.timecode_arr_1 = og.AttributeRole.TIMECODE
        role_data.inputs.transform4_0 = og.AttributeRole.TRANSFORM
        role_data.inputs.transform4_1 = og.AttributeRole.TRANSFORM
        role_data.inputs.transform4_arr_0 = og.AttributeRole.TRANSFORM
        role_data.inputs.transform4_arr_1 = og.AttributeRole.TRANSFORM
        role_data.inputs.vectord3_0 = og.AttributeRole.VECTOR
        role_data.inputs.vectord3_1 = og.AttributeRole.VECTOR
        role_data.inputs.vectord3_arr_0 = og.AttributeRole.VECTOR
        role_data.inputs.vectord3_arr_1 = og.AttributeRole.VECTOR
        role_data.inputs.vectorf3_0 = og.AttributeRole.VECTOR
        role_data.inputs.vectorf3_1 = og.AttributeRole.VECTOR
        role_data.inputs.vectorf3_arr_0 = og.AttributeRole.VECTOR
        role_data.inputs.vectorf3_arr_1 = og.AttributeRole.VECTOR
        role_data.inputs.vectorh3_0 = og.AttributeRole.VECTOR
        role_data.inputs.vectorh3_1 = og.AttributeRole.VECTOR
        role_data.inputs.vectorh3_arr_0 = og.AttributeRole.VECTOR
        role_data.inputs.vectorh3_arr_1 = og.AttributeRole.VECTOR
        role_data.outputs.colord3_0 = og.AttributeRole.COLOR
        role_data.outputs.colord3_arr_0 = og.AttributeRole.COLOR
        role_data.outputs.colord4_0 = og.AttributeRole.COLOR
        role_data.outputs.colord4_arr_0 = og.AttributeRole.COLOR
        role_data.outputs.colorf3_0 = og.AttributeRole.COLOR
        role_data.outputs.colorf3_arr_0 = og.AttributeRole.COLOR
        role_data.outputs.colorf4_0 = og.AttributeRole.COLOR
        role_data.outputs.colorf4_arr_0 = og.AttributeRole.COLOR
        role_data.outputs.colorh3_0 = og.AttributeRole.COLOR
        role_data.outputs.colorh3_arr_0 = og.AttributeRole.COLOR
        role_data.outputs.colorh4_0 = og.AttributeRole.COLOR
        role_data.outputs.colorh4_arr_0 = og.AttributeRole.COLOR
        role_data.outputs.frame4_0 = og.AttributeRole.FRAME
        role_data.outputs.frame4_arr_0 = og.AttributeRole.FRAME
        role_data.outputs.matrixd2_0 = og.AttributeRole.MATRIX
        role_data.outputs.matrixd2_arr_0 = og.AttributeRole.MATRIX
        role_data.outputs.matrixd3_0 = og.AttributeRole.MATRIX
        role_data.outputs.matrixd3_arr_0 = og.AttributeRole.MATRIX
        role_data.outputs.matrixd4_0 = og.AttributeRole.MATRIX
        role_data.outputs.matrixd4_arr_0 = og.AttributeRole.MATRIX
        role_data.outputs.normald3_0 = og.AttributeRole.NORMAL
        role_data.outputs.normald3_arr_0 = og.AttributeRole.NORMAL
        role_data.outputs.normalf3_0 = og.AttributeRole.NORMAL
        role_data.outputs.normalf3_arr_0 = og.AttributeRole.NORMAL
        role_data.outputs.normalh3_0 = og.AttributeRole.NORMAL
        role_data.outputs.normalh3_arr_0 = og.AttributeRole.NORMAL
        role_data.outputs.pointd3_0 = og.AttributeRole.POSITION
        role_data.outputs.pointd3_arr_0 = og.AttributeRole.POSITION
        role_data.outputs.pointf3_0 = og.AttributeRole.POSITION
        role_data.outputs.pointf3_arr_0 = og.AttributeRole.POSITION
        role_data.outputs.pointh3_0 = og.AttributeRole.POSITION
        role_data.outputs.pointh3_arr_0 = og.AttributeRole.POSITION
        role_data.outputs.quatd4_0 = og.AttributeRole.QUATERNION
        role_data.outputs.quatd4_arr_0 = og.AttributeRole.QUATERNION
        role_data.outputs.quatf4_0 = og.AttributeRole.QUATERNION
        role_data.outputs.quatf4_arr_0 = og.AttributeRole.QUATERNION
        role_data.outputs.quath4_0 = og.AttributeRole.QUATERNION
        role_data.outputs.quath4_arr_0 = og.AttributeRole.QUATERNION
        role_data.outputs.texcoordd2_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordd2_arr_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordd3_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordd3_arr_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordf2_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordf2_arr_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordf3_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordf3_arr_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordh2_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordh2_arr_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordh3_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.texcoordh3_arr_0 = og.AttributeRole.TEXCOORD
        role_data.outputs.timecode_0 = og.AttributeRole.TIMECODE
        role_data.outputs.timecode_arr_0 = og.AttributeRole.TIMECODE
        role_data.outputs.transform4_0 = og.AttributeRole.TRANSFORM
        role_data.outputs.transform4_arr_0 = og.AttributeRole.TRANSFORM
        role_data.outputs.vectord3_0 = og.AttributeRole.VECTOR
        role_data.outputs.vectord3_arr_0 = og.AttributeRole.VECTOR
        role_data.outputs.vectorf3_0 = og.AttributeRole.VECTOR
        role_data.outputs.vectorf3_arr_0 = og.AttributeRole.VECTOR
        role_data.outputs.vectorh3_0 = og.AttributeRole.VECTOR
        role_data.outputs.vectorh3_arr_0 = og.AttributeRole.VECTOR
        return role_data

    class ValuesForInputs(og.DynamicAttributeAccess):
        LOCAL_PROPERTY_NAMES = { }
        """Helper class that creates natural hierarchical access to input attributes"""
        def __init__(self, node: og.Node, attributes, dynamic_attributes: og.DynamicAttributeInterface):
            """Initialize simplified access for the attribute data"""
            context = node.get_graph().get_default_graph_context()
            super().__init__(context, node, attributes, dynamic_attributes)
            self._batchedReadAttributes = []
            self._batchedReadValues = []

        @property
        def bool_0(self):
            data_view = og.AttributeValueHelper(self._attributes.bool_0)
            return data_view.get()

        @bool_0.setter
        def bool_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.bool_0)
            data_view = og.AttributeValueHelper(self._attributes.bool_0)
            data_view.set(value)

        @property
        def bool_1(self):
            data_view = og.AttributeValueHelper(self._attributes.bool_1)
            return data_view.get()

        @bool_1.setter
        def bool_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.bool_1)
            data_view = og.AttributeValueHelper(self._attributes.bool_1)
            data_view.set(value)

        @property
        def bool_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.bool_arr_0)
            return data_view.get()

        @bool_arr_0.setter
        def bool_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.bool_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.bool_arr_0)
            data_view.set(value)
            self.bool_arr_0_size = data_view.get_array_size()

        @property
        def bool_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.bool_arr_1)
            return data_view.get()

        @bool_arr_1.setter
        def bool_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.bool_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.bool_arr_1)
            data_view.set(value)
            self.bool_arr_1_size = data_view.get_array_size()

        @property
        def colord3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord3_0)
            return data_view.get()

        @colord3_0.setter
        def colord3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord3_0)
            data_view = og.AttributeValueHelper(self._attributes.colord3_0)
            data_view.set(value)

        @property
        def colord3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colord3_1)
            return data_view.get()

        @colord3_1.setter
        def colord3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord3_1)
            data_view = og.AttributeValueHelper(self._attributes.colord3_1)
            data_view.set(value)

        @property
        def colord3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord3_arr_0)
            return data_view.get()

        @colord3_arr_0.setter
        def colord3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.colord3_arr_0)
            data_view.set(value)
            self.colord3_arr_0_size = data_view.get_array_size()

        @property
        def colord3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colord3_arr_1)
            return data_view.get()

        @colord3_arr_1.setter
        def colord3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.colord3_arr_1)
            data_view.set(value)
            self.colord3_arr_1_size = data_view.get_array_size()

        @property
        def colord4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord4_0)
            return data_view.get()

        @colord4_0.setter
        def colord4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord4_0)
            data_view = og.AttributeValueHelper(self._attributes.colord4_0)
            data_view.set(value)

        @property
        def colord4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colord4_1)
            return data_view.get()

        @colord4_1.setter
        def colord4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord4_1)
            data_view = og.AttributeValueHelper(self._attributes.colord4_1)
            data_view.set(value)

        @property
        def colord4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord4_arr_0)
            return data_view.get()

        @colord4_arr_0.setter
        def colord4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.colord4_arr_0)
            data_view.set(value)
            self.colord4_arr_0_size = data_view.get_array_size()

        @property
        def colord4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colord4_arr_1)
            return data_view.get()

        @colord4_arr_1.setter
        def colord4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colord4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.colord4_arr_1)
            data_view.set(value)
            self.colord4_arr_1_size = data_view.get_array_size()

        @property
        def colorf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_0)
            return data_view.get()

        @colorf3_0.setter
        def colorf3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf3_0)
            data_view = og.AttributeValueHelper(self._attributes.colorf3_0)
            data_view.set(value)

        @property
        def colorf3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_1)
            return data_view.get()

        @colorf3_1.setter
        def colorf3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf3_1)
            data_view = og.AttributeValueHelper(self._attributes.colorf3_1)
            data_view.set(value)

        @property
        def colorf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_arr_0)
            return data_view.get()

        @colorf3_arr_0.setter
        def colorf3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.colorf3_arr_0)
            data_view.set(value)
            self.colorf3_arr_0_size = data_view.get_array_size()

        @property
        def colorf3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_arr_1)
            return data_view.get()

        @colorf3_arr_1.setter
        def colorf3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.colorf3_arr_1)
            data_view.set(value)
            self.colorf3_arr_1_size = data_view.get_array_size()

        @property
        def colorf4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_0)
            return data_view.get()

        @colorf4_0.setter
        def colorf4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf4_0)
            data_view = og.AttributeValueHelper(self._attributes.colorf4_0)
            data_view.set(value)

        @property
        def colorf4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_1)
            return data_view.get()

        @colorf4_1.setter
        def colorf4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf4_1)
            data_view = og.AttributeValueHelper(self._attributes.colorf4_1)
            data_view.set(value)

        @property
        def colorf4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_arr_0)
            return data_view.get()

        @colorf4_arr_0.setter
        def colorf4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.colorf4_arr_0)
            data_view.set(value)
            self.colorf4_arr_0_size = data_view.get_array_size()

        @property
        def colorf4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_arr_1)
            return data_view.get()

        @colorf4_arr_1.setter
        def colorf4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorf4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.colorf4_arr_1)
            data_view.set(value)
            self.colorf4_arr_1_size = data_view.get_array_size()

        @property
        def colorh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_0)
            return data_view.get()

        @colorh3_0.setter
        def colorh3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh3_0)
            data_view = og.AttributeValueHelper(self._attributes.colorh3_0)
            data_view.set(value)

        @property
        def colorh3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_1)
            return data_view.get()

        @colorh3_1.setter
        def colorh3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh3_1)
            data_view = og.AttributeValueHelper(self._attributes.colorh3_1)
            data_view.set(value)

        @property
        def colorh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_arr_0)
            return data_view.get()

        @colorh3_arr_0.setter
        def colorh3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.colorh3_arr_0)
            data_view.set(value)
            self.colorh3_arr_0_size = data_view.get_array_size()

        @property
        def colorh3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_arr_1)
            return data_view.get()

        @colorh3_arr_1.setter
        def colorh3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.colorh3_arr_1)
            data_view.set(value)
            self.colorh3_arr_1_size = data_view.get_array_size()

        @property
        def colorh4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_0)
            return data_view.get()

        @colorh4_0.setter
        def colorh4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh4_0)
            data_view = og.AttributeValueHelper(self._attributes.colorh4_0)
            data_view.set(value)

        @property
        def colorh4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_1)
            return data_view.get()

        @colorh4_1.setter
        def colorh4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh4_1)
            data_view = og.AttributeValueHelper(self._attributes.colorh4_1)
            data_view.set(value)

        @property
        def colorh4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_arr_0)
            return data_view.get()

        @colorh4_arr_0.setter
        def colorh4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.colorh4_arr_0)
            data_view.set(value)
            self.colorh4_arr_0_size = data_view.get_array_size()

        @property
        def colorh4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_arr_1)
            return data_view.get()

        @colorh4_arr_1.setter
        def colorh4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.colorh4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.colorh4_arr_1)
            data_view.set(value)
            self.colorh4_arr_1_size = data_view.get_array_size()

        @property
        def double2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double2_0)
            return data_view.get()

        @double2_0.setter
        def double2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double2_0)
            data_view = og.AttributeValueHelper(self._attributes.double2_0)
            data_view.set(value)

        @property
        def double2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double2_1)
            return data_view.get()

        @double2_1.setter
        def double2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double2_1)
            data_view = og.AttributeValueHelper(self._attributes.double2_1)
            data_view.set(value)

        @property
        def double2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double2_arr_0)
            return data_view.get()

        @double2_arr_0.setter
        def double2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.double2_arr_0)
            data_view.set(value)
            self.double2_arr_0_size = data_view.get_array_size()

        @property
        def double2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double2_arr_1)
            return data_view.get()

        @double2_arr_1.setter
        def double2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.double2_arr_1)
            data_view.set(value)
            self.double2_arr_1_size = data_view.get_array_size()

        @property
        def double3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double3_0)
            return data_view.get()

        @double3_0.setter
        def double3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double3_0)
            data_view = og.AttributeValueHelper(self._attributes.double3_0)
            data_view.set(value)

        @property
        def double3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double3_1)
            return data_view.get()

        @double3_1.setter
        def double3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double3_1)
            data_view = og.AttributeValueHelper(self._attributes.double3_1)
            data_view.set(value)

        @property
        def double3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double3_arr_0)
            return data_view.get()

        @double3_arr_0.setter
        def double3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.double3_arr_0)
            data_view.set(value)
            self.double3_arr_0_size = data_view.get_array_size()

        @property
        def double3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double3_arr_1)
            return data_view.get()

        @double3_arr_1.setter
        def double3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.double3_arr_1)
            data_view.set(value)
            self.double3_arr_1_size = data_view.get_array_size()

        @property
        def double4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double4_0)
            return data_view.get()

        @double4_0.setter
        def double4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double4_0)
            data_view = og.AttributeValueHelper(self._attributes.double4_0)
            data_view.set(value)

        @property
        def double4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double4_1)
            return data_view.get()

        @double4_1.setter
        def double4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double4_1)
            data_view = og.AttributeValueHelper(self._attributes.double4_1)
            data_view.set(value)

        @property
        def double4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double4_arr_0)
            return data_view.get()

        @double4_arr_0.setter
        def double4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.double4_arr_0)
            data_view.set(value)
            self.double4_arr_0_size = data_view.get_array_size()

        @property
        def double4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double4_arr_1)
            return data_view.get()

        @double4_arr_1.setter
        def double4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.double4_arr_1)
            data_view.set(value)
            self.double4_arr_1_size = data_view.get_array_size()

        @property
        def double_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double_0)
            return data_view.get()

        @double_0.setter
        def double_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double_0)
            data_view = og.AttributeValueHelper(self._attributes.double_0)
            data_view.set(value)

        @property
        def double_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double_1)
            return data_view.get()

        @double_1.setter
        def double_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double_1)
            data_view = og.AttributeValueHelper(self._attributes.double_1)
            data_view.set(value)

        @property
        def double_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double_arr_0)
            return data_view.get()

        @double_arr_0.setter
        def double_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.double_arr_0)
            data_view.set(value)
            self.double_arr_0_size = data_view.get_array_size()

        @property
        def double_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.double_arr_1)
            return data_view.get()

        @double_arr_1.setter
        def double_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.double_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.double_arr_1)
            data_view.set(value)
            self.double_arr_1_size = data_view.get_array_size()

        @property
        def float2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float2_0)
            return data_view.get()

        @float2_0.setter
        def float2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float2_0)
            data_view = og.AttributeValueHelper(self._attributes.float2_0)
            data_view.set(value)

        @property
        def float2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float2_1)
            return data_view.get()

        @float2_1.setter
        def float2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float2_1)
            data_view = og.AttributeValueHelper(self._attributes.float2_1)
            data_view.set(value)

        @property
        def float2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float2_arr_0)
            return data_view.get()

        @float2_arr_0.setter
        def float2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.float2_arr_0)
            data_view.set(value)
            self.float2_arr_0_size = data_view.get_array_size()

        @property
        def float2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float2_arr_1)
            return data_view.get()

        @float2_arr_1.setter
        def float2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.float2_arr_1)
            data_view.set(value)
            self.float2_arr_1_size = data_view.get_array_size()

        @property
        def float3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float3_0)
            return data_view.get()

        @float3_0.setter
        def float3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float3_0)
            data_view = og.AttributeValueHelper(self._attributes.float3_0)
            data_view.set(value)

        @property
        def float3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float3_1)
            return data_view.get()

        @float3_1.setter
        def float3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float3_1)
            data_view = og.AttributeValueHelper(self._attributes.float3_1)
            data_view.set(value)

        @property
        def float3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float3_arr_0)
            return data_view.get()

        @float3_arr_0.setter
        def float3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.float3_arr_0)
            data_view.set(value)
            self.float3_arr_0_size = data_view.get_array_size()

        @property
        def float3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float3_arr_1)
            return data_view.get()

        @float3_arr_1.setter
        def float3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.float3_arr_1)
            data_view.set(value)
            self.float3_arr_1_size = data_view.get_array_size()

        @property
        def float4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float4_0)
            return data_view.get()

        @float4_0.setter
        def float4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float4_0)
            data_view = og.AttributeValueHelper(self._attributes.float4_0)
            data_view.set(value)

        @property
        def float4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float4_1)
            return data_view.get()

        @float4_1.setter
        def float4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float4_1)
            data_view = og.AttributeValueHelper(self._attributes.float4_1)
            data_view.set(value)

        @property
        def float4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float4_arr_0)
            return data_view.get()

        @float4_arr_0.setter
        def float4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.float4_arr_0)
            data_view.set(value)
            self.float4_arr_0_size = data_view.get_array_size()

        @property
        def float4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float4_arr_1)
            return data_view.get()

        @float4_arr_1.setter
        def float4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.float4_arr_1)
            data_view.set(value)
            self.float4_arr_1_size = data_view.get_array_size()

        @property
        def float_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float_0)
            return data_view.get()

        @float_0.setter
        def float_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float_0)
            data_view = og.AttributeValueHelper(self._attributes.float_0)
            data_view.set(value)

        @property
        def float_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float_1)
            return data_view.get()

        @float_1.setter
        def float_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float_1)
            data_view = og.AttributeValueHelper(self._attributes.float_1)
            data_view.set(value)

        @property
        def float_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float_arr_0)
            return data_view.get()

        @float_arr_0.setter
        def float_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.float_arr_0)
            data_view.set(value)
            self.float_arr_0_size = data_view.get_array_size()

        @property
        def float_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.float_arr_1)
            return data_view.get()

        @float_arr_1.setter
        def float_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.float_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.float_arr_1)
            data_view.set(value)
            self.float_arr_1_size = data_view.get_array_size()

        @property
        def frame4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.frame4_0)
            return data_view.get()

        @frame4_0.setter
        def frame4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.frame4_0)
            data_view = og.AttributeValueHelper(self._attributes.frame4_0)
            data_view.set(value)

        @property
        def frame4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.frame4_1)
            return data_view.get()

        @frame4_1.setter
        def frame4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.frame4_1)
            data_view = og.AttributeValueHelper(self._attributes.frame4_1)
            data_view.set(value)

        @property
        def frame4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.frame4_arr_0)
            return data_view.get()

        @frame4_arr_0.setter
        def frame4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.frame4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.frame4_arr_0)
            data_view.set(value)
            self.frame4_arr_0_size = data_view.get_array_size()

        @property
        def frame4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.frame4_arr_1)
            return data_view.get()

        @frame4_arr_1.setter
        def frame4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.frame4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.frame4_arr_1)
            data_view.set(value)
            self.frame4_arr_1_size = data_view.get_array_size()

        @property
        def half2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half2_0)
            return data_view.get()

        @half2_0.setter
        def half2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half2_0)
            data_view = og.AttributeValueHelper(self._attributes.half2_0)
            data_view.set(value)

        @property
        def half2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half2_1)
            return data_view.get()

        @half2_1.setter
        def half2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half2_1)
            data_view = og.AttributeValueHelper(self._attributes.half2_1)
            data_view.set(value)

        @property
        def half2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half2_arr_0)
            return data_view.get()

        @half2_arr_0.setter
        def half2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.half2_arr_0)
            data_view.set(value)
            self.half2_arr_0_size = data_view.get_array_size()

        @property
        def half2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half2_arr_1)
            return data_view.get()

        @half2_arr_1.setter
        def half2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.half2_arr_1)
            data_view.set(value)
            self.half2_arr_1_size = data_view.get_array_size()

        @property
        def half3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half3_0)
            return data_view.get()

        @half3_0.setter
        def half3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half3_0)
            data_view = og.AttributeValueHelper(self._attributes.half3_0)
            data_view.set(value)

        @property
        def half3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half3_1)
            return data_view.get()

        @half3_1.setter
        def half3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half3_1)
            data_view = og.AttributeValueHelper(self._attributes.half3_1)
            data_view.set(value)

        @property
        def half3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half3_arr_0)
            return data_view.get()

        @half3_arr_0.setter
        def half3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.half3_arr_0)
            data_view.set(value)
            self.half3_arr_0_size = data_view.get_array_size()

        @property
        def half3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half3_arr_1)
            return data_view.get()

        @half3_arr_1.setter
        def half3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.half3_arr_1)
            data_view.set(value)
            self.half3_arr_1_size = data_view.get_array_size()

        @property
        def half4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half4_0)
            return data_view.get()

        @half4_0.setter
        def half4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half4_0)
            data_view = og.AttributeValueHelper(self._attributes.half4_0)
            data_view.set(value)

        @property
        def half4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half4_1)
            return data_view.get()

        @half4_1.setter
        def half4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half4_1)
            data_view = og.AttributeValueHelper(self._attributes.half4_1)
            data_view.set(value)

        @property
        def half4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half4_arr_0)
            return data_view.get()

        @half4_arr_0.setter
        def half4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.half4_arr_0)
            data_view.set(value)
            self.half4_arr_0_size = data_view.get_array_size()

        @property
        def half4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half4_arr_1)
            return data_view.get()

        @half4_arr_1.setter
        def half4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.half4_arr_1)
            data_view.set(value)
            self.half4_arr_1_size = data_view.get_array_size()

        @property
        def half_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half_0)
            return data_view.get()

        @half_0.setter
        def half_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half_0)
            data_view = og.AttributeValueHelper(self._attributes.half_0)
            data_view.set(value)

        @property
        def half_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half_1)
            return data_view.get()

        @half_1.setter
        def half_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half_1)
            data_view = og.AttributeValueHelper(self._attributes.half_1)
            data_view.set(value)

        @property
        def half_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half_arr_0)
            return data_view.get()

        @half_arr_0.setter
        def half_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.half_arr_0)
            data_view.set(value)
            self.half_arr_0_size = data_view.get_array_size()

        @property
        def half_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.half_arr_1)
            return data_view.get()

        @half_arr_1.setter
        def half_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.half_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.half_arr_1)
            data_view.set(value)
            self.half_arr_1_size = data_view.get_array_size()

        @property
        def int2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int2_0)
            return data_view.get()

        @int2_0.setter
        def int2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int2_0)
            data_view = og.AttributeValueHelper(self._attributes.int2_0)
            data_view.set(value)

        @property
        def int2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int2_1)
            return data_view.get()

        @int2_1.setter
        def int2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int2_1)
            data_view = og.AttributeValueHelper(self._attributes.int2_1)
            data_view.set(value)

        @property
        def int2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int2_arr_0)
            return data_view.get()

        @int2_arr_0.setter
        def int2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.int2_arr_0)
            data_view.set(value)
            self.int2_arr_0_size = data_view.get_array_size()

        @property
        def int2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int2_arr_1)
            return data_view.get()

        @int2_arr_1.setter
        def int2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.int2_arr_1)
            data_view.set(value)
            self.int2_arr_1_size = data_view.get_array_size()

        @property
        def int3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int3_0)
            return data_view.get()

        @int3_0.setter
        def int3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int3_0)
            data_view = og.AttributeValueHelper(self._attributes.int3_0)
            data_view.set(value)

        @property
        def int3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int3_1)
            return data_view.get()

        @int3_1.setter
        def int3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int3_1)
            data_view = og.AttributeValueHelper(self._attributes.int3_1)
            data_view.set(value)

        @property
        def int3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int3_arr_0)
            return data_view.get()

        @int3_arr_0.setter
        def int3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.int3_arr_0)
            data_view.set(value)
            self.int3_arr_0_size = data_view.get_array_size()

        @property
        def int3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int3_arr_1)
            return data_view.get()

        @int3_arr_1.setter
        def int3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.int3_arr_1)
            data_view.set(value)
            self.int3_arr_1_size = data_view.get_array_size()

        @property
        def int4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int4_0)
            return data_view.get()

        @int4_0.setter
        def int4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int4_0)
            data_view = og.AttributeValueHelper(self._attributes.int4_0)
            data_view.set(value)

        @property
        def int4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int4_1)
            return data_view.get()

        @int4_1.setter
        def int4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int4_1)
            data_view = og.AttributeValueHelper(self._attributes.int4_1)
            data_view.set(value)

        @property
        def int4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int4_arr_0)
            return data_view.get()

        @int4_arr_0.setter
        def int4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.int4_arr_0)
            data_view.set(value)
            self.int4_arr_0_size = data_view.get_array_size()

        @property
        def int4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int4_arr_1)
            return data_view.get()

        @int4_arr_1.setter
        def int4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.int4_arr_1)
            data_view.set(value)
            self.int4_arr_1_size = data_view.get_array_size()

        @property
        def int64_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int64_0)
            return data_view.get()

        @int64_0.setter
        def int64_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int64_0)
            data_view = og.AttributeValueHelper(self._attributes.int64_0)
            data_view.set(value)

        @property
        def int64_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int64_1)
            return data_view.get()

        @int64_1.setter
        def int64_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int64_1)
            data_view = og.AttributeValueHelper(self._attributes.int64_1)
            data_view.set(value)

        @property
        def int64_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int64_arr_0)
            return data_view.get()

        @int64_arr_0.setter
        def int64_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int64_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.int64_arr_0)
            data_view.set(value)
            self.int64_arr_0_size = data_view.get_array_size()

        @property
        def int64_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int64_arr_1)
            return data_view.get()

        @int64_arr_1.setter
        def int64_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int64_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.int64_arr_1)
            data_view.set(value)
            self.int64_arr_1_size = data_view.get_array_size()

        @property
        def int_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int_0)
            return data_view.get()

        @int_0.setter
        def int_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int_0)
            data_view = og.AttributeValueHelper(self._attributes.int_0)
            data_view.set(value)

        @property
        def int_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int_1)
            return data_view.get()

        @int_1.setter
        def int_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int_1)
            data_view = og.AttributeValueHelper(self._attributes.int_1)
            data_view.set(value)

        @property
        def int_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int_arr_0)
            return data_view.get()

        @int_arr_0.setter
        def int_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.int_arr_0)
            data_view.set(value)
            self.int_arr_0_size = data_view.get_array_size()

        @property
        def int_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.int_arr_1)
            return data_view.get()

        @int_arr_1.setter
        def int_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.int_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.int_arr_1)
            data_view.set(value)
            self.int_arr_1_size = data_view.get_array_size()

        @property
        def matrixd2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_0)
            return data_view.get()

        @matrixd2_0.setter
        def matrixd2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd2_0)
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_0)
            data_view.set(value)

        @property
        def matrixd2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_1)
            return data_view.get()

        @matrixd2_1.setter
        def matrixd2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd2_1)
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_1)
            data_view.set(value)

        @property
        def matrixd2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_arr_0)
            return data_view.get()

        @matrixd2_arr_0.setter
        def matrixd2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_arr_0)
            data_view.set(value)
            self.matrixd2_arr_0_size = data_view.get_array_size()

        @property
        def matrixd2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_arr_1)
            return data_view.get()

        @matrixd2_arr_1.setter
        def matrixd2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_arr_1)
            data_view.set(value)
            self.matrixd2_arr_1_size = data_view.get_array_size()

        @property
        def matrixd3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_0)
            return data_view.get()

        @matrixd3_0.setter
        def matrixd3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd3_0)
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_0)
            data_view.set(value)

        @property
        def matrixd3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_1)
            return data_view.get()

        @matrixd3_1.setter
        def matrixd3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd3_1)
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_1)
            data_view.set(value)

        @property
        def matrixd3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_arr_0)
            return data_view.get()

        @matrixd3_arr_0.setter
        def matrixd3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_arr_0)
            data_view.set(value)
            self.matrixd3_arr_0_size = data_view.get_array_size()

        @property
        def matrixd3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_arr_1)
            return data_view.get()

        @matrixd3_arr_1.setter
        def matrixd3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_arr_1)
            data_view.set(value)
            self.matrixd3_arr_1_size = data_view.get_array_size()

        @property
        def matrixd4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_0)
            return data_view.get()

        @matrixd4_0.setter
        def matrixd4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd4_0)
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_0)
            data_view.set(value)

        @property
        def matrixd4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_1)
            return data_view.get()

        @matrixd4_1.setter
        def matrixd4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd4_1)
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_1)
            data_view.set(value)

        @property
        def matrixd4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_arr_0)
            return data_view.get()

        @matrixd4_arr_0.setter
        def matrixd4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_arr_0)
            data_view.set(value)
            self.matrixd4_arr_0_size = data_view.get_array_size()

        @property
        def matrixd4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_arr_1)
            return data_view.get()

        @matrixd4_arr_1.setter
        def matrixd4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.matrixd4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_arr_1)
            data_view.set(value)
            self.matrixd4_arr_1_size = data_view.get_array_size()

        @property
        def normald3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normald3_0)
            return data_view.get()

        @normald3_0.setter
        def normald3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normald3_0)
            data_view = og.AttributeValueHelper(self._attributes.normald3_0)
            data_view.set(value)

        @property
        def normald3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.normald3_1)
            return data_view.get()

        @normald3_1.setter
        def normald3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normald3_1)
            data_view = og.AttributeValueHelper(self._attributes.normald3_1)
            data_view.set(value)

        @property
        def normald3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normald3_arr_0)
            return data_view.get()

        @normald3_arr_0.setter
        def normald3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normald3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.normald3_arr_0)
            data_view.set(value)
            self.normald3_arr_0_size = data_view.get_array_size()

        @property
        def normald3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.normald3_arr_1)
            return data_view.get()

        @normald3_arr_1.setter
        def normald3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normald3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.normald3_arr_1)
            data_view.set(value)
            self.normald3_arr_1_size = data_view.get_array_size()

        @property
        def normalf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_0)
            return data_view.get()

        @normalf3_0.setter
        def normalf3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalf3_0)
            data_view = og.AttributeValueHelper(self._attributes.normalf3_0)
            data_view.set(value)

        @property
        def normalf3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_1)
            return data_view.get()

        @normalf3_1.setter
        def normalf3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalf3_1)
            data_view = og.AttributeValueHelper(self._attributes.normalf3_1)
            data_view.set(value)

        @property
        def normalf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_arr_0)
            return data_view.get()

        @normalf3_arr_0.setter
        def normalf3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalf3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.normalf3_arr_0)
            data_view.set(value)
            self.normalf3_arr_0_size = data_view.get_array_size()

        @property
        def normalf3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_arr_1)
            return data_view.get()

        @normalf3_arr_1.setter
        def normalf3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalf3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.normalf3_arr_1)
            data_view.set(value)
            self.normalf3_arr_1_size = data_view.get_array_size()

        @property
        def normalh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_0)
            return data_view.get()

        @normalh3_0.setter
        def normalh3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalh3_0)
            data_view = og.AttributeValueHelper(self._attributes.normalh3_0)
            data_view.set(value)

        @property
        def normalh3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_1)
            return data_view.get()

        @normalh3_1.setter
        def normalh3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalh3_1)
            data_view = og.AttributeValueHelper(self._attributes.normalh3_1)
            data_view.set(value)

        @property
        def normalh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_arr_0)
            return data_view.get()

        @normalh3_arr_0.setter
        def normalh3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalh3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.normalh3_arr_0)
            data_view.set(value)
            self.normalh3_arr_0_size = data_view.get_array_size()

        @property
        def normalh3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_arr_1)
            return data_view.get()

        @normalh3_arr_1.setter
        def normalh3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.normalh3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.normalh3_arr_1)
            data_view.set(value)
            self.normalh3_arr_1_size = data_view.get_array_size()

        @property
        def pointd3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_0)
            return data_view.get()

        @pointd3_0.setter
        def pointd3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointd3_0)
            data_view = og.AttributeValueHelper(self._attributes.pointd3_0)
            data_view.set(value)

        @property
        def pointd3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_1)
            return data_view.get()

        @pointd3_1.setter
        def pointd3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointd3_1)
            data_view = og.AttributeValueHelper(self._attributes.pointd3_1)
            data_view.set(value)

        @property
        def pointd3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_arr_0)
            return data_view.get()

        @pointd3_arr_0.setter
        def pointd3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointd3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.pointd3_arr_0)
            data_view.set(value)
            self.pointd3_arr_0_size = data_view.get_array_size()

        @property
        def pointd3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_arr_1)
            return data_view.get()

        @pointd3_arr_1.setter
        def pointd3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointd3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.pointd3_arr_1)
            data_view.set(value)
            self.pointd3_arr_1_size = data_view.get_array_size()

        @property
        def pointf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_0)
            return data_view.get()

        @pointf3_0.setter
        def pointf3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointf3_0)
            data_view = og.AttributeValueHelper(self._attributes.pointf3_0)
            data_view.set(value)

        @property
        def pointf3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_1)
            return data_view.get()

        @pointf3_1.setter
        def pointf3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointf3_1)
            data_view = og.AttributeValueHelper(self._attributes.pointf3_1)
            data_view.set(value)

        @property
        def pointf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_arr_0)
            return data_view.get()

        @pointf3_arr_0.setter
        def pointf3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointf3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.pointf3_arr_0)
            data_view.set(value)
            self.pointf3_arr_0_size = data_view.get_array_size()

        @property
        def pointf3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_arr_1)
            return data_view.get()

        @pointf3_arr_1.setter
        def pointf3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointf3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.pointf3_arr_1)
            data_view.set(value)
            self.pointf3_arr_1_size = data_view.get_array_size()

        @property
        def pointh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_0)
            return data_view.get()

        @pointh3_0.setter
        def pointh3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointh3_0)
            data_view = og.AttributeValueHelper(self._attributes.pointh3_0)
            data_view.set(value)

        @property
        def pointh3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_1)
            return data_view.get()

        @pointh3_1.setter
        def pointh3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointh3_1)
            data_view = og.AttributeValueHelper(self._attributes.pointh3_1)
            data_view.set(value)

        @property
        def pointh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_arr_0)
            return data_view.get()

        @pointh3_arr_0.setter
        def pointh3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointh3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.pointh3_arr_0)
            data_view.set(value)
            self.pointh3_arr_0_size = data_view.get_array_size()

        @property
        def pointh3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_arr_1)
            return data_view.get()

        @pointh3_arr_1.setter
        def pointh3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.pointh3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.pointh3_arr_1)
            data_view.set(value)
            self.pointh3_arr_1_size = data_view.get_array_size()

        @property
        def quatd4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_0)
            return data_view.get()

        @quatd4_0.setter
        def quatd4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatd4_0)
            data_view = og.AttributeValueHelper(self._attributes.quatd4_0)
            data_view.set(value)

        @property
        def quatd4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_1)
            return data_view.get()

        @quatd4_1.setter
        def quatd4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatd4_1)
            data_view = og.AttributeValueHelper(self._attributes.quatd4_1)
            data_view.set(value)

        @property
        def quatd4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_arr_0)
            return data_view.get()

        @quatd4_arr_0.setter
        def quatd4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatd4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.quatd4_arr_0)
            data_view.set(value)
            self.quatd4_arr_0_size = data_view.get_array_size()

        @property
        def quatd4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_arr_1)
            return data_view.get()

        @quatd4_arr_1.setter
        def quatd4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatd4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.quatd4_arr_1)
            data_view.set(value)
            self.quatd4_arr_1_size = data_view.get_array_size()

        @property
        def quatf4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_0)
            return data_view.get()

        @quatf4_0.setter
        def quatf4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatf4_0)
            data_view = og.AttributeValueHelper(self._attributes.quatf4_0)
            data_view.set(value)

        @property
        def quatf4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_1)
            return data_view.get()

        @quatf4_1.setter
        def quatf4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatf4_1)
            data_view = og.AttributeValueHelper(self._attributes.quatf4_1)
            data_view.set(value)

        @property
        def quatf4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_arr_0)
            return data_view.get()

        @quatf4_arr_0.setter
        def quatf4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatf4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.quatf4_arr_0)
            data_view.set(value)
            self.quatf4_arr_0_size = data_view.get_array_size()

        @property
        def quatf4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_arr_1)
            return data_view.get()

        @quatf4_arr_1.setter
        def quatf4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quatf4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.quatf4_arr_1)
            data_view.set(value)
            self.quatf4_arr_1_size = data_view.get_array_size()

        @property
        def quath4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quath4_0)
            return data_view.get()

        @quath4_0.setter
        def quath4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quath4_0)
            data_view = og.AttributeValueHelper(self._attributes.quath4_0)
            data_view.set(value)

        @property
        def quath4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.quath4_1)
            return data_view.get()

        @quath4_1.setter
        def quath4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quath4_1)
            data_view = og.AttributeValueHelper(self._attributes.quath4_1)
            data_view.set(value)

        @property
        def quath4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quath4_arr_0)
            return data_view.get()

        @quath4_arr_0.setter
        def quath4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quath4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.quath4_arr_0)
            data_view.set(value)
            self.quath4_arr_0_size = data_view.get_array_size()

        @property
        def quath4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.quath4_arr_1)
            return data_view.get()

        @quath4_arr_1.setter
        def quath4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.quath4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.quath4_arr_1)
            data_view.set(value)
            self.quath4_arr_1_size = data_view.get_array_size()

        @property
        def texcoordd2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_0)
            return data_view.get()

        @texcoordd2_0.setter
        def texcoordd2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd2_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_0)
            data_view.set(value)

        @property
        def texcoordd2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_1)
            return data_view.get()

        @texcoordd2_1.setter
        def texcoordd2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd2_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_1)
            data_view.set(value)

        @property
        def texcoordd2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_arr_0)
            return data_view.get()

        @texcoordd2_arr_0.setter
        def texcoordd2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_arr_0)
            data_view.set(value)
            self.texcoordd2_arr_0_size = data_view.get_array_size()

        @property
        def texcoordd2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_arr_1)
            return data_view.get()

        @texcoordd2_arr_1.setter
        def texcoordd2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_arr_1)
            data_view.set(value)
            self.texcoordd2_arr_1_size = data_view.get_array_size()

        @property
        def texcoordd3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_0)
            return data_view.get()

        @texcoordd3_0.setter
        def texcoordd3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd3_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_0)
            data_view.set(value)

        @property
        def texcoordd3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_1)
            return data_view.get()

        @texcoordd3_1.setter
        def texcoordd3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd3_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_1)
            data_view.set(value)

        @property
        def texcoordd3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_arr_0)
            return data_view.get()

        @texcoordd3_arr_0.setter
        def texcoordd3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_arr_0)
            data_view.set(value)
            self.texcoordd3_arr_0_size = data_view.get_array_size()

        @property
        def texcoordd3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_arr_1)
            return data_view.get()

        @texcoordd3_arr_1.setter
        def texcoordd3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordd3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_arr_1)
            data_view.set(value)
            self.texcoordd3_arr_1_size = data_view.get_array_size()

        @property
        def texcoordf2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_0)
            return data_view.get()

        @texcoordf2_0.setter
        def texcoordf2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf2_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_0)
            data_view.set(value)

        @property
        def texcoordf2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_1)
            return data_view.get()

        @texcoordf2_1.setter
        def texcoordf2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf2_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_1)
            data_view.set(value)

        @property
        def texcoordf2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_arr_0)
            return data_view.get()

        @texcoordf2_arr_0.setter
        def texcoordf2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_arr_0)
            data_view.set(value)
            self.texcoordf2_arr_0_size = data_view.get_array_size()

        @property
        def texcoordf2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_arr_1)
            return data_view.get()

        @texcoordf2_arr_1.setter
        def texcoordf2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_arr_1)
            data_view.set(value)
            self.texcoordf2_arr_1_size = data_view.get_array_size()

        @property
        def texcoordf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_0)
            return data_view.get()

        @texcoordf3_0.setter
        def texcoordf3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf3_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_0)
            data_view.set(value)

        @property
        def texcoordf3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_1)
            return data_view.get()

        @texcoordf3_1.setter
        def texcoordf3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf3_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_1)
            data_view.set(value)

        @property
        def texcoordf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_arr_0)
            return data_view.get()

        @texcoordf3_arr_0.setter
        def texcoordf3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_arr_0)
            data_view.set(value)
            self.texcoordf3_arr_0_size = data_view.get_array_size()

        @property
        def texcoordf3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_arr_1)
            return data_view.get()

        @texcoordf3_arr_1.setter
        def texcoordf3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordf3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_arr_1)
            data_view.set(value)
            self.texcoordf3_arr_1_size = data_view.get_array_size()

        @property
        def texcoordh2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_0)
            return data_view.get()

        @texcoordh2_0.setter
        def texcoordh2_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh2_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_0)
            data_view.set(value)

        @property
        def texcoordh2_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_1)
            return data_view.get()

        @texcoordh2_1.setter
        def texcoordh2_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh2_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_1)
            data_view.set(value)

        @property
        def texcoordh2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_arr_0)
            return data_view.get()

        @texcoordh2_arr_0.setter
        def texcoordh2_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh2_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_arr_0)
            data_view.set(value)
            self.texcoordh2_arr_0_size = data_view.get_array_size()

        @property
        def texcoordh2_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_arr_1)
            return data_view.get()

        @texcoordh2_arr_1.setter
        def texcoordh2_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh2_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_arr_1)
            data_view.set(value)
            self.texcoordh2_arr_1_size = data_view.get_array_size()

        @property
        def texcoordh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_0)
            return data_view.get()

        @texcoordh3_0.setter
        def texcoordh3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh3_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_0)
            data_view.set(value)

        @property
        def texcoordh3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_1)
            return data_view.get()

        @texcoordh3_1.setter
        def texcoordh3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh3_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_1)
            data_view.set(value)

        @property
        def texcoordh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_arr_0)
            return data_view.get()

        @texcoordh3_arr_0.setter
        def texcoordh3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_arr_0)
            data_view.set(value)
            self.texcoordh3_arr_0_size = data_view.get_array_size()

        @property
        def texcoordh3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_arr_1)
            return data_view.get()

        @texcoordh3_arr_1.setter
        def texcoordh3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.texcoordh3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_arr_1)
            data_view.set(value)
            self.texcoordh3_arr_1_size = data_view.get_array_size()

        @property
        def timecode_0(self):
            data_view = og.AttributeValueHelper(self._attributes.timecode_0)
            return data_view.get()

        @timecode_0.setter
        def timecode_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.timecode_0)
            data_view = og.AttributeValueHelper(self._attributes.timecode_0)
            data_view.set(value)

        @property
        def timecode_1(self):
            data_view = og.AttributeValueHelper(self._attributes.timecode_1)
            return data_view.get()

        @timecode_1.setter
        def timecode_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.timecode_1)
            data_view = og.AttributeValueHelper(self._attributes.timecode_1)
            data_view.set(value)

        @property
        def timecode_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.timecode_arr_0)
            return data_view.get()

        @timecode_arr_0.setter
        def timecode_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.timecode_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.timecode_arr_0)
            data_view.set(value)
            self.timecode_arr_0_size = data_view.get_array_size()

        @property
        def timecode_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.timecode_arr_1)
            return data_view.get()

        @timecode_arr_1.setter
        def timecode_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.timecode_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.timecode_arr_1)
            data_view.set(value)
            self.timecode_arr_1_size = data_view.get_array_size()

        @property
        def token_0(self):
            data_view = og.AttributeValueHelper(self._attributes.token_0)
            return data_view.get()

        @token_0.setter
        def token_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.token_0)
            data_view = og.AttributeValueHelper(self._attributes.token_0)
            data_view.set(value)

        @property
        def token_1(self):
            data_view = og.AttributeValueHelper(self._attributes.token_1)
            return data_view.get()

        @token_1.setter
        def token_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.token_1)
            data_view = og.AttributeValueHelper(self._attributes.token_1)
            data_view.set(value)

        @property
        def token_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.token_arr_0)
            return data_view.get()

        @token_arr_0.setter
        def token_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.token_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.token_arr_0)
            data_view.set(value)
            self.token_arr_0_size = data_view.get_array_size()

        @property
        def token_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.token_arr_1)
            return data_view.get()

        @token_arr_1.setter
        def token_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.token_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.token_arr_1)
            data_view.set(value)
            self.token_arr_1_size = data_view.get_array_size()

        @property
        def transform4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.transform4_0)
            return data_view.get()

        @transform4_0.setter
        def transform4_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.transform4_0)
            data_view = og.AttributeValueHelper(self._attributes.transform4_0)
            data_view.set(value)

        @property
        def transform4_1(self):
            data_view = og.AttributeValueHelper(self._attributes.transform4_1)
            return data_view.get()

        @transform4_1.setter
        def transform4_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.transform4_1)
            data_view = og.AttributeValueHelper(self._attributes.transform4_1)
            data_view.set(value)

        @property
        def transform4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.transform4_arr_0)
            return data_view.get()

        @transform4_arr_0.setter
        def transform4_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.transform4_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.transform4_arr_0)
            data_view.set(value)
            self.transform4_arr_0_size = data_view.get_array_size()

        @property
        def transform4_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.transform4_arr_1)
            return data_view.get()

        @transform4_arr_1.setter
        def transform4_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.transform4_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.transform4_arr_1)
            data_view.set(value)
            self.transform4_arr_1_size = data_view.get_array_size()

        @property
        def uchar_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uchar_0)
            return data_view.get()

        @uchar_0.setter
        def uchar_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uchar_0)
            data_view = og.AttributeValueHelper(self._attributes.uchar_0)
            data_view.set(value)

        @property
        def uchar_1(self):
            data_view = og.AttributeValueHelper(self._attributes.uchar_1)
            return data_view.get()

        @uchar_1.setter
        def uchar_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uchar_1)
            data_view = og.AttributeValueHelper(self._attributes.uchar_1)
            data_view.set(value)

        @property
        def uchar_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uchar_arr_0)
            return data_view.get()

        @uchar_arr_0.setter
        def uchar_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uchar_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.uchar_arr_0)
            data_view.set(value)
            self.uchar_arr_0_size = data_view.get_array_size()

        @property
        def uchar_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.uchar_arr_1)
            return data_view.get()

        @uchar_arr_1.setter
        def uchar_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uchar_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.uchar_arr_1)
            data_view.set(value)
            self.uchar_arr_1_size = data_view.get_array_size()

        @property
        def uint64_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint64_0)
            return data_view.get()

        @uint64_0.setter
        def uint64_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint64_0)
            data_view = og.AttributeValueHelper(self._attributes.uint64_0)
            data_view.set(value)

        @property
        def uint64_1(self):
            data_view = og.AttributeValueHelper(self._attributes.uint64_1)
            return data_view.get()

        @uint64_1.setter
        def uint64_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint64_1)
            data_view = og.AttributeValueHelper(self._attributes.uint64_1)
            data_view.set(value)

        @property
        def uint64_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint64_arr_0)
            return data_view.get()

        @uint64_arr_0.setter
        def uint64_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint64_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.uint64_arr_0)
            data_view.set(value)
            self.uint64_arr_0_size = data_view.get_array_size()

        @property
        def uint64_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.uint64_arr_1)
            return data_view.get()

        @uint64_arr_1.setter
        def uint64_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint64_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.uint64_arr_1)
            data_view.set(value)
            self.uint64_arr_1_size = data_view.get_array_size()

        @property
        def uint_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint_0)
            return data_view.get()

        @uint_0.setter
        def uint_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint_0)
            data_view = og.AttributeValueHelper(self._attributes.uint_0)
            data_view.set(value)

        @property
        def uint_1(self):
            data_view = og.AttributeValueHelper(self._attributes.uint_1)
            return data_view.get()

        @uint_1.setter
        def uint_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint_1)
            data_view = og.AttributeValueHelper(self._attributes.uint_1)
            data_view.set(value)

        @property
        def uint_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint_arr_0)
            return data_view.get()

        @uint_arr_0.setter
        def uint_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.uint_arr_0)
            data_view.set(value)
            self.uint_arr_0_size = data_view.get_array_size()

        @property
        def uint_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.uint_arr_1)
            return data_view.get()

        @uint_arr_1.setter
        def uint_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.uint_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.uint_arr_1)
            data_view.set(value)
            self.uint_arr_1_size = data_view.get_array_size()

        @property
        def vectord3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_0)
            return data_view.get()

        @vectord3_0.setter
        def vectord3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectord3_0)
            data_view = og.AttributeValueHelper(self._attributes.vectord3_0)
            data_view.set(value)

        @property
        def vectord3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_1)
            return data_view.get()

        @vectord3_1.setter
        def vectord3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectord3_1)
            data_view = og.AttributeValueHelper(self._attributes.vectord3_1)
            data_view.set(value)

        @property
        def vectord3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_arr_0)
            return data_view.get()

        @vectord3_arr_0.setter
        def vectord3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectord3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.vectord3_arr_0)
            data_view.set(value)
            self.vectord3_arr_0_size = data_view.get_array_size()

        @property
        def vectord3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_arr_1)
            return data_view.get()

        @vectord3_arr_1.setter
        def vectord3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectord3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.vectord3_arr_1)
            data_view.set(value)
            self.vectord3_arr_1_size = data_view.get_array_size()

        @property
        def vectorf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_0)
            return data_view.get()

        @vectorf3_0.setter
        def vectorf3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorf3_0)
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_0)
            data_view.set(value)

        @property
        def vectorf3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_1)
            return data_view.get()

        @vectorf3_1.setter
        def vectorf3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorf3_1)
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_1)
            data_view.set(value)

        @property
        def vectorf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_arr_0)
            return data_view.get()

        @vectorf3_arr_0.setter
        def vectorf3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorf3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_arr_0)
            data_view.set(value)
            self.vectorf3_arr_0_size = data_view.get_array_size()

        @property
        def vectorf3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_arr_1)
            return data_view.get()

        @vectorf3_arr_1.setter
        def vectorf3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorf3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_arr_1)
            data_view.set(value)
            self.vectorf3_arr_1_size = data_view.get_array_size()

        @property
        def vectorh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_0)
            return data_view.get()

        @vectorh3_0.setter
        def vectorh3_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorh3_0)
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_0)
            data_view.set(value)

        @property
        def vectorh3_1(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_1)
            return data_view.get()

        @vectorh3_1.setter
        def vectorh3_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorh3_1)
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_1)
            data_view.set(value)

        @property
        def vectorh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_arr_0)
            return data_view.get()

        @vectorh3_arr_0.setter
        def vectorh3_arr_0(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorh3_arr_0)
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_arr_0)
            data_view.set(value)
            self.vectorh3_arr_0_size = data_view.get_array_size()

        @property
        def vectorh3_arr_1(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_arr_1)
            return data_view.get()

        @vectorh3_arr_1.setter
        def vectorh3_arr_1(self, value):
            if self._setting_locked:
                raise og.ReadOnlyError(self._attributes.vectorh3_arr_1)
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_arr_1)
            data_view.set(value)
            self.vectorh3_arr_1_size = data_view.get_array_size()

        def _prefetch(self):
            readAttributes = self._batchedReadAttributes
            newValues = _og._prefetch_input_attributes_data(readAttributes)
            if len(readAttributes) == len(newValues):
                self._batchedReadValues = newValues

    class ValuesForOutputs(og.DynamicAttributeAccess):
        LOCAL_PROPERTY_NAMES = { }
        """Helper class that creates natural hierarchical access to output attributes"""
        def __init__(self, node: og.Node, attributes, dynamic_attributes: og.DynamicAttributeInterface):
            """Initialize simplified access for the attribute data"""
            context = node.get_graph().get_default_graph_context()
            super().__init__(context, node, attributes, dynamic_attributes)
            self.bool_arr_0_size = 0
            self.colord3_arr_0_size = 0
            self.colord4_arr_0_size = 0
            self.colorf3_arr_0_size = 0
            self.colorf4_arr_0_size = 0
            self.colorh3_arr_0_size = 0
            self.colorh4_arr_0_size = 0
            self.double2_arr_0_size = 0
            self.double3_arr_0_size = 0
            self.double4_arr_0_size = 0
            self.double_arr_0_size = 0
            self.float2_arr_0_size = 0
            self.float3_arr_0_size = 0
            self.float4_arr_0_size = 0
            self.float_arr_0_size = 0
            self.frame4_arr_0_size = 0
            self.half2_arr_0_size = 0
            self.half3_arr_0_size = 0
            self.half4_arr_0_size = 0
            self.half_arr_0_size = 0
            self.int2_arr_0_size = 0
            self.int3_arr_0_size = 0
            self.int4_arr_0_size = 0
            self.int64_arr_0_size = 0
            self.int_arr_0_size = 0
            self.matrixd2_arr_0_size = 0
            self.matrixd3_arr_0_size = 0
            self.matrixd4_arr_0_size = 0
            self.normald3_arr_0_size = 0
            self.normalf3_arr_0_size = 0
            self.normalh3_arr_0_size = 0
            self.pointd3_arr_0_size = 0
            self.pointf3_arr_0_size = 0
            self.pointh3_arr_0_size = 0
            self.quatd4_arr_0_size = 0
            self.quatf4_arr_0_size = 0
            self.quath4_arr_0_size = 0
            self.texcoordd2_arr_0_size = 0
            self.texcoordd3_arr_0_size = 0
            self.texcoordf2_arr_0_size = 0
            self.texcoordf3_arr_0_size = 0
            self.texcoordh2_arr_0_size = 0
            self.texcoordh3_arr_0_size = 0
            self.timecode_arr_0_size = 0
            self.token_arr_0_size = 0
            self.transform4_arr_0_size = 0
            self.uchar_arr_0_size = 0
            self.uint64_arr_0_size = 0
            self.uint_arr_0_size = 0
            self.vectord3_arr_0_size = 0
            self.vectorf3_arr_0_size = 0
            self.vectorh3_arr_0_size = 0
            self._batchedWriteValues = { }

        @property
        def bool_0(self):
            data_view = og.AttributeValueHelper(self._attributes.bool_0)
            return data_view.get()

        @bool_0.setter
        def bool_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.bool_0)
            data_view.set(value)

        @property
        def bool_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.bool_arr_0)
            return data_view.get(reserved_element_count=self.bool_arr_0_size)

        @bool_arr_0.setter
        def bool_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.bool_arr_0)
            data_view.set(value)
            self.bool_arr_0_size = data_view.get_array_size()

        @property
        def colord3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord3_0)
            return data_view.get()

        @colord3_0.setter
        def colord3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colord3_0)
            data_view.set(value)

        @property
        def colord3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord3_arr_0)
            return data_view.get(reserved_element_count=self.colord3_arr_0_size)

        @colord3_arr_0.setter
        def colord3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colord3_arr_0)
            data_view.set(value)
            self.colord3_arr_0_size = data_view.get_array_size()

        @property
        def colord4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord4_0)
            return data_view.get()

        @colord4_0.setter
        def colord4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colord4_0)
            data_view.set(value)

        @property
        def colord4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colord4_arr_0)
            return data_view.get(reserved_element_count=self.colord4_arr_0_size)

        @colord4_arr_0.setter
        def colord4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colord4_arr_0)
            data_view.set(value)
            self.colord4_arr_0_size = data_view.get_array_size()

        @property
        def colorf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_0)
            return data_view.get()

        @colorf3_0.setter
        def colorf3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_0)
            data_view.set(value)

        @property
        def colorf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_arr_0)
            return data_view.get(reserved_element_count=self.colorf3_arr_0_size)

        @colorf3_arr_0.setter
        def colorf3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorf3_arr_0)
            data_view.set(value)
            self.colorf3_arr_0_size = data_view.get_array_size()

        @property
        def colorf4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_0)
            return data_view.get()

        @colorf4_0.setter
        def colorf4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_0)
            data_view.set(value)

        @property
        def colorf4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_arr_0)
            return data_view.get(reserved_element_count=self.colorf4_arr_0_size)

        @colorf4_arr_0.setter
        def colorf4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorf4_arr_0)
            data_view.set(value)
            self.colorf4_arr_0_size = data_view.get_array_size()

        @property
        def colorh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_0)
            return data_view.get()

        @colorh3_0.setter
        def colorh3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_0)
            data_view.set(value)

        @property
        def colorh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_arr_0)
            return data_view.get(reserved_element_count=self.colorh3_arr_0_size)

        @colorh3_arr_0.setter
        def colorh3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorh3_arr_0)
            data_view.set(value)
            self.colorh3_arr_0_size = data_view.get_array_size()

        @property
        def colorh4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_0)
            return data_view.get()

        @colorh4_0.setter
        def colorh4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_0)
            data_view.set(value)

        @property
        def colorh4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_arr_0)
            return data_view.get(reserved_element_count=self.colorh4_arr_0_size)

        @colorh4_arr_0.setter
        def colorh4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.colorh4_arr_0)
            data_view.set(value)
            self.colorh4_arr_0_size = data_view.get_array_size()

        @property
        def double2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double2_0)
            return data_view.get()

        @double2_0.setter
        def double2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double2_0)
            data_view.set(value)

        @property
        def double2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double2_arr_0)
            return data_view.get(reserved_element_count=self.double2_arr_0_size)

        @double2_arr_0.setter
        def double2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double2_arr_0)
            data_view.set(value)
            self.double2_arr_0_size = data_view.get_array_size()

        @property
        def double3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double3_0)
            return data_view.get()

        @double3_0.setter
        def double3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double3_0)
            data_view.set(value)

        @property
        def double3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double3_arr_0)
            return data_view.get(reserved_element_count=self.double3_arr_0_size)

        @double3_arr_0.setter
        def double3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double3_arr_0)
            data_view.set(value)
            self.double3_arr_0_size = data_view.get_array_size()

        @property
        def double4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double4_0)
            return data_view.get()

        @double4_0.setter
        def double4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double4_0)
            data_view.set(value)

        @property
        def double4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double4_arr_0)
            return data_view.get(reserved_element_count=self.double4_arr_0_size)

        @double4_arr_0.setter
        def double4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double4_arr_0)
            data_view.set(value)
            self.double4_arr_0_size = data_view.get_array_size()

        @property
        def double_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double_0)
            return data_view.get()

        @double_0.setter
        def double_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double_0)
            data_view.set(value)

        @property
        def double_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.double_arr_0)
            return data_view.get(reserved_element_count=self.double_arr_0_size)

        @double_arr_0.setter
        def double_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.double_arr_0)
            data_view.set(value)
            self.double_arr_0_size = data_view.get_array_size()

        @property
        def float2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float2_0)
            return data_view.get()

        @float2_0.setter
        def float2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float2_0)
            data_view.set(value)

        @property
        def float2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float2_arr_0)
            return data_view.get(reserved_element_count=self.float2_arr_0_size)

        @float2_arr_0.setter
        def float2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float2_arr_0)
            data_view.set(value)
            self.float2_arr_0_size = data_view.get_array_size()

        @property
        def float3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float3_0)
            return data_view.get()

        @float3_0.setter
        def float3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float3_0)
            data_view.set(value)

        @property
        def float3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float3_arr_0)
            return data_view.get(reserved_element_count=self.float3_arr_0_size)

        @float3_arr_0.setter
        def float3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float3_arr_0)
            data_view.set(value)
            self.float3_arr_0_size = data_view.get_array_size()

        @property
        def float4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float4_0)
            return data_view.get()

        @float4_0.setter
        def float4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float4_0)
            data_view.set(value)

        @property
        def float4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float4_arr_0)
            return data_view.get(reserved_element_count=self.float4_arr_0_size)

        @float4_arr_0.setter
        def float4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float4_arr_0)
            data_view.set(value)
            self.float4_arr_0_size = data_view.get_array_size()

        @property
        def float_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float_0)
            return data_view.get()

        @float_0.setter
        def float_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float_0)
            data_view.set(value)

        @property
        def float_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.float_arr_0)
            return data_view.get(reserved_element_count=self.float_arr_0_size)

        @float_arr_0.setter
        def float_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.float_arr_0)
            data_view.set(value)
            self.float_arr_0_size = data_view.get_array_size()

        @property
        def frame4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.frame4_0)
            return data_view.get()

        @frame4_0.setter
        def frame4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.frame4_0)
            data_view.set(value)

        @property
        def frame4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.frame4_arr_0)
            return data_view.get(reserved_element_count=self.frame4_arr_0_size)

        @frame4_arr_0.setter
        def frame4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.frame4_arr_0)
            data_view.set(value)
            self.frame4_arr_0_size = data_view.get_array_size()

        @property
        def half2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half2_0)
            return data_view.get()

        @half2_0.setter
        def half2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half2_0)
            data_view.set(value)

        @property
        def half2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half2_arr_0)
            return data_view.get(reserved_element_count=self.half2_arr_0_size)

        @half2_arr_0.setter
        def half2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half2_arr_0)
            data_view.set(value)
            self.half2_arr_0_size = data_view.get_array_size()

        @property
        def half3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half3_0)
            return data_view.get()

        @half3_0.setter
        def half3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half3_0)
            data_view.set(value)

        @property
        def half3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half3_arr_0)
            return data_view.get(reserved_element_count=self.half3_arr_0_size)

        @half3_arr_0.setter
        def half3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half3_arr_0)
            data_view.set(value)
            self.half3_arr_0_size = data_view.get_array_size()

        @property
        def half4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half4_0)
            return data_view.get()

        @half4_0.setter
        def half4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half4_0)
            data_view.set(value)

        @property
        def half4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half4_arr_0)
            return data_view.get(reserved_element_count=self.half4_arr_0_size)

        @half4_arr_0.setter
        def half4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half4_arr_0)
            data_view.set(value)
            self.half4_arr_0_size = data_view.get_array_size()

        @property
        def half_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half_0)
            return data_view.get()

        @half_0.setter
        def half_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half_0)
            data_view.set(value)

        @property
        def half_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.half_arr_0)
            return data_view.get(reserved_element_count=self.half_arr_0_size)

        @half_arr_0.setter
        def half_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.half_arr_0)
            data_view.set(value)
            self.half_arr_0_size = data_view.get_array_size()

        @property
        def int2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int2_0)
            return data_view.get()

        @int2_0.setter
        def int2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int2_0)
            data_view.set(value)

        @property
        def int2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int2_arr_0)
            return data_view.get(reserved_element_count=self.int2_arr_0_size)

        @int2_arr_0.setter
        def int2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int2_arr_0)
            data_view.set(value)
            self.int2_arr_0_size = data_view.get_array_size()

        @property
        def int3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int3_0)
            return data_view.get()

        @int3_0.setter
        def int3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int3_0)
            data_view.set(value)

        @property
        def int3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int3_arr_0)
            return data_view.get(reserved_element_count=self.int3_arr_0_size)

        @int3_arr_0.setter
        def int3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int3_arr_0)
            data_view.set(value)
            self.int3_arr_0_size = data_view.get_array_size()

        @property
        def int4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int4_0)
            return data_view.get()

        @int4_0.setter
        def int4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int4_0)
            data_view.set(value)

        @property
        def int4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int4_arr_0)
            return data_view.get(reserved_element_count=self.int4_arr_0_size)

        @int4_arr_0.setter
        def int4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int4_arr_0)
            data_view.set(value)
            self.int4_arr_0_size = data_view.get_array_size()

        @property
        def int64_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int64_0)
            return data_view.get()

        @int64_0.setter
        def int64_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int64_0)
            data_view.set(value)

        @property
        def int64_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int64_arr_0)
            return data_view.get(reserved_element_count=self.int64_arr_0_size)

        @int64_arr_0.setter
        def int64_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int64_arr_0)
            data_view.set(value)
            self.int64_arr_0_size = data_view.get_array_size()

        @property
        def int_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int_0)
            return data_view.get()

        @int_0.setter
        def int_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int_0)
            data_view.set(value)

        @property
        def int_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.int_arr_0)
            return data_view.get(reserved_element_count=self.int_arr_0_size)

        @int_arr_0.setter
        def int_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.int_arr_0)
            data_view.set(value)
            self.int_arr_0_size = data_view.get_array_size()

        @property
        def matrixd2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_0)
            return data_view.get()

        @matrixd2_0.setter
        def matrixd2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_0)
            data_view.set(value)

        @property
        def matrixd2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_arr_0)
            return data_view.get(reserved_element_count=self.matrixd2_arr_0_size)

        @matrixd2_arr_0.setter
        def matrixd2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.matrixd2_arr_0)
            data_view.set(value)
            self.matrixd2_arr_0_size = data_view.get_array_size()

        @property
        def matrixd3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_0)
            return data_view.get()

        @matrixd3_0.setter
        def matrixd3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_0)
            data_view.set(value)

        @property
        def matrixd3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_arr_0)
            return data_view.get(reserved_element_count=self.matrixd3_arr_0_size)

        @matrixd3_arr_0.setter
        def matrixd3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.matrixd3_arr_0)
            data_view.set(value)
            self.matrixd3_arr_0_size = data_view.get_array_size()

        @property
        def matrixd4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_0)
            return data_view.get()

        @matrixd4_0.setter
        def matrixd4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_0)
            data_view.set(value)

        @property
        def matrixd4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_arr_0)
            return data_view.get(reserved_element_count=self.matrixd4_arr_0_size)

        @matrixd4_arr_0.setter
        def matrixd4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.matrixd4_arr_0)
            data_view.set(value)
            self.matrixd4_arr_0_size = data_view.get_array_size()

        @property
        def normald3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normald3_0)
            return data_view.get()

        @normald3_0.setter
        def normald3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.normald3_0)
            data_view.set(value)

        @property
        def normald3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normald3_arr_0)
            return data_view.get(reserved_element_count=self.normald3_arr_0_size)

        @normald3_arr_0.setter
        def normald3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.normald3_arr_0)
            data_view.set(value)
            self.normald3_arr_0_size = data_view.get_array_size()

        @property
        def normalf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_0)
            return data_view.get()

        @normalf3_0.setter
        def normalf3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_0)
            data_view.set(value)

        @property
        def normalf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_arr_0)
            return data_view.get(reserved_element_count=self.normalf3_arr_0_size)

        @normalf3_arr_0.setter
        def normalf3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.normalf3_arr_0)
            data_view.set(value)
            self.normalf3_arr_0_size = data_view.get_array_size()

        @property
        def normalh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_0)
            return data_view.get()

        @normalh3_0.setter
        def normalh3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_0)
            data_view.set(value)

        @property
        def normalh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_arr_0)
            return data_view.get(reserved_element_count=self.normalh3_arr_0_size)

        @normalh3_arr_0.setter
        def normalh3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.normalh3_arr_0)
            data_view.set(value)
            self.normalh3_arr_0_size = data_view.get_array_size()

        @property
        def pointd3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_0)
            return data_view.get()

        @pointd3_0.setter
        def pointd3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_0)
            data_view.set(value)

        @property
        def pointd3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_arr_0)
            return data_view.get(reserved_element_count=self.pointd3_arr_0_size)

        @pointd3_arr_0.setter
        def pointd3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.pointd3_arr_0)
            data_view.set(value)
            self.pointd3_arr_0_size = data_view.get_array_size()

        @property
        def pointf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_0)
            return data_view.get()

        @pointf3_0.setter
        def pointf3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_0)
            data_view.set(value)

        @property
        def pointf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_arr_0)
            return data_view.get(reserved_element_count=self.pointf3_arr_0_size)

        @pointf3_arr_0.setter
        def pointf3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.pointf3_arr_0)
            data_view.set(value)
            self.pointf3_arr_0_size = data_view.get_array_size()

        @property
        def pointh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_0)
            return data_view.get()

        @pointh3_0.setter
        def pointh3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_0)
            data_view.set(value)

        @property
        def pointh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_arr_0)
            return data_view.get(reserved_element_count=self.pointh3_arr_0_size)

        @pointh3_arr_0.setter
        def pointh3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.pointh3_arr_0)
            data_view.set(value)
            self.pointh3_arr_0_size = data_view.get_array_size()

        @property
        def quatd4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_0)
            return data_view.get()

        @quatd4_0.setter
        def quatd4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_0)
            data_view.set(value)

        @property
        def quatd4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_arr_0)
            return data_view.get(reserved_element_count=self.quatd4_arr_0_size)

        @quatd4_arr_0.setter
        def quatd4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.quatd4_arr_0)
            data_view.set(value)
            self.quatd4_arr_0_size = data_view.get_array_size()

        @property
        def quatf4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_0)
            return data_view.get()

        @quatf4_0.setter
        def quatf4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_0)
            data_view.set(value)

        @property
        def quatf4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_arr_0)
            return data_view.get(reserved_element_count=self.quatf4_arr_0_size)

        @quatf4_arr_0.setter
        def quatf4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.quatf4_arr_0)
            data_view.set(value)
            self.quatf4_arr_0_size = data_view.get_array_size()

        @property
        def quath4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quath4_0)
            return data_view.get()

        @quath4_0.setter
        def quath4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.quath4_0)
            data_view.set(value)

        @property
        def quath4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.quath4_arr_0)
            return data_view.get(reserved_element_count=self.quath4_arr_0_size)

        @quath4_arr_0.setter
        def quath4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.quath4_arr_0)
            data_view.set(value)
            self.quath4_arr_0_size = data_view.get_array_size()

        @property
        def texcoordd2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_0)
            return data_view.get()

        @texcoordd2_0.setter
        def texcoordd2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_0)
            data_view.set(value)

        @property
        def texcoordd2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_arr_0)
            return data_view.get(reserved_element_count=self.texcoordd2_arr_0_size)

        @texcoordd2_arr_0.setter
        def texcoordd2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd2_arr_0)
            data_view.set(value)
            self.texcoordd2_arr_0_size = data_view.get_array_size()

        @property
        def texcoordd3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_0)
            return data_view.get()

        @texcoordd3_0.setter
        def texcoordd3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_0)
            data_view.set(value)

        @property
        def texcoordd3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_arr_0)
            return data_view.get(reserved_element_count=self.texcoordd3_arr_0_size)

        @texcoordd3_arr_0.setter
        def texcoordd3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordd3_arr_0)
            data_view.set(value)
            self.texcoordd3_arr_0_size = data_view.get_array_size()

        @property
        def texcoordf2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_0)
            return data_view.get()

        @texcoordf2_0.setter
        def texcoordf2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_0)
            data_view.set(value)

        @property
        def texcoordf2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_arr_0)
            return data_view.get(reserved_element_count=self.texcoordf2_arr_0_size)

        @texcoordf2_arr_0.setter
        def texcoordf2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf2_arr_0)
            data_view.set(value)
            self.texcoordf2_arr_0_size = data_view.get_array_size()

        @property
        def texcoordf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_0)
            return data_view.get()

        @texcoordf3_0.setter
        def texcoordf3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_0)
            data_view.set(value)

        @property
        def texcoordf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_arr_0)
            return data_view.get(reserved_element_count=self.texcoordf3_arr_0_size)

        @texcoordf3_arr_0.setter
        def texcoordf3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordf3_arr_0)
            data_view.set(value)
            self.texcoordf3_arr_0_size = data_view.get_array_size()

        @property
        def texcoordh2_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_0)
            return data_view.get()

        @texcoordh2_0.setter
        def texcoordh2_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_0)
            data_view.set(value)

        @property
        def texcoordh2_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_arr_0)
            return data_view.get(reserved_element_count=self.texcoordh2_arr_0_size)

        @texcoordh2_arr_0.setter
        def texcoordh2_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh2_arr_0)
            data_view.set(value)
            self.texcoordh2_arr_0_size = data_view.get_array_size()

        @property
        def texcoordh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_0)
            return data_view.get()

        @texcoordh3_0.setter
        def texcoordh3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_0)
            data_view.set(value)

        @property
        def texcoordh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_arr_0)
            return data_view.get(reserved_element_count=self.texcoordh3_arr_0_size)

        @texcoordh3_arr_0.setter
        def texcoordh3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.texcoordh3_arr_0)
            data_view.set(value)
            self.texcoordh3_arr_0_size = data_view.get_array_size()

        @property
        def timecode_0(self):
            data_view = og.AttributeValueHelper(self._attributes.timecode_0)
            return data_view.get()

        @timecode_0.setter
        def timecode_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.timecode_0)
            data_view.set(value)

        @property
        def timecode_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.timecode_arr_0)
            return data_view.get(reserved_element_count=self.timecode_arr_0_size)

        @timecode_arr_0.setter
        def timecode_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.timecode_arr_0)
            data_view.set(value)
            self.timecode_arr_0_size = data_view.get_array_size()

        @property
        def token_0(self):
            data_view = og.AttributeValueHelper(self._attributes.token_0)
            return data_view.get()

        @token_0.setter
        def token_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.token_0)
            data_view.set(value)

        @property
        def token_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.token_arr_0)
            return data_view.get(reserved_element_count=self.token_arr_0_size)

        @token_arr_0.setter
        def token_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.token_arr_0)
            data_view.set(value)
            self.token_arr_0_size = data_view.get_array_size()

        @property
        def transform4_0(self):
            data_view = og.AttributeValueHelper(self._attributes.transform4_0)
            return data_view.get()

        @transform4_0.setter
        def transform4_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.transform4_0)
            data_view.set(value)

        @property
        def transform4_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.transform4_arr_0)
            return data_view.get(reserved_element_count=self.transform4_arr_0_size)

        @transform4_arr_0.setter
        def transform4_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.transform4_arr_0)
            data_view.set(value)
            self.transform4_arr_0_size = data_view.get_array_size()

        @property
        def uchar_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uchar_0)
            return data_view.get()

        @uchar_0.setter
        def uchar_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.uchar_0)
            data_view.set(value)

        @property
        def uchar_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uchar_arr_0)
            return data_view.get(reserved_element_count=self.uchar_arr_0_size)

        @uchar_arr_0.setter
        def uchar_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.uchar_arr_0)
            data_view.set(value)
            self.uchar_arr_0_size = data_view.get_array_size()

        @property
        def uint64_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint64_0)
            return data_view.get()

        @uint64_0.setter
        def uint64_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.uint64_0)
            data_view.set(value)

        @property
        def uint64_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint64_arr_0)
            return data_view.get(reserved_element_count=self.uint64_arr_0_size)

        @uint64_arr_0.setter
        def uint64_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.uint64_arr_0)
            data_view.set(value)
            self.uint64_arr_0_size = data_view.get_array_size()

        @property
        def uint_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint_0)
            return data_view.get()

        @uint_0.setter
        def uint_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.uint_0)
            data_view.set(value)

        @property
        def uint_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.uint_arr_0)
            return data_view.get(reserved_element_count=self.uint_arr_0_size)

        @uint_arr_0.setter
        def uint_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.uint_arr_0)
            data_view.set(value)
            self.uint_arr_0_size = data_view.get_array_size()

        @property
        def vectord3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_0)
            return data_view.get()

        @vectord3_0.setter
        def vectord3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_0)
            data_view.set(value)

        @property
        def vectord3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_arr_0)
            return data_view.get(reserved_element_count=self.vectord3_arr_0_size)

        @vectord3_arr_0.setter
        def vectord3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.vectord3_arr_0)
            data_view.set(value)
            self.vectord3_arr_0_size = data_view.get_array_size()

        @property
        def vectorf3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_0)
            return data_view.get()

        @vectorf3_0.setter
        def vectorf3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_0)
            data_view.set(value)

        @property
        def vectorf3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_arr_0)
            return data_view.get(reserved_element_count=self.vectorf3_arr_0_size)

        @vectorf3_arr_0.setter
        def vectorf3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.vectorf3_arr_0)
            data_view.set(value)
            self.vectorf3_arr_0_size = data_view.get_array_size()

        @property
        def vectorh3_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_0)
            return data_view.get()

        @vectorh3_0.setter
        def vectorh3_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_0)
            data_view.set(value)

        @property
        def vectorh3_arr_0(self):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_arr_0)
            return data_view.get(reserved_element_count=self.vectorh3_arr_0_size)

        @vectorh3_arr_0.setter
        def vectorh3_arr_0(self, value):
            data_view = og.AttributeValueHelper(self._attributes.vectorh3_arr_0)
            data_view.set(value)
            self.vectorh3_arr_0_size = data_view.get_array_size()

        def _commit(self):
            _og._commit_output_attributes_data(self._batchedWriteValues)
            self._batchedWriteValues = { }

    class ValuesForState(og.DynamicAttributeAccess):
        """Helper class that creates natural hierarchical access to state attributes"""
        def __init__(self, node: og.Node, attributes, dynamic_attributes: og.DynamicAttributeInterface):
            """Initialize simplified access for the attribute data"""
            context = node.get_graph().get_default_graph_context()
            super().__init__(context, node, attributes, dynamic_attributes)

    def __init__(self, node):
        super().__init__(node)
        dynamic_attributes = self.dynamic_attribute_data(node, og.AttributePortType.ATTRIBUTE_PORT_TYPE_INPUT)
        self.inputs = OgnUniversalAddDatabase.ValuesForInputs(node, self.attributes.inputs, dynamic_attributes)
        dynamic_attributes = self.dynamic_attribute_data(node, og.AttributePortType.ATTRIBUTE_PORT_TYPE_OUTPUT)
        self.outputs = OgnUniversalAddDatabase.ValuesForOutputs(node, self.attributes.outputs, dynamic_attributes)
        dynamic_attributes = self.dynamic_attribute_data(node, og.AttributePortType.ATTRIBUTE_PORT_TYPE_STATE)
        self.state = OgnUniversalAddDatabase.ValuesForState(node, self.attributes.state, dynamic_attributes)
