{"ScriptPreparationCode":"const DOM_ATTRIBUTES = [\r\n \u0027children\u0027,\r\n \u0027dangerouslySetInnerHTML\u0027,\r\n\r\n // Clipboard Events\r\n \u0027onCopy\u0027,\r\n \u0027onCopyCapture\u0027,\r\n \u0027onCut\u0027,\r\n \u0027onCutCapture\u0027,\r\n \u0027onPaste\u0027,\r\n \u0027onPasteCapture\u0027,\r\n\r\n // Composition Events\r\n \u0027onCompositionEnd\u0027,\r\n \u0027onCompositionEndCapture\u0027,\r\n \u0027onCompositionStart\u0027,\r\n \u0027onCompositionStartCapture\u0027,\r\n \u0027onCompositionUpdate\u0027,\r\n \u0027onCompositionUpdateCapture\u0027,\r\n\r\n // Focus Events\r\n \u0027onFocus\u0027,\r\n \u0027onFocusCapture\u0027,\r\n \u0027onBlur\u0027,\r\n \u0027onBlurCapture\u0027,\r\n\r\n // Form Events\r\n \u0027onChange\u0027,\r\n \u0027onChangeCapture\u0027,\r\n \u0027onBeforeInput\u0027,\r\n \u0027onBeforeInputCapture\u0027,\r\n \u0027onInput\u0027,\r\n \u0027onInputCapture\u0027,\r\n \u0027onReset\u0027,\r\n \u0027onResetCapture\u0027,\r\n \u0027onSubmit\u0027,\r\n \u0027onSubmitCapture\u0027,\r\n \u0027onInvalid\u0027,\r\n \u0027onInvalidCapture\u0027,\r\n\r\n // Image Events\r\n \u0027onLoad\u0027,\r\n \u0027onLoadCapture\u0027,\r\n \u0027onError\u0027,\r\n \u0027onErrorCapture\u0027,\r\n\r\n // Keyboard Events\r\n \u0027onKeyDown\u0027,\r\n \u0027onKeyDownCapture\u0027,\r\n \u0027onKeyUp\u0027,\r\n \u0027onKeyUpCapture\u0027,\r\n\r\n // Media Events\r\n \u0027onAbort\u0027,\r\n \u0027onAbortCapture\u0027,\r\n \u0027onCanPlay\u0027,\r\n \u0027onCanPlayCapture\u0027,\r\n \u0027onCanPlayThrough\u0027,\r\n \u0027onCanPlayThroughCapture\u0027,\r\n \u0027onDurationChange\u0027,\r\n \u0027onDurationChangeCapture\u0027,\r\n \u0027onEmptied\u0027,\r\n \u0027onEmptiedCapture\u0027,\r\n \u0027onEncrypted\u0027,\r\n \u0027onEncryptedCapture\u0027,\r\n \u0027onEnded\u0027,\r\n \u0027onEndedCapture\u0027,\r\n \u0027onLoadedData\u0027,\r\n \u0027onLoadedDataCapture\u0027,\r\n \u0027onLoadedMetadata\u0027,\r\n \u0027onLoadedMetadataCapture\u0027,\r\n \u0027onLoadStart\u0027,\r\n \u0027onLoadStartCapture\u0027,\r\n \u0027onPause\u0027,\r\n \u0027onPauseCapture\u0027,\r\n \u0027onPlay\u0027,\r\n \u0027onPlayCapture\u0027,\r\n \u0027onPlaying\u0027,\r\n \u0027onPlayingCapture\u0027,\r\n \u0027onProgress\u0027,\r\n \u0027onProgressCapture\u0027,\r\n \u0027onRateChange\u0027,\r\n \u0027onRateChangeCapture\u0027,\r\n \u0027onResize\u0027,\r\n \u0027onResizeCapture\u0027,\r\n \u0027onSeeked\u0027,\r\n \u0027onSeekedCapture\u0027,\r\n \u0027onSeeking\u0027,\r\n \u0027onSeekingCapture\u0027,\r\n \u0027onStalled\u0027,\r\n \u0027onStalledCapture\u0027,\r\n \u0027onSuspend\u0027,\r\n \u0027onSuspendCapture\u0027,\r\n \u0027onTimeUpdate\u0027,\r\n \u0027onTimeUpdateCapture\u0027,\r\n \u0027onVolumeChange\u0027,\r\n \u0027onVolumeChangeCapture\u0027,\r\n \u0027onWaiting\u0027,\r\n \u0027onWaitingCapture\u0027,\r\n\r\n // MouseEvents\r\n \u0027onAuxClick\u0027,\r\n \u0027onAuxClickCapture\u0027,\r\n \u0027onClick\u0027,\r\n \u0027onClickCapture\u0027,\r\n \u0027onContextMenu\u0027,\r\n \u0027onContextMenuCapture\u0027,\r\n \u0027onDoubleClick\u0027,\r\n \u0027onDoubleClickCapture\u0027,\r\n \u0027onDrag\u0027,\r\n \u0027onDragCapture\u0027,\r\n \u0027onDragEnd\u0027,\r\n \u0027onDragEndCapture\u0027,\r\n \u0027onDragEnter\u0027,\r\n \u0027onDragEnterCapture\u0027,\r\n \u0027onDragExit\u0027,\r\n \u0027onDragExitCapture\u0027,\r\n \u0027onDragLeave\u0027,\r\n \u0027onDragLeaveCapture\u0027,\r\n \u0027onDragOver\u0027,\r\n \u0027onDragOverCapture\u0027,\r\n \u0027onDragStart\u0027,\r\n \u0027onDragStartCapture\u0027,\r\n \u0027onDrop\u0027,\r\n \u0027onDropCapture\u0027,\r\n \u0027onMouseDown\u0027,\r\n \u0027onMouseDownCapture\u0027,\r\n \u0027onMouseEnter\u0027,\r\n \u0027onMouseLeave\u0027,\r\n \u0027onMouseMove\u0027,\r\n \u0027onMouseMoveCapture\u0027,\r\n \u0027onMouseOut\u0027,\r\n \u0027onMouseOutCapture\u0027,\r\n \u0027onMouseOver\u0027,\r\n \u0027onMouseOverCapture\u0027,\r\n \u0027onMouseUp\u0027,\r\n \u0027onMouseUpCapture\u0027,\r\n\r\n // Selection Events\r\n \u0027onSelect\u0027,\r\n \u0027onSelectCapture\u0027,\r\n\r\n // Touch Events\r\n \u0027onTouchCancel\u0027,\r\n \u0027onTouchCancelCapture\u0027,\r\n \u0027onTouchEnd\u0027,\r\n \u0027onTouchEndCapture\u0027,\r\n \u0027onTouchMove\u0027,\r\n \u0027onTouchMoveCapture\u0027,\r\n \u0027onTouchStart\u0027,\r\n \u0027onTouchStartCapture\u0027,\r\n\r\n // Pointer Events\r\n \u0027onPointerDown\u0027,\r\n \u0027onPointerDownCapture\u0027,\r\n \u0027onPointerMove\u0027,\r\n \u0027onPointerMoveCapture\u0027,\r\n \u0027onPointerUp\u0027,\r\n \u0027onPointerUpCapture\u0027,\r\n \u0027onPointerCancel\u0027,\r\n \u0027onPointerCancelCapture\u0027,\r\n \u0027onPointerEnter\u0027,\r\n \u0027onPointerLeave\u0027,\r\n \u0027onPointerOver\u0027,\r\n \u0027onPointerOverCapture\u0027,\r\n \u0027onPointerOut\u0027,\r\n \u0027onPointerOutCapture\u0027,\r\n \u0027onGotPointerCapture\u0027,\r\n \u0027onGotPointerCaptureCapture\u0027,\r\n \u0027onLostPointerCapture\u0027,\r\n \u0027onLostPointerCaptureCapture\u0027,\r\n\r\n // UI Events\r\n \u0027onScroll\u0027,\r\n \u0027onScrollCapture\u0027,\r\n \u0027onScrollEnd\u0027,\r\n \u0027onScrollEndCapture\u0027,\r\n\r\n // Wheel Events\r\n \u0027onWheel\u0027,\r\n \u0027onWheelCapture\u0027,\r\n\r\n // Animation Events\r\n \u0027onAnimationStart\u0027,\r\n \u0027onAnimationStartCapture\u0027,\r\n \u0027onAnimationEnd\u0027,\r\n \u0027onAnimationEndCapture\u0027,\r\n \u0027onAnimationIteration\u0027,\r\n \u0027onAnimationIterationCapture\u0027,\r\n\r\n // Toggle Events\r\n \u0027onToggle\u0027,\r\n \u0027onBeforeToggle\u0027,\r\n\r\n // Transition Events\r\n \u0027onTransitionCancel\u0027,\r\n \u0027onTransitionCancelCapture\u0027,\r\n \u0027onTransitionEnd\u0027,\r\n \u0027onTransitionEndCapture\u0027,\r\n \u0027onTransitionRun\u0027,\r\n \u0027onTransitionRunCapture\u0027,\r\n \u0027onTransitionStart\u0027,\r\n \u0027onTransitionStartCapture\u0027,\r\n];\r\n\r\nconst HTML_ATTRIBUTES = [\r\n \u0027abbr\u0027,\r\n \u0027about\u0027,\r\n \u0027accentHeight\u0027,\r\n \u0027accept\u0027,\r\n \u0027acceptCharset\u0027,\r\n \u0027accessKey\u0027,\r\n \u0027accumulate\u0027,\r\n \u0027action\u0027,\r\n \u0027additive\u0027,\r\n \u0027align\u0027,\r\n \u0027alignmentBaseline\u0027,\r\n \u0027allow\u0027,\r\n \u0027allowFullScreen\u0027,\r\n \u0027allowReorder\u0027,\r\n \u0027allowTransparency\u0027,\r\n \u0027allowpopups\u0027,\r\n \u0027alphabetic\u0027,\r\n \u0027alt\u0027,\r\n \u0027amplitude\u0027,\r\n \u0027arabicForm\u0027,\r\n \u0027as\u0027,\r\n \u0027ascent\u0027,\r\n \u0027async\u0027,\r\n \u0027attributeName\u0027,\r\n \u0027attributeType\u0027,\r\n \u0027autoCapitalize\u0027,\r\n \u0027autoComplete\u0027,\r\n \u0027autoCorrect\u0027,\r\n \u0027autoFocus\u0027,\r\n \u0027autoPlay\u0027,\r\n \u0027autoReverse\u0027,\r\n \u0027autoSave\u0027,\r\n \u0027autosize\u0027,\r\n \u0027azimuth\u0027,\r\n \u0027baseFrequency\u0027,\r\n \u0027baseProfile\u0027,\r\n \u0027baselineShift\u0027,\r\n \u0027bbox\u0027,\r\n \u0027begin\u0027,\r\n \u0027bgcolor\u0027,\r\n \u0027bias\u0027,\r\n \u0027blinkfeatures\u0027,\r\n \u0027border\u0027,\r\n \u0027by\u0027,\r\n \u0027calcMode\u0027,\r\n \u0027capHeight\u0027,\r\n \u0027capture\u0027,\r\n \u0027cellPadding\u0027,\r\n \u0027cellSpacing\u0027,\r\n \u0027challenge\u0027,\r\n \u0027charSet\u0027,\r\n \u0027checked\u0027,\r\n \u0027cite\u0027,\r\n \u0027classID\u0027,\r\n \u0027className\u0027,\r\n \u0027clip\u0027,\r\n \u0027clipPath\u0027,\r\n \u0027clipPathUnits\u0027,\r\n \u0027clipRule\u0027,\r\n \u0027colSpan\u0027,\r\n \u0027color\u0027,\r\n \u0027colorInterpolation\u0027,\r\n \u0027colorInterpolationFilters\u0027,\r\n \u0027colorProfile\u0027,\r\n \u0027colorRendering\u0027,\r\n \u0027cols\u0027,\r\n \u0027content\u0027,\r\n \u0027contentEditable\u0027,\r\n \u0027contentScriptType\u0027,\r\n \u0027contentStyleType\u0027,\r\n \u0027contextMenu\u0027,\r\n \u0027controls\u0027,\r\n \u0027controlsList\u0027,\r\n \u0027coords\u0027,\r\n \u0027crossOrigin\u0027,\r\n \u0027cursor\u0027,\r\n \u0027cx\u0027,\r\n \u0027cy\u0027,\r\n \u0027d\u0027,\r\n \u0027data\u0027,\r\n \u0027datatype\u0027,\r\n \u0027dateTime\u0027,\r\n \u0027decelerate\u0027,\r\n \u0027decoding\u0027,\r\n \u0027default\u0027,\r\n \u0027defaultChecked\u0027,\r\n \u0027defaultValue\u0027,\r\n \u0027defer\u0027,\r\n \u0027descent\u0027,\r\n \u0027diffuseConstant\u0027,\r\n \u0027dir\u0027,\r\n \u0027dirName\u0027,\r\n \u0027direction\u0027,\r\n \u0027disablePictureInPicture\u0027,\r\n \u0027disableRemotePlayback\u0027,\r\n \u0027disableblinkfeatures\u0027,\r\n \u0027disabled\u0027,\r\n \u0027disableguestresize\u0027,\r\n \u0027disablewebsecurity\u0027,\r\n \u0027display\u0027,\r\n \u0027divisor\u0027,\r\n \u0027dominantBaseline\u0027,\r\n \u0027download\u0027,\r\n \u0027draggable\u0027,\r\n \u0027dur\u0027,\r\n \u0027dx\u0027,\r\n \u0027dy\u0027,\r\n \u0027edgeMode\u0027,\r\n \u0027elevation\u0027,\r\n \u0027enableBackground\u0027,\r\n \u0027encType\u0027,\r\n \u0027end\u0027,\r\n \u0027enterKeyHint\u0027,\r\n \u0027exponent\u0027,\r\n \u0027exportparts\u0027,\r\n \u0027externalResourcesRequired\u0027,\r\n \u0027fetchPriority\u0027,\r\n \u0027fill\u0027,\r\n \u0027fillOpacity\u0027,\r\n \u0027fillRule\u0027,\r\n \u0027filter\u0027,\r\n \u0027filterRes\u0027,\r\n \u0027filterUnits\u0027,\r\n \u0027floodColor\u0027,\r\n \u0027floodOpacity\u0027,\r\n \u0027focusable\u0027,\r\n \u0027fontFamily\u0027,\r\n \u0027fontSize\u0027,\r\n \u0027fontSizeAdjust\u0027,\r\n \u0027fontStretch\u0027,\r\n \u0027fontStyle\u0027,\r\n \u0027fontVariant\u0027,\r\n \u0027fontWeight\u0027,\r\n \u0027form\u0027,\r\n \u0027formAction\u0027,\r\n \u0027formEncType\u0027,\r\n \u0027formMethod\u0027,\r\n \u0027formNoValidate\u0027,\r\n \u0027formTarget\u0027,\r\n \u0027format\u0027,\r\n \u0027fr\u0027,\r\n \u0027frame\u0027,\r\n \u0027frameBorder\u0027,\r\n \u0027from\u0027,\r\n \u0027fx\u0027,\r\n \u0027fy\u0027,\r\n \u0027g\u0027,\r\n \u0027glyphName\u0027,\r\n \u0027glyphOrientationHorizontal\u0027,\r\n \u0027glyphOrientationVertical\u0027,\r\n \u0027glyphRef\u0027,\r\n \u0027gradientTransform\u0027,\r\n \u0027gradientUnits\u0027,\r\n \u0027guestinstance\u0027,\r\n \u0027hanging\u0027,\r\n \u0027headers\u0027,\r\n \u0027height\u0027,\r\n \u0027hidden\u0027,\r\n \u0027high\u0027,\r\n \u0027horizAdvX\u0027,\r\n \u0027horizOriginX\u0027,\r\n \u0027href\u0027,\r\n \u0027hrefLang\u0027,\r\n \u0027htmlFor\u0027,\r\n \u0027httpEquiv\u0027,\r\n \u0027httpreferrer\u0027,\r\n \u0027id\u0027,\r\n \u0027ideographic\u0027,\r\n \u0027imageRendering\u0027,\r\n \u0027imageSizes\u0027,\r\n \u0027imageSrcSet\u0027,\r\n \u0027in\u0027,\r\n \u0027inert\u0027,\r\n \u0027inlist\u0027,\r\n \u0027inputMode\u0027,\r\n \u0027integrity\u0027,\r\n \u0027intercept\u0027,\r\n \u0027is\u0027,\r\n \u0027itemID\u0027,\r\n \u0027itemProp\u0027,\r\n \u0027itemRef\u0027,\r\n \u0027itemScope\u0027,\r\n \u0027itemType\u0027,\r\n \u0027k\u0027,\r\n \u0027kernelMatrix\u0027,\r\n \u0027kernelUnitLength\u0027,\r\n \u0027kerning\u0027,\r\n \u0027keyParams\u0027,\r\n \u0027keyPoints\u0027,\r\n \u0027keySplines\u0027,\r\n \u0027keyTimes\u0027,\r\n \u0027keyType\u0027,\r\n \u0027kind\u0027,\r\n \u0027label\u0027,\r\n \u0027lang\u0027,\r\n \u0027lengthAdjust\u0027,\r\n \u0027letterSpacing\u0027,\r\n \u0027lightingColor\u0027,\r\n \u0027limitingConeAngle\u0027,\r\n \u0027list\u0027,\r\n \u0027loading\u0027,\r\n \u0027local\u0027,\r\n \u0027loop\u0027,\r\n \u0027low\u0027,\r\n \u0027manifest\u0027,\r\n \u0027marginHeight\u0027,\r\n \u0027marginWidth\u0027,\r\n \u0027markerEnd\u0027,\r\n \u0027markerHeight\u0027,\r\n \u0027markerMid\u0027,\r\n \u0027markerStart\u0027,\r\n \u0027markerUnits\u0027,\r\n \u0027markerWidth\u0027,\r\n \u0027mask\u0027,\r\n \u0027maskContentUnits\u0027,\r\n \u0027maskUnits\u0027,\r\n \u0027mathematical\u0027,\r\n \u0027max\u0027,\r\n \u0027maxLength\u0027,\r\n \u0027media\u0027,\r\n \u0027mediaGroup\u0027,\r\n \u0027method\u0027,\r\n \u0027min\u0027,\r\n \u0027minLength\u0027,\r\n \u0027mode\u0027,\r\n \u0027multiple\u0027,\r\n \u0027muted\u0027,\r\n \u0027name\u0027,\r\n \u0027noModule\u0027,\r\n \u0027noValidate\u0027,\r\n \u0027nodeintegration\u0027,\r\n \u0027nonce\u0027,\r\n \u0027numOctaves\u0027,\r\n \u0027offset\u0027,\r\n \u0027onCancel\u0027,\r\n \u0027onChange\u0027,\r\n \u0027onClose\u0027,\r\n \u0027opacity\u0027,\r\n \u0027open\u0027,\r\n \u0027operator\u0027,\r\n \u0027optimum\u0027,\r\n \u0027order\u0027,\r\n \u0027orient\u0027,\r\n \u0027orientation\u0027,\r\n \u0027origin\u0027,\r\n \u0027overflow\u0027,\r\n \u0027overlinePosition\u0027,\r\n \u0027overlineThickness\u0027,\r\n \u0027paintOrder\u0027,\r\n \u0027panose\u0027,\r\n \u0027part\u0027,\r\n \u0027partition\u0027,\r\n \u0027path\u0027,\r\n \u0027pathLength\u0027,\r\n \u0027pattern\u0027,\r\n \u0027patternContentUnits\u0027,\r\n \u0027patternTransform\u0027,\r\n \u0027patternUnits\u0027,\r\n \u0027ping\u0027,\r\n \u0027placeholder\u0027,\r\n \u0027playsInline\u0027,\r\n \u0027plugins\u0027,\r\n \u0027pointerEvents\u0027,\r\n \u0027points\u0027,\r\n \u0027pointsAtX\u0027,\r\n \u0027pointsAtY\u0027,\r\n \u0027pointsAtZ\u0027,\r\n \u0027popover\u0027,\r\n \u0027popoverTarget\u0027,\r\n \u0027popoverTargetAction\u0027,\r\n \u0027poster\u0027,\r\n \u0027precedence\u0027,\r\n \u0027prefix\u0027,\r\n \u0027preload\u0027,\r\n \u0027preserveAlpha\u0027,\r\n \u0027preserveAspectRatio\u0027,\r\n \u0027primitiveUnits\u0027,\r\n \u0027property\u0027,\r\n \u0027r\u0027,\r\n \u0027radioGroup\u0027,\r\n \u0027radius\u0027,\r\n \u0027readOnly\u0027,\r\n \u0027refX\u0027,\r\n \u0027refY\u0027,\r\n \u0027referrerPolicy\u0027,\r\n \u0027rel\u0027,\r\n \u0027renderingIntent\u0027,\r\n \u0027repeatCount\u0027,\r\n \u0027repeatDur\u0027,\r\n \u0027required\u0027,\r\n \u0027requiredExtensions\u0027,\r\n \u0027requiredFeatures\u0027,\r\n \u0027resource\u0027,\r\n \u0027restart\u0027,\r\n \u0027result\u0027,\r\n \u0027results\u0027,\r\n \u0027rev\u0027,\r\n \u0027reversed\u0027,\r\n \u0027role\u0027,\r\n \u0027rotate\u0027,\r\n \u0027rowSpan\u0027,\r\n \u0027rows\u0027,\r\n \u0027rules\u0027,\r\n \u0027rx\u0027,\r\n \u0027ry\u0027,\r\n \u0027sandbox\u0027,\r\n \u0027scale\u0027,\r\n \u0027scope\u0027,\r\n \u0027scoped\u0027,\r\n \u0027scrolling\u0027,\r\n \u0027seamless\u0027,\r\n \u0027security\u0027,\r\n \u0027seed\u0027,\r\n \u0027selected\u0027,\r\n \u0027shape\u0027,\r\n \u0027shapeRendering\u0027,\r\n \u0027size\u0027,\r\n \u0027sizes\u0027,\r\n \u0027slope\u0027,\r\n \u0027slot\u0027,\r\n \u0027spacing\u0027,\r\n \u0027span\u0027,\r\n \u0027specularConstant\u0027,\r\n \u0027specularExponent\u0027,\r\n \u0027speed\u0027,\r\n \u0027spellCheck\u0027,\r\n \u0027spreadMethod\u0027,\r\n \u0027src\u0027,\r\n \u0027srcDoc\u0027,\r\n \u0027srcLang\u0027,\r\n \u0027srcSet\u0027,\r\n \u0027start\u0027,\r\n \u0027startOffset\u0027,\r\n \u0027stdDeviation\u0027,\r\n \u0027stemh\u0027,\r\n \u0027stemv\u0027,\r\n \u0027step\u0027,\r\n \u0027stitchTiles\u0027,\r\n \u0027stopColor\u0027,\r\n \u0027stopOpacity\u0027,\r\n \u0027strikethroughPosition\u0027,\r\n \u0027strikethroughThickness\u0027,\r\n \u0027string\u0027,\r\n \u0027stroke\u0027,\r\n \u0027strokeDasharray\u0027,\r\n \u0027strokeDashoffset\u0027,\r\n \u0027strokeLinecap\u0027,\r\n \u0027strokeLinejoin\u0027,\r\n \u0027strokeMiterlimit\u0027,\r\n \u0027strokeOpacity\u0027,\r\n \u0027strokeWidth\u0027,\r\n \u0027style\u0027,\r\n \u0027summary\u0027,\r\n \u0027suppressContentEditableWarning\u0027,\r\n \u0027suppressHydrationWarning\u0027,\r\n \u0027surfaceScale\u0027,\r\n \u0027systemLanguage\u0027,\r\n \u0027tabIndex\u0027,\r\n \u0027tableValues\u0027,\r\n \u0027target\u0027,\r\n \u0027targetX\u0027,\r\n \u0027targetY\u0027,\r\n \u0027textAnchor\u0027,\r\n \u0027textDecoration\u0027,\r\n \u0027textLength\u0027,\r\n \u0027textRendering\u0027,\r\n \u0027title\u0027,\r\n \u0027to\u0027,\r\n \u0027transform\u0027,\r\n \u0027translate\u0027,\r\n \u0027type\u0027,\r\n \u0027typeof\u0027,\r\n \u0027u\u0027,\r\n \u0027underlinePosition\u0027,\r\n \u0027underlineThickness\u0027,\r\n \u0027unicode\u0027,\r\n \u0027unicodeBidi\u0027,\r\n \u0027unicodeRange\u0027,\r\n \u0027unitsPerEm\u0027,\r\n \u0027unselectable\u0027,\r\n \u0027useMap\u0027,\r\n \u0027useragent\u0027,\r\n \u0027vAlphabetic\u0027,\r\n \u0027vHanging\u0027,\r\n \u0027vIdeographic\u0027,\r\n \u0027vMathematical\u0027,\r\n \u0027valign\u0027,\r\n \u0027value\u0027,\r\n \u0027values\u0027,\r\n \u0027vectorEffect\u0027,\r\n \u0027version\u0027,\r\n \u0027vertAdvY\u0027,\r\n \u0027vertOriginX\u0027,\r\n \u0027vertOriginY\u0027,\r\n \u0027viewBox\u0027,\r\n \u0027viewTarget\u0027,\r\n \u0027visibility\u0027,\r\n \u0027vocab\u0027,\r\n \u0027webpreferences\u0027,\r\n \u0027width\u0027,\r\n \u0027widths\u0027,\r\n \u0027wmode\u0027,\r\n \u0027wordSpacing\u0027,\r\n \u0027wrap\u0027,\r\n \u0027writingMode\u0027,\r\n \u0027x\u0027,\r\n \u0027xChannelSelector\u0027,\r\n \u0027xHeight\u0027,\r\n \u0027xlinkActuate\u0027,\r\n \u0027xlinkArcrole\u0027,\r\n \u0027xlinkHref\u0027,\r\n \u0027xlinkRole\u0027,\r\n \u0027xlinkShow\u0027,\r\n \u0027xlinkTitle\u0027,\r\n \u0027xlinkType\u0027,\r\n \u0027xmlBase\u0027,\r\n \u0027xmlLang\u0027,\r\n \u0027xmlSpace\u0027,\r\n \u0027xmlns\u0027,\r\n \u0027xmlnsXlink\u0027,\r\n \u0027y\u0027,\r\n \u0027yChannelSelector\u0027,\r\n \u0027z\u0027,\r\n \u0027zoomAndPan\u0027,\r\n];\r\n\r\nconst ALL_ATTRIBUTES = [...DOM_ATTRIBUTES, ...HTML_ATTRIBUTES]\r\nconst ALL_ATTRIBUTES_OBJ = ALL_ATTRIBUTES.reduce((acc, curr) =\u003E (acc[curr] = true, acc), {});\r\n\r\nfunction cleanProperties(props) {\r\n return Object.fromEntries(\r\n Object.entries(props).filter(\r\n ([name]) =\u003E\r\n name.startsWith(\u0027aria-\u0027) || name.startsWith(\u0027data-\u0027) || ALL_ATTRIBUTES.includes(name),\r\n ),\r\n )\r\n};\r\n\r\nfunction cleanPropertiesObj(props) {\r\n return Object.fromEntries(\r\n Object.entries(props).filter(\r\n ([name]) =\u003E\r\n name.startsWith(\u0027aria-\u0027) || name.startsWith(\u0027data-\u0027) || name in ALL_ATTRIBUTES_OBJ,\r\n ),\r\n )\r\n};","TestCases":[{"Name":"Array","Code":"cleanProperties({title:\u0027array\u0027, \u0027aria-label\u0027: \u0027label\u0027, onChange: () =\u003E {}})","IsDeferred":false},{"Name":"Object","Code":"cleanPropertiesObj({title:\u0027array\u0027, \u0027aria-label\u0027: \u0027label\u0027, onChange: () =\u003E {}})","IsDeferred":false}]}