import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by qmltyperegistrar.

Module {
    Component {
        name: "Array"
        accessSemantics: "reference"
        prototype: "ArrayPrototype"
        Property { name: "length"; type: "number" }
    }
    Component {
        name: "ArrayBuffer"
        accessSemantics: "reference"
        prototype: "ArrayBufferPrototype"
    }
    Component {
        name: "ArrayBufferPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "byteLength"; type: "number" }
        Method {
            name: "constructor"
            type: "ArrayBuffer"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "slice"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "ArrayPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "length"; type: "number" }
        Method {
            name: "constructor"
            type: "Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "toLocaleString"; isJavaScriptFunction: true }
        Method {
            name: "concat"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "copyWithin"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "entries"; isJavaScriptFunction: true }
        Method {
            name: "fill"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "find"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "findIndex"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "includes"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "join"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "keys"; isJavaScriptFunction: true }
        Method { name: "pop"; isJavaScriptFunction: true }
        Method {
            name: "push"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "reverse"; isJavaScriptFunction: true }
        Method { name: "shift"; isJavaScriptFunction: true }
        Method {
            name: "slice"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "sort"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "splice"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "unshift"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "indexOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "lastIndexOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "every"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "some"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "forEach"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "map"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "filter"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "reduce"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "reduceRight"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "values"; isJavaScriptFunction: true }
    }
    Component {
        name: "Atomics"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "add"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "and"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "compareExchange"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "exchange"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "isLockFree"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "load"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "or"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "store"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "sub"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "wait"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "wake"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "xor"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Boolean"; accessSemantics: "reference"; prototype: "BooleanPrototype" }
    Component {
        name: "BooleanPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "constructor"
            type: "Boolean"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "valueOf"; isJavaScriptFunction: true }
    }
    Component {
        name: "Console"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method { name: "debug"; isJavaScriptFunction: true }
        Method { name: "log"; isJavaScriptFunction: true }
        Method { name: "info"; isJavaScriptFunction: true }
        Method { name: "warn"; isJavaScriptFunction: true }
        Method { name: "error"; isJavaScriptFunction: true }
        Method { name: "assert"; isJavaScriptFunction: true }
        Method { name: "count"; isJavaScriptFunction: true }
        Method { name: "profile"; isJavaScriptFunction: true }
        Method { name: "profileEnd"; isJavaScriptFunction: true }
        Method { name: "time"; isJavaScriptFunction: true }
        Method { name: "timeEnd"; isJavaScriptFunction: true }
        Method { name: "trace"; isJavaScriptFunction: true }
        Method { name: "exception"; isJavaScriptFunction: true }
    }
    Component { name: "DataView"; accessSemantics: "reference"; prototype: "DataViewPrototype" }
    Component {
        name: "DataViewPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "buffer"; type: "DataViewPrototypeBuffer" }
        Property { name: "byteLength"; type: "number" }
        Property { name: "byteOffset"; type: "number" }
        Method {
            name: "constructor"
            type: "DataView"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getInt8"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getUint8"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getInt16"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getUint16"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getInt32"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getUint32"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getFloat32"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getFloat64"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setInt8"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUint8"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setInt16"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUint16"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setInt32"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUint32"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setFloat32"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setFloat64"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "getUInt8"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getUInt16"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "getUInt32"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setUInt8"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setUInt16"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setUInt32"
            isJavaScriptFunction: true
            Parameter {}
        }
    }
    Component {
        name: "DataViewPrototypeBuffer"
        accessSemantics: "reference"
        prototype: "ArrayBufferPrototype"
    }
    Component { name: "Date"; accessSemantics: "reference"; prototype: "DatePrototype" }
    Component {
        name: "DatePrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "constructor"
            type: "Date"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "toDateString"; isJavaScriptFunction: true }
        Method { name: "toTimeString"; isJavaScriptFunction: true }
        Method { name: "toLocaleString"; isJavaScriptFunction: true }
        Method { name: "toLocaleDateString"; isJavaScriptFunction: true }
        Method { name: "toLocaleTimeString"; isJavaScriptFunction: true }
        Method { name: "valueOf"; isJavaScriptFunction: true }
        Method { name: "getTime"; isJavaScriptFunction: true }
        Method { name: "getYear"; isJavaScriptFunction: true }
        Method { name: "getFullYear"; isJavaScriptFunction: true }
        Method { name: "getUTCFullYear"; isJavaScriptFunction: true }
        Method { name: "getMonth"; isJavaScriptFunction: true }
        Method { name: "getUTCMonth"; isJavaScriptFunction: true }
        Method { name: "getDate"; isJavaScriptFunction: true }
        Method { name: "getUTCDate"; isJavaScriptFunction: true }
        Method { name: "getDay"; isJavaScriptFunction: true }
        Method { name: "getUTCDay"; isJavaScriptFunction: true }
        Method { name: "getHours"; isJavaScriptFunction: true }
        Method { name: "getUTCHours"; isJavaScriptFunction: true }
        Method { name: "getMinutes"; isJavaScriptFunction: true }
        Method { name: "getUTCMinutes"; isJavaScriptFunction: true }
        Method { name: "getSeconds"; isJavaScriptFunction: true }
        Method { name: "getUTCSeconds"; isJavaScriptFunction: true }
        Method { name: "getMilliseconds"; isJavaScriptFunction: true }
        Method { name: "getUTCMilliseconds"; isJavaScriptFunction: true }
        Method { name: "getTimezoneOffset"; isJavaScriptFunction: true }
        Method {
            name: "setTime"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setMilliseconds"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setUTCMilliseconds"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setSeconds"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUTCSeconds"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setMinutes"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUTCMinutes"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setHours"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUTCHours"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setDate"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setUTCDate"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setMonth"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUTCMonth"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setYear"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "setFullYear"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setUTCFullYear"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method { name: "toUTCString"; isJavaScriptFunction: true }
        Method { name: "toGMTString"; isJavaScriptFunction: true }
        Method { name: "toISOString"; isJavaScriptFunction: true }
        Method {
            name: "toJSON"
            isJavaScriptFunction: true
            Parameter {}
        }
    }
    Component {
        name: "Error"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "ErrorPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "Error"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "EvalError"
        accessSemantics: "reference"
        prototype: "EvalErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "EvalErrorPrototype"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "EvalError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "Float32Array"
        accessSemantics: "reference"
        prototype: "Float32ArrayPrototype"
    }
    Component {
        name: "Float32ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Float32Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "Float64Array"
        accessSemantics: "reference"
        prototype: "Float64ArrayPrototype"
    }
    Component {
        name: "Float64ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Float64Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "Function"
        accessSemantics: "reference"
        prototype: "FunctionPrototype"
        Property { name: "prototype"; type: "Object" }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "length"; type: "number"; isReadonly: true }
    }
    Component {
        name: "FunctionPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "length"; type: "number"; isReadonly: true }
        Property { name: "caller" }
        Property { name: "arguments" }
        Method {
            name: "constructor"
            type: "Function"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method {
            name: "apply"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "call"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "bind"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "connect"; isJavaScriptFunction: true }
        Method { name: "disconnect"; isJavaScriptFunction: true }
    }
    Component {
        name: "GlobalObject"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "Atomics"; type: "Atomics" }
        Property { name: "Math"; type: "Math" }
        Property { name: "JSON"; type: "JSON" }
        Property { name: "Reflect"; type: "Reflect" }
        Property { name: "undefined"; isReadonly: true }
        Property { name: "NaN"; type: "number"; isReadonly: true }
        Property { name: "Infinity"; type: "number"; isReadonly: true }
        Property { name: "Qt"; type: "Qt" }
        Property { name: "console"; type: "Console" }
        Method {
            name: "Object"
            type: "Object"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "String"
            type: "String"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "Symbol"; type: "undefined"; isConstructor: true; isJavaScriptFunction: true }
        Method {
            name: "Number"
            type: "Number"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "Boolean"
            type: "Boolean"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "Array"
            type: "Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "Function"
            type: "Function"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "Date"
            type: "Date"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "RegExp"
            type: "RegExp"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Error"
            type: "Error"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "EvalError"
            type: "EvalError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "RangeError"
            type: "RangeError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "ReferenceError"
            type: "ReferenceError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "SyntaxError"
            type: "SyntaxError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "TypeError"
            type: "TypeError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "URIError"
            type: "URIError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "Promise"
            type: "Promise"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "URL"; type: "URL"; isConstructor: true; isJavaScriptFunction: true }
        Method {
            name: "URLSearchParams"
            type: "URLSearchParams"
            isConstructor: true
            isJavaScriptFunction: true
        }
        Method {
            name: "SharedArrayBuffer"
            type: "SharedArrayBuffer"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "ArrayBuffer"
            type: "ArrayBuffer"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "DataView"
            type: "DataView"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "WeakSet"; type: "WeakSet"; isConstructor: true; isJavaScriptFunction: true }
        Method { name: "Set"; type: "Set"; isConstructor: true; isJavaScriptFunction: true }
        Method { name: "WeakMap"; type: "WeakMap"; isConstructor: true; isJavaScriptFunction: true }
        Method { name: "Map"; type: "Map"; isConstructor: true; isJavaScriptFunction: true }
        Method {
            name: "Int8Array"
            type: "Int8Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Uint8Array"
            type: "Uint8Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Int16Array"
            type: "Int16Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Uint16Array"
            type: "Uint16Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Int32Array"
            type: "Int32Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Uint32Array"
            type: "Uint32Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Uint8ClampedArray"
            type: "Uint8ClampedArray"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Float32Array"
            type: "Float32Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Float64Array"
            type: "Float64Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "Proxy"
            type: "Proxy"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "eval"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "parseInt"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "parseFloat"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "isNaN"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "isFinite"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "decodeURI"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "decodeURIComponent"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "encodeURI"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "encodeURIComponent"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "escape"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "unescape"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "qsTranslate"; isJavaScriptFunction: true }
        Method { name: "QT_TRANSLATE_NOOP"; isJavaScriptFunction: true }
        Method { name: "qsTr"; isJavaScriptFunction: true }
        Method { name: "QT_TR_NOOP"; isJavaScriptFunction: true }
        Method { name: "qsTrId"; isJavaScriptFunction: true }
        Method { name: "QT_TRID_NOOP"; isJavaScriptFunction: true }
        Method { name: "print"; isJavaScriptFunction: true }
        Method { name: "gc"; isJavaScriptFunction: true }
    }
    Component { name: "Int16Array"; accessSemantics: "reference"; prototype: "Int16ArrayPrototype" }
    Component {
        name: "Int16ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Int16Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Int32Array"; accessSemantics: "reference"; prototype: "Int32ArrayPrototype" }
    Component {
        name: "Int32ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Int32Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Int8Array"; accessSemantics: "reference"; prototype: "Int8ArrayPrototype" }
    Component {
        name: "Int8ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Int8Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "IntrinsicTypedArrayPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "buffer" }
        Property { name: "byteLength" }
        Property { name: "byteOffset" }
        Property { name: "length" }
        Method {
            name: "copyWithin"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "entries"; isJavaScriptFunction: true }
        Method {
            name: "every"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "fill"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "filter"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "find"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "findIndex"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "forEach"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "includes"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "indexOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "join"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "keys"; isJavaScriptFunction: true }
        Method {
            name: "lastIndexOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "map"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "reduce"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "reduceRight"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "reverse"; isJavaScriptFunction: true }
        Method {
            name: "some"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "set"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "slice"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "subarray"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "toLocaleString"; isJavaScriptFunction: true }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "values"; isJavaScriptFunction: true }
    }
    Component {
        name: "JSON"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "parse"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "stringify"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Map"; accessSemantics: "reference"; prototype: "MapPrototype" }
    Component {
        name: "MapPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "size"; type: "number" }
        Method { name: "constructor"; type: "Map"; isConstructor: true; isJavaScriptFunction: true }
        Method { name: "clear"; isJavaScriptFunction: true }
        Method {
            name: "delete"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "forEach"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "get"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "has"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "keys"; isJavaScriptFunction: true }
        Method {
            name: "set"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "values"; isJavaScriptFunction: true }
        Method { name: "entries"; isJavaScriptFunction: true }
    }
    Component {
        name: "Math"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "E"; type: "number"; isReadonly: true }
        Property { name: "LN2"; type: "number"; isReadonly: true }
        Property { name: "LN10"; type: "number"; isReadonly: true }
        Property { name: "LOG2E"; type: "number"; isReadonly: true }
        Property { name: "LOG10E"; type: "number"; isReadonly: true }
        Property { name: "PI"; type: "number"; isReadonly: true }
        Property { name: "SQRT1_2"; type: "number"; isReadonly: true }
        Property { name: "SQRT2"; type: "number"; isReadonly: true }
        Method {
            name: "abs"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "abs"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "acos"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "acos"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "acosh"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "acosh"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "asin"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "asin"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "asinh"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "asinh"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "atan"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "atan"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "atanh"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "atanh"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "atan2"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
            Parameter { name: "arg2"; type: "number" }
        }
        Method {
            name: "atan2"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "cbrt"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "cbrt"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "ceil"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "ceil"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "clz32"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "clz32"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "cos"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "cos"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "cosh"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "cosh"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "exp"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "exp"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "expm1"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "expm1"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "floor"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "floor"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "fround"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "fround"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "hypot"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
            Parameter { name: "arg2"; type: "number" }
        }
        Method {
            name: "hypot"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "imul"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
            Parameter { name: "arg2"; type: "number" }
        }
        Method {
            name: "imul"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "log"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "log"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "log10"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "log10"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "log1p"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "log1p"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "log2"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "log2"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "max"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
            Parameter { name: "arg2"; type: "number" }
        }
        Method {
            name: "max"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "min"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
            Parameter { name: "arg2"; type: "number" }
        }
        Method {
            name: "min"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "pow"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
            Parameter { name: "arg2"; type: "number" }
        }
        Method {
            name: "pow"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "random"; type: "number" }
        Method {
            name: "round"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "round"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "sign"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "sign"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "sin"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "sin"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "sinh"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "sinh"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "sqrt"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "sqrt"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "tan"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "tan"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "tanh"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "tanh"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "trunc"
            type: "number"
            Parameter { name: "arg1"; type: "number" }
        }
        Method {
            name: "trunc"
            isJavaScriptFunction: true
            Parameter {}
        }
    }
    Component { name: "Number"; accessSemantics: "reference"; prototype: "NumberPrototype" }
    Component {
        name: "NumberPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "constructor"
            type: "Number"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "toString"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toLocaleString"; isJavaScriptFunction: true }
        Method { name: "valueOf"; isJavaScriptFunction: true }
        Method {
            name: "toFixed"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "toExponential"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "toPrecision"
            isJavaScriptFunction: true
            Parameter {}
        }
    }
    Component { name: "Object"; accessSemantics: "reference"; prototype: "ObjectPrototype" }
    Component {
        name: "ObjectPrototype"
        accessSemantics: "reference"
        Property { name: "__proto__" }
        Method {
            name: "constructor"
            type: "Object"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "toLocaleString"; isJavaScriptFunction: true }
        Method { name: "valueOf"; isJavaScriptFunction: true }
        Method {
            name: "hasOwnProperty"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "isPrototypeOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "propertyIsEnumerable"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "__defineGetter__"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "__defineSetter__"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Promise"; accessSemantics: "reference"; prototype: "PromisePrototype" }
    Component {
        name: "PromisePrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "constructor"
            type: "Promise"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "then"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "catch"
            isJavaScriptFunction: true
            Parameter {}
        }
    }
    Component { name: "Proxy"; accessSemantics: "reference"; prototype: "ObjectPrototype" }
    Component {
        name: "Qt"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "objectName"; type: "string" }
        Property { name: "application"; type: "QtApplication" }
        Property { name: "platform"; type: "QtPlatform" }
        Property { name: "inputMethod"; type: "QtInputMethod" }
        Property { name: "styleHints"; type: "QtStyleHints" }
        Property { name: "uiLanguage"; type: "string" }
        Method {
            name: "callLater"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "objectNameChanged"; isJavaScriptFunction: true }
        Method { name: "include"; isJavaScriptFunction: true }
        Method { name: "isQtObject"; isJavaScriptFunction: true }
        Method { name: "color"; isJavaScriptFunction: true }
        Method { name: "rgba"; isJavaScriptFunction: true }
        Method { name: "hsla"; isJavaScriptFunction: true }
        Method { name: "hsva"; isJavaScriptFunction: true }
        Method { name: "colorEqual"; isJavaScriptFunction: true }
        Method { name: "rect"; isJavaScriptFunction: true }
        Method { name: "point"; isJavaScriptFunction: true }
        Method { name: "size"; isJavaScriptFunction: true }
        Method { name: "vector2d"; isJavaScriptFunction: true }
        Method { name: "vector3d"; isJavaScriptFunction: true }
        Method { name: "vector4d"; isJavaScriptFunction: true }
        Method { name: "quaternion"; isJavaScriptFunction: true }
        Method { name: "matrix4x4"; isJavaScriptFunction: true }
        Method { name: "lighter"; isJavaScriptFunction: true }
        Method { name: "darker"; isJavaScriptFunction: true }
        Method { name: "alpha"; isJavaScriptFunction: true }
        Method { name: "tint"; isJavaScriptFunction: true }
        Method { name: "formatDate"; isJavaScriptFunction: true }
        Method { name: "formatTime"; isJavaScriptFunction: true }
        Method { name: "formatDateTime"; isJavaScriptFunction: true }
        Method { name: "locale"; isJavaScriptFunction: true }
        Method { name: "url"; isJavaScriptFunction: true }
        Method { name: "resolvedUrl"; isJavaScriptFunction: true }
        Method { name: "openUrlExternally"; isJavaScriptFunction: true }
        Method { name: "font"; isJavaScriptFunction: true }
        Method { name: "fontFamilies"; isJavaScriptFunction: true }
        Method { name: "md5"; isJavaScriptFunction: true }
        Method { name: "btoa"; isJavaScriptFunction: true }
        Method { name: "atob"; isJavaScriptFunction: true }
        Method { name: "quit"; isJavaScriptFunction: true }
        Method { name: "exit"; isJavaScriptFunction: true }
        Method { name: "createQmlObject"; isJavaScriptFunction: true }
        Method { name: "createComponent"; isJavaScriptFunction: true }
        Method { name: "binding"; isJavaScriptFunction: true }
    }
    Component {
        name: "QtApplication"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "objectName"; type: "string" }
        Property { name: "arguments"; type: "QtApplicationArguments" }
        Property { name: "name"; type: "string" }
        Property { name: "version"; type: "string" }
        Property { name: "organization"; type: "string" }
        Property { name: "domain"; type: "string" }
        Method { name: "objectNameChanged"; isJavaScriptFunction: true }
        Method { name: "aboutToQuit"; isJavaScriptFunction: true }
        Method { name: "nameChanged"; isJavaScriptFunction: true }
        Method { name: "versionChanged"; isJavaScriptFunction: true }
        Method { name: "organizationChanged"; isJavaScriptFunction: true }
        Method { name: "domainChanged"; isJavaScriptFunction: true }
        Method { name: "setName"; isJavaScriptFunction: true }
        Method { name: "setVersion"; isJavaScriptFunction: true }
        Method { name: "setOrganization"; isJavaScriptFunction: true }
        Method { name: "setDomain"; isJavaScriptFunction: true }
    }
    Component {
        name: "QtApplicationArguments"
        accessSemantics: "reference"
        prototype: "ArrayPrototype"
        Property { name: "0"; type: "string" }
        Property { name: "1"; type: "string" }
        Property { name: "length"; type: "number" }
    }
    Component {
        name: "QtInputMethod"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "objectName"; type: "string" }
        Method { name: "objectNameChanged"; isJavaScriptFunction: true }
    }
    Component {
        name: "QtPlatform"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "objectName"; type: "string" }
        Property { name: "os"; type: "string" }
        Property { name: "pluginName"; type: "string" }
        Method { name: "objectNameChanged"; isJavaScriptFunction: true }
    }
    Component {
        name: "QtStyleHints"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "objectName"; type: "string" }
        Method { name: "objectNameChanged"; isJavaScriptFunction: true }
    }
    Component {
        name: "RangeError"
        accessSemantics: "reference"
        prototype: "RangeErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "RangeErrorPrototype"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "RangeError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "ReferenceError"
        accessSemantics: "reference"
        prototype: "ReferenceErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "ReferenceErrorPrototype"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "ReferenceError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "Reflect"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "apply"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "construct"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "defineProperty"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "deleteProperty"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "get"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "getOwnPropertyDescriptor"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "getPrototypeOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "has"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "isExtensible"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "ownKeys"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "preventExtensions"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "set"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
        Method {
            name: "setPrototypeOf"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "RegExp"
        accessSemantics: "reference"
        prototype: "RegExpPrototype"
        Property { name: "lastIndex"; type: "number" }
    }
    Component {
        name: "RegExpPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "flags"; type: "string" }
        Property { name: "global" }
        Property { name: "ignoreCase" }
        Property { name: "multiline" }
        Property { name: "source"; type: "string" }
        Property { name: "sticky" }
        Property { name: "unicode" }
        Method {
            name: "constructor"
            type: "RegExp"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "exec"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "test"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method {
            name: "compile"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Set"; accessSemantics: "reference"; prototype: "SetPrototype" }
    Component {
        name: "SetPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "size"; type: "number" }
        Method { name: "constructor"; type: "Set"; isConstructor: true; isJavaScriptFunction: true }
        Method {
            name: "add"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "clear"; isJavaScriptFunction: true }
        Method {
            name: "delete"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "entries"; isJavaScriptFunction: true }
        Method {
            name: "forEach"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "has"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "keys"; isJavaScriptFunction: true }
        Method { name: "values"; isJavaScriptFunction: true }
    }
    Component {
        name: "SharedArrayBuffer"
        accessSemantics: "reference"
        prototype: "SharedArrayBufferPrototype"
    }
    Component {
        name: "SharedArrayBufferPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "byteLength"; type: "number" }
        Method {
            name: "constructor"
            type: "SharedArrayBuffer"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "slice"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "String"
        accessSemantics: "reference"
        prototype: "StringPrototype"
        Property { name: "length"; type: "number"; isReadonly: true }
    }
    Component {
        name: "StringPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "length"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "String"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "valueOf"; isJavaScriptFunction: true }
        Method {
            name: "charAt"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "charCodeAt"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "codePointAt"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "concat"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "endsWith"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "indexOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "includes"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "lastIndexOf"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "localeCompare"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "match"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "normalize"; isJavaScriptFunction: true }
        Method {
            name: "padEnd"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "padStart"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "repeat"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "replace"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "search"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "slice"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "split"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "startsWith"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "substr"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method {
            name: "substring"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
        Method { name: "toLowerCase"; isJavaScriptFunction: true }
        Method { name: "toLocaleLowerCase"; isJavaScriptFunction: true }
        Method { name: "toUpperCase"; isJavaScriptFunction: true }
        Method { name: "toLocaleUpperCase"; isJavaScriptFunction: true }
        Method { name: "trim"; isJavaScriptFunction: true }
        Method { name: "arg"; isJavaScriptFunction: true }
    }
    Component {
        name: "SymbolPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method {
            name: "constructor"
            type: "undefined"
            isConstructor: true
            isJavaScriptFunction: true
        }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "valueOf"; isJavaScriptFunction: true }
    }
    Component {
        name: "SyntaxError"
        accessSemantics: "reference"
        prototype: "SyntaxErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "SyntaxErrorPrototype"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "SyntaxError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "TypeError"
        accessSemantics: "reference"
        prototype: "TypeErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "TypeErrorPrototype"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "TypeError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component {
        name: "URIError"
        accessSemantics: "reference"
        prototype: "URIErrorPrototype"
        Property { name: "stack"; type: "string" }
        Property { name: "fileName" }
        Property { name: "lineNumber" }
    }
    Component {
        name: "URIErrorPrototype"
        accessSemantics: "reference"
        prototype: "ErrorPrototype"
        Property { name: "message"; type: "string" }
        Property { name: "name"; type: "string" }
        Method {
            name: "constructor"
            type: "URIError"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
        }
        Method { name: "toString"; isJavaScriptFunction: true }
    }
    Component { name: "URL"; accessSemantics: "reference"; prototype: "URLPrototype" }
    Component {
        name: "URLPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Property { name: "hash" }
        Property { name: "host" }
        Property { name: "hostname" }
        Property { name: "href" }
        Property { name: "origin" }
        Property { name: "password" }
        Property { name: "pathname" }
        Property { name: "port" }
        Property { name: "protocol" }
        Property { name: "search" }
        Property { name: "searchParams" }
        Property { name: "username" }
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "toJSON"; isJavaScriptFunction: true }
    }
    Component {
        name: "URLSearchParams"
        accessSemantics: "reference"
        prototype: "URLSearchParamsPrototype"
    }
    Component {
        name: "URLSearchParamsPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method { name: "toString"; isJavaScriptFunction: true }
        Method { name: "sort"; isJavaScriptFunction: true }
        Method { name: "append"; isJavaScriptFunction: true }
        Method { name: "delete"; isJavaScriptFunction: true }
        Method { name: "has"; isJavaScriptFunction: true }
        Method { name: "set"; isJavaScriptFunction: true }
        Method { name: "get"; isJavaScriptFunction: true }
        Method { name: "getAll"; isJavaScriptFunction: true }
        Method { name: "forEach"; isJavaScriptFunction: true }
        Method { name: "entries"; isJavaScriptFunction: true }
        Method { name: "keys"; isJavaScriptFunction: true }
        Method { name: "values"; isJavaScriptFunction: true }
    }
    Component {
        name: "Uint16Array"
        accessSemantics: "reference"
        prototype: "Uint16ArrayPrototype"
    }
    Component {
        name: "Uint16ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Uint16Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "Uint32Array"
        accessSemantics: "reference"
        prototype: "Uint32ArrayPrototype"
    }
    Component {
        name: "Uint32ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Uint32Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "Uint8Array"; accessSemantics: "reference"; prototype: "Uint8ArrayPrototype" }
    Component {
        name: "Uint8ArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Uint8Array"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component {
        name: "Uint8ClampedArray"
        accessSemantics: "reference"
        prototype: "Uint8ClampedArrayPrototype"
    }
    Component {
        name: "Uint8ClampedArrayPrototype"
        accessSemantics: "reference"
        prototype: "IntrinsicTypedArrayPrototype"
        Property { name: "BYTES_PER_ELEMENT"; type: "number"; isReadonly: true }
        Method {
            name: "constructor"
            type: "Uint8ClampedArray"
            isConstructor: true
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "WeakMap"; accessSemantics: "reference"; prototype: "WeakMapPrototype" }
    Component {
        name: "WeakMapPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method { name: "constructor"; type: "WeakMap"; isConstructor: true; isJavaScriptFunction: true }
        Method {
            name: "delete"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "get"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "has"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "set"
            isJavaScriptFunction: true
            Parameter {}
            Parameter {}
        }
    }
    Component { name: "WeakSet"; accessSemantics: "reference"; prototype: "WeakSetPrototype" }
    Component {
        name: "WeakSetPrototype"
        accessSemantics: "reference"
        prototype: "ObjectPrototype"
        Method { name: "constructor"; type: "WeakSet"; isConstructor: true; isJavaScriptFunction: true }
        Method {
            name: "add"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "delete"
            isJavaScriptFunction: true
            Parameter {}
        }
        Method {
            name: "has"
            isJavaScriptFunction: true
            Parameter {}
        }
    }
    Component { name: "boolean"; accessSemantics: "value"; prototype: "BooleanPrototype" }
    Component {
        name: "function"
        accessSemantics: "reference"
        prototype: "FunctionPrototype"
        Property { name: "prototype"; type: "Object" }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "length"; type: "number"; isReadonly: true }
    }
    Component { name: "number"; accessSemantics: "value"; prototype: "NumberPrototype" }
    Component { name: "object"; accessSemantics: "reference"; prototype: "ObjectPrototype" }
    Component { name: "string"; accessSemantics: "value"; prototype: "StringPrototype" }
    Component { name: "symbol"; accessSemantics: "value"; prototype: "SymbolPrototype" }
    Component { name: "undefined"; accessSemantics: "value" }
}
