"""GENERATED by `python -m invisible_core.juggler._gen_protocol`.
Do not edit by hand.

Source: omni.ja!chrome/juggler/content/protocol/Protocol.js
Commands: 77   Events: 35

The browser enforces this schema in a CLOSED WORLD: an undeclared field is
REJECTED at runtime, not ignored. It therefore serves to verify what WE
SEND before it goes out, not to document.

⛔ Does not replace `protocol_drift_check.py` in the source repo: that
gate asks what a REAL client sends, and that is a question this file
cannot ask, because it is generated from the same source it should be
checking.
"""
from __future__ import annotations

DOMAINS = ['Browser', 'Heap', 'Network', 'Page', 'Runtime']

COMMANDS = {'Browser.addBinding': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                   'of': {'k': 'String'}},
                                              'name': {'k': 'String'},
                                              'script': {'k': 'String'},
                                              'worldName': {'k': 'Optional',
                                                            'of': {'k': 'String'}}},
                                   'k': 'Object'},
                        'returns': None},
 'Browser.cancelDownload': {'params': {'fields': {'uuid': {'k': 'Optional',
                                                           'of': {'k': 'String'}}},
                                       'k': 'Object'},
                            'returns': None},
 'Browser.clearCache': {'params': None, 'returns': None},
 'Browser.clearCookies': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                     'of': {'k': 'String'}}},
                                     'k': 'Object'},
                          'returns': None},
 'Browser.close': {'params': None, 'returns': None},
 'Browser.createBrowserContext': {'params': {'fields': {'removeOnDetach': {'k': 'Optional',
                                                                           'of': {'k': 'Boolean'}}},
                                             'k': 'Object'},
                                  'returns': {'fields': {'browserContextId': {'k': 'String'}},
                                              'k': 'Object'}},
 'Browser.enable': {'params': {'fields': {'attachToDefaultContext': {'k': 'Boolean'},
                                          'userPrefs': {'k': 'Optional',
                                                        'of': {'k': 'Array',
                                                               'of': {'fields': {'name': {'k': 'String'},
                                                                                 'value': {'k': 'Any'}},
                                                                      'k': 'Object',
                                                                      'ref': 'browserTypes.UserPreference'}}}},
                               'k': 'Object'},
                    'returns': None},
 'Browser.getCookies': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                   'of': {'k': 'String'}}},
                                   'k': 'Object'},
                        'returns': {'fields': {'cookies': {'k': 'Array',
                                                           'of': {'fields': {'domain': {'k': 'String'},
                                                                             'expires': {'k': 'Number'},
                                                                             'httpOnly': {'k': 'Boolean'},
                                                                             'name': {'k': 'String'},
                                                                             'path': {'k': 'String'},
                                                                             'sameSite': {'k': 'Enum',
                                                                                          'values': ['Strict',
                                                                                                     'Lax',
                                                                                                     'None']},
                                                                             'secure': {'k': 'Boolean'},
                                                                             'session': {'k': 'Boolean'},
                                                                             'size': {'k': 'Number'},
                                                                             'value': {'k': 'String'}},
                                                                  'k': 'Object',
                                                                  'ref': 'browserTypes.Cookie'}}},
                                    'k': 'Object'}},
 'Browser.getInfo': {'params': None,
                     'returns': {'fields': {'userAgent': {'k': 'String'},
                                            'version': {'k': 'String'}},
                                 'k': 'Object'}},
 'Browser.grantPermissions': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                         'of': {'k': 'String'}},
                                                    'origin': {'k': 'String'},
                                                    'permissions': {'k': 'Array',
                                                                    'of': {'k': 'String'}}},
                                         'k': 'Object'},
                              'returns': None},
 'Browser.newPage': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                'of': {'k': 'String'}}},
                                'k': 'Object'},
                     'returns': {'fields': {'targetId': {'k': 'String'}},
                                 'k': 'Object'}},
 'Browser.removeBrowserContext': {'params': {'fields': {'browserContextId': {'k': 'String'}},
                                             'k': 'Object'},
                                  'returns': None},
 'Browser.resetPermissions': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                         'of': {'k': 'String'}}},
                                         'k': 'Object'},
                              'returns': None},
 'Browser.setBrowserProxy': {'params': {'fields': {'bypass': {'k': 'Array',
                                                              'of': {'k': 'String'}},
                                                   'host': {'k': 'String'},
                                                   'password': {'k': 'Optional',
                                                                'of': {'k': 'String'}},
                                                   'port': {'k': 'Number'},
                                                   'type': {'k': 'Enum',
                                                            'values': ['http',
                                                                       'https',
                                                                       'socks',
                                                                       'socks4']},
                                                   'username': {'k': 'Optional',
                                                                'of': {'k': 'String'}}},
                                        'k': 'Object'},
                             'returns': None},
 'Browser.setBypassCSP': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                     'of': {'k': 'String'}},
                                                'bypassCSP': {'k': 'Nullable',
                                                              'of': {'k': 'Boolean'}}},
                                     'k': 'Object'},
                          'returns': None},
 'Browser.setCacheDisabled': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                         'of': {'k': 'String'}},
                                                    'cacheDisabled': {'k': 'Boolean'}},
                                         'k': 'Object'},
                              'returns': None},
 'Browser.setColorScheme': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                       'of': {'k': 'String'}},
                                                  'colorScheme': {'k': 'Nullable',
                                                                  'of': {'k': 'Enum',
                                                                         'values': ['dark',
                                                                                    'light',
                                                                                    'no-preference']}}},
                                       'k': 'Object'},
                            'returns': None},
 'Browser.setContextProxy': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                        'of': {'k': 'String'}},
                                                   'bypass': {'k': 'Array',
                                                              'of': {'k': 'String'}},
                                                   'host': {'k': 'String'},
                                                   'password': {'k': 'Optional',
                                                                'of': {'k': 'String'}},
                                                   'port': {'k': 'Number'},
                                                   'type': {'k': 'Enum',
                                                            'values': ['http',
                                                                       'https',
                                                                       'socks',
                                                                       'socks4']},
                                                   'username': {'k': 'Optional',
                                                                'of': {'k': 'String'}}},
                                        'k': 'Object'},
                             'returns': None},
 'Browser.setContrast': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                    'of': {'k': 'String'}},
                                               'contrast': {'k': 'Nullable',
                                                            'of': {'k': 'Enum',
                                                                   'values': ['less',
                                                                              'more',
                                                                              'custom',
                                                                              'no-preference']}}},
                                    'k': 'Object'},
                         'returns': None},
 'Browser.setCookies': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                   'of': {'k': 'String'}},
                                              'cookies': {'k': 'Array',
                                                          'of': {'fields': {'domain': {'k': 'Optional',
                                                                                       'of': {'k': 'String'}},
                                                                            'expires': {'k': 'Optional',
                                                                                        'of': {'k': 'Number'}},
                                                                            'httpOnly': {'k': 'Optional',
                                                                                         'of': {'k': 'Boolean'}},
                                                                            'name': {'k': 'String'},
                                                                            'path': {'k': 'Optional',
                                                                                     'of': {'k': 'String'}},
                                                                            'sameSite': {'k': 'Optional',
                                                                                         'of': {'k': 'Enum',
                                                                                                'values': ['Strict',
                                                                                                           'Lax',
                                                                                                           'None']}},
                                                                            'secure': {'k': 'Optional',
                                                                                       'of': {'k': 'Boolean'}},
                                                                            'url': {'k': 'Optional',
                                                                                    'of': {'k': 'String'}},
                                                                            'value': {'k': 'String'}},
                                                                 'k': 'Object',
                                                                 'ref': 'browserTypes.CookieOptions'}}},
                                   'k': 'Object'},
                        'returns': None},
 'Browser.setDefaultViewport': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                           'of': {'k': 'String'}},
                                                      'viewport': {'k': 'Nullable',
                                                                   'of': {'fields': {'deviceScaleFactor': {'k': 'Optional',
                                                                                                           'of': {'k': 'Number'}},
                                                                                     'isMobile': {'k': 'Optional',
                                                                                                  'of': {'k': 'Boolean'}},
                                                                                     'screenSize': {'k': 'Optional',
                                                                                                    'of': {'k': 'Nullable',
                                                                                                           'of': {'fields': {'height': {'k': 'Number'},
                                                                                                                             'width': {'k': 'Number'}},
                                                                                                                  'k': 'Object',
                                                                                                                  'ref': 'pageTypes.Size'}}},
                                                                                     'viewportSize': {'fields': {'height': {'k': 'Number'},
                                                                                                                 'width': {'k': 'Number'}},
                                                                                                      'k': 'Object',
                                                                                                      'ref': 'pageTypes.Size'}},
                                                                          'k': 'Object',
                                                                          'ref': 'pageTypes.Viewport'}}},
                                           'k': 'Object'},
                                'returns': None},
 'Browser.setDownloadOptions': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                           'of': {'k': 'String'}},
                                                      'downloadOptions': {'k': 'Nullable',
                                                                          'of': {'fields': {'behavior': {'k': 'Optional',
                                                                                                         'of': {'k': 'Enum',
                                                                                                                'values': ['saveToDisk',
                                                                                                                           'cancel']}},
                                                                                            'downloadsDir': {'k': 'Optional',
                                                                                                             'of': {'k': 'String'}}},
                                                                                 'k': 'Object',
                                                                                 'ref': 'browserTypes.DownloadOptions'}}},
                                           'k': 'Object'},
                                'returns': None},
 'Browser.setExtraHTTPHeaders': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                            'of': {'k': 'String'}},
                                                       'headers': {'k': 'Array',
                                                                   'of': {'fields': {'name': {'k': 'String'},
                                                                                     'value': {'k': 'String'}},
                                                                          'k': 'Object',
                                                                          'ref': 'networkTypes.HTTPHeader'}}},
                                            'k': 'Object'},
                                 'returns': None},
 'Browser.setForcedColors': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                        'of': {'k': 'String'}},
                                                   'forcedColors': {'k': 'Nullable',
                                                                    'of': {'k': 'Enum',
                                                                           'values': ['active',
                                                                                      'none']}}},
                                        'k': 'Object'},
                             'returns': None},
 'Browser.setGeolocationOverride': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                               'of': {'k': 'String'}},
                                                          'geolocation': {'k': 'Nullable',
                                                                          'of': {'fields': {'accuracy': {'k': 'Optional',
                                                                                                         'of': {'k': 'Number'}},
                                                                                            'latitude': {'k': 'Number'},
                                                                                            'longitude': {'k': 'Number'}},
                                                                                 'k': 'Object',
                                                                                 'ref': 'browserTypes.Geolocation'}}},
                                               'k': 'Object'},
                                    'returns': None},
 'Browser.setHTTPCredentials': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                           'of': {'k': 'String'}},
                                                      'credentials': {'k': 'Nullable',
                                                                      'of': {'fields': {'origin': {'k': 'Optional',
                                                                                                   'of': {'k': 'String'}},
                                                                                        'password': {'k': 'String'},
                                                                                        'username': {'k': 'String'}},
                                                                             'k': 'Object',
                                                                             'ref': 'networkTypes.HTTPCredentials'}}},
                                           'k': 'Object'},
                                'returns': None},
 'Browser.setIgnoreHTTPSErrors': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                             'of': {'k': 'String'}},
                                                        'ignoreHTTPSErrors': {'k': 'Nullable',
                                                                              'of': {'k': 'Boolean'}}},
                                             'k': 'Object'},
                                  'returns': None},
 'Browser.setInitScripts': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                       'of': {'k': 'String'}},
                                                  'scripts': {'k': 'Array',
                                                              'of': {'fields': {'script': {'k': 'String'},
                                                                                'worldName': {'k': 'Optional',
                                                                                              'of': {'k': 'String'}}},
                                                                     'k': 'Object',
                                                                     'ref': 'pageTypes.InitScript'}}},
                                       'k': 'Object'},
                            'returns': None},
 'Browser.setJavaScriptDisabled': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                              'of': {'k': 'String'}},
                                                         'javaScriptDisabled': {'k': 'Boolean'}},
                                              'k': 'Object'},
                                   'returns': None},
 'Browser.setLocaleOverride': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                          'of': {'k': 'String'}},
                                                     'locale': {'k': 'Nullable',
                                                                'of': {'k': 'String'}}},
                                          'k': 'Object'},
                               'returns': None},
 'Browser.setOnlineOverride': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                          'of': {'k': 'String'}},
                                                     'override': {'k': 'Nullable',
                                                                  'of': {'k': 'Enum',
                                                                         'values': ['online',
                                                                                    'offline']}}},
                                          'k': 'Object'},
                               'returns': None},
 'Browser.setReducedMotion': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                         'of': {'k': 'String'}},
                                                    'reducedMotion': {'k': 'Nullable',
                                                                      'of': {'k': 'Enum',
                                                                             'values': ['reduce',
                                                                                        'no-preference']}}},
                                         'k': 'Object'},
                              'returns': None},
 'Browser.setRequestInterception': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                               'of': {'k': 'String'}},
                                                          'enabled': {'k': 'Boolean'}},
                                               'k': 'Object'},
                                    'returns': None},
 'Browser.setServiceWorkersBlocked': {'params': {'fields': {'blocked': {'k': 'Boolean'},
                                                            'browserContextId': {'k': 'Optional',
                                                                                 'of': {'k': 'String'}}},
                                                 'k': 'Object'},
                                      'returns': None},
 'Browser.setTimezoneOverride': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                            'of': {'k': 'String'}},
                                                       'timezoneId': {'k': 'Nullable',
                                                                      'of': {'k': 'String'}}},
                                            'k': 'Object'},
                                 'returns': None},
 'Browser.setTouchOverride': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                         'of': {'k': 'String'}},
                                                    'hasTouch': {'k': 'Nullable',
                                                                 'of': {'k': 'Boolean'}}},
                                         'k': 'Object'},
                              'returns': None},
 'Browser.setUserAgentOverride': {'params': {'fields': {'browserContextId': {'k': 'Optional',
                                                                             'of': {'k': 'String'}},
                                                        'userAgent': {'k': 'Nullable',
                                                                      'of': {'k': 'String'}}},
                                             'k': 'Object'},
                                  'returns': None},
 'Heap.collectGarbage': {'params': {'fields': {}, 'k': 'Object'}, 'returns': None},
 'Network.abortInterceptedRequest': {'params': {'fields': {'errorCode': {'k': 'String'},
                                                           'requestId': {'k': 'String'}},
                                                'k': 'Object'},
                                     'returns': None},
 'Network.fulfillInterceptedRequest': {'params': {'fields': {'base64body': {'k': 'Optional',
                                                                            'of': {'k': 'String'}},
                                                             'headers': {'k': 'Array',
                                                                         'of': {'fields': {'name': {'k': 'String'},
                                                                                           'value': {'k': 'String'}},
                                                                                'k': 'Object',
                                                                                'ref': 'networkTypes.HTTPHeader'}},
                                                             'requestId': {'k': 'String'},
                                                             'status': {'k': 'Number'},
                                                             'statusText': {'k': 'String'}},
                                                  'k': 'Object'},
                                       'returns': None},
 'Network.getResponseBody': {'params': {'fields': {'requestId': {'k': 'String'}},
                                        'k': 'Object'},
                             'returns': {'fields': {'base64body': {'k': 'String'},
                                                    'evicted': {'k': 'Optional',
                                                                'of': {'k': 'Boolean'}}},
                                         'k': 'Object'}},
 'Network.resumeInterceptedRequest': {'params': {'fields': {'headers': {'k': 'Optional',
                                                                        'of': {'k': 'Array',
                                                                               'of': {'fields': {'name': {'k': 'String'},
                                                                                                 'value': {'k': 'String'}},
                                                                                      'k': 'Object',
                                                                                      'ref': 'networkTypes.HTTPHeader'}}},
                                                            'method': {'k': 'Optional',
                                                                       'of': {'k': 'String'}},
                                                            'postData': {'k': 'Optional',
                                                                         'of': {'k': 'String'}},
                                                            'requestId': {'k': 'String'},
                                                            'url': {'k': 'Optional',
                                                                    'of': {'k': 'String'}}},
                                                 'k': 'Object'},
                                      'returns': None},
 'Network.setExtraHTTPHeaders': {'params': {'fields': {'headers': {'k': 'Array',
                                                                   'of': {'fields': {'name': {'k': 'String'},
                                                                                     'value': {'k': 'String'}},
                                                                          'k': 'Object',
                                                                          'ref': 'networkTypes.HTTPHeader'}}},
                                            'k': 'Object'},
                                 'returns': None},
 'Network.setRequestInterception': {'params': {'fields': {'enabled': {'k': 'Boolean'}},
                                               'k': 'Object'},
                                    'returns': None},
 'Page.adoptNode': {'params': {'fields': {'executionContextId': {'k': 'String'},
                                          'frameId': {'k': 'String'},
                                          'objectId': {'k': 'Optional',
                                                       'of': {'k': 'String'}}},
                               'k': 'Object'},
                    'returns': {'fields': {'remoteObject': {'k': 'Nullable',
                                                            'of': {'fields': {'objectId': {'k': 'Optional',
                                                                                           'of': {'k': 'String'}},
                                                                              'subtype': {'k': 'Optional',
                                                                                          'of': {'k': 'Enum',
                                                                                                 'values': ['array',
                                                                                                            'null',
                                                                                                            'node',
                                                                                                            'regexp',
                                                                                                            'date',
                                                                                                            'map',
                                                                                                            'set',
                                                                                                            'weakmap',
                                                                                                            'weakset',
                                                                                                            'error',
                                                                                                            'proxy',
                                                                                                            'promise',
                                                                                                            'typedarray']}},
                                                                              'type': {'k': 'Optional',
                                                                                       'of': {'k': 'Enum',
                                                                                              'values': ['object',
                                                                                                         'function',
                                                                                                         'undefined',
                                                                                                         'string',
                                                                                                         'number',
                                                                                                         'boolean',
                                                                                                         'symbol',
                                                                                                         'bigint']}},
                                                                              'unserializableValue': {'k': 'Optional',
                                                                                                      'of': {'k': 'Enum',
                                                                                                             'values': ['Infinity',
                                                                                                                        '-Infinity',
                                                                                                                        '-0',
                                                                                                                        'NaN']}},
                                                                              'value': {'k': 'Any'}},
                                                                   'k': 'Object',
                                                                   'ref': 'runtimeTypes.RemoteObject'}}},
                                'k': 'Object'}},
 'Page.bringToFront': {'params': {'fields': {}, 'k': 'Object'}, 'returns': None},
 'Page.close': {'params': {'fields': {'runBeforeUnload': {'k': 'Optional',
                                                          'of': {'k': 'Boolean'}}},
                           'k': 'Object'},
                'returns': None},
 'Page.describeNode': {'params': {'fields': {'frameId': {'k': 'String'},
                                             'objectId': {'k': 'String'}},
                                  'k': 'Object'},
                       'returns': {'fields': {'contentFrameId': {'k': 'Optional',
                                                                 'of': {'k': 'String'}},
                                              'ownerFrameId': {'k': 'Optional',
                                                               'of': {'k': 'String'}}},
                                   'k': 'Object'}},
 'Page.dispatchKeyEvent': {'params': {'fields': {'code': {'k': 'String'},
                                                 'key': {'k': 'String'},
                                                 'keyCode': {'k': 'Number'},
                                                 'location': {'k': 'Number'},
                                                 'repeat': {'k': 'Boolean'},
                                                 'text': {'k': 'Optional',
                                                          'of': {'k': 'String'}},
                                                 'type': {'k': 'String'}},
                                      'k': 'Object'},
                           'returns': None},
 'Page.dispatchMouseEvent': {'params': {'fields': {'button': {'k': 'Number'},
                                                   'buttons': {'k': 'Number'},
                                                   'clickCount': {'k': 'Optional',
                                                                  'of': {'k': 'Number'}},
                                                   'landsOn': {'k': 'Optional',
                                                               'of': {'fields': {'frameId': {'k': 'String'},
                                                                                 'objectId': {'k': 'String'}},
                                                                      'k': 'Object',
                                                                      'ref': 'pageTypes.LandingTarget'}},
                                                   'modifiers': {'k': 'Number'},
                                                   'type': {'k': 'Enum',
                                                            'values': ['mousedown',
                                                                       'mousemove',
                                                                       'mouseup']},
                                                   'x': {'k': 'Number'},
                                                   'y': {'k': 'Number'}},
                                        'k': 'Object'},
                             'returns': {'fields': {'landing': {'k': 'Optional',
                                                                'of': {'fields': {'landed': {'k': 'Boolean'},
                                                                                  'on': {'k': 'String'},
                                                                                  'seen': {'k': 'Number'},
                                                                                  'type': {'k': 'String'}},
                                                                       'k': 'Object',
                                                                       'ref': 'pageTypes.PointerLanding'}}},
                                         'k': 'Object'}},
 'Page.dispatchTapEvent': {'params': {'fields': {'modifiers': {'k': 'Number'},
                                                 'x': {'k': 'Number'},
                                                 'y': {'k': 'Number'}},
                                      'k': 'Object'},
                           'returns': None},
 'Page.dispatchWheelEvent': {'params': {'fields': {'deltaX': {'k': 'Number'},
                                                   'deltaY': {'k': 'Number'},
                                                   'deltaZ': {'k': 'Number'},
                                                   'modifiers': {'k': 'Number'},
                                                   'x': {'k': 'Number'},
                                                   'y': {'k': 'Number'}},
                                        'k': 'Object'},
                             'returns': None},
 'Page.getContentQuads': {'params': {'fields': {'frameId': {'k': 'String'},
                                                'objectId': {'k': 'String'}},
                                     'k': 'Object'},
                          'returns': {'fields': {'quads': {'k': 'Array',
                                                           'of': {'fields': {'p1': {'fields': {'x': {'k': 'Number'},
                                                                                               'y': {'k': 'Number'}},
                                                                                    'k': 'Object',
                                                                                    'ref': 'pageTypes.DOMPoint'},
                                                                             'p2': {'fields': {'x': {'k': 'Number'},
                                                                                               'y': {'k': 'Number'}},
                                                                                    'k': 'Object',
                                                                                    'ref': 'pageTypes.DOMPoint'},
                                                                             'p3': {'fields': {'x': {'k': 'Number'},
                                                                                               'y': {'k': 'Number'}},
                                                                                    'k': 'Object',
                                                                                    'ref': 'pageTypes.DOMPoint'},
                                                                             'p4': {'fields': {'x': {'k': 'Number'},
                                                                                               'y': {'k': 'Number'}},
                                                                                    'k': 'Object',
                                                                                    'ref': 'pageTypes.DOMPoint'}},
                                                                  'k': 'Object',
                                                                  'ref': 'pageTypes.DOMQuad'}}},
                                      'k': 'Object'}},
 'Page.goBack': {'params': {'fields': {'frameId': {'k': 'String'}}, 'k': 'Object'},
                 'returns': {'fields': {'success': {'k': 'Boolean'}}, 'k': 'Object'}},
 'Page.goForward': {'params': {'fields': {'frameId': {'k': 'String'}}, 'k': 'Object'},
                    'returns': {'fields': {'success': {'k': 'Boolean'}},
                                'k': 'Object'}},
 'Page.handleDialog': {'params': {'fields': {'accept': {'k': 'Boolean'},
                                             'dialogId': {'k': 'String'},
                                             'promptText': {'k': 'Optional',
                                                            'of': {'k': 'String'}}},
                                  'k': 'Object'},
                       'returns': None},
 'Page.insertText': {'params': {'fields': {'text': {'k': 'String'}}, 'k': 'Object'},
                     'returns': None},
 'Page.navigate': {'params': {'fields': {'frameId': {'k': 'String'},
                                         'referer': {'k': 'Optional',
                                                     'of': {'k': 'String'}},
                                         'url': {'k': 'String'}},
                              'k': 'Object'},
                   'returns': {'fields': {'navigationId': {'k': 'Nullable',
                                                           'of': {'k': 'String'}}},
                               'k': 'Object'}},
 'Page.reload': {'params': {'fields': {}, 'k': 'Object'}, 'returns': None},
 'Page.screencastFrameAck': {'params': {'fields': {'screencastId': {'k': 'String'}},
                                        'k': 'Object'},
                             'returns': None},
 'Page.screenshot': {'params': {'fields': {'clip': {'fields': {'height': {'k': 'Number'},
                                                               'width': {'k': 'Number'},
                                                               'x': {'k': 'Number'},
                                                               'y': {'k': 'Number'}},
                                                    'k': 'Object',
                                                    'ref': 'pageTypes.Clip'},
                                           'mimeType': {'k': 'Enum',
                                                        'values': ['image/png',
                                                                   'image/jpeg']},
                                           'omitDeviceScaleFactor': {'k': 'Optional',
                                                                     'of': {'k': 'Boolean'}},
                                           'quality': {'k': 'Optional',
                                                       'of': {'k': 'Number'}}},
                                'k': 'Object'},
                     'returns': {'fields': {'data': {'k': 'String'}}, 'k': 'Object'}},
 'Page.scrollIntoViewIfNeeded': {'params': {'fields': {'frameId': {'k': 'String'},
                                                       'objectId': {'k': 'String'},
                                                       'rect': {'k': 'Optional',
                                                                'of': {'fields': {'height': {'k': 'Number'},
                                                                                  'width': {'k': 'Number'},
                                                                                  'x': {'k': 'Number'},
                                                                                  'y': {'k': 'Number'}},
                                                                       'k': 'Object',
                                                                       'ref': 'pageTypes.Rect'}}},
                                            'k': 'Object'},
                                 'returns': None},
 'Page.selectOptions': {'params': {'fields': {'frameId': {'k': 'String'},
                                              'indices': {'k': 'Array',
                                                          'of': {'k': 'Number'}},
                                              'objectId': {'k': 'String'}},
                                   'k': 'Object'},
                        'returns': {'fields': {'changed': {'k': 'Boolean'}},
                                    'k': 'Object'}},
 'Page.sendMessageToWorker': {'params': {'fields': {'frameId': {'k': 'String'},
                                                    'message': {'k': 'String'},
                                                    'workerId': {'k': 'String'}},
                                         'k': 'Object'},
                              'returns': None},
 'Page.setCacheDisabled': {'params': {'fields': {'cacheDisabled': {'k': 'Boolean'}},
                                      'k': 'Object'},
                           'returns': None},
 'Page.setEmulatedMedia': {'params': {'fields': {'colorScheme': {'k': 'Optional',
                                                                 'of': {'k': 'Enum',
                                                                        'values': ['dark',
                                                                                   'light',
                                                                                   'no-preference']}},
                                                 'contrast': {'k': 'Optional',
                                                              'of': {'k': 'Enum',
                                                                     'values': ['less',
                                                                                'more',
                                                                                'custom',
                                                                                'no-preference']}},
                                                 'forcedColors': {'k': 'Optional',
                                                                  'of': {'k': 'Enum',
                                                                         'values': ['active',
                                                                                    'none']}},
                                                 'reducedMotion': {'k': 'Optional',
                                                                   'of': {'k': 'Enum',
                                                                          'values': ['reduce',
                                                                                     'no-preference']}},
                                                 'type': {'k': 'Optional',
                                                          'of': {'k': 'Enum',
                                                                 'values': ['screen',
                                                                            'print',
                                                                            '']}}},
                                      'k': 'Object'},
                           'returns': None},
 'Page.setFileInputFiles': {'params': {'fields': {'files': {'k': 'Array',
                                                            'of': {'k': 'String'}},
                                                  'frameId': {'k': 'String'},
                                                  'objectId': {'k': 'String'}},
                                       'k': 'Object'},
                            'returns': None},
 'Page.setInitScripts': {'params': {'fields': {'scripts': {'k': 'Array',
                                                           'of': {'fields': {'script': {'k': 'String'},
                                                                             'worldName': {'k': 'Optional',
                                                                                           'of': {'k': 'String'}}},
                                                                  'k': 'Object',
                                                                  'ref': 'pageTypes.InitScript'}}},
                                    'k': 'Object'},
                         'returns': None},
 'Page.setInterceptFileChooserDialog': {'params': {'fields': {'enabled': {'k': 'Boolean'}},
                                                   'k': 'Object'},
                                        'returns': None},
 'Page.setUserInput': {'params': {'fields': {'frameId': {'k': 'String'},
                                             'objectId': {'k': 'String'},
                                             'value': {'k': 'String'}},
                                  'k': 'Object'},
                       'returns': {'fields': {'changed': {'k': 'Boolean'}},
                                   'k': 'Object'}},
 'Page.setViewportSize': {'params': {'fields': {'isMobile': {'k': 'Optional',
                                                             'of': {'k': 'Boolean'}},
                                                'screenSize': {'k': 'Optional',
                                                               'of': {'k': 'Nullable',
                                                                      'of': {'fields': {'height': {'k': 'Number'},
                                                                                        'width': {'k': 'Number'}},
                                                                             'k': 'Object',
                                                                             'ref': 'pageTypes.Size'}}},
                                                'viewportSize': {'k': 'Nullable',
                                                                 'of': {'fields': {'height': {'k': 'Number'},
                                                                                   'width': {'k': 'Number'}},
                                                                        'k': 'Object',
                                                                        'ref': 'pageTypes.Size'}}},
                                     'k': 'Object'},
                          'returns': None},
 'Page.startScreencast': {'params': {'fields': {'fps': {'k': 'Optional',
                                                        'of': {'k': 'Number'}},
                                                'fullWindow': {'k': 'Optional',
                                                               'of': {'k': 'Boolean'}},
                                                'height': {'k': 'Number'},
                                                'quality': {'k': 'Optional',
                                                            'of': {'k': 'Number'}},
                                                'width': {'k': 'Number'}},
                                     'k': 'Object'},
                          'returns': {'fields': {'screencastId': {'k': 'String'}},
                                      'k': 'Object'}},
 'Page.stopScreencast': {'params': None, 'returns': None},
 'Runtime.callFunction': {'params': {'fields': {'args': {'k': 'Array',
                                                         'of': {'fields': {'objectId': {'k': 'Optional',
                                                                                        'of': {'k': 'String'}},
                                                                           'unserializableValue': {'k': 'Optional',
                                                                                                   'of': {'k': 'Enum',
                                                                                                          'values': ['Infinity',
                                                                                                                     '-Infinity',
                                                                                                                     '-0',
                                                                                                                     'NaN']}},
                                                                           'value': {'k': 'Any'}},
                                                                'k': 'Object',
                                                                'ref': 'runtimeTypes.CallFunctionArgument'}},
                                                'executionContextId': {'k': 'String'},
                                                'functionDeclaration': {'k': 'String'},
                                                'returnByValue': {'k': 'Optional',
                                                                  'of': {'k': 'Boolean'}}},
                                     'k': 'Object'},
                          'returns': {'fields': {'exceptionDetails': {'k': 'Optional',
                                                                      'of': {'fields': {'stack': {'k': 'Optional',
                                                                                                  'of': {'k': 'String'}},
                                                                                        'text': {'k': 'Optional',
                                                                                                 'of': {'k': 'String'}},
                                                                                        'value': {'k': 'Optional',
                                                                                                  'of': {'k': 'Any'}}},
                                                                             'k': 'Object',
                                                                             'ref': 'runtimeTypes.ExceptionDetails'}},
                                                 'result': {'k': 'Optional',
                                                            'of': {'fields': {'objectId': {'k': 'Optional',
                                                                                           'of': {'k': 'String'}},
                                                                              'subtype': {'k': 'Optional',
                                                                                          'of': {'k': 'Enum',
                                                                                                 'values': ['array',
                                                                                                            'null',
                                                                                                            'node',
                                                                                                            'regexp',
                                                                                                            'date',
                                                                                                            'map',
                                                                                                            'set',
                                                                                                            'weakmap',
                                                                                                            'weakset',
                                                                                                            'error',
                                                                                                            'proxy',
                                                                                                            'promise',
                                                                                                            'typedarray']}},
                                                                              'type': {'k': 'Optional',
                                                                                       'of': {'k': 'Enum',
                                                                                              'values': ['object',
                                                                                                         'function',
                                                                                                         'undefined',
                                                                                                         'string',
                                                                                                         'number',
                                                                                                         'boolean',
                                                                                                         'symbol',
                                                                                                         'bigint']}},
                                                                              'unserializableValue': {'k': 'Optional',
                                                                                                      'of': {'k': 'Enum',
                                                                                                             'values': ['Infinity',
                                                                                                                        '-Infinity',
                                                                                                                        '-0',
                                                                                                                        'NaN']}},
                                                                              'value': {'k': 'Any'}},
                                                                   'k': 'Object',
                                                                   'ref': 'runtimeTypes.RemoteObject'}}},
                                      'k': 'Object'}},
 'Runtime.disposeObject': {'params': {'fields': {'executionContextId': {'k': 'String'},
                                                 'objectId': {'k': 'String'}},
                                      'k': 'Object'},
                           'returns': None},
 'Runtime.evaluate': {'params': {'fields': {'executionContextId': {'k': 'String'},
                                            'expression': {'k': 'String'},
                                            'returnByValue': {'k': 'Optional',
                                                              'of': {'k': 'Boolean'}}},
                                 'k': 'Object'},
                      'returns': {'fields': {'exceptionDetails': {'k': 'Optional',
                                                                  'of': {'fields': {'stack': {'k': 'Optional',
                                                                                              'of': {'k': 'String'}},
                                                                                    'text': {'k': 'Optional',
                                                                                             'of': {'k': 'String'}},
                                                                                    'value': {'k': 'Optional',
                                                                                              'of': {'k': 'Any'}}},
                                                                         'k': 'Object',
                                                                         'ref': 'runtimeTypes.ExceptionDetails'}},
                                             'result': {'k': 'Optional',
                                                        'of': {'fields': {'objectId': {'k': 'Optional',
                                                                                       'of': {'k': 'String'}},
                                                                          'subtype': {'k': 'Optional',
                                                                                      'of': {'k': 'Enum',
                                                                                             'values': ['array',
                                                                                                        'null',
                                                                                                        'node',
                                                                                                        'regexp',
                                                                                                        'date',
                                                                                                        'map',
                                                                                                        'set',
                                                                                                        'weakmap',
                                                                                                        'weakset',
                                                                                                        'error',
                                                                                                        'proxy',
                                                                                                        'promise',
                                                                                                        'typedarray']}},
                                                                          'type': {'k': 'Optional',
                                                                                   'of': {'k': 'Enum',
                                                                                          'values': ['object',
                                                                                                     'function',
                                                                                                     'undefined',
                                                                                                     'string',
                                                                                                     'number',
                                                                                                     'boolean',
                                                                                                     'symbol',
                                                                                                     'bigint']}},
                                                                          'unserializableValue': {'k': 'Optional',
                                                                                                  'of': {'k': 'Enum',
                                                                                                         'values': ['Infinity',
                                                                                                                    '-Infinity',
                                                                                                                    '-0',
                                                                                                                    'NaN']}},
                                                                          'value': {'k': 'Any'}},
                                                               'k': 'Object',
                                                               'ref': 'runtimeTypes.RemoteObject'}}},
                                  'k': 'Object'}},
 'Runtime.getObjectProperties': {'params': {'fields': {'executionContextId': {'k': 'String'},
                                                       'objectId': {'k': 'String'}},
                                            'k': 'Object'},
                                 'returns': {'fields': {'properties': {'k': 'Array',
                                                                       'of': {'fields': {'name': {'k': 'String'},
                                                                                         'value': {'fields': {'objectId': {'k': 'Optional',
                                                                                                                           'of': {'k': 'String'}},
                                                                                                              'subtype': {'k': 'Optional',
                                                                                                                          'of': {'k': 'Enum',
                                                                                                                                 'values': ['array',
                                                                                                                                            'null',
                                                                                                                                            'node',
                                                                                                                                            'regexp',
                                                                                                                                            'date',
                                                                                                                                            'map',
                                                                                                                                            'set',
                                                                                                                                            'weakmap',
                                                                                                                                            'weakset',
                                                                                                                                            'error',
                                                                                                                                            'proxy',
                                                                                                                                            'promise',
                                                                                                                                            'typedarray']}},
                                                                                                              'type': {'k': 'Optional',
                                                                                                                       'of': {'k': 'Enum',
                                                                                                                              'values': ['object',
                                                                                                                                         'function',
                                                                                                                                         'undefined',
                                                                                                                                         'string',
                                                                                                                                         'number',
                                                                                                                                         'boolean',
                                                                                                                                         'symbol',
                                                                                                                                         'bigint']}},
                                                                                                              'unserializableValue': {'k': 'Optional',
                                                                                                                                      'of': {'k': 'Enum',
                                                                                                                                             'values': ['Infinity',
                                                                                                                                                        '-Infinity',
                                                                                                                                                        '-0',
                                                                                                                                                        'NaN']}},
                                                                                                              'value': {'k': 'Any'}},
                                                                                                   'k': 'Object',
                                                                                                   'ref': 'runtimeTypes.RemoteObject'}},
                                                                              'k': 'Object',
                                                                              'ref': 'runtimeTypes.ObjectProperty'}}},
                                             'k': 'Object'}}}

EVENTS = {'Browser.attachedToTarget': {'fields': {'sessionId': {'k': 'String'},
                                         'targetInfo': {'fields': {'browserContextId': {'k': 'Optional',
                                                                                        'of': {'k': 'String'}},
                                                                   'openerId': {'k': 'Optional',
                                                                                'of': {'k': 'String'}},
                                                                   'targetId': {'k': 'String'},
                                                                   'type': {'k': 'Enum',
                                                                            'values': ['page']}},
                                                        'k': 'Object',
                                                        'ref': 'browserTypes.TargetInfo'}},
                              'k': 'Object'},
 'Browser.detachedFromTarget': {'fields': {'sessionId': {'k': 'String'},
                                           'targetId': {'k': 'String'}},
                                'k': 'Object'},
 'Browser.downloadCreated': {'fields': {'browserContextId': {'k': 'Optional',
                                                             'of': {'k': 'String'}},
                                        'frameId': {'k': 'String'},
                                        'pageTargetId': {'k': 'String'},
                                        'suggestedFileName': {'k': 'String'},
                                        'url': {'k': 'String'},
                                        'uuid': {'k': 'String'}},
                             'k': 'Object'},
 'Browser.downloadFinished': {'fields': {'canceled': {'k': 'Optional',
                                                      'of': {'k': 'Boolean'}},
                                         'error': {'k': 'Optional',
                                                   'of': {'k': 'String'}},
                                         'uuid': {'k': 'String'}},
                              'k': 'Object'},
 'Network.requestFailed': {'fields': {'errorCode': {'k': 'String'},
                                      'requestId': {'k': 'String'}},
                           'k': 'Object'},
 'Network.requestFinished': {'fields': {'encodedBodySize': {'k': 'Number'},
                                        'protocolVersion': {'k': 'Optional',
                                                            'of': {'k': 'String'}},
                                        'requestId': {'k': 'String'},
                                        'responseEndTime': {'k': 'Number'},
                                        'transferSize': {'k': 'Number'}},
                             'k': 'Object'},
 'Network.requestWillBeSent': {'fields': {'cause': {'k': 'String'},
                                          'frameId': {'k': 'Optional',
                                                      'of': {'k': 'String'}},
                                          'headers': {'k': 'Array',
                                                      'of': {'fields': {'name': {'k': 'String'},
                                                                        'value': {'k': 'String'}},
                                                             'k': 'Object',
                                                             'ref': 'networkTypes.HTTPHeader'}},
                                          'internalCause': {'k': 'String'},
                                          'isIntercepted': {'k': 'Boolean'},
                                          'method': {'k': 'String'},
                                          'navigationId': {'k': 'Optional',
                                                           'of': {'k': 'String'}},
                                          'postData': {'k': 'Optional',
                                                       'of': {'k': 'String'}},
                                          'redirectedFrom': {'k': 'Optional',
                                                             'of': {'k': 'String'}},
                                          'requestId': {'k': 'String'},
                                          'url': {'k': 'String'}},
                               'k': 'Object'},
 'Network.responseReceived': {'fields': {'fromCache': {'k': 'Boolean'},
                                         'fromServiceWorker': {'k': 'Boolean'},
                                         'headers': {'k': 'Array',
                                                     'of': {'fields': {'name': {'k': 'String'},
                                                                       'value': {'k': 'String'}},
                                                            'k': 'Object',
                                                            'ref': 'networkTypes.HTTPHeader'}},
                                         'remoteIPAddress': {'k': 'Optional',
                                                             'of': {'k': 'String'}},
                                         'remotePort': {'k': 'Optional',
                                                        'of': {'k': 'Number'}},
                                         'requestId': {'k': 'String'},
                                         'securityDetails': {'k': 'Nullable',
                                                             'of': {'fields': {'issuer': {'k': 'String'},
                                                                               'protocol': {'k': 'String'},
                                                                               'subjectName': {'k': 'String'},
                                                                               'validFrom': {'k': 'Number'},
                                                                               'validTo': {'k': 'Number'}},
                                                                    'k': 'Object',
                                                                    'ref': 'networkTypes.SecurityDetails'}},
                                         'status': {'k': 'Number'},
                                         'statusText': {'k': 'String'},
                                         'timing': {'fields': {'connectEnd': {'k': 'Number'},
                                                               'connectStart': {'k': 'Number'},
                                                               'domainLookupEnd': {'k': 'Number'},
                                                               'domainLookupStart': {'k': 'Number'},
                                                               'requestStart': {'k': 'Number'},
                                                               'responseStart': {'k': 'Number'},
                                                               'secureConnectionStart': {'k': 'Number'},
                                                               'startTime': {'k': 'Number'}},
                                                    'k': 'Object',
                                                    'ref': 'networkTypes.ResourceTiming'}},
                              'k': 'Object'},
 'Page.bindingCalled': {'fields': {'executionContextId': {'k': 'String'},
                                   'name': {'k': 'String'},
                                   'payload': {'k': 'Any'}},
                        'k': 'Object'},
 'Page.crashed': {'fields': {}, 'k': 'Object'},
 'Page.dialogOpened': {'fields': {'defaultValue': {'k': 'Optional',
                                                   'of': {'k': 'String'}},
                                  'dialogId': {'k': 'String'},
                                  'message': {'k': 'String'},
                                  'type': {'k': 'Enum',
                                           'values': ['prompt',
                                                      'alert',
                                                      'confirm',
                                                      'beforeunload']}},
                       'k': 'Object'},
 'Page.dispatchMessageFromWorker': {'fields': {'message': {'k': 'String'},
                                               'workerId': {'k': 'String'}},
                                    'k': 'Object'},
 'Page.eventFired': {'fields': {'frameId': {'k': 'String'},
                                'name': {'k': 'Enum',
                                         'values': ['load', 'DOMContentLoaded']}},
                     'k': 'Object'},
 'Page.fileChooserOpened': {'fields': {'element': {'fields': {'objectId': {'k': 'Optional',
                                                                           'of': {'k': 'String'}},
                                                              'subtype': {'k': 'Optional',
                                                                          'of': {'k': 'Enum',
                                                                                 'values': ['array',
                                                                                            'null',
                                                                                            'node',
                                                                                            'regexp',
                                                                                            'date',
                                                                                            'map',
                                                                                            'set',
                                                                                            'weakmap',
                                                                                            'weakset',
                                                                                            'error',
                                                                                            'proxy',
                                                                                            'promise',
                                                                                            'typedarray']}},
                                                              'type': {'k': 'Optional',
                                                                       'of': {'k': 'Enum',
                                                                              'values': ['object',
                                                                                         'function',
                                                                                         'undefined',
                                                                                         'string',
                                                                                         'number',
                                                                                         'boolean',
                                                                                         'symbol',
                                                                                         'bigint']}},
                                                              'unserializableValue': {'k': 'Optional',
                                                                                      'of': {'k': 'Enum',
                                                                                             'values': ['Infinity',
                                                                                                        '-Infinity',
                                                                                                        '-0',
                                                                                                        'NaN']}},
                                                              'value': {'k': 'Any'}},
                                                   'k': 'Object',
                                                   'ref': 'runtimeTypes.RemoteObject'},
                                       'executionContextId': {'k': 'String'}},
                            'k': 'Object'},
 'Page.frameAttached': {'fields': {'frameId': {'k': 'String'},
                                   'parentFrameId': {'k': 'Optional',
                                                     'of': {'k': 'String'}}},
                        'k': 'Object'},
 'Page.frameDetached': {'fields': {'frameId': {'k': 'String'}}, 'k': 'Object'},
 'Page.linkClicked': {'fields': {'phase': {'k': 'Enum', 'values': ['before', 'after']}},
                      'k': 'Object'},
 'Page.navigationAborted': {'fields': {'errorText': {'k': 'String'},
                                       'frameId': {'k': 'String'},
                                       'navigationId': {'k': 'String'}},
                            'k': 'Object'},
 'Page.navigationCommitted': {'fields': {'frameId': {'k': 'String'},
                                         'name': {'k': 'String'},
                                         'navigationId': {'k': 'Optional',
                                                          'of': {'k': 'String'}},
                                         'url': {'k': 'String'}},
                              'k': 'Object'},
 'Page.navigationStarted': {'fields': {'frameId': {'k': 'String'},
                                       'navigationId': {'k': 'String'}},
                            'k': 'Object'},
 'Page.ready': {'fields': {}, 'k': 'Object'},
 'Page.sameDocumentNavigation': {'fields': {'frameId': {'k': 'String'},
                                            'url': {'k': 'String'}},
                                 'k': 'Object'},
 'Page.screencastFrame': {'fields': {'data': {'k': 'String'},
                                     'deviceHeight': {'k': 'Number'},
                                     'deviceWidth': {'k': 'Number'},
                                     'timestamp': {'k': 'Number'}},
                          'k': 'Object'},
 'Page.uncaughtError': {'fields': {'frameId': {'k': 'String'},
                                   'location': {'fields': {'columnNumber': {'k': 'Number'},
                                                           'lineNumber': {'k': 'Number'},
                                                           'url': {'k': 'String'}},
                                                'k': 'Object',
                                                'ref': 'runtimeTypes.ScriptLocation'},
                                   'message': {'k': 'String'},
                                   'stack': {'k': 'String'}},
                        'k': 'Object'},
 'Page.webSocketClosed': {'fields': {'error': {'k': 'String'},
                                     'frameId': {'k': 'String'},
                                     'wsid': {'k': 'String'}},
                          'k': 'Object'},
 'Page.webSocketCreated': {'fields': {'frameId': {'k': 'String'},
                                      'requestURL': {'k': 'String'},
                                      'wsid': {'k': 'String'}},
                           'k': 'Object'},
 'Page.webSocketFrameReceived': {'fields': {'data': {'k': 'String'},
                                            'frameId': {'k': 'String'},
                                            'opcode': {'k': 'Number'},
                                            'wsid': {'k': 'String'}},
                                 'k': 'Object'},
 'Page.webSocketFrameSent': {'fields': {'data': {'k': 'String'},
                                        'frameId': {'k': 'String'},
                                        'opcode': {'k': 'Number'},
                                        'wsid': {'k': 'String'}},
                             'k': 'Object'},
 'Page.webSocketOpened': {'fields': {'effectiveURL': {'k': 'String'},
                                     'frameId': {'k': 'String'},
                                     'requestId': {'k': 'String'},
                                     'wsid': {'k': 'String'}},
                          'k': 'Object'},
 'Page.workerCreated': {'fields': {'frameId': {'k': 'String'},
                                   'url': {'k': 'String'},
                                   'workerId': {'k': 'String'}},
                        'k': 'Object'},
 'Page.workerDestroyed': {'fields': {'workerId': {'k': 'String'}}, 'k': 'Object'},
 'Runtime.console': {'fields': {'args': {'k': 'Array',
                                         'of': {'fields': {'objectId': {'k': 'Optional',
                                                                        'of': {'k': 'String'}},
                                                           'subtype': {'k': 'Optional',
                                                                       'of': {'k': 'Enum',
                                                                              'values': ['array',
                                                                                         'null',
                                                                                         'node',
                                                                                         'regexp',
                                                                                         'date',
                                                                                         'map',
                                                                                         'set',
                                                                                         'weakmap',
                                                                                         'weakset',
                                                                                         'error',
                                                                                         'proxy',
                                                                                         'promise',
                                                                                         'typedarray']}},
                                                           'type': {'k': 'Optional',
                                                                    'of': {'k': 'Enum',
                                                                           'values': ['object',
                                                                                      'function',
                                                                                      'undefined',
                                                                                      'string',
                                                                                      'number',
                                                                                      'boolean',
                                                                                      'symbol',
                                                                                      'bigint']}},
                                                           'unserializableValue': {'k': 'Optional',
                                                                                   'of': {'k': 'Enum',
                                                                                          'values': ['Infinity',
                                                                                                     '-Infinity',
                                                                                                     '-0',
                                                                                                     'NaN']}},
                                                           'value': {'k': 'Any'}},
                                                'k': 'Object',
                                                'ref': 'runtimeTypes.RemoteObject'}},
                                'executionContextId': {'k': 'String'},
                                'location': {'fields': {'columnNumber': {'k': 'Number'},
                                                        'lineNumber': {'k': 'Number'},
                                                        'url': {'k': 'String'}},
                                             'k': 'Object',
                                             'ref': 'runtimeTypes.ScriptLocation'},
                                'type': {'k': 'String'}},
                     'k': 'Object'},
 'Runtime.executionContextCreated': {'fields': {'auxData': {'fields': {'frameId': {'k': 'Optional',
                                                                                   'of': {'k': 'String'}},
                                                                       'name': {'k': 'Optional',
                                                                                'of': {'k': 'String'}}},
                                                            'k': 'Object',
                                                            'ref': 'runtimeTypes.AuxData'},
                                                'executionContextId': {'k': 'String'}},
                                     'k': 'Object'},
 'Runtime.executionContextDestroyed': {'fields': {'executionContextId': {'k': 'String'}},
                                       'k': 'Object'},
 'Runtime.executionContextsCleared': {'fields': {}, 'k': 'Object'}}
