ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1)
	spelio(9363) software(1) asn1c(5) test(1) 34 }
DEFINITIONS IMPLICIT TAGS ::=
BEGIN

EXTENSION ::= CLASS {
    &id	 [PRIVATE 0] INTEGER UNIQUE,
    &ExtnType	
} WITH SYNTAX {
		SYNTAX		&ExtnType
		IDENTIFIED BY	&id
	}

-- Class matrix is empty

Ext1 ::= SEQUENCE {
    extnId	 EXTENSION.&id
}

EXTENSION-ATTRIBUTE ::= CLASS {
    &id	 INTEGER (0..256) UNIQUE,
    &Type	 ANY
} WITH SYNTAX {&Type IDENTIFIED BY &id}

-- Class matrix has 1 entry:
--    [         &id][       &Type]
-- [1]           23  TerminalType 


terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}

TerminalType ::= INTEGER {
    terminal(0)
}

ExtensionAttribute ::= SEQUENCE {
    extension-attribute-type	 [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
    extension-attribute-value	 [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
}

ub-extension-attributes INTEGER ::= 256

END
