SeqOptional DEFINITIONS IMPLICIT TAGS ::= BEGIN SeqOpt1 ::= SEQUENCE { bool1 BOOLEAN OPTIONAL, int1 INTEGER, seq1 SeqIn OPTIONAL } SeqOpt1Imp ::= SEQUENCE { bool1 [1] BOOLEAN OPTIONAL, int1 INTEGER, seq1 [2] SeqIn OPTIONAL } SeqOpt1Exp ::= SEQUENCE { bool1 [1] EXPLICIT BOOLEAN OPTIONAL, int1 INTEGER, seq1 [2] EXPLICIT SeqIn OPTIONAL } SeqOpt2 ::= SEQUENCE { seq2 SeqIn OPTIONAL, bool2 BOOLEAN, int2 INTEGER } SeqOpt2Imp ::= SEQUENCE { seq2 [1] SeqIn OPTIONAL, bool2 [2] BOOLEAN, int2 INTEGER } SeqOpt2Exp ::= SEQUENCE { seq2 [1] EXPLICIT SeqIn OPTIONAL, bool2 [2] EXPLICIT BOOLEAN, int2 INTEGER } SeqOpt3 ::= SEQUENCE { bool3 BOOLEAN OPTIONAL, seq3 SeqIn OPTIONAL, int3 INTEGER OPTIONAL } SeqOpt3Imp ::= SEQUENCE { bool3 [1] BOOLEAN OPTIONAL, seq3 [2] SeqIn OPTIONAL, int3 INTEGER OPTIONAL } SeqOpt3Exp ::= SEQUENCE { bool3 [1] EXPLICIT BOOLEAN OPTIONAL, seq3 [2] EXPLICIT SeqIn OPTIONAL, int3 INTEGER OPTIONAL } SeqChoOpt ::= SEQUENCE { int INTEGER, cho CHOICE { boolC BOOLEAN, intC INTEGER } OPTIONAL } SeqIn ::= SEQUENCE { boolIn BOOLEAN, intIn INTEGER } END