#include <LibJS/Runtime/Object.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/Bindings/DedicatedWorkerExposedInterfaces.h>
#include <LibWeb/HTML/Scripting/Environments.h>
#include <LibWeb/HTML/UniversalGlobalScope.h>
#include <LibWeb/Bindings/CompressionStream.h>
#include <LibWeb/Bindings/DecompressionStream.h>
#include <LibWeb/Bindings/SecurityPolicyViolationEvent.h>
#include <LibWeb/Bindings/Crypto.h>
#include <LibWeb/Bindings/CryptoKey.h>
#include <LibWeb/Bindings/SubtleCrypto.h>
#include <LibWeb/Bindings/CSSImageValue.h>
#include <LibWeb/Bindings/CSSKeywordValue.h>
#include <LibWeb/Bindings/CSSMathClamp.h>
#include <LibWeb/Bindings/CSSMathInvert.h>
#include <LibWeb/Bindings/CSSMathMax.h>
#include <LibWeb/Bindings/CSSMathMin.h>
#include <LibWeb/Bindings/CSSMathNegate.h>
#include <LibWeb/Bindings/CSSMathProduct.h>
#include <LibWeb/Bindings/CSSMathSum.h>
#include <LibWeb/Bindings/CSSMathValue.h>
#include <LibWeb/Bindings/CSSMatrixComponent.h>
#include <LibWeb/Bindings/CSSNumericArray.h>
#include <LibWeb/Bindings/CSSNumericValue.h>
#include <LibWeb/Bindings/CSSPerspective.h>
#include <LibWeb/Bindings/CSSRotate.h>
#include <LibWeb/Bindings/CSSScale.h>
#include <LibWeb/Bindings/CSSSkew.h>
#include <LibWeb/Bindings/CSSSkewX.h>
#include <LibWeb/Bindings/CSSSkewY.h>
#include <LibWeb/Bindings/CSSStyleValue.h>
#include <LibWeb/Bindings/CSSTransformComponent.h>
#include <LibWeb/Bindings/CSSTransformValue.h>
#include <LibWeb/Bindings/CSSTranslate.h>
#include <LibWeb/Bindings/CSSUnitValue.h>
#include <LibWeb/Bindings/CSSUnparsedValue.h>
#include <LibWeb/Bindings/CSSVariableReferenceValue.h>
#include <LibWeb/Bindings/FontFace.h>
#include <LibWeb/Bindings/FontFaceSet.h>
#include <LibWeb/Bindings/FontFaceSetLoadEvent.h>
#include <LibWeb/Bindings/StylePropertyMapReadOnly.h>
#include <LibWeb/Bindings/AbortController.h>
#include <LibWeb/Bindings/AbortSignal.h>
#include <LibWeb/Bindings/CustomEvent.h>
#include <LibWeb/Bindings/Event.h>
#include <LibWeb/Bindings/EventTarget.h>
#include <LibWeb/Bindings/DOMURL.h>
#include <LibWeb/Bindings/Origin.h>
#include <LibWeb/Bindings/URLSearchParams.h>
#include <LibWeb/Bindings/TextDecoder.h>
#include <LibWeb/Bindings/TextDecoderStream.h>
#include <LibWeb/Bindings/TextEncoder.h>
#include <LibWeb/Bindings/TextEncoderStream.h>
#include <LibWeb/Bindings/Headers.h>
#include <LibWeb/Bindings/Request.h>
#include <LibWeb/Bindings/Response.h>
#include <LibWeb/Bindings/Blob.h>
#include <LibWeb/Bindings/File.h>
#include <LibWeb/Bindings/FileList.h>
#include <LibWeb/Bindings/FileReader.h>
#include <LibWeb/Bindings/FileReaderSync.h>
#include <LibWeb/Bindings/DOMMatrix.h>
#include <LibWeb/Bindings/DOMMatrixReadOnly.h>
#include <LibWeb/Bindings/DOMPoint.h>
#include <LibWeb/Bindings/DOMPointReadOnly.h>
#include <LibWeb/Bindings/DOMQuad.h>
#include <LibWeb/Bindings/DOMRect.h>
#include <LibWeb/Bindings/DOMRectReadOnly.h>
#include <LibWeb/Bindings/Performance.h>
#include <LibWeb/Bindings/BroadcastChannel.h>
#include <LibWeb/Bindings/CanvasGradient.h>
#include <LibWeb/Bindings/CanvasPattern.h>
#include <LibWeb/Bindings/CloseEvent.h>
#include <LibWeb/Bindings/DedicatedWorkerGlobalScope.h>
#include <LibWeb/Bindings/DOMStringList.h>
#include <LibWeb/Bindings/ErrorEvent.h>
#include <LibWeb/Bindings/EventSource.h>
#include <LibWeb/Bindings/ImageBitmap.h>
#include <LibWeb/Bindings/ImageData.h>
#include <LibWeb/Bindings/MessageChannel.h>
#include <LibWeb/Bindings/MessageEvent.h>
#include <LibWeb/Bindings/MessagePort.h>
#include <LibWeb/Bindings/OffscreenCanvas.h>
#include <LibWeb/Bindings/OffscreenCanvasRenderingContext2D.h>
#include <LibWeb/Bindings/Path2D.h>
#include <LibWeb/Bindings/PromiseRejectionEvent.h>
#include <LibWeb/Bindings/TextMetrics.h>
#include <LibWeb/Bindings/Worker.h>
#include <LibWeb/Bindings/WorkerGlobalScope.h>
#include <LibWeb/Bindings/WorkerLocation.h>
#include <LibWeb/Bindings/WorkerNavigator.h>
#include <LibWeb/Bindings/IDBCursor.h>
#include <LibWeb/Bindings/IDBCursorWithValue.h>
#include <LibWeb/Bindings/IDBDatabase.h>
#include <LibWeb/Bindings/IDBFactory.h>
#include <LibWeb/Bindings/IDBIndex.h>
#include <LibWeb/Bindings/IDBKeyRange.h>
#include <LibWeb/Bindings/IDBObjectStore.h>
#include <LibWeb/Bindings/IDBOpenDBRequest.h>
#include <LibWeb/Bindings/IDBRecord.h>
#include <LibWeb/Bindings/IDBRequest.h>
#include <LibWeb/Bindings/IDBTransaction.h>
#include <LibWeb/Bindings/IDBVersionChangeEvent.h>
#include <LibWeb/Bindings/MediaCapabilities.h>
#include <LibWeb/Bindings/BufferedChangeEvent.h>
#include <LibWeb/Bindings/ManagedMediaSource.h>
#include <LibWeb/Bindings/ManagedSourceBuffer.h>
#include <LibWeb/Bindings/MediaSource.h>
#include <LibWeb/Bindings/MediaSourceHandle.h>
#include <LibWeb/Bindings/SourceBuffer.h>
#include <LibWeb/Bindings/SourceBufferList.h>
#include <LibWeb/Bindings/Notification.h>
#include <LibWeb/Bindings/PerformanceEntry.h>
#include <LibWeb/Bindings/PerformanceObserver.h>
#include <LibWeb/Bindings/PerformanceObserverEntryList.h>
#include <LibWeb/Bindings/Permissions.h>
#include <LibWeb/Bindings/PermissionStatus.h>
#include <LibWeb/Bindings/PerformanceResourceTiming.h>
#include <LibWeb/Bindings/Serial.h>
#include <LibWeb/Bindings/SerialPort.h>
#include <LibWeb/Bindings/Cache.h>
#include <LibWeb/Bindings/CacheStorage.h>
#include <LibWeb/Bindings/ServiceWorker.h>
#include <LibWeb/Bindings/ServiceWorkerContainer.h>
#include <LibWeb/Bindings/ServiceWorkerRegistration.h>
#include <LibWeb/Bindings/StorageManager.h>
#include <LibWeb/Bindings/ByteLengthQueuingStrategy.h>
#include <LibWeb/Bindings/CountQueuingStrategy.h>
#include <LibWeb/Bindings/ReadableByteStreamController.h>
#include <LibWeb/Bindings/ReadableStream.h>
#include <LibWeb/Bindings/ReadableStreamBYOBReader.h>
#include <LibWeb/Bindings/ReadableStreamBYOBRequest.h>
#include <LibWeb/Bindings/ReadableStreamDefaultController.h>
#include <LibWeb/Bindings/ReadableStreamDefaultReader.h>
#include <LibWeb/Bindings/TransformStream.h>
#include <LibWeb/Bindings/TransformStreamDefaultController.h>
#include <LibWeb/Bindings/WritableStream.h>
#include <LibWeb/Bindings/WritableStreamDefaultController.h>
#include <LibWeb/Bindings/WritableStreamDefaultWriter.h>
#include <LibWeb/Bindings/TrustedHTML.h>
#include <LibWeb/Bindings/TrustedScript.h>
#include <LibWeb/Bindings/TrustedScriptURL.h>
#include <LibWeb/Bindings/TrustedTypePolicy.h>
#include <LibWeb/Bindings/TrustedTypePolicyFactory.h>
#include <LibWeb/Bindings/URLPattern.h>
#include <LibWeb/Bindings/PerformanceMark.h>
#include <LibWeb/Bindings/PerformanceMeasure.h>
#include <LibWeb/Bindings/Global.h>
#include <LibWeb/Bindings/Instance.h>
#include <LibWeb/Bindings/Memory.h>
#include <LibWeb/Bindings/Module.h>
#include <LibWeb/Bindings/Table.h>
#include <LibWeb/Bindings/WebAssembly.h>
#include <LibWeb/Bindings/ANGLEInstancedArrays.h>
#include <LibWeb/Bindings/EXTBlendMinMax.h>
#include <LibWeb/Bindings/EXTColorBufferFloat.h>
#include <LibWeb/Bindings/EXTRenderSnorm.h>
#include <LibWeb/Bindings/EXTTextureFilterAnisotropic.h>
#include <LibWeb/Bindings/EXTTextureNorm16.h>
#include <LibWeb/Bindings/OESElementIndexUint.h>
#include <LibWeb/Bindings/OESStandardDerivatives.h>
#include <LibWeb/Bindings/OESVertexArrayObject.h>
#include <LibWeb/Bindings/WebGLCompressedTextureS3tc.h>
#include <LibWeb/Bindings/WebGLCompressedTextureS3tcSrgb.h>
#include <LibWeb/Bindings/WebGLDebugRendererInfo.h>
#include <LibWeb/Bindings/WebGLDrawBuffers.h>
#include <LibWeb/Bindings/WebGLVertexArrayObjectOES.h>
#include <LibWeb/Bindings/WebGL2RenderingContext.h>
#include <LibWeb/Bindings/WebGLActiveInfo.h>
#include <LibWeb/Bindings/WebGLBuffer.h>
#include <LibWeb/Bindings/WebGLContextEvent.h>
#include <LibWeb/Bindings/WebGLFramebuffer.h>
#include <LibWeb/Bindings/WebGLObject.h>
#include <LibWeb/Bindings/WebGLProgram.h>
#include <LibWeb/Bindings/WebGLQuery.h>
#include <LibWeb/Bindings/WebGLRenderbuffer.h>
#include <LibWeb/Bindings/WebGLRenderingContext.h>
#include <LibWeb/Bindings/WebGLSampler.h>
#include <LibWeb/Bindings/WebGLShader.h>
#include <LibWeb/Bindings/WebGLShaderPrecisionFormat.h>
#include <LibWeb/Bindings/WebGLSync.h>
#include <LibWeb/Bindings/WebGLTexture.h>
#include <LibWeb/Bindings/WebGLTransformFeedback.h>
#include <LibWeb/Bindings/WebGLUniformLocation.h>
#include <LibWeb/Bindings/WebGLVertexArrayObject.h>
#include <LibWeb/Bindings/DOMException.h>
#include <LibWeb/Bindings/QuotaExceededError.h>
#include <LibWeb/Bindings/WebSocket.h>
#include <LibWeb/Bindings/FormData.h>
#include <LibWeb/Bindings/ProgressEvent.h>
#include <LibWeb/Bindings/XMLHttpRequest.h>
#include <LibWeb/Bindings/XMLHttpRequestEventTarget.h>
#include <LibWeb/Bindings/XMLHttpRequestUpload.h>

namespace Web::Bindings {

void add_dedicated_worker_exposed_interfaces(JS::Object& global)
{
    static constexpr u8 attr = JS::Attribute::Writable | JS::Attribute::Configurable;

    [[maybe_unused]] bool is_secure_context = HTML::is_secure_context(HTML::relevant_settings_object(global));
    [[maybe_unused]] bool expose_experimental_interfaces = HTML::UniversalGlobalScopeMixin::expose_experimental_interfaces();
    global.define_intrinsic_accessor("CompressionStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CompressionStreamPrototype>(realm, "CompressionStream"_fly_string); });
    global.define_intrinsic_accessor("DecompressionStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DecompressionStreamPrototype>(realm, "DecompressionStream"_fly_string); });
    global.define_intrinsic_accessor("SecurityPolicyViolationEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<SecurityPolicyViolationEventPrototype>(realm, "SecurityPolicyViolationEvent"_fly_string); });
    global.define_intrinsic_accessor("Crypto"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CryptoPrototype>(realm, "Crypto"_fly_string); });
    if (is_secure_context) {
        global.define_intrinsic_accessor("CryptoKey"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CryptoKeyPrototype>(realm, "CryptoKey"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("SubtleCrypto"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<SubtleCryptoPrototype>(realm, "SubtleCrypto"_fly_string); });
    }
    global.define_intrinsic_accessor("CSSImageValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSImageValuePrototype>(realm, "CSSImageValue"_fly_string); });
    global.define_intrinsic_accessor("CSSKeywordValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSKeywordValuePrototype>(realm, "CSSKeywordValue"_fly_string); });
    global.define_intrinsic_accessor("CSSMathClamp"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathClampPrototype>(realm, "CSSMathClamp"_fly_string); });
    global.define_intrinsic_accessor("CSSMathInvert"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathInvertPrototype>(realm, "CSSMathInvert"_fly_string); });
    global.define_intrinsic_accessor("CSSMathMax"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathMaxPrototype>(realm, "CSSMathMax"_fly_string); });
    global.define_intrinsic_accessor("CSSMathMin"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathMinPrototype>(realm, "CSSMathMin"_fly_string); });
    global.define_intrinsic_accessor("CSSMathNegate"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathNegatePrototype>(realm, "CSSMathNegate"_fly_string); });
    global.define_intrinsic_accessor("CSSMathProduct"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathProductPrototype>(realm, "CSSMathProduct"_fly_string); });
    global.define_intrinsic_accessor("CSSMathSum"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathSumPrototype>(realm, "CSSMathSum"_fly_string); });
    global.define_intrinsic_accessor("CSSMathValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMathValuePrototype>(realm, "CSSMathValue"_fly_string); });
    global.define_intrinsic_accessor("CSSMatrixComponent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSMatrixComponentPrototype>(realm, "CSSMatrixComponent"_fly_string); });
    global.define_intrinsic_accessor("CSSNumericArray"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSNumericArrayPrototype>(realm, "CSSNumericArray"_fly_string); });
    global.define_intrinsic_accessor("CSSNumericValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSNumericValuePrototype>(realm, "CSSNumericValue"_fly_string); });
    global.define_intrinsic_accessor("CSSPerspective"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSPerspectivePrototype>(realm, "CSSPerspective"_fly_string); });
    global.define_intrinsic_accessor("CSSRotate"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSRotatePrototype>(realm, "CSSRotate"_fly_string); });
    global.define_intrinsic_accessor("CSSScale"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSScalePrototype>(realm, "CSSScale"_fly_string); });
    global.define_intrinsic_accessor("CSSSkew"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSSkewPrototype>(realm, "CSSSkew"_fly_string); });
    global.define_intrinsic_accessor("CSSSkewX"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSSkewXPrototype>(realm, "CSSSkewX"_fly_string); });
    global.define_intrinsic_accessor("CSSSkewY"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSSkewYPrototype>(realm, "CSSSkewY"_fly_string); });
    global.define_intrinsic_accessor("CSSStyleValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSStyleValuePrototype>(realm, "CSSStyleValue"_fly_string); });
    global.define_intrinsic_accessor("CSSTransformComponent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSTransformComponentPrototype>(realm, "CSSTransformComponent"_fly_string); });
    global.define_intrinsic_accessor("CSSTransformValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSTransformValuePrototype>(realm, "CSSTransformValue"_fly_string); });
    global.define_intrinsic_accessor("CSSTranslate"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSTranslatePrototype>(realm, "CSSTranslate"_fly_string); });
    global.define_intrinsic_accessor("CSSUnitValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSUnitValuePrototype>(realm, "CSSUnitValue"_fly_string); });
    global.define_intrinsic_accessor("CSSUnparsedValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSUnparsedValuePrototype>(realm, "CSSUnparsedValue"_fly_string); });
    global.define_intrinsic_accessor("CSSVariableReferenceValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CSSVariableReferenceValuePrototype>(realm, "CSSVariableReferenceValue"_fly_string); });
    global.define_intrinsic_accessor("FontFace"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FontFacePrototype>(realm, "FontFace"_fly_string); });
    global.define_intrinsic_accessor("FontFaceSet"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FontFaceSetPrototype>(realm, "FontFaceSet"_fly_string); });
    global.define_intrinsic_accessor("FontFaceSetLoadEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FontFaceSetLoadEventPrototype>(realm, "FontFaceSetLoadEvent"_fly_string); });
    global.define_intrinsic_accessor("StylePropertyMapReadOnly"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<StylePropertyMapReadOnlyPrototype>(realm, "StylePropertyMapReadOnly"_fly_string); });
    global.define_intrinsic_accessor("AbortController"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<AbortControllerPrototype>(realm, "AbortController"_fly_string); });
    global.define_intrinsic_accessor("AbortSignal"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<AbortSignalPrototype>(realm, "AbortSignal"_fly_string); });
    global.define_intrinsic_accessor("CustomEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CustomEventPrototype>(realm, "CustomEvent"_fly_string); });
    global.define_intrinsic_accessor("Event"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<EventPrototype>(realm, "Event"_fly_string); });
    global.define_intrinsic_accessor("EventTarget"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<EventTargetPrototype>(realm, "EventTarget"_fly_string); });
    global.define_intrinsic_accessor("URL"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMURLPrototype>(realm, "URL"_fly_string); });
    global.define_intrinsic_accessor("Origin"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<OriginPrototype>(realm, "Origin"_fly_string); });
    global.define_intrinsic_accessor("URLSearchParams"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<URLSearchParamsPrototype>(realm, "URLSearchParams"_fly_string); });
    global.define_intrinsic_accessor("TextDecoder"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TextDecoderPrototype>(realm, "TextDecoder"_fly_string); });
    global.define_intrinsic_accessor("TextDecoderStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TextDecoderStreamPrototype>(realm, "TextDecoderStream"_fly_string); });
    global.define_intrinsic_accessor("TextEncoder"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TextEncoderPrototype>(realm, "TextEncoder"_fly_string); });
    global.define_intrinsic_accessor("TextEncoderStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TextEncoderStreamPrototype>(realm, "TextEncoderStream"_fly_string); });
    global.define_intrinsic_accessor("Headers"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<HeadersPrototype>(realm, "Headers"_fly_string); });
    global.define_intrinsic_accessor("Request"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<RequestPrototype>(realm, "Request"_fly_string); });
    global.define_intrinsic_accessor("Response"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ResponsePrototype>(realm, "Response"_fly_string); });
    global.define_intrinsic_accessor("Blob"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<BlobPrototype>(realm, "Blob"_fly_string); });
    global.define_intrinsic_accessor("File"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FilePrototype>(realm, "File"_fly_string); });
    global.define_intrinsic_accessor("FileList"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FileListPrototype>(realm, "FileList"_fly_string); });
    global.define_intrinsic_accessor("FileReader"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FileReaderPrototype>(realm, "FileReader"_fly_string); });
    global.define_intrinsic_accessor("FileReaderSync"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FileReaderSyncPrototype>(realm, "FileReaderSync"_fly_string); });
    global.define_intrinsic_accessor("DOMMatrix"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMMatrixPrototype>(realm, "DOMMatrix"_fly_string); });
    global.define_intrinsic_accessor("DOMMatrixReadOnly"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMMatrixReadOnlyPrototype>(realm, "DOMMatrixReadOnly"_fly_string); });
    global.define_intrinsic_accessor("DOMPoint"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMPointPrototype>(realm, "DOMPoint"_fly_string); });
    global.define_intrinsic_accessor("DOMPointReadOnly"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMPointReadOnlyPrototype>(realm, "DOMPointReadOnly"_fly_string); });
    global.define_intrinsic_accessor("DOMQuad"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMQuadPrototype>(realm, "DOMQuad"_fly_string); });
    global.define_intrinsic_accessor("DOMRect"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMRectPrototype>(realm, "DOMRect"_fly_string); });
    global.define_intrinsic_accessor("DOMRectReadOnly"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMRectReadOnlyPrototype>(realm, "DOMRectReadOnly"_fly_string); });
    global.define_intrinsic_accessor("Performance"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformancePrototype>(realm, "Performance"_fly_string); });
    global.define_intrinsic_accessor("BroadcastChannel"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<BroadcastChannelPrototype>(realm, "BroadcastChannel"_fly_string); });
    global.define_intrinsic_accessor("CanvasGradient"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CanvasGradientPrototype>(realm, "CanvasGradient"_fly_string); });
    global.define_intrinsic_accessor("CanvasPattern"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CanvasPatternPrototype>(realm, "CanvasPattern"_fly_string); });
    global.define_intrinsic_accessor("CloseEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CloseEventPrototype>(realm, "CloseEvent"_fly_string); });
    global.define_intrinsic_accessor("DedicatedWorkerGlobalScope"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DedicatedWorkerGlobalScopePrototype>(realm, "DedicatedWorkerGlobalScope"_fly_string); });
    global.define_intrinsic_accessor("DOMStringList"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMStringListPrototype>(realm, "DOMStringList"_fly_string); });
    global.define_intrinsic_accessor("ErrorEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ErrorEventPrototype>(realm, "ErrorEvent"_fly_string); });
    global.define_intrinsic_accessor("EventSource"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<EventSourcePrototype>(realm, "EventSource"_fly_string); });
    global.define_intrinsic_accessor("ImageBitmap"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ImageBitmapPrototype>(realm, "ImageBitmap"_fly_string); });
    global.define_intrinsic_accessor("ImageData"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ImageDataPrototype>(realm, "ImageData"_fly_string); });
    global.define_intrinsic_accessor("MessageChannel"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<MessageChannelPrototype>(realm, "MessageChannel"_fly_string); });
    global.define_intrinsic_accessor("MessageEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<MessageEventPrototype>(realm, "MessageEvent"_fly_string); });
    global.define_intrinsic_accessor("MessagePort"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<MessagePortPrototype>(realm, "MessagePort"_fly_string); });
    if (expose_experimental_interfaces) {
        global.define_intrinsic_accessor("OffscreenCanvas"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<OffscreenCanvasPrototype>(realm, "OffscreenCanvas"_fly_string); });
    }
    if (expose_experimental_interfaces) {
        global.define_intrinsic_accessor("OffscreenCanvasRenderingContext2D"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<OffscreenCanvasRenderingContext2DPrototype>(realm, "OffscreenCanvasRenderingContext2D"_fly_string); });
    }
    global.define_intrinsic_accessor("Path2D"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<Path2DPrototype>(realm, "Path2D"_fly_string); });
    global.define_intrinsic_accessor("PromiseRejectionEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PromiseRejectionEventPrototype>(realm, "PromiseRejectionEvent"_fly_string); });
    global.define_intrinsic_accessor("TextMetrics"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TextMetricsPrototype>(realm, "TextMetrics"_fly_string); });
    global.define_intrinsic_accessor("Worker"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WorkerPrototype>(realm, "Worker"_fly_string); });
    global.define_intrinsic_accessor("WorkerGlobalScope"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WorkerGlobalScopePrototype>(realm, "WorkerGlobalScope"_fly_string); });
    global.define_intrinsic_accessor("WorkerLocation"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WorkerLocationPrototype>(realm, "WorkerLocation"_fly_string); });
    global.define_intrinsic_accessor("WorkerNavigator"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WorkerNavigatorPrototype>(realm, "WorkerNavigator"_fly_string); });
    global.define_intrinsic_accessor("IDBCursor"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBCursorPrototype>(realm, "IDBCursor"_fly_string); });
    global.define_intrinsic_accessor("IDBCursorWithValue"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBCursorWithValuePrototype>(realm, "IDBCursorWithValue"_fly_string); });
    global.define_intrinsic_accessor("IDBDatabase"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBDatabasePrototype>(realm, "IDBDatabase"_fly_string); });
    global.define_intrinsic_accessor("IDBFactory"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBFactoryPrototype>(realm, "IDBFactory"_fly_string); });
    global.define_intrinsic_accessor("IDBIndex"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBIndexPrototype>(realm, "IDBIndex"_fly_string); });
    global.define_intrinsic_accessor("IDBKeyRange"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBKeyRangePrototype>(realm, "IDBKeyRange"_fly_string); });
    global.define_intrinsic_accessor("IDBObjectStore"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBObjectStorePrototype>(realm, "IDBObjectStore"_fly_string); });
    global.define_intrinsic_accessor("IDBOpenDBRequest"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBOpenDBRequestPrototype>(realm, "IDBOpenDBRequest"_fly_string); });
    global.define_intrinsic_accessor("IDBRecord"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBRecordPrototype>(realm, "IDBRecord"_fly_string); });
    global.define_intrinsic_accessor("IDBRequest"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBRequestPrototype>(realm, "IDBRequest"_fly_string); });
    global.define_intrinsic_accessor("IDBTransaction"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBTransactionPrototype>(realm, "IDBTransaction"_fly_string); });
    global.define_intrinsic_accessor("IDBVersionChangeEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<IDBVersionChangeEventPrototype>(realm, "IDBVersionChangeEvent"_fly_string); });
    global.define_intrinsic_accessor("MediaCapabilities"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<MediaCapabilitiesPrototype>(realm, "MediaCapabilities"_fly_string); });
    global.define_intrinsic_accessor("BufferedChangeEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<BufferedChangeEventPrototype>(realm, "BufferedChangeEvent"_fly_string); });
    if (expose_experimental_interfaces) {
        global.define_intrinsic_accessor("ManagedMediaSource"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ManagedMediaSourcePrototype>(realm, "ManagedMediaSource"_fly_string); });
    }
    global.define_intrinsic_accessor("ManagedSourceBuffer"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ManagedSourceBufferPrototype>(realm, "ManagedSourceBuffer"_fly_string); });
    if (expose_experimental_interfaces) {
        global.define_intrinsic_accessor("MediaSource"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<MediaSourcePrototype>(realm, "MediaSource"_fly_string); });
    }
    if (expose_experimental_interfaces) {
        global.define_intrinsic_accessor("MediaSourceHandle"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<MediaSourceHandlePrototype>(realm, "MediaSourceHandle"_fly_string); });
    }
    global.define_intrinsic_accessor("SourceBuffer"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<SourceBufferPrototype>(realm, "SourceBuffer"_fly_string); });
    global.define_intrinsic_accessor("SourceBufferList"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<SourceBufferListPrototype>(realm, "SourceBufferList"_fly_string); });
    global.define_intrinsic_accessor("Notification"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<NotificationPrototype>(realm, "Notification"_fly_string); });
    global.define_intrinsic_accessor("PerformanceEntry"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformanceEntryPrototype>(realm, "PerformanceEntry"_fly_string); });
    global.define_intrinsic_accessor("PerformanceObserver"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformanceObserverPrototype>(realm, "PerformanceObserver"_fly_string); });
    global.define_intrinsic_accessor("PerformanceObserverEntryList"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformanceObserverEntryListPrototype>(realm, "PerformanceObserverEntryList"_fly_string); });
    global.define_intrinsic_accessor("Permissions"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PermissionsPrototype>(realm, "Permissions"_fly_string); });
    if (expose_experimental_interfaces) {
        global.define_intrinsic_accessor("PermissionStatus"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PermissionStatusPrototype>(realm, "PermissionStatus"_fly_string); });
    }
    global.define_intrinsic_accessor("PerformanceResourceTiming"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformanceResourceTimingPrototype>(realm, "PerformanceResourceTiming"_fly_string); });
    if (is_secure_context) {
        global.define_intrinsic_accessor("Serial"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<SerialPrototype>(realm, "Serial"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("SerialPort"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<SerialPortPrototype>(realm, "SerialPort"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("Cache"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CachePrototype>(realm, "Cache"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("CacheStorage"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CacheStoragePrototype>(realm, "CacheStorage"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("ServiceWorker"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ServiceWorkerPrototype>(realm, "ServiceWorker"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("ServiceWorkerContainer"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ServiceWorkerContainerPrototype>(realm, "ServiceWorkerContainer"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("ServiceWorkerRegistration"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ServiceWorkerRegistrationPrototype>(realm, "ServiceWorkerRegistration"_fly_string); });
    }
    if (is_secure_context) {
        global.define_intrinsic_accessor("StorageManager"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<StorageManagerPrototype>(realm, "StorageManager"_fly_string); });
    }
    global.define_intrinsic_accessor("ByteLengthQueuingStrategy"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ByteLengthQueuingStrategyPrototype>(realm, "ByteLengthQueuingStrategy"_fly_string); });
    global.define_intrinsic_accessor("CountQueuingStrategy"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<CountQueuingStrategyPrototype>(realm, "CountQueuingStrategy"_fly_string); });
    global.define_intrinsic_accessor("ReadableByteStreamController"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ReadableByteStreamControllerPrototype>(realm, "ReadableByteStreamController"_fly_string); });
    global.define_intrinsic_accessor("ReadableStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ReadableStreamPrototype>(realm, "ReadableStream"_fly_string); });
    global.define_intrinsic_accessor("ReadableStreamBYOBReader"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ReadableStreamBYOBReaderPrototype>(realm, "ReadableStreamBYOBReader"_fly_string); });
    global.define_intrinsic_accessor("ReadableStreamBYOBRequest"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ReadableStreamBYOBRequestPrototype>(realm, "ReadableStreamBYOBRequest"_fly_string); });
    global.define_intrinsic_accessor("ReadableStreamDefaultController"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ReadableStreamDefaultControllerPrototype>(realm, "ReadableStreamDefaultController"_fly_string); });
    global.define_intrinsic_accessor("ReadableStreamDefaultReader"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ReadableStreamDefaultReaderPrototype>(realm, "ReadableStreamDefaultReader"_fly_string); });
    global.define_intrinsic_accessor("TransformStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TransformStreamPrototype>(realm, "TransformStream"_fly_string); });
    global.define_intrinsic_accessor("TransformStreamDefaultController"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TransformStreamDefaultControllerPrototype>(realm, "TransformStreamDefaultController"_fly_string); });
    global.define_intrinsic_accessor("WritableStream"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WritableStreamPrototype>(realm, "WritableStream"_fly_string); });
    global.define_intrinsic_accessor("WritableStreamDefaultController"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WritableStreamDefaultControllerPrototype>(realm, "WritableStreamDefaultController"_fly_string); });
    global.define_intrinsic_accessor("WritableStreamDefaultWriter"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WritableStreamDefaultWriterPrototype>(realm, "WritableStreamDefaultWriter"_fly_string); });
    global.define_intrinsic_accessor("TrustedHTML"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TrustedHTMLPrototype>(realm, "TrustedHTML"_fly_string); });
    global.define_intrinsic_accessor("TrustedScript"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TrustedScriptPrototype>(realm, "TrustedScript"_fly_string); });
    global.define_intrinsic_accessor("TrustedScriptURL"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TrustedScriptURLPrototype>(realm, "TrustedScriptURL"_fly_string); });
    global.define_intrinsic_accessor("TrustedTypePolicy"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TrustedTypePolicyPrototype>(realm, "TrustedTypePolicy"_fly_string); });
    global.define_intrinsic_accessor("TrustedTypePolicyFactory"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<TrustedTypePolicyFactoryPrototype>(realm, "TrustedTypePolicyFactory"_fly_string); });
    global.define_intrinsic_accessor("URLPattern"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<URLPatternPrototype>(realm, "URLPattern"_fly_string); });
    global.define_intrinsic_accessor("PerformanceMark"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformanceMarkPrototype>(realm, "PerformanceMark"_fly_string); });
    global.define_intrinsic_accessor("PerformanceMeasure"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<PerformanceMeasurePrototype>(realm, "PerformanceMeasure"_fly_string); });
    global.define_intrinsic_accessor("WebAssembly"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_namespace<WebAssemblyNamespace>(realm, "WebAssembly"_fly_string); });
    global.define_intrinsic_accessor("WebGL2RenderingContext"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGL2RenderingContextPrototype>(realm, "WebGL2RenderingContext"_fly_string); });
    global.define_intrinsic_accessor("WebGLActiveInfo"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLActiveInfoPrototype>(realm, "WebGLActiveInfo"_fly_string); });
    global.define_intrinsic_accessor("WebGLBuffer"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLBufferPrototype>(realm, "WebGLBuffer"_fly_string); });
    global.define_intrinsic_accessor("WebGLContextEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLContextEventPrototype>(realm, "WebGLContextEvent"_fly_string); });
    global.define_intrinsic_accessor("WebGLFramebuffer"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLFramebufferPrototype>(realm, "WebGLFramebuffer"_fly_string); });
    global.define_intrinsic_accessor("WebGLObject"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLObjectPrototype>(realm, "WebGLObject"_fly_string); });
    global.define_intrinsic_accessor("WebGLProgram"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLProgramPrototype>(realm, "WebGLProgram"_fly_string); });
    global.define_intrinsic_accessor("WebGLQuery"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLQueryPrototype>(realm, "WebGLQuery"_fly_string); });
    global.define_intrinsic_accessor("WebGLRenderbuffer"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLRenderbufferPrototype>(realm, "WebGLRenderbuffer"_fly_string); });
    global.define_intrinsic_accessor("WebGLRenderingContext"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLRenderingContextPrototype>(realm, "WebGLRenderingContext"_fly_string); });
    global.define_intrinsic_accessor("WebGLSampler"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLSamplerPrototype>(realm, "WebGLSampler"_fly_string); });
    global.define_intrinsic_accessor("WebGLShader"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLShaderPrototype>(realm, "WebGLShader"_fly_string); });
    global.define_intrinsic_accessor("WebGLShaderPrecisionFormat"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLShaderPrecisionFormatPrototype>(realm, "WebGLShaderPrecisionFormat"_fly_string); });
    global.define_intrinsic_accessor("WebGLSync"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLSyncPrototype>(realm, "WebGLSync"_fly_string); });
    global.define_intrinsic_accessor("WebGLTexture"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLTexturePrototype>(realm, "WebGLTexture"_fly_string); });
    global.define_intrinsic_accessor("WebGLTransformFeedback"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLTransformFeedbackPrototype>(realm, "WebGLTransformFeedback"_fly_string); });
    global.define_intrinsic_accessor("WebGLUniformLocation"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLUniformLocationPrototype>(realm, "WebGLUniformLocation"_fly_string); });
    global.define_intrinsic_accessor("WebGLVertexArrayObject"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebGLVertexArrayObjectPrototype>(realm, "WebGLVertexArrayObject"_fly_string); });
    global.define_intrinsic_accessor("DOMException"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<DOMExceptionPrototype>(realm, "DOMException"_fly_string); });
    global.define_intrinsic_accessor("QuotaExceededError"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<QuotaExceededErrorPrototype>(realm, "QuotaExceededError"_fly_string); });
    global.define_intrinsic_accessor("WebSocket"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<WebSocketPrototype>(realm, "WebSocket"_fly_string); });
    global.define_intrinsic_accessor("FormData"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<FormDataPrototype>(realm, "FormData"_fly_string); });
    global.define_intrinsic_accessor("ProgressEvent"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<ProgressEventPrototype>(realm, "ProgressEvent"_fly_string); });
    global.define_intrinsic_accessor("XMLHttpRequest"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<XMLHttpRequestPrototype>(realm, "XMLHttpRequest"_fly_string); });
    global.define_intrinsic_accessor("XMLHttpRequestEventTarget"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<XMLHttpRequestEventTargetPrototype>(realm, "XMLHttpRequestEventTarget"_fly_string); });
    global.define_intrinsic_accessor("XMLHttpRequestUpload"_utf16_fly_string, attr, [](auto& realm) -> JS::Value { return &ensure_web_constructor<XMLHttpRequestUploadPrototype>(realm, "XMLHttpRequestUpload"_fly_string); });
}

}
