ALL_TYPES = {'AllTypes': {'extensibility-implied': False,
              'imports': {},
              'types': {'Bitstring': {'size': None, 'type': 'BIT STRING'},
                        'Bitstring2': {'size': [9], 'type': 'BIT STRING'},
                        'Bitstring3': {'size': [(5, 7)], 'type': 'BIT STRING'},
                        'Bmpstring': {'type': 'BMPString'},
                        'Boolean': {'type': 'BOOLEAN'},
                        'Enumerated': {'type': 'ENUMERATED',
                                       'values': {1: 'one'}},
                        'Ia5string': {'type': 'IA5String'},
                        'Ia5string2': {'type': 'IA5String'},
                        'Ia5string3': {'type': 'IA5String'},
                        'Ia5string4': {'type': 'IA5String'},
                        'Integer': {'type': 'INTEGER'},
                        'Integer2': {'restricted-to': [(1, 99)],
                                     'type': 'INTEGER'},
                        'Integer3': {'restricted-to': [(1, 2)],
                                     'type': 'INTEGER'},
                        'Null': {'type': 'NULL'},
                        'Numericstring': {'type': 'NumericString'},
                        'Objectidentifier': {'type': 'OBJECT IDENTIFIER'},
                        'Octetstring': {'size': None, 'type': 'OCTET STRING'},
                        'Octetstring2': {'size': [2], 'type': 'OCTET STRING'},
                        'Octetstring3': {'size': [3], 'type': 'OCTET STRING'},
                        'Octetstring4': {'size': [(3, 7)],
                                         'type': 'OCTET STRING'},
                        'Octetstring5': {'size': [4], 'type': 'OCTET STRING'},
                        'Printablestring': {'type': 'PrintableString'},
                        'Real': {'type': 'REAL'},
                        'Real2': {'type': 'REAL'},
                        'Real3': {'type': 'REAL'},
                        'Real4': {'type': 'REAL'},
                        'Real5': {'type': 'REAL'},
                        'Real6': {'type': 'REAL'},
                        'Sequence': {'members': [], 'type': 'SEQUENCE'},
                        'Sequence2': {'members': [{'default': 0,
                                                   'name': 'a',
                                                   'optional': False,
                                                   'type': 'INTEGER'}],
                                      'type': 'SEQUENCE'},
                        'SequenceOf': {'element': {'type': 'INTEGER'},
                                       'size': None,
                                       'type': 'SEQUENCE OF'},
                        'Set': {'members': [], 'type': 'SET'},
                        'Set2': {'members': [{'default': 1,
                                              'name': 'a',
                                              'optional': False,
                                              'type': 'INTEGER'}],
                                 'type': 'SET'},
                        'SetOf': {'element': {'type': 'INTEGER'},
                                  'size': None,
                                  'type': 'SET OF'},
                        'Teletexstring': {'type': 'TeletexString'},
                        'Universalstring': {'type': 'UniversalString'},
                        'Utctime': {'type': 'UTCTime'},
                        'Utf8string': {'type': 'UTF8String'},
                        'Visiblestring': {'type': 'VisibleString'}},
              'values': {'bitstring': {'type': 'BIT',
                                       'value': ["'10001000 1001'B"]},
                         'bitstring2': {'type': 'BIT',
                                        'value': ["'01234567 89ABCD EF'H"]},
                         'boolean': {'type': 'BOOLEAN', 'value': ['TRUE']},
                         'boolean2': {'type': 'BOOLEAN', 'value': ['FALSE']},
                         'choice': {'type': 'CHOICE',
                                    'value': ['foo', ':', ['bar']]},
                         'ia5string': {'type': 'IA5String',
                                       'value': ['{', '1', ',', '2', '}']},
                         'ia5string2': {'type': 'IA5String',
                                        'value': ['{',
                                                  '1',
                                                  ',',
                                                  '2',
                                                  ',',
                                                  '3',
                                                  ',',
                                                  '4',
                                                  '}']}}}}
