UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 47.3 kB
{"ast":null,"code":"'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450;\nvar DEFAULT_PRESS_DELAY_MS = 50;\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}","map":{"version":3,"names":["DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","Object","freeze","getElementRole","element","getAttribute","getElementType","tagName","toLowerCase","isActiveSignal","signal","isButtonRole","isPressStartSignal","isTerminalSignal","isValidKeyPress","event","key","target","isSpacebar","isButtonish","DEFAULT_LONG_PRESS_DELAY_MS","DEFAULT_PRESS_DELAY_MS","PressResponder","constructor","config","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","_responderElement","configure","_config","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","start","shouldDelay","persist","_selectionTerminated","nativeEvent","type","_receiveSignal","delayPressStart","normalizeDelay","setTimeout","delayLongPress","_handleLongPress","end","keyupHandler","onPress","document","removeEventListener","role","elementType","isNativeInteractiveElement","isActiveElement","onStartShouldSetResponder","disabled","currentTarget","stopPropagation","onKeyDown","addEventListener","isSpacebarKey","isButtonLikeRole","preventDefault","onResponderGrant","onResponderMove","onPressMove","touch","getTouchFromResponderEvent","_touchActivatePosition","deltaX","pageX","deltaY","pageY","Math","hypot","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","_this$_config","cancelable","onLongPress","onClick","_this$_config2","altKey","onContextMenu","_this$_config3","defaultPrevented","prevState","nextState","console","error","_performTransitionSideEffects","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","isPressCanceledByLongPress","_this$_config5","onPressChange","onPressStart","_this$_config6","onPressEnd","delayPressEnd","clearTimeout","delay","min","fallback","max","_event$nativeEvent","changedTouches","touches","length"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * <View {...this.state.pressResponder.getEventHandlers()} />\n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}"],"mappings":"AAUA,YAAY;;AAEZ,IAAIA,KAAK,GAAG,OAAO;AACnB,IAAIC,KAAK,GAAG,OAAO;AACnB,IAAIC,mBAAmB,GAAG,qBAAqB;AAC/C,IAAIC,aAAa,GAAG,eAAe;AACnC,IAAIC,iCAAiC,GAAG,mCAAmC;AAC3E,IAAIC,4BAA4B,GAAG,8BAA8B;AACjE,IAAIC,8BAA8B,GAAG,gCAAgC;AACrE,IAAIC,eAAe,GAAG,iBAAiB;AACvC,IAAIC,iBAAiB,GAAG,mBAAmB;AAC3C,IAAIC,oBAAoB,GAAG,sBAAsB;AACjD,IAAIC,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC9BT,aAAa,EAAE;IACbH,KAAK,EAAEC,KAAK;IACZM,eAAe,EAAED,8BAA8B;IAC/CE,iBAAiB,EAAEP,KAAK;IACxBQ,oBAAoB,EAAER,KAAK;IAC3BC,mBAAmB,EAAED;EACvB,CAAC;EACDK,8BAA8B,EAAE;IAC9BN,KAAK,EAAEK,4BAA4B;IACnCE,eAAe,EAAEN,KAAK;IACtBO,iBAAiB,EAAEL,aAAa;IAChCM,oBAAoB,EAAEN,aAAa;IACnCD,mBAAmB,EAAED;EACvB,CAAC;EACDI,4BAA4B,EAAE;IAC5BL,KAAK,EAAEC,KAAK;IACZM,eAAe,EAAEN,KAAK;IACtBO,iBAAiB,EAAEL,aAAa;IAChCM,oBAAoB,EAAEN,aAAa;IACnCD,mBAAmB,EAAEE;EACvB,CAAC;EACDA,iCAAiC,EAAE;IACjCJ,KAAK,EAAEC,KAAK;IACZM,eAAe,EAAEN,KAAK;IACtBO,iBAAiB,EAAEL,aAAa;IAChCM,oBAAoB,EAAEN,aAAa;IACnCD,mBAAmB,EAAEE;EACvB,CAAC;EACDH,KAAK,EAAE;IACLD,KAAK,EAAEG,aAAa;IACpBI,eAAe,EAAED,8BAA8B;IAC/CE,iBAAiB,EAAEL,aAAa;IAChCM,oBAAoB,EAAEN,aAAa;IACnCD,mBAAmB,EAAEC;EACvB;AACF,CAAC,CAAC;AACF,IAAIU,cAAc,GAAGC,OAAO,IAAIA,OAAO,CAACC,YAAY,CAAC,MAAM,CAAC;AAC5D,IAAIC,cAAc,GAAGF,OAAO,IAAIA,OAAO,CAACG,OAAO,CAACC,WAAW,CAAC,CAAC;AAC7D,IAAIC,cAAc,GAAGC,MAAM,IAAIA,MAAM,KAAKf,4BAA4B,IAAIe,MAAM,KAAKhB,iCAAiC;AACtH,IAAIiB,YAAY,GAAGP,OAAO,IAAID,cAAc,CAACC,OAAO,CAAC,KAAK,QAAQ;AAClE,IAAIQ,kBAAkB,GAAGF,MAAM,IAAIA,MAAM,KAAKd,8BAA8B,IAAIc,MAAM,KAAKf,4BAA4B,IAAIe,MAAM,KAAKhB,iCAAiC;AACvK,IAAImB,gBAAgB,GAAGH,MAAM,IAAIA,MAAM,KAAKX,oBAAoB,IAAIW,MAAM,KAAKZ,iBAAiB;AAChG,IAAIgB,eAAe,GAAGC,KAAK,IAAI;EAC7B,IAAIC,GAAG,GAAGD,KAAK,CAACC,GAAG;IACjBC,MAAM,GAAGF,KAAK,CAACE,MAAM;EACvB,IAAIC,UAAU,GAAGF,GAAG,KAAK,GAAG,IAAIA,GAAG,KAAK,UAAU;EAClD,IAAIG,WAAW,GAAGb,cAAc,CAACW,MAAM,CAAC,KAAK,QAAQ,IAAIN,YAAY,CAACM,MAAM,CAAC;EAC7E,OAAOD,GAAG,KAAK,OAAO,IAAIE,UAAU,IAAIC,WAAW;AACrD,CAAC;AACD,IAAIC,2BAA2B,GAAG,GAAG;AACrC,IAAIC,sBAAsB,GAAG,EAAE;AA4E/B,eAAe,MAAMC,cAAc,CAAC;EAClCC,WAAWA,CAACC,MAAM,EAAE;IAClB,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACC,eAAe,GAAG,KAAK;IAC5B,IAAI,CAACC,sBAAsB,GAAG,IAAI;IAClC,IAAI,CAACC,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACC,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,WAAW,GAAGtC,aAAa;IAChC,IAAI,CAACuC,iBAAiB,GAAG,IAAI;IAC7B,IAAI,CAACC,SAAS,CAACT,MAAM,CAAC;EACxB;EACAS,SAASA,CAACT,MAAM,EAAE;IAChB,IAAI,CAACU,OAAO,GAAGV,MAAM;EACvB;EAKAW,KAAKA,CAAA,EAAG;IACN,IAAI,CAACC,4BAA4B,CAAC,CAAC;IACnC,IAAI,CAACC,wBAAwB,CAAC,CAAC;IAC/B,IAAI,CAACC,2BAA2B,CAAC,CAAC;EACpC;EAKAC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACd,cAAc,IAAI,IAAI,EAAE;MAC/B,IAAI,CAACA,cAAc,GAAG,IAAI,CAACe,oBAAoB,CAAC,CAAC;IACnD;IACA,OAAO,IAAI,CAACf,cAAc;EAC5B;EACAe,oBAAoBA,CAAA,EAAG;IACrB,IAAIC,KAAK,GAAGA,CAAC1B,KAAK,EAAE2B,WAAW,KAAK;MAClC3B,KAAK,CAAC4B,OAAO,CAAC,CAAC;MACf,IAAI,CAACL,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACV,oBAAoB,GAAG,KAAK;MACjC,IAAI,CAACgB,oBAAoB,GAAG,KAAK;MACjC,IAAI,CAACb,WAAW,GAAGtC,aAAa;MAChC,IAAI,CAACiC,eAAe,GAAGX,KAAK,CAAC8B,WAAW,CAACC,IAAI,KAAK,YAAY;MAC9D,IAAI,CAACC,cAAc,CAAClD,eAAe,EAAEkB,KAAK,CAAC;MAC3C,IAAIiC,eAAe,GAAGC,cAAc,CAAC,IAAI,CAACf,OAAO,CAACc,eAAe,EAAE,CAAC,EAAE3B,sBAAsB,CAAC;MAC7F,IAAIqB,WAAW,KAAK,KAAK,IAAIM,eAAe,GAAG,CAAC,EAAE;QAChD,IAAI,CAACnB,kBAAkB,GAAGqB,UAAU,CAAC,MAAM;UACzC,IAAI,CAACH,cAAc,CAACzD,KAAK,EAAEyB,KAAK,CAAC;QACnC,CAAC,EAAEiC,eAAe,CAAC;MACrB,CAAC,MAAM;QACL,IAAI,CAACD,cAAc,CAACzD,KAAK,EAAEyB,KAAK,CAAC;MACnC;MACA,IAAIoC,cAAc,GAAGF,cAAc,CAAC,IAAI,CAACf,OAAO,CAACiB,cAAc,EAAE,EAAE,EAAE/B,2BAA2B,CAAC;MACjG,IAAI,CAACO,sBAAsB,GAAGuB,UAAU,CAAC,MAAM;QAC7C,IAAI,CAACE,gBAAgB,CAACrC,KAAK,CAAC;MAC9B,CAAC,EAAEoC,cAAc,GAAGH,eAAe,CAAC;IACtC,CAAC;IACD,IAAIK,GAAG,GAAGtC,KAAK,IAAI;MACjB,IAAI,CAACgC,cAAc,CAACjD,iBAAiB,EAAEiB,KAAK,CAAC;IAC/C,CAAC;IACD,IAAIuC,YAAY,GAAGvC,KAAK,IAAI;MAC1B,IAAIwC,OAAO,GAAG,IAAI,CAACrB,OAAO,CAACqB,OAAO;MAClC,IAAItC,MAAM,GAAGF,KAAK,CAACE,MAAM;MACzB,IAAI,IAAI,CAACc,WAAW,KAAKtC,aAAa,IAAIqB,eAAe,CAACC,KAAK,CAAC,EAAE;QAChEsC,GAAG,CAACtC,KAAK,CAAC;QACVyC,QAAQ,CAACC,mBAAmB,CAAC,OAAO,EAAEH,YAAY,CAAC;QACnD,IAAII,IAAI,GAAGzC,MAAM,CAACZ,YAAY,CAAC,MAAM,CAAC;QACtC,IAAIsD,WAAW,GAAGrD,cAAc,CAACW,MAAM,CAAC;QACxC,IAAI2C,0BAA0B,GAAGF,IAAI,KAAK,MAAM,IAAIC,WAAW,KAAK,GAAG,IAAIA,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,OAAO,IAAIA,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,UAAU;QACxL,IAAIE,eAAe,GAAG,IAAI,CAAC7B,iBAAiB,KAAKf,MAAM;QACvD,IAAIsC,OAAO,IAAI,IAAI,IAAI,CAACK,0BAA0B,IAAIC,eAAe,EAAE;UACrEN,OAAO,CAACxC,KAAK,CAAC;QAChB;QACA,IAAI,CAACiB,iBAAiB,GAAG,IAAI;MAC/B;IACF,CAAC;IACD,OAAO;MACL8B,yBAAyB,EAAE/C,KAAK,IAAI;QAClC,IAAIgD,QAAQ,GAAG,IAAI,CAAC7B,OAAO,CAAC6B,QAAQ;QACpC,IAAIA,QAAQ,IAAIpD,YAAY,CAACI,KAAK,CAACiD,aAAa,CAAC,EAAE;UACjDjD,KAAK,CAACkD,eAAe,CAAC,CAAC;QACzB;QACA,IAAIF,QAAQ,IAAI,IAAI,EAAE;UACpB,OAAO,IAAI;QACb;QACA,OAAO,CAACA,QAAQ;MAClB,CAAC;MACDG,SAAS,EAAEnD,KAAK,IAAI;QAClB,IAAIgD,QAAQ,GAAG,IAAI,CAAC7B,OAAO,CAAC6B,QAAQ;QACpC,IAAI/C,GAAG,GAAGD,KAAK,CAACC,GAAG;UACjBC,MAAM,GAAGF,KAAK,CAACE,MAAM;QACvB,IAAI,CAAC8C,QAAQ,IAAIjD,eAAe,CAACC,KAAK,CAAC,EAAE;UACvC,IAAI,IAAI,CAACgB,WAAW,KAAKtC,aAAa,EAAE;YACtCgD,KAAK,CAAC1B,KAAK,EAAE,KAAK,CAAC;YACnB,IAAI,CAACiB,iBAAiB,GAAGf,MAAM;YAG/BuC,QAAQ,CAACW,gBAAgB,CAAC,OAAO,EAAEb,YAAY,CAAC;UAClD;UACA,IAAIc,aAAa,GAAGpD,GAAG,KAAK,GAAG,IAAIA,GAAG,KAAK,UAAU;UACrD,IAAI0C,IAAI,GAAGvD,cAAc,CAACc,MAAM,CAAC;UACjC,IAAIoD,gBAAgB,GAAGX,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,UAAU;UAC/D,IAAIU,aAAa,IAAIC,gBAAgB,IAAI/D,cAAc,CAACW,MAAM,CAAC,KAAK,QAAQ,EAAE;YAE5EF,KAAK,CAACuD,cAAc,CAAC,CAAC;UACxB;UACAvD,KAAK,CAACkD,eAAe,CAAC,CAAC;QACzB;MACF,CAAC;MACDM,gBAAgB,EAAExD,KAAK,IAAI0B,KAAK,CAAC1B,KAAK,CAAC;MACvCyD,eAAe,EAAEzD,KAAK,IAAI;QACxB,IAAI,IAAI,CAACmB,OAAO,CAACuC,WAAW,IAAI,IAAI,EAAE;UACpC,IAAI,CAACvC,OAAO,CAACuC,WAAW,CAAC1D,KAAK,CAAC;QACjC;QACA,IAAI2D,KAAK,GAAGC,0BAA0B,CAAC5D,KAAK,CAAC;QAC7C,IAAI,IAAI,CAAC6D,sBAAsB,IAAI,IAAI,EAAE;UACvC,IAAIC,MAAM,GAAG,IAAI,CAACD,sBAAsB,CAACE,KAAK,GAAGJ,KAAK,CAACI,KAAK;UAC5D,IAAIC,MAAM,GAAG,IAAI,CAACH,sBAAsB,CAACI,KAAK,GAAGN,KAAK,CAACM,KAAK;UAC5D,IAAIC,IAAI,CAACC,KAAK,CAACL,MAAM,EAAEE,MAAM,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,CAAC3C,4BAA4B,CAAC,CAAC;UACrC;QACF;MACF,CAAC;MACD+C,kBAAkB,EAAEpE,KAAK,IAAIsC,GAAG,CAACtC,KAAK,CAAC;MACvCqE,oBAAoB,EAAErE,KAAK,IAAI;QAC7B,IAAIA,KAAK,CAAC8B,WAAW,CAACC,IAAI,KAAK,iBAAiB,EAAE;UAChD,IAAI,CAACF,oBAAoB,GAAG,IAAI;QAClC;QACA,IAAI,CAACG,cAAc,CAAChD,oBAAoB,EAAEgB,KAAK,CAAC;MAClD,CAAC;MACDsE,6BAA6B,EAAEtE,KAAK,IAAI;QACtC,IAAIuE,aAAa,GAAG,IAAI,CAACpD,OAAO;UAC9BqD,UAAU,GAAGD,aAAa,CAACC,UAAU;UACrCxB,QAAQ,GAAGuB,aAAa,CAACvB,QAAQ;UACjCyB,WAAW,GAAGF,aAAa,CAACE,WAAW;QAGzC,IAAI,CAACzB,QAAQ,IAAIyB,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC9D,eAAe,IAAIX,KAAK,CAAC8B,WAAW,CAACC,IAAI,KAAK,aAAa,EAAE;UACxG,OAAO,KAAK;QACd;QACA,IAAIyC,UAAU,IAAI,IAAI,EAAE;UACtB,OAAO,IAAI;QACb;QACA,OAAOA,UAAU;MACnB,CAAC;MASDE,OAAO,EAAE1E,KAAK,IAAI;QAChB,IAAI2E,cAAc,GAAG,IAAI,CAACxD,OAAO;UAC/B6B,QAAQ,GAAG2B,cAAc,CAAC3B,QAAQ;UAClCR,OAAO,GAAGmC,cAAc,CAACnC,OAAO;QAClC,IAAI,CAACQ,QAAQ,EAAE;UAIbhD,KAAK,CAACkD,eAAe,CAAC,CAAC;UACvB,IAAI,IAAI,CAACrC,oBAAoB,IAAI,IAAI,CAACgB,oBAAoB,EAAE;YAC1D7B,KAAK,CAACuD,cAAc,CAAC,CAAC;UACxB,CAAC,MAAM,IAAIf,OAAO,IAAI,IAAI,IAAIxC,KAAK,CAAC4E,MAAM,KAAK,KAAK,EAAE;YACpDpC,OAAO,CAACxC,KAAK,CAAC;UAChB;QACF,CAAC,MAAM;UACL,IAAIJ,YAAY,CAACI,KAAK,CAACiD,aAAa,CAAC,EAAE;YACrCjD,KAAK,CAACkD,eAAe,CAAC,CAAC;UACzB;QACF;MACF,CAAC;MAGD2B,aAAa,EAAE7E,KAAK,IAAI;QACtB,IAAI8E,cAAc,GAAG,IAAI,CAAC3D,OAAO;UAC/B6B,QAAQ,GAAG8B,cAAc,CAAC9B,QAAQ;UAClCyB,WAAW,GAAGK,cAAc,CAACL,WAAW;QAC1C,IAAI,CAACzB,QAAQ,EAAE;UACb,IAAIyB,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC9D,eAAe,IAAI,CAACX,KAAK,CAAC+E,gBAAgB,EAAE;YAC1E/E,KAAK,CAACuD,cAAc,CAAC,CAAC;YACtBvD,KAAK,CAACkD,eAAe,CAAC,CAAC;UACzB;QACF,CAAC,MAAM;UACL,IAAItD,YAAY,CAACI,KAAK,CAACiD,aAAa,CAAC,EAAE;YACrCjD,KAAK,CAACkD,eAAe,CAAC,CAAC;UACzB;QACF;MACF;IACF,CAAC;EACH;EAMAlB,cAAcA,CAACrC,MAAM,EAAEK,KAAK,EAAE;IAC5B,IAAIgF,SAAS,GAAG,IAAI,CAAChE,WAAW;IAChC,IAAIiE,SAAS,GAAG,IAAI;IACpB,IAAIhG,WAAW,CAAC+F,SAAS,CAAC,IAAI,IAAI,EAAE;MAClCC,SAAS,GAAGhG,WAAW,CAAC+F,SAAS,CAAC,CAACrF,MAAM,CAAC;IAC5C;IACA,IAAI,IAAI,CAACqB,WAAW,KAAKtC,aAAa,IAAIiB,MAAM,KAAKZ,iBAAiB,EAAE;MACtE;IACF;IACA,IAAIkG,SAAS,IAAI,IAAI,IAAIA,SAAS,KAAKzG,KAAK,EAAE;MAC5C0G,OAAO,CAACC,KAAK,CAAC,iCAAiC,GAAGxF,MAAM,GAAG,aAAa,GAAGqF,SAAS,GAAG,eAAe,CAAC;IACzG,CAAC,MAAM,IAAIA,SAAS,KAAKC,SAAS,EAAE;MAClC,IAAI,CAACG,6BAA6B,CAACJ,SAAS,EAAEC,SAAS,EAAEtF,MAAM,EAAEK,KAAK,CAAC;MACvE,IAAI,CAACgB,WAAW,GAAGiE,SAAS;IAC9B;EACF;EAMAG,6BAA6BA,CAACJ,SAAS,EAAEC,SAAS,EAAEtF,MAAM,EAAEK,KAAK,EAAE;IACjE,IAAIF,gBAAgB,CAACH,MAAM,CAAC,EAAE;MAI5BwC,UAAU,CAAC,MAAM;QACf,IAAI,CAACxB,eAAe,GAAG,KAAK;MAC9B,CAAC,EAAE,CAAC,CAAC;MACL,IAAI,CAACkD,sBAAsB,GAAG,IAAI;MAClC,IAAI,CAACxC,4BAA4B,CAAC,CAAC;IACrC;IACA,IAAIxB,kBAAkB,CAACmF,SAAS,CAAC,IAAIrF,MAAM,KAAKlB,mBAAmB,EAAE;MACnE,IAAIgG,WAAW,GAAG,IAAI,CAACtD,OAAO,CAACsD,WAAW;MAG1C,IAAIA,WAAW,IAAI,IAAI,IAAIzE,KAAK,CAAC8B,WAAW,CAAC7B,GAAG,IAAI,IAAI,EAAE;QACxDwE,WAAW,CAACzE,KAAK,CAAC;QAClB,IAAI,CAACa,oBAAoB,GAAG,IAAI;MAClC;IACF;IACA,IAAIwE,YAAY,GAAG3F,cAAc,CAACsF,SAAS,CAAC;IAC5C,IAAIM,YAAY,GAAG5F,cAAc,CAACuF,SAAS,CAAC;IAC5C,IAAI,CAACI,YAAY,IAAIC,YAAY,EAAE;MACjC,IAAI,CAACC,SAAS,CAACvF,KAAK,CAAC;IACvB,CAAC,MAAM,IAAIqF,YAAY,IAAI,CAACC,YAAY,EAAE;MACxC,IAAI,CAACE,WAAW,CAACxF,KAAK,CAAC;IACzB;IACA,IAAIH,kBAAkB,CAACmF,SAAS,CAAC,IAAIrF,MAAM,KAAKZ,iBAAiB,EAAE;MACjE,IAAI0G,cAAc,GAAG,IAAI,CAACtE,OAAO;QAC/BuE,YAAY,GAAGD,cAAc,CAAChB,WAAW;QACzCjC,OAAO,GAAGiD,cAAc,CAACjD,OAAO;MAClC,IAAIA,OAAO,IAAI,IAAI,EAAE;QACnB,IAAImD,0BAA0B,GAAGD,YAAY,IAAI,IAAI,IAAIV,SAAS,KAAKrG,iCAAiC;QACxG,IAAI,CAACgH,0BAA0B,EAAE;UAE/B,IAAI,CAACL,YAAY,IAAI,CAACD,YAAY,EAAE;YAClC,IAAI,CAACE,SAAS,CAACvF,KAAK,CAAC;YACrB,IAAI,CAACwF,WAAW,CAACxF,KAAK,CAAC;UACzB;QACF;MACF;IACF;IACA,IAAI,CAACsB,wBAAwB,CAAC,CAAC;EACjC;EACAiE,SAASA,CAACvF,KAAK,EAAE;IACf,IAAI4F,cAAc,GAAG,IAAI,CAACzE,OAAO;MAC/B0E,aAAa,GAAGD,cAAc,CAACC,aAAa;MAC5CC,YAAY,GAAGF,cAAc,CAACE,YAAY;IAC5C,IAAInC,KAAK,GAAGC,0BAA0B,CAAC5D,KAAK,CAAC;IAC7C,IAAI,CAAC6D,sBAAsB,GAAG;MAC5BE,KAAK,EAAEJ,KAAK,CAACI,KAAK;MAClBE,KAAK,EAAEN,KAAK,CAACM;IACf,CAAC;IACD,IAAI6B,YAAY,IAAI,IAAI,EAAE;MACxBA,YAAY,CAAC9F,KAAK,CAAC;IACrB;IACA,IAAI6F,aAAa,IAAI,IAAI,EAAE;MACzBA,aAAa,CAAC,IAAI,CAAC;IACrB;EACF;EACAL,WAAWA,CAACxF,KAAK,EAAE;IACjB,IAAI+F,cAAc,GAAG,IAAI,CAAC5E,OAAO;MAC/B0E,aAAa,GAAGE,cAAc,CAACF,aAAa;MAC5CG,UAAU,GAAGD,cAAc,CAACC,UAAU;IACxC,SAAS1D,GAAGA,CAAA,EAAG;MACb,IAAI0D,UAAU,IAAI,IAAI,EAAE;QACtBA,UAAU,CAAChG,KAAK,CAAC;MACnB;MACA,IAAI6F,aAAa,IAAI,IAAI,EAAE;QACzBA,aAAa,CAAC,KAAK,CAAC;MACtB;IACF;IACA,IAAII,aAAa,GAAG/D,cAAc,CAAC,IAAI,CAACf,OAAO,CAAC8E,aAAa,CAAC;IAC9D,IAAIA,aAAa,GAAG,CAAC,EAAE;MACrB,IAAI,CAAClF,qBAAqB,GAAGoB,UAAU,CAAC,MAAM;QAC5CG,GAAG,CAAC,CAAC;MACP,CAAC,EAAE2D,aAAa,CAAC;IACnB,CAAC,MAAM;MACL3D,GAAG,CAAC,CAAC;IACP;EACF;EACAD,gBAAgBA,CAACrC,KAAK,EAAE;IACtB,IAAI,IAAI,CAACgB,WAAW,KAAKpC,4BAA4B,IAAI,IAAI,CAACoC,WAAW,KAAKrC,iCAAiC,EAAE;MAC/G,IAAI,CAACqD,cAAc,CAACvD,mBAAmB,EAAEuB,KAAK,CAAC;IACjD;EACF;EACAqB,4BAA4BA,CAAA,EAAG;IAC7B,IAAI,IAAI,CAACT,sBAAsB,IAAI,IAAI,EAAE;MACvCsF,YAAY,CAAC,IAAI,CAACtF,sBAAsB,CAAC;MACzC,IAAI,CAACA,sBAAsB,GAAG,IAAI;IACpC;EACF;EACAU,wBAAwBA,CAAA,EAAG;IACzB,IAAI,IAAI,CAACR,kBAAkB,IAAI,IAAI,EAAE;MACnCoF,YAAY,CAAC,IAAI,CAACpF,kBAAkB,CAAC;MACrC,IAAI,CAACA,kBAAkB,GAAG,IAAI;IAChC;EACF;EACAS,2BAA2BA,CAAA,EAAG;IAC5B,IAAI,IAAI,CAACR,qBAAqB,IAAI,IAAI,EAAE;MACtCmF,YAAY,CAAC,IAAI,CAACnF,qBAAqB,CAAC;MACxC,IAAI,CAACA,qBAAqB,GAAG,IAAI;IACnC;EACF;AACF;AACA,SAASmB,cAAcA,CAACiE,KAAK,EAAEC,GAAG,EAAEC,QAAQ,EAAE;EAC5C,IAAID,GAAG,KAAK,KAAK,CAAC,EAAE;IAClBA,GAAG,GAAG,CAAC;EACT;EACA,IAAIC,QAAQ,KAAK,KAAK,CAAC,EAAE;IACvBA,QAAQ,GAAG,CAAC;EACd;EACA,OAAOnC,IAAI,CAACoC,GAAG,CAACF,GAAG,EAAED,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,GAAGA,KAAK,GAAGE,QAAQ,CAAC;AAC7E;AACA,SAASzC,0BAA0BA,CAAC5D,KAAK,EAAE;EACzC,IAAIuG,kBAAkB,GAAGvG,KAAK,CAAC8B,WAAW;IACxC0E,cAAc,GAAGD,kBAAkB,CAACC,cAAc;IAClDC,OAAO,GAAGF,kBAAkB,CAACE,OAAO;EACtC,IAAIA,OAAO,IAAI,IAAI,IAAIA,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;IACzC,OAAOD,OAAO,CAAC,CAAC,CAAC;EACnB;EACA,IAAID,cAAc,IAAI,IAAI,IAAIA,cAAc,CAACE,MAAM,GAAG,CAAC,EAAE;IACvD,OAAOF,cAAc,CAAC,CAAC,CAAC;EAC1B;EACA,OAAOxG,KAAK,CAAC8B,WAAW;AAC1B","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}