/* Metro module 340; source: unknown; dependencies: [29, 6, 7, 15, 17, 18, 31, 33, 117, 341, 46, 48, 44, 97, 342, 294, 143, 262, 345, 334, 384, 387, 389, 402, 253, 403, 396, 147, 318] */ function _fun4988(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#4988, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:6, offset: 0x00cd260b, size: 421 bytes, params: 8, frame: 21 const env0_1 = require; const env0_4 = ['experimental_endDraggingSensitivityMultiplier']; const env0_5 = ['ref']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_6 = importDefault(29) /* metro dependency 29 */; const env0_7 = importDefault(6) /* metro dependency 6 */; const env0_8 = importDefault(7) /* metro dependency 7 */; const env0_9 = importDefault(15) /* metro dependency 15 */; const env0_10 = importDefault(17) /* metro dependency 17 */; const env0_11 = importDefault(18) /* metro dependency 18 */; const value = importAll(31) /* metro dependency 31 */; const env0_13 = (require(31) /* metro dependency 31 */).cloneElement; const value2 = require(33) /* metro dependency 33 */; const env0_14 = value2.jsx; value2.jsxs; const Component = value.Component; _fun4995(Component).Context = importDefault(402) /* metro dependency 402 */; const env0_16 = (importDefault(253) /* metro dependency 253 */).create({baseVertical: {'flexGrow': 1, 'flexShrink': 1, 'flexDirection': 'column', 'overflow': 'scroll'}, baseHorizontal: {'flexGrow': 1, 'flexShrink': 1, 'flexDirection': 'row', 'overflow': 'scroll'}, contentContainerHorizontal: {flexDirection: 'row'}}); const closure = Wrapper_5050; closure.displayName = 'ScrollView'; closure.Context = importDefault(402) /* metro dependency 402 */; exports.default = closure; } function _isNativeReflectConstruct_4989() { // fn#4989, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:282, offset: 0x00cd27b0, size: 94 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_4989_isNativeReflectConstruct = function() { return !!result; })(); } function createRefForwarder(a0) { // fn#4992, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:14746, offset: 0x00cd280e, size: 66 bytes, params: 2, frame: 13 let env0_0 = a0; const object2 = {'getForwardingRef': null, 'nativeInstance': null, 'publicInstance': null}; object2.getForwardingRef = (importDefault(318) /* metro dependency 318 */)(function(a0) { var env0_0 = a0; return _fun4994; }); return object2; } function _fun4995(a0) { // fn#4995, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:507, offset: 0x00cd28c8, size: 252 bytes, params: 2, frame: 16 const closure = ScrollView; env0_11(closure, a0); return env0_8(closure, [{key: 'componentDidMount', value: value_5038}, {key: 'componentDidUpdate', value: function(a0) { var r0; var r3; var property; var value = 0; r0 = a0.contentInset ? a0.contentInset.top : value; r3 = this.props.contentInset ? this.props.contentInset.top : value; if (r0 !== r3) { property = this._scrollAnimatedValue; r3 = !r3 ? value : r3; property.setOffset(r3); } this._updateAnimatedNodeAttachment(); }}, {key: 'componentWillUnmount', value: value_5040}, {key: '_textInputFocusError', value: function() { global.console.warn('Error measuring text field.'); }}, {key: '_getKeyForIndex', value: function(a0, a1) { var property = a1[a0]; return property && property.key; }}, {key: '_updateAnimatedNodeAttachment', value: value_5043}, {key: '_setStickyHeaderRef', value: function(a0, a1) { var _stickyHeaderRefs = this._stickyHeaderRefs; if (a1) { _stickyHeaderRefs.set(a0, a1); } else { _stickyHeaderRefs.delete(a0); } }}, {key: '_onStickyHeaderLayout', value: value_5045}, {key: 'render', value: value_5046}]); } function Wrapper_5050(a0) { // fn#5050, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:15013, offset: 0x00cd466b, size: 101 bytes, params: 2, frame: 18 const ref = a0.ref; const value2 = env0_6(a0, env0_5); return ((Component) => )(env0_15); } function _fun4993(a0) { // fn#4993, offset: 0x00cd2850, size: 16 bytes, params: 2, frame: 2 const env0_0 = a0; return _fun4994; } function ScrollView(a0) { // fn#4996, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:519, offset: 0x00cd29c4, size: 879 bytes, params: 2, frame: 21 var environment; const value = environment.__proto__; const binding = env1_7; const value3 = undefined; binding(this, ScrollView); const items = [a0]; const value4 = env1_10(ScrollView); const value7 = env1_9(this, _isNativeReflectConstruct_4989() ? global.Reflect.construct(value4, items, env1_10(this).constructor) : value4.apply(this, items)); value7._scrollAnimatedValueAttachment = null; let Map = global.Map; const value8 = Object.create(Map.prototype, {constructor: {value: Map}}); let map = new Map(); value7._stickyHeaderRefs = map instanceof Object ? map : value8; Map = global.Map; const value10 = Object.create(Map.prototype, {constructor: {value: Map}}); map = new Map(); value7._headerLayoutYs = map instanceof Object ? map : value10; value7._keyboardMetrics = null; const value12 = 0; value7._additionalScrollOffset = value12; value7._isTouching = false; value7._lastMomentumScrollBeginTime = value12; value7._lastMomentumScrollEndTime = value12; value7._observedScrollSinceBecomingResponder = false; value7._becameResponderWhileAnimating = false; value7._preventNegativeScrollOffset = null; value7._animated = null; value7._subscriptionKeyboardWillShow = null; value7._subscriptionKeyboardWillHide = null; value7._subscriptionKeyboardDidShow = null; value7._subscriptionKeyboardDidHide = null; value7.state = {layoutHeight: null}; value7.getScrollResponder = getScrollResponder_4997; value7.getScrollableNode = getScrollableNode_4998; value7.getInnerViewNode = getInnerViewNode; value7.getInnerViewRef = getInnerViewRef; value7.getNativeScrollRef = getNativeScrollRef_5001; value7.scrollTo = scrollTo_5002; value7.scrollToEnd = scrollToEnd_5003; value7.flashScrollIndicators = flashScrollIndicators_5004; value7.scrollResponderScrollNativeHandleToKeyboard = scrollResponderScrollNativeHandleToKeyboard; value7.scrollResponderZoomTo = scrollResponderZoomTo; value7._inputMeasureAndScrollToKeyboard = _inputMeasureAndScrollToKeyboard; value7._handleScroll = _handleScroll; value7._handleLayout = _handleLayout; value7._handleContentOnLayout = _handleContentOnLayout; const createRefForwarderBinding = createRefForwarder; value7._innerView = createRefForwarderBinding(function(a0) { return a0; }); value7._scrollView = createRefForwarderBinding(_fun5014); value7.scrollResponderKeyboardWillShow = scrollResponderKeyboardWillShow; value7.scrollResponderKeyboardWillHide = scrollResponderKeyboardWillHide; value7.scrollResponderKeyboardDidShow = scrollResponderKeyboardDidShow; value7.scrollResponderKeyboardDidHide = scrollResponderKeyboardDidHide; value7._handleMomentumScrollBegin = _handleMomentumScrollBegin; value7._handleMomentumScrollEnd = _handleMomentumScrollEnd; value7._handleScrollBeginDrag = _handleScrollBeginDrag; value7._handleScrollEndDrag = _handleScrollEndDrag; value7._isAnimating = _isAnimating; value7._handleResponderGrant = _handleResponderGrant; value7._handleResponderReject = function() { }; value7._handleResponderRelease = _handleResponderRelease; value7._handleResponderTerminationRequest = _handleResponderTerminationRequest; value7._handleScrollShouldSetResponder = _handleScrollShouldSetResponder; value7._handleStartShouldSetResponder = _handleStartShouldSetResponder; value7._handleStartShouldSetResponderCapture = _handleStartShouldSetResponderCapture; value7._keyboardIsDismissible = _keyboardIsDismissible; value7._softKeyboardIsDetached = _softKeyboardIsDetached; value7._keyboardEventsAreUnreliable = function() { var Version = importDefault(dependencyMap[17]).Version; return Version < 30; }; value7._handleTouchEnd = _handleTouchEnd; value7._handleTouchCancel = _handleTouchCancel; value7._handleTouchStart = _handleTouchStart; value7._handleTouchMove = _handleTouchMove; const Value = (importDefault(345) /* metro dependency 345 */).Value; const contentOffset = value7.props.contentOffset; value7._scrollAnimatedValue = new Value((contentOffset == null ? value3 : contentOffset.y) ?? value12); const _scrollAnimatedValue = value7._scrollAnimatedValue; const setOffset = _scrollAnimatedValue.setOffset; const contentInset = value7.props.contentInset; Reflect.apply(setOffset, _scrollAnimatedValue, [(contentInset == null ? value3 : contentInset.top) ?? value12]); return value7; } function value_5038() { // fn#5038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:8306, offset: 0x00cd3b7d, size: 348 bytes, params: 1, frame: 20 var r8; var console; var warn; var value; let props = this.props; let keyboardShouldPersistTaps = props.keyboardShouldPersistTaps; if (typeof keyboardShouldPersistTaps === 'boolean') { console = global.console; warn = console.warn; props = this.props; keyboardShouldPersistTaps = props.keyboardShouldPersistTaps; value = 'false'; r8 = keyboardShouldPersistTaps !== true ? value : 'true'; props = this.props; keyboardShouldPersistTaps = props.keyboardShouldPersistTaps; value = 'never'; Reflect.apply(warn, console, ["'keyboardShouldPersistTaps={" + r8 + '}\' is deprecated. Use \'keyboardShouldPersistTaps="' + (keyboardShouldPersistTaps ? 'always' : value) + '"\' instead']); } value = environment.__proto__; value = importDefault(334) /* metro dependency 334 */; this._keyboardMetrics = value.metrics(); this._additionalScrollOffset = 0; value = importDefault(334) /* metro dependency 334 */; this._subscriptionKeyboardWillShow = value.addListener('keyboardWillShow', this.scrollResponderKeyboardWillShow); value = importDefault(334) /* metro dependency 334 */; this._subscriptionKeyboardWillHide = value.addListener('keyboardWillHide', this.scrollResponderKeyboardWillHide); value = importDefault(334) /* metro dependency 334 */; this._subscriptionKeyboardDidShow = value.addListener('keyboardDidShow', this.scrollResponderKeyboardDidShow); value = importDefault(334) /* metro dependency 334 */; this._subscriptionKeyboardDidHide = value.addListener('keyboardDidHide', this.scrollResponderKeyboardDidHide); this._updateAnimatedNodeAttachment(); } function value_5040() { // fn#5040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:9451, offset: 0x00cd3d3d, size: 138 bytes, params: 1, frame: 11 if (this._subscriptionKeyboardWillShow != null) { this._subscriptionKeyboardWillShow.remove(); } if (this._subscriptionKeyboardWillHide != null) { this._subscriptionKeyboardWillHide.remove(); } if (this._subscriptionKeyboardDidShow != null) { this._subscriptionKeyboardDidShow.remove(); } if (this._subscriptionKeyboardDidHide != null) { this._subscriptionKeyboardDidHide.remove(); } if (this._scrollAnimatedValueAttachment) { this._scrollAnimatedValueAttachment.detach(); } } function value_5043() { // fn#5043, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:10150, offset: 0x00cd3dfa, size: 163 bytes, params: 1, frame: 18 var value; if (this._scrollAnimatedValueAttachment) { this._scrollAnimatedValueAttachment.detach(); } if (this.props.stickyHeaderIndices && this.props.stickyHeaderIndices.length > 0) { value = environment.__proto__; value = importDefault(345) /* metro dependency 345 */; this._scrollAnimatedValueAttachment = value.attachNativeEvent(this.getNativeScrollRef(), 'onScroll', [{nativeEvent: {contentOffset: {y: this._scrollAnimatedValue}}}]); } } function value_5045(a0, a1, a2) { // fn#5045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:10684, offset: 0x00cd3eca, size: 199 bytes, params: 4, frame: 17 var value; var Children; var y; var property; var _stickyHeaderRefs; const stickyHeaderIndices = this.props.stickyHeaderIndices; if (stickyHeaderIndices) { value = environment.__proto__; Children = env1_12.Children; value = Children.toArray(this.props.children); if (a2 === this._getKeyForIndex(a0, value)) { y = a1.nativeEvent.layout.y; this._headerLayoutYs.set(a2, y); property = stickyHeaderIndices[stickyHeaderIndices.indexOf(a0) - 1]; if (property != null) { _stickyHeaderRefs = this._stickyHeaderRefs; value = _stickyHeaderRefs.get(this._getKeyForIndex(property, value)); if (value && value.setNextHeaderY) { value.setNextHeaderY(y); } } } } } function value_5046() { // fn#5046, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:11070, offset: 0x00cd3f91, size: 1426 bytes, params: 1, frame: 31 var value22; var outer; var inner; var cloneElementBinding; var object2; let props = this.props; let value = props.horizontal === true; const r6 = value ? (require(384) /* metro dependency 384 */).HScrollViewNativeComponent : (require(387) /* metro dependency 387 */).VScrollViewNativeComponent; const r9 = value ? (require(384) /* metro dependency 384 */).HScrollContentViewNativeComponent : (require(387) /* metro dependency 387 */).VScrollContentViewNativeComponent; let object = [value && env1_16.contentContainerHorizontal]; object[1] = this.props.contentContainerStyle; const onContentSizeChange = this.props.onContentSizeChange; const value3 = null; let r16 = value3 == onContentSizeChange ? value3 : {onLayout: this._handleContentOnLayout}; const stickyHeaderIndices = this.props.stickyHeaderIndices; const children = this.props.children; const Children = env1_12.Children; const value4 = Children.toArray(children); let r14 = value3 != stickyHeaderIndices && stickyHeaderIndices.length > 0 ? value4.map(_fun5047) : value4; const Provider = (importDefault(402) /* metro dependency 402 */).Provider; const moduleValue = require(402) /* metro dependency 402 */; const provider = {r14}; const Array = global.Array; r14 = Array.isArray(stickyHeaderIndices) && stickyHeaderIndices.length > 0; let r17 = value3 != this.props.maintainVisibleContentPosition || value3 != this.props.snapToAlignment; let Object = global.Object; let assign = Object.assign; const object3 = {}; object3.ref = this._innerView.getForwardingRef(this.props.innerViewRef); object3.style = object; object3.removeClippedSubviews = !r14 && this.props.removeClippedSubviews; object3.collapsable = false; object3.collapsableChildren = !r17; object3.children = provider; const value13 = ((Component) => )(r9); r17 = this.props.alwaysBounceHorizontal !== undefined ? this.props.alwaysBounceHorizontal : this.props.horizontal; r16 = this.props.alwaysBounceVertical !== undefined ? this.props.alwaysBounceVertical : !this.props.horizontal; const binding = env1_16; const r15 = value ? binding.baseHorizontal : binding.baseVertical; props = this.props; const experimental_endDraggingSensitivityMultiplier = props.experimental_endDraggingSensitivityMultiplier; value = env1_6(props, env1_4); Object = global.Object; assign = Object.assign; object = {alwaysBounceHorizontal: r17, alwaysBounceVertical: r16}; const defaultImport = importDefault(253) /* metro dependency 253 */; object.style = defaultImport.compose(r15, this.props.style); object.onContentSizeChange = value3; object.onLayout = this._handleLayout; object.onMomentumScrollBegin = this._handleMomentumScrollBegin; object.onMomentumScrollEnd = this._handleMomentumScrollEnd; object.onResponderGrant = this._handleResponderGrant; object.onResponderReject = this._handleResponderReject; object.onResponderRelease = this._handleResponderRelease; object.onResponderTerminationRequest = this._handleResponderTerminationRequest; object.onScrollBeginDrag = this._handleScrollBeginDrag; object.onScrollEndDrag = this._handleScrollEndDrag; object.onScrollShouldSetResponder = this._handleScrollShouldSetResponder; object.onStartShouldSetResponder = this._handleStartShouldSetResponder; object.onStartShouldSetResponderCapture = this._handleStartShouldSetResponderCapture; object.onTouchEnd = this._handleTouchEnd; object.onTouchMove = this._handleTouchMove; object.onTouchStart = this._handleTouchStart; object.onTouchCancel = this._handleTouchCancel; object.onScroll = this._handleScroll; object.endDraggingSensitivityMultiplier = experimental_endDraggingSensitivityMultiplier; object.scrollEventThrottle = r14 ? 1 : this.props.scrollEventThrottle; object.sendMomentumEvents = !(!this.props.onMomentumScrollBegin && !this.props.onMomentumScrollEnd); object.snapToStart = this.props.snapToStart !== false; object.snapToEnd = this.props.snapToEnd !== false; let r3 = this.props.pagingEnabled === true || value3 != this.props.snapToInterval; r3 = !r3 ? value3 != this.props.snapToOffsets : r3; object.pagingEnabled = r3; value = Reflect.apply(assign, Object, [{}, value, object]); const decelerationRate = this.props.decelerationRate; if (value3 != decelerationRate) { value.decelerationRate = (importDefault(403) /* metro dependency 403 */)(decelerationRate); } const refreshControl = this.props.refreshControl; const forwardingRef = this._scrollView.getForwardingRef(this.props.scrollViewRef); if (value3 != refreshControl) { value22 = (importDefault(396) /* metro dependency 396 */)((importDefault(147) /* metro dependency 147 */)(value.style)); outer = value22.outer; inner = value22.inner; cloneElementBinding = cloneElement; object = {}; object.style = defaultImport.compose(r15, outer); Object = global.Object; assign = Object.assign; object2 = {}; object2.style = (importDefault(253) /* metro dependency 253 */).compose(r15, inner); object2.ref = forwardingRef; object2.children = value13; return cloneElementBinding(refreshControl, object, ((Component) => )(r6)); } Object = global.Object; return ((Component) => )(r6); } function _fun4994(a0) { // fn#4994, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:14830, offset: 0x00cd2860, size: 104 bytes, params: 2, frame: 13 const value = null; const r2 = value == a0 ? value : env1_0(a0); env1_1.nativeInstance = a0; env1_1.publicInstance = r2; if (value != env0_0) { if (typeof env0_0 === 'function') { env0_0(r2); } else { env0_0.current = r2; } } } function ScrollViewGetScrollableNode() { // fn#4998, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:1330, owner: ScrollView.getScrollableNode, offset: 0x00cd2d33, size: 55 bytes, params: 1, frame: 12 let value = environment.__proto__.__proto__; value = require(117) /* metro dependency 117 */; const findNodeHandle = value.findNodeHandle; const binding = env0_0; const getNativeScrollRef = binding.getNativeScrollRef; return Reflect.apply(findNodeHandle, value, [Reflect.apply(getNativeScrollRef, binding, [])]); } function getInnerViewNode() { // fn#4999, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:1415, owner: ScrollView.getInnerViewNode, offset: 0x00cd2d6a, size: 57 bytes, params: 1, frame: 11 let value = environment.__proto__.__proto__; value = require(117) /* metro dependency 117 */; return value.findNodeHandle(env0_0._innerView.nativeInstance); } function getInnerViewRef() { // fn#5000, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:1504, owner: ScrollView.getInnerViewRef, offset: 0x00cd2da3, size: 21 bytes, params: 1, frame: 1 return env0_0._innerView.nativeInstance; } function ScrollViewGetNativeScrollRef() { // fn#5001, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:1572, owner: ScrollView.getNativeScrollRef, offset: 0x00cd2db8, size: 21 bytes, params: 1, frame: 1 return env0_0._scrollView.nativeInstance; } function ScrollViewScrollTo(a0, a1, a2) { // fn#5002, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:1631, owner: ScrollView.scrollTo, offset: 0x00cd2dcd, size: 170 bytes, params: 4, frame: 20 var r4; var r5; var r6; var value4; var y; var x; var animated; var value5; var defaultImport; var scrollTo; let value = a0; if (typeof value === 'number') { global.console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.'); r4 = value; r5 = a1; r6 = a2; } else { value4 = undefined; if (value) { y = value.y; x = value.x; animated = value.animated; r4 = y; r5 = x; r6 = animated; } else { r4 = value4; r5 = value4; r6 = value4; } } value = env0_0.getNativeScrollRef(); if (value != null) { value5 = environment.__proto__.__proto__; defaultImport = importDefault(341) /* metro dependency 341 */; scrollTo = defaultImport.scrollTo; r5 = !r5 ? 0 : r5; r4 = !r4 ? 0 : r4; Reflect.apply(scrollTo, defaultImport, [value, r5, r4, r6 !== false]); } } function ScrollViewScrollToEnd(a0) { // fn#5003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:1922, owner: ScrollView.scrollToEnd, offset: 0x00cd2e77, size: 85 bytes, params: 2, frame: 14 var value2; let value = a0; const r4 = value && value.animated; value = env0_0.getNativeScrollRef(); if (value != null) { value2 = environment.__proto__.__proto__; (importDefault(341) /* metro dependency 341 */).scrollToEnd(value, r4 !== false); } } function ScrollViewFlashScrollIndicators() { // fn#5004, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:2045, owner: ScrollView.flashScrollIndicators, offset: 0x00cd2ecc, size: 63 bytes, params: 1, frame: 12 var value2; const nativeScrollRef = env0_0.getNativeScrollRef(); if (nativeScrollRef != null) { value2 = environment.__proto__.__proto__; (importDefault(341) /* metro dependency 341 */).flashScrollIndicators(nativeScrollRef); } } function scrollResponderScrollNativeHandleToKeyboard(a0, a1, a2) { // fn#5005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:2174, owner: ScrollView.scrollResponderScrollNativeHandleToKeyboard, offset: 0x00cd2f0b, size: 223 bytes, params: 4, frame: 20 var measureLayout; var defaultImport; var defaultImport2; var findNodeHandle; let value = a1; env0_0._additionalScrollOffset = value || 0; let binding = env0_0; binding._preventNegativeScrollOffset = !!a2; if (binding._innerView.nativeInstance != null) { if (typeof a0 === 'number') { value = environment.__proto__.__proto__; defaultImport = importDefault(46) /* metro dependency 46 */; measureLayout = defaultImport.measureLayout; defaultImport2 = importDefault(48) /* metro dependency 48 */; value = require(117) /* metro dependency 117 */; findNodeHandle = value.findNodeHandle; binding = env0_0; value = defaultImport2(Reflect.apply(findNodeHandle, value, [binding])); Reflect.apply(measureLayout, defaultImport, [a0, value, binding._textInputFocusError, binding._inputMeasureAndScrollToKeyboard]); } else { measureLayout = a0.measureLayout; binding = env0_0; Reflect.apply(measureLayout, a0, [binding._innerView.nativeInstance, binding._inputMeasureAndScrollToKeyboard, binding._textInputFocusError]); } } } function scrollResponderZoomTo(a0, a1) { // fn#5006, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:2560, owner: ScrollView.scrollResponderZoomTo, offset: 0x00cd2fea, size: 172 bytes, params: 3, frame: 18 const value = environment.__proto__.__proto__; (importDefault(44) /* metro dependency 44 */)(false, 'zoomToRect is not implemented'); if ('animated' in a0) { env0_0._animated = a0.animated; delete a0.animated; } else if (a1 !== undefined) { global.console.warn('`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead'); } const nativeScrollRef = env0_0.getNativeScrollRef(); if (nativeScrollRef != null) { (importDefault(341) /* metro dependency 341 */).zoomToRect(nativeScrollRef, a0, a1 !== false); } } function _inputMeasureAndScrollToKeyboard(a0, a1, a2, a3) { // fn#5007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:2900, owner: ScrollView._inputMeasureAndScrollToKeyboard, offset: 0x00cd3096, size: 121 bytes, params: 5, frame: 14 var environment; const env0_0 = a1; const env0_1 = a3; let value = environment.__proto__.__proto__; value = importDefault(97) /* metro dependency 97 */; const get = value.get; const env0_2 = Reflect.apply(get, value, ['window']).height; if (env0_0._keyboardMetrics == null) { global.setTimeout(function() { scrollTextInputIntoVisibleRect(); }, 0); } else { scrollTextInputIntoVisibleRect(); } } function ScrollView_handleScroll(a0) { // fn#5010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:3323, owner: ScrollView._handleScroll, offset: 0x00cd31c4, size: 56 bytes, params: 2, frame: 11 const binding = env0_0; binding._observedScrollSinceBecomingResponder = true; if (binding.props.onScroll) { env0_0.props.onScroll(a0); } } function _handleLayout(a0) { // fn#5011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:3433, owner: ScrollView._handleLayout, offset: 0x00cd31fc, size: 108 bytes, params: 2, frame: 14 if (env0_0.props.invertStickyHeaders === true) { env0_0.setState({layoutHeight: a0.nativeEvent.layout.height}); } if (env0_0.props.onLayout) { env0_0.props.onLayout(a0); } } function _handleContentOnLayout({nativeEvent}) { // fn#5012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:3598, owner: ScrollView._handleContentOnLayout, offset: 0x00cd3268, size: 71 bytes, params: 2, frame: 13 const layout = nativeEvent.layout; if (env0_0.props.onContentSizeChange) { env0_0.props.onContentSizeChange(layout.width, layout.height); } } function _fun5014(a0) { // fn#5014, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:3812, offset: 0x00cd32af, size: 143 bytes, params: 2, frame: 14 const Object = global.Object; const assign = Object.assign; const binding = env0_0; const getScrollResponder = binding.getScrollResponder; const getScrollableNode = binding.getScrollableNode; const getInnerViewNode = binding.getInnerViewNode; const getInnerViewRef = binding.getInnerViewRef; const getNativeScrollRef = binding.getNativeScrollRef; return Reflect.apply(assign, Object, [a0, {getScrollResponder: getScrollResponder, getScrollableNode: getScrollableNode, getInnerViewNode: getInnerViewNode, getInnerViewRef: getInnerViewRef, getNativeScrollRef: getNativeScrollRef, scrollTo: binding.scrollTo, scrollToEnd: binding.scrollToEnd, flashScrollIndicators: binding.flashScrollIndicators, scrollResponderZoomTo: binding.scrollResponderZoomTo, scrollResponderScrollNativeHandleToKeyboard: binding.scrollResponderScrollNativeHandleToKeyboard}]); } function scrollResponderKeyboardWillShow(a0) { // fn#5015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:4303, owner: ScrollView.scrollResponderKeyboardWillShow, offset: 0x00cd333e, size: 60 bytes, params: 2, frame: 12 const binding = env0_0; binding._keyboardMetrics = a0.endCoordinates; if (binding.props.onKeyboardWillShow) { env0_0.props.onKeyboardWillShow(a0); } } function scrollResponderKeyboardWillHide(a0) { // fn#5016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:4444, owner: ScrollView.scrollResponderKeyboardWillHide, offset: 0x00cd337a, size: 56 bytes, params: 2, frame: 11 const binding = env0_0; binding._keyboardMetrics = null; if (binding.props.onKeyboardWillHide) { env0_0.props.onKeyboardWillHide(a0); } } function scrollResponderKeyboardDidShow(a0) { // fn#5017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:4572, owner: ScrollView.scrollResponderKeyboardDidShow, offset: 0x00cd33b2, size: 60 bytes, params: 2, frame: 12 const binding = env0_0; binding._keyboardMetrics = a0.endCoordinates; if (binding.props.onKeyboardDidShow) { env0_0.props.onKeyboardDidShow(a0); } } function scrollResponderKeyboardDidHide(a0) { // fn#5018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:4710, owner: ScrollView.scrollResponderKeyboardDidHide, offset: 0x00cd33ee, size: 56 bytes, params: 2, frame: 11 const binding = env0_0; binding._keyboardMetrics = null; if (binding.props.onKeyboardDidHide) { env0_0.props.onKeyboardDidHide(a0); } } function _handleMomentumScrollBegin(a0) { // fn#5019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:4832, owner: ScrollView._handleMomentumScrollBegin, offset: 0x00cd3426, size: 76 bytes, params: 2, frame: 12 const binding = env0_0; binding._lastMomentumScrollBeginTime = env2_0.performance.now(); if (binding.props.onMomentumScrollBegin) { env0_0.props.onMomentumScrollBegin(a0); } } function _handleMomentumScrollEnd(a0) { // fn#5020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:4987, owner: ScrollView._handleMomentumScrollEnd, offset: 0x00cd3472, size: 106 bytes, params: 2, frame: 13 (importDefault(342) /* metro dependency 342 */).endScroll(); const binding = env0_0; binding._lastMomentumScrollEndTime = env2_0.performance.now(); if (binding.props.onMomentumScrollEnd) { env0_0.props.onMomentumScrollEnd(a0); } } function _handleScrollBeginDrag(a0) { // fn#5021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:5155, owner: ScrollView._handleScrollBeginDrag, offset: 0x00cd34dc, size: 130 bytes, params: 2, frame: 13 (importDefault(342) /* metro dependency 342 */).beginScroll(); if (env0_0.props.keyboardDismissMode === 'on-drag') { (importDefault(294) /* metro dependency 294 */)(); } if (env0_0.props.onScrollBeginDrag) { env0_0.props.onScrollBeginDrag(a0); } } function _handleScrollEndDrag(a0) { // fn#5022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:5322, owner: ScrollView._handleScrollEndDrag, offset: 0x00cd355e, size: 150 bytes, params: 2, frame: 16 var value5; const velocity = a0.nativeEvent.velocity; if (!(env0_0._isAnimating() || velocity && (velocity.x !== 0 || velocity.y !== 0))) { value5 = environment.__proto__.__proto__; (importDefault(342) /* metro dependency 342 */).endScroll(); } if (env0_0.props.onScrollEndDrag) { env0_0.props.onScrollEndDrag(a0); } } function _isAnimating() { // fn#5023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:5493, owner: ScrollView._isAnimating, offset: 0x00cd35f4, size: 71 bytes, params: 1, frame: 10 let value = environment.__proto__.__proto__; value = env2_0.performance.now(); value = value - env0_0._lastMomentumScrollEndTime < 16; return value || env0_0._lastMomentumScrollEndTime < env0_0._lastMomentumScrollBeginTime; } function _handleResponderGrant(a0) { // fn#5024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:5649, owner: ScrollView._handleResponderGrant, offset: 0x00cd363b, size: 76 bytes, params: 2, frame: 12 let binding = env0_0; binding._observedScrollSinceBecomingResponder = false; if (binding.props.onResponderGrant) { env0_0.props.onResponderGrant(a0); } binding = env0_0; binding._becameResponderWhileAnimating = binding._isAnimating(); } function _handleResponderRelease(a0) { // fn#5026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:5873, owner: ScrollView._handleResponderRelease, offset: 0x00cd3687, size: 278 bytes, params: 2, frame: 17 var r1; var value2; var value3; const binding = env0_0; binding._isTouching = a0.nativeEvent.touches.length !== 0; if (binding.props.onResponderRelease) { env0_0.props.onResponderRelease(a0); } if (typeof a0.target !== 'number') { value2 = environment.__proto__.__proto__; value3 = (importDefault(143) /* metro dependency 143 */).currentlyFocusedInput(); r1 = value3 == null || env0_0.props.keyboardShouldPersistTaps === true; r1 = !r1 ? env0_0.props.keyboardShouldPersistTaps === 'always' : r1; r1 = !r1 ? !env0_0._keyboardIsDismissible() : r1; r1 = !r1 ? a0.target === value3 : r1; r1 = !r1 ? env0_0._observedScrollSinceBecomingResponder : r1; r1 = !r1 ? env0_0._becameResponderWhileAnimating : r1; if (!r1) { (importDefault(143) /* metro dependency 143 */).blurTextInput(value3); } } } function _handleResponderTerminationRequest() { // fn#5027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:6337, owner: ScrollView._handleResponderTerminationRequest, offset: 0x00cd379d, size: 18 bytes, params: 1, frame: 1 return !env0_0._observedScrollSinceBecomingResponder; } function _handleScrollShouldSetResponder() { // fn#5028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:6430, owner: ScrollView._handleScrollShouldSetResponder, offset: 0x00cd37af, size: 39 bytes, params: 1, frame: 3 return env0_0.props.disableScrollViewPanResponder !== true && env0_0._isTouching; } function _handleStartShouldSetResponder(a0) { // fn#5029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:6539, owner: ScrollView._handleStartShouldSetResponder, offset: 0x00cd37d6, size: 127 bytes, params: 2, frame: 12 if (env0_0.props.disableScrollViewPanResponder === true) { return false; } const value3 = (importDefault(143) /* metro dependency 143 */).currentlyFocusedInput(); let r0 = env0_0.props.keyboardShouldPersistTaps !== 'handled' || !env0_0._keyboardIsDismissible(); r0 = !r0 ? a0.target === value3 : r0; return !r0; } function _handleStartShouldSetResponderCapture(a0) { // fn#5030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:6784, owner: ScrollView._handleStartShouldSetResponderCapture, offset: 0x00cd3855, size: 218 bytes, params: 2, frame: 16 var r3; var r2; var r1; var value6; var value; const binding = env0_0; if (binding._isAnimating()) { return true; } if (env0_0.props.disableScrollViewPanResponder === true) { return false; } const keyboardShouldPersistTaps = env0_0.props.keyboardShouldPersistTaps; const r6 = keyboardShouldPersistTaps ? keyboardShouldPersistTaps === 'never' : !keyboardShouldPersistTaps; const value5 = typeof a0.target !== 'number'; if (value5) { value6 = env0_0._softKeyboardIsDetached(); if (value6) { r2 = !value6; } else { r3 = r6 ? !env0_0._keyboardIsDismissible() : !r6; r3 = !r3 ? a0.target == null : r3; if (!r3) { value = environment.__proto__.__proto__; value = importDefault(143) /* metro dependency 143 */; value = value.isTextInput(a0.target); r3 = value; } value = !r3; r2 = value; } r1 = r2; } else { r1 = value5; } return r1; } function _keyboardIsDismissible() { // fn#5031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:7112, owner: ScrollView._keyboardIsDismissible, offset: 0x00cd392f, size: 114 bytes, params: 1, frame: 15 var r0; let value = environment.__proto__.__proto__; const value2 = (importDefault(143) /* metro dependency 143 */).currentlyFocusedInput(); const value3 = value2 != null; if (value3) { value = importDefault(143) /* metro dependency 143 */; value = value.isTextInput(value2); r0 = value; } else { r0 = value3; } r0 = r0 && (env0_0._keyboardMetrics != null || env0_0._keyboardEventsAreUnreliable()); return r0; } function _softKeyboardIsDetached() { // fn#5032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:7297, owner: ScrollView._softKeyboardIsDetached, offset: 0x00cd39a1, size: 45 bytes, params: 1, frame: 3 return env0_0._keyboardMetrics != null && env0_0._keyboardMetrics.height === 0; } function _handleTouchEnd(a0) { // fn#5034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:7460, owner: ScrollView._handleTouchEnd, offset: 0x00cd39f6, size: 231 bytes, params: 2, frame: 18 const nativeEvent = a0.nativeEvent; const binding = env0_0; binding._isTouching = nativeEvent.touches.length !== 0; const keyboardShouldPersistTaps = binding.props.keyboardShouldPersistTaps; const r7 = keyboardShouldPersistTaps ? keyboardShouldPersistTaps === 'never' : !keyboardShouldPersistTaps; const value5 = (importDefault(143) /* metro dependency 143 */).currentlyFocusedInput(); let r4 = value5 != null && a0.target !== value5 && env0_0._softKeyboardIsDetached(); r4 = r4 && env0_0._keyboardIsDismissible() && r7; if (r4) { (importDefault(143) /* metro dependency 143 */).blurTextInput(value5); } if (env0_0.props.onTouchEnd) { env0_0.props.onTouchEnd(a0); } } function _handleTouchCancel(a0) { // fn#5035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:7793, owner: ScrollView._handleTouchCancel, offset: 0x00cd3add, size: 56 bytes, params: 2, frame: 11 const binding = env0_0; binding._isTouching = false; if (binding.props.onTouchCancel) { env0_0.props.onTouchCancel(a0); } } function _handleTouchStart(a0) { // fn#5036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:7891, owner: ScrollView._handleTouchStart, offset: 0x00cd3b15, size: 56 bytes, params: 2, frame: 11 const binding = env0_0; binding._isTouching = true; if (binding.props.onTouchStart) { env0_0.props.onTouchStart(a0); } } function _handleTouchMove(a0) { // fn#5037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:7986, owner: ScrollView._handleTouchMove, offset: 0x00cd3b4d, size: 48 bytes, params: 2, frame: 11 if (env0_0.props.onTouchMove) { env0_0.props.onTouchMove(a0); } } function _fun5047(a0, a1) { // fn#5047, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:11556, offset: 0x00cd4523, size: 261 bytes, params: 3, frame: 22 var environment; var key; var property; var props; var value5; var binding; var _headerLayoutYs; var get; var _getKeyForIndex; var childrenBinding; var _scrollAnimatedValue; var invertStickyHeaders; const env0_0 = a1; const value = -1; let r3 = a0 ? stickyHeaderIndices.indexOf(a1) : value; if (r3 > value) { key = a0.key; property = stickyHeaderIndices[r3 + 1]; props = env0_0.props; r3 = props.StickyHeaderComponent || (importDefault(389) /* metro dependency 389 */); value5 = environment.__proto__.__proto__; binding = env0_0; _headerLayoutYs = binding._headerLayoutYs; get = _headerLayoutYs.get; _getKeyForIndex = binding._getKeyForIndex; childrenBinding = children; _scrollAnimatedValue = binding._scrollAnimatedValue; props = binding.props; invertStickyHeaders = props.invertStickyHeaders; props = binding.props; return ((Component) => {a0})(r3); } return a0; } function scrollTextInputIntoVisibleRect() { // fn#5008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:2956, owner: ScrollView._inputMeasureAndScrollToKeyboard.scrollTextInputIntoVisibleRect, offset: 0x00cd310f, size: 166 bytes, params: 1, frame: 15 var screenY; if (env1_0._keyboardMetrics != null) { screenY = env1_0._keyboardMetrics.screenY; } const value5 = require - height + importAll; let binding = env1_0; const value6 = value5 + binding._additionalScrollOffset; const r4 = binding._preventNegativeScrollOffset !== true ? value6 : global.Math.max(0, value6); binding = env1_0; binding.scrollTo({'x': 0, 'y': null, 'animated': true, y: r4}); binding._additionalScrollOffset = 0; binding._preventNegativeScrollOffset = false; } function ref_5048(a0) { // fn#5048, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:11682, offset: 0x00cd4628, size: 31 bytes, params: 2, frame: 13 const binding = env1_0; return binding._setStickyHeaderRef(key, a0); } function onLayout_5049(a0) { // fn#5049, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:381:11806, offset: 0x00cd4647, size: 36 bytes, params: 2, frame: 15 const binding = env1_0; return binding._onStickyHeaderLayout(require, a0, key); }