import type { EventNameFor, EventFor } from '../src/types/index.js' type Eq = (() => T extends A ? 1 : 2) extends () => T extends B ? 1 : 2 ? true : false type Asserts = T type Names = Eq, K> type EventT, E> = Eq, E> export type AssertedNames = Asserts< [ Names< HTMLBodyElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'afterprint' | 'beforeprint' | 'beforeunload' | 'gamepadconnected' | 'gamepaddisconnected' | 'hashchange' | 'languagechange' | 'message' | 'messageerror' | 'offline' | 'online' | 'pagehide' | 'pagereveal' | 'pageshow' | 'pageswap' | 'popstate' | 'rejectionhandled' | 'storage' | 'unhandledrejection' | 'unload' >, Names< HTMLFrameSetElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'afterprint' | 'beforeprint' | 'beforeunload' | 'gamepadconnected' | 'gamepaddisconnected' | 'hashchange' | 'languagechange' | 'message' | 'messageerror' | 'offline' | 'online' | 'pagehide' | 'pagereveal' | 'pageshow' | 'pageswap' | 'popstate' | 'rejectionhandled' | 'storage' | 'unhandledrejection' | 'unload' >, Names< HTMLVideoElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'encrypted' | 'waitingforkey' | 'enterpictureinpicture' | 'leavepictureinpicture' >, Names< SVGSVGElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'afterprint' | 'beforeprint' | 'beforeunload' | 'gamepadconnected' | 'gamepaddisconnected' | 'hashchange' | 'languagechange' | 'message' | 'messageerror' | 'offline' | 'online' | 'pagehide' | 'pagereveal' | 'pageshow' | 'pageswap' | 'popstate' | 'rejectionhandled' | 'storage' | 'unhandledrejection' | 'unload' >, Names< HTMLMediaElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'encrypted' | 'waitingforkey' >, Names< MathMLElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' >, Names< Window, | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'afterprint' | 'beforeprint' | 'beforeunload' | 'gamepadconnected' | 'gamepaddisconnected' | 'hashchange' | 'languagechange' | 'message' | 'messageerror' | 'offline' | 'online' | 'pagehide' | 'pagereveal' | 'pageshow' | 'pageswap' | 'popstate' | 'rejectionhandled' | 'storage' | 'unhandledrejection' | 'unload' | 'DOMContentLoaded' | 'devicemotion' | 'deviceorientation' | 'deviceorientationabsolute' | 'orientationchange' >, Names, Names< SVGElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' >, Names< HTMLElement, | 'fullscreenchange' | 'fullscreenerror' | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' >, Names< Document, | 'abort' | 'animationcancel' | 'animationend' | 'animationiteration' | 'animationstart' | 'auxclick' | 'beforeinput' | 'beforematch' | 'beforetoggle' | 'blur' | 'cancel' | 'canplay' | 'canplaythrough' | 'change' | 'click' | 'close' | 'command' | 'compositionend' | 'compositionstart' | 'compositionupdate' | 'contextlost' | 'contextmenu' | 'contextrestored' | 'copy' | 'cuechange' | 'cut' | 'dblclick' | 'drag' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'dragstart' | 'drop' | 'durationchange' | 'emptied' | 'ended' | 'error' | 'focus' | 'focusin' | 'focusout' | 'formdata' | 'gotpointercapture' | 'input' | 'invalid' | 'keydown' | 'keypress' | 'keyup' | 'load' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'lostpointercapture' | 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'paste' | 'pause' | 'play' | 'playing' | 'pointercancel' | 'pointerdown' | 'pointerenter' | 'pointerleave' | 'pointermove' | 'pointerout' | 'pointerover' | 'pointerrawupdate' | 'pointerup' | 'progress' | 'ratechange' | 'reset' | 'resize' | 'scroll' | 'scrollend' | 'securitypolicyviolation' | 'seeked' | 'seeking' | 'select' | 'selectionchange' | 'selectstart' | 'slotchange' | 'stalled' | 'submit' | 'suspend' | 'timeupdate' | 'toggle' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'transitioncancel' | 'transitionend' | 'transitionrun' | 'transitionstart' | 'volumechange' | 'waiting' | 'webkitanimationend' | 'webkitanimationiteration' | 'webkitanimationstart' | 'webkittransitionend' | 'wheel' | 'DOMContentLoaded' | 'fullscreenchange' | 'fullscreenerror' | 'pointerlockchange' | 'pointerlockerror' | 'readystatechange' | 'visibilitychange' >, Names, Names, Names, Names, Names, Names, Names< XMLHttpRequest, 'abort' | 'error' | 'load' | 'loadend' | 'loadstart' | 'progress' | 'timeout' | 'readystatechange' >, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names< RTCPeerConnection, | 'connectionstatechange' | 'datachannel' | 'icecandidate' | 'icecandidateerror' | 'iceconnectionstatechange' | 'icegatheringstatechange' | 'negotiationneeded' | 'signalingstatechange' | 'track' >, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, Names, ] > export type AssertedEvents = Asserts< [ EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT>, EventT>, EventT>, EventT>, EventT>, EventT>, EventT>, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT>, EventT>, EventT>, EventT>, EventT>, EventT>, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT, EventT>, EventT>, EventT>, EventT>, EventT>, EventT>, EventT>, EventT, EventT, ] >