@office-iss/react-native-win32 0.0.0-canary.283 → 0.0.0-canary.284

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +40 -1
  3. package/CHANGELOG.md +20 -8
  4. package/IntegrationTests/AccessibilityManagerTest.js +17 -12
  5. package/IntegrationTests/AppEventsTest.js +47 -32
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
  7. package/IntegrationTests/ImageCachePolicyTest.js +64 -81
  8. package/IntegrationTests/ImageSnapshotTest.js +17 -20
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
  10. package/IntegrationTests/IntegrationTestsApp.js +11 -6
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +2 -1
  13. package/IntegrationTests/PromiseTest.js +51 -43
  14. package/IntegrationTests/SimpleSnapshotTest.js +19 -24
  15. package/IntegrationTests/SyncMethodTest.js +9 -13
  16. package/IntegrationTests/TimersTest.js +3 -3
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  18. package/Libraries/Alert/Alert.js +1 -1
  19. package/Libraries/Alert/Alert.win32.js +1 -1
  20. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  21. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  22. package/Libraries/Animated/AnimatedMock.js +1 -1
  23. package/Libraries/Animated/AnimatedWeb.js +27 -9
  24. package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
  25. package/Libraries/Animated/useAnimatedProps.js +47 -85
  26. package/Libraries/AppState/AppState.js +1 -1
  27. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  28. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  29. package/Libraries/BatchedBridge/NativeModules.js +4 -3
  30. package/Libraries/Blob/Blob.js +4 -4
  31. package/Libraries/Blob/BlobManager.js +3 -2
  32. package/Libraries/Blob/BlobRegistry.js +3 -9
  33. package/Libraries/Blob/File.js +3 -2
  34. package/Libraries/Blob/FileReader.js +1 -1
  35. package/Libraries/BugReporting/BugReporting.js +2 -2
  36. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  37. package/Libraries/BugReporting/getReactData.js +1 -1
  38. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  39. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
  42. package/Libraries/Components/Button.js +2 -2
  43. package/Libraries/Components/Button.win32.js +2 -2
  44. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +7 -7
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -2
  47. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  48. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +4 -4
  49. package/Libraries/Components/Pressable/Pressable.js +4 -4
  50. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  51. package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
  53. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  54. package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
  55. package/Libraries/Components/ScrollView/ScrollView.js +32 -26
  56. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  57. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
  58. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  59. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  60. package/Libraries/Components/Sound/SoundManager.js +1 -1
  61. package/Libraries/Components/StaticRenderer.js +4 -4
  62. package/Libraries/Components/StatusBar/StatusBar.js +33 -18
  63. package/Libraries/Components/Switch/Switch.js +6 -6
  64. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
  65. package/Libraries/Components/TextInput/InputAccessoryView.js +2 -2
  66. package/Libraries/Components/TextInput/TextInput.flow.js +35 -35
  67. package/Libraries/Components/TextInput/TextInput.js +35 -35
  68. package/Libraries/Components/TextInput/TextInput.win32.js +35 -35
  69. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  70. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  71. package/Libraries/Components/Touchable/TouchableBounce.js +5 -5
  72. package/Libraries/Components/Touchable/TouchableHighlight.js +11 -11
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +14 -14
  74. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +6 -6
  75. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -6
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  77. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +9 -1
  78. package/Libraries/Components/View/ViewAccessibility.js +2 -2
  79. package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
  80. package/Libraries/Components/View/ViewPropTypes.js +22 -22
  81. package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
  82. package/Libraries/Core/RawEventEmitter.js +2 -2
  83. package/Libraries/Core/ReactNativeVersion.js +3 -5
  84. package/Libraries/Core/Timers/JSTimers.js +3 -3
  85. package/Libraries/Core/polyfillPromise.js +1 -1
  86. package/Libraries/Core/registerCallableModule.js +1 -1
  87. package/Libraries/Core/setUpAlert.js +1 -1
  88. package/Libraries/Core/setUpDeveloperTools.js +0 -2
  89. package/Libraries/Core/setUpErrorHandling.js +6 -1
  90. package/Libraries/Core/setUpReactDevTools.js +1 -1
  91. package/Libraries/Core/setUpTimers.js +35 -56
  92. package/Libraries/Core/setUpXHR.js +5 -5
  93. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  94. package/Libraries/Events/CustomEvent.js +2 -2
  95. package/Libraries/Image/AssetRegistry.js +6 -1
  96. package/Libraries/Image/AssetSourceResolver.js +2 -2
  97. package/Libraries/Image/ImageProps.js +17 -17
  98. package/Libraries/Image/nativeImageSource.js +2 -2
  99. package/Libraries/Inspector/ElementProperties.js +4 -3
  100. package/Libraries/Inspector/Inspector.js +1 -1
  101. package/Libraries/Inspector/Inspector.win32.js +1 -1
  102. package/Libraries/Inspector/InspectorOverlay.js +4 -3
  103. package/Libraries/Inspector/InspectorOverlay.win32.js +3 -3
  104. package/Libraries/Inspector/InspectorPanel.js +6 -6
  105. package/Libraries/Inspector/NetworkOverlay.js +6 -5
  106. package/Libraries/Inspector/PerformanceOverlay.js +2 -1
  107. package/Libraries/Inspector/resolveBoxStyle.js +2 -2
  108. package/Libraries/Interaction/InteractionManager.js +3 -2
  109. package/Libraries/Interaction/PanResponder.js +6 -6
  110. package/Libraries/Interaction/TouchHistoryMath.js +26 -0
  111. package/Libraries/JSInspector/NetworkAgent.js +2 -1
  112. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  113. package/Libraries/Linking/Linking.js +0 -1
  114. package/Libraries/Lists/FlatList.js +9 -10
  115. package/Libraries/Lists/SectionList.js +7 -9
  116. package/Libraries/Lists/SectionListModern.js +6 -6
  117. package/Libraries/LogBox/Data/LogBoxData.js +14 -14
  118. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  119. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  120. package/Libraries/LogBox/LogBox.js +13 -1
  121. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  122. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  123. package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
  124. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  125. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  126. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
  127. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +2 -2
  128. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  129. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
  130. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  131. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  132. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  133. package/Libraries/Modal/Modal.js +7 -7
  134. package/Libraries/Network/XMLHttpRequest.js +1 -1
  135. package/Libraries/Network/convertRequestBody.js +3 -1
  136. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  137. package/Libraries/Pressability/Pressability.js +10 -10
  138. package/Libraries/Pressability/Pressability.win32.js +10 -10
  139. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  140. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  141. package/Libraries/Promise.js +2 -2
  142. package/Libraries/ReactNative/AppContainer.js +2 -2
  143. package/Libraries/ReactNative/BridgelessUIManager.js +3 -8
  144. package/Libraries/ReactNative/I18nManager.js +3 -2
  145. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  146. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  147. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +2 -2
  148. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +2 -2
  149. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -2
  150. package/Libraries/StyleSheet/Rect.js +2 -2
  151. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  152. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  153. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  154. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  155. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  156. package/Libraries/Text/TextAncestor.js +1 -2
  157. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  158. package/Libraries/Types/CodegenTypes.js +2 -1
  159. package/Libraries/Types/CoreEventTypes.js +40 -40
  160. package/Libraries/Types/CoreEventTypes.win32.js +40 -40
  161. package/Libraries/UTFSequence.js +2 -2
  162. package/Libraries/Utilities/BackHandler.android.js +2 -2
  163. package/Libraries/Utilities/BackHandler.ios.js +2 -2
  164. package/Libraries/Utilities/BackHandler.win32.js +2 -2
  165. package/Libraries/Utilities/HMRClient.js +2 -2
  166. package/Libraries/Utilities/Platform.android.js +4 -4
  167. package/Libraries/Utilities/Platform.flow.js +8 -8
  168. package/Libraries/Utilities/Platform.flow.win32.js +8 -8
  169. package/Libraries/Utilities/Platform.ios.js +4 -4
  170. package/Libraries/Utilities/Platform.win32.js +2 -2
  171. package/Libraries/Utilities/ReactNativeTestTools.js +3 -2
  172. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  173. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  174. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  175. package/Libraries/Utilities/stringifySafe.js +2 -2
  176. package/Libraries/Vibration/Vibration.js +1 -1
  177. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  178. package/Libraries/YellowBox/YellowBoxDeprecated.js +4 -3
  179. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  180. package/flow/jest.js +14 -14
  181. package/index.js +16 -13
  182. package/index.win32.js +16 -13
  183. package/jest/setup.js +214 -197
  184. package/overrides.json +26 -26
  185. package/package.json +16 -16
  186. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -30
  187. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -2
  188. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +2 -2
  189. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +6 -6
  190. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  191. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  192. package/src/private/specs/components/AndroidSwitchNativeComponent.js +4 -4
  193. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +2 -2
  194. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +2 -2
  195. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +2 -2
  196. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  197. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +4 -4
  198. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +2 -2
  199. package/src/private/specs/components/SwitchNativeComponent.js +4 -4
  200. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +2 -2
  201. package/src/private/specs/modules/NativeAccessibilityManager.js +2 -2
  202. package/src/private/specs/modules/NativeActionSheetManager.js +7 -7
  203. package/src/private/specs/modules/NativeAlertManager.js +2 -2
  204. package/src/private/specs/modules/NativeAnimatedModule.js +2 -2
  205. package/src/private/specs/modules/NativeAnimatedTurboModule.js +2 -2
  206. package/src/private/specs/modules/NativeAppState.js +3 -3
  207. package/src/private/specs/modules/NativeBlobModule.js +1 -1
  208. package/src/private/specs/modules/NativeClipboard.js +1 -1
  209. package/src/private/specs/modules/NativeDeviceInfo.js +8 -8
  210. package/src/private/specs/modules/NativeDialogManagerAndroid.js +4 -4
  211. package/src/private/specs/modules/NativeExceptionsManager.js +2 -2
  212. package/src/private/specs/modules/NativeFantom.js +6 -0
  213. package/src/private/specs/modules/NativeFrameRateLogger.js +1 -1
  214. package/src/private/specs/modules/NativeI18nManager.js +2 -2
  215. package/src/private/specs/modules/NativeImageEditor.js +9 -9
  216. package/src/private/specs/modules/NativeImageLoaderAndroid.js +1 -1
  217. package/src/private/specs/modules/NativeImageLoaderIOS.js +1 -1
  218. package/src/private/specs/modules/NativeImageLoaderWin32.js +1 -1
  219. package/src/private/specs/modules/NativeImageStoreAndroid.js +1 -1
  220. package/src/private/specs/modules/NativeImageStoreIOS.js +3 -3
  221. package/src/private/specs/modules/NativeNetworkingIOS.js +2 -2
  222. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +4 -4
  223. package/src/private/specs/modules/NativePlatformConstantsIOS.js +4 -4
  224. package/src/private/specs/modules/NativePlatformConstantsWin.js +5 -10
  225. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +7 -7
  226. package/src/private/specs/modules/NativeSampleTurboModule.js +2 -2
  227. package/src/private/specs/modules/NativeSettingsManager.js +2 -2
  228. package/src/private/specs/modules/NativeShareModule.js +3 -3
  229. package/src/private/specs/modules/NativeSourceCode.js +2 -2
  230. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +4 -4
  231. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +6 -6
  232. package/src/private/specs/modules/NativeToastAndroid.js +2 -2
  233. package/src/private/specs/modules/NativeVibration.js +1 -1
  234. package/src/private/specs/modules/NativeWebSocketModule.js +1 -1
  235. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
  236. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +9 -9
  237. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  238. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +8 -8
  239. package/src/private/webapis/performance/EventTiming.js +1 -1
  240. package/src/private/webapis/performance/Performance.js +3 -3
  241. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  242. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  243. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  244. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
package/jest/setup.js CHANGED
@@ -163,14 +163,18 @@ jest
163
163
  },
164
164
  }))
165
165
  .mock('../Libraries/Components/Clipboard/Clipboard', () => ({
166
- getString: jest.fn(() => ''),
167
- setString: jest.fn(),
166
+ __esModule: true,
167
+ default: {
168
+ getString: jest.fn(() => ''),
169
+ setString: jest.fn(),
170
+ },
168
171
  }))
169
- .mock('../Libraries/Components/RefreshControl/RefreshControl', () =>
170
- jest.requireActual(
172
+ .mock('../Libraries/Components/RefreshControl/RefreshControl', () => ({
173
+ __esModule: true,
174
+ default: jest.requireActual(
171
175
  '../Libraries/Components/RefreshControl/__mocks__/RefreshControlMock',
172
176
  ),
173
- )
177
+ }))
174
178
  .mock('../Libraries/Components/ScrollView/ScrollView', () => {
175
179
  const baseComponent = mockComponent(
176
180
  '../Libraries/Components/ScrollView/ScrollView',
@@ -187,24 +191,31 @@ jest
187
191
  scrollResponderZoomTo: jest.fn(),
188
192
  scrollResponderScrollNativeHandleToKeyboard: jest.fn(),
189
193
  },
194
+ true, // isESModule
190
195
  );
191
196
  const mockScrollView = jest.requireActual('./mockScrollView');
192
- return mockScrollView(baseComponent);
197
+ return {
198
+ __esModule: true,
199
+ default: mockScrollView(baseComponent),
200
+ };
193
201
  })
194
202
  .mock('../Libraries/Components/ActivityIndicator/ActivityIndicator', () => ({
195
203
  __esModule: true,
196
204
  default: mockComponent(
197
205
  '../Libraries/Components/ActivityIndicator/ActivityIndicator',
198
- null,
199
- true,
206
+ null, // instanceMethods
207
+ true, // isESModule
200
208
  ),
201
209
  }))
202
210
  .mock('../Libraries/AppState/AppState', () => ({
203
- addEventListener: jest.fn(() => ({
204
- remove: jest.fn(),
205
- })),
206
- removeEventListener: jest.fn(),
207
- currentState: jest.fn(),
211
+ __esModule: true,
212
+ default: {
213
+ addEventListener: jest.fn(() => ({
214
+ remove: jest.fn(),
215
+ })),
216
+ removeEventListener: jest.fn(),
217
+ currentState: jest.fn(),
218
+ },
208
219
  }))
209
220
  .mock('../Libraries/Linking/Linking', () => ({
210
221
  openURL: jest.fn(),
@@ -218,195 +229,198 @@ jest
218
229
  }))
219
230
  // Mock modules defined by the native layer (ex: Objective-C, Java)
220
231
  .mock('../Libraries/BatchedBridge/NativeModules', () => ({
221
- AlertManager: {
222
- alertWithArgs: jest.fn(),
223
- },
224
- AsyncLocalStorage: {
225
- multiGet: jest.fn((keys, callback) =>
226
- process.nextTick(() => callback(null, [])),
227
- ),
228
- multiSet: jest.fn((entries, callback) =>
229
- process.nextTick(() => callback(null)),
230
- ),
231
- multiRemove: jest.fn((keys, callback) =>
232
- process.nextTick(() => callback(null)),
233
- ),
234
- multiMerge: jest.fn((entries, callback) =>
235
- process.nextTick(() => callback(null)),
236
- ),
237
- clear: jest.fn(callback => process.nextTick(() => callback(null))),
238
- getAllKeys: jest.fn(callback =>
239
- process.nextTick(() => callback(null, [])),
240
- ),
241
- },
242
- DeviceInfo: {
243
- getConstants() {
244
- return {
245
- Dimensions: {
246
- window: {
247
- fontScale: 2,
248
- height: 1334,
249
- scale: 2,
250
- width: 750,
251
- },
252
- screen: {
253
- fontScale: 2,
254
- height: 1334,
255
- scale: 2,
256
- width: 750,
232
+ __esModule: true,
233
+ default: {
234
+ AlertManager: {
235
+ alertWithArgs: jest.fn(),
236
+ },
237
+ AsyncLocalStorage: {
238
+ multiGet: jest.fn((keys, callback) =>
239
+ process.nextTick(() => callback(null, [])),
240
+ ),
241
+ multiSet: jest.fn((entries, callback) =>
242
+ process.nextTick(() => callback(null)),
243
+ ),
244
+ multiRemove: jest.fn((keys, callback) =>
245
+ process.nextTick(() => callback(null)),
246
+ ),
247
+ multiMerge: jest.fn((entries, callback) =>
248
+ process.nextTick(() => callback(null)),
249
+ ),
250
+ clear: jest.fn(callback => process.nextTick(() => callback(null))),
251
+ getAllKeys: jest.fn(callback =>
252
+ process.nextTick(() => callback(null, [])),
253
+ ),
254
+ },
255
+ DeviceInfo: {
256
+ getConstants() {
257
+ return {
258
+ Dimensions: {
259
+ window: {
260
+ fontScale: 2,
261
+ height: 1334,
262
+ scale: 2,
263
+ width: 750,
264
+ },
265
+ screen: {
266
+ fontScale: 2,
267
+ height: 1334,
268
+ scale: 2,
269
+ width: 750,
270
+ },
257
271
  },
272
+ };
273
+ },
274
+ },
275
+ DevSettings: {
276
+ addMenuItem: jest.fn(),
277
+ reload: jest.fn(),
278
+ },
279
+ ImageLoader: {
280
+ getSize: jest.fn(url => Promise.resolve([320, 240])),
281
+ getSizeWithHeaders: jest.fn((url, headers) =>
282
+ Promise.resolve({height: 222, width: 333}),
283
+ ),
284
+ prefetchImage: jest.fn(),
285
+ prefetchImageWithMetadata: jest.fn(),
286
+ queryCache: jest.fn(),
287
+ },
288
+ ImageViewManager: {
289
+ getSize: jest.fn((uri, success) =>
290
+ process.nextTick(() => success(320, 240)),
291
+ ),
292
+ prefetchImage: jest.fn(),
293
+ },
294
+ KeyboardObserver: {
295
+ addListener: jest.fn(),
296
+ removeListeners: jest.fn(),
297
+ },
298
+ NativeAnimatedModule: {
299
+ createAnimatedNode: jest.fn(),
300
+ updateAnimatedNodeConfig: jest.fn(),
301
+ getValue: jest.fn(),
302
+ startListeningToAnimatedNodeValue: jest.fn(),
303
+ stopListeningToAnimatedNodeValue: jest.fn(),
304
+ connectAnimatedNodes: jest.fn(),
305
+ disconnectAnimatedNodes: jest.fn(),
306
+ startAnimatingNode: jest.fn(
307
+ (animationId, nodeTag, config, endCallback) => {
308
+ setTimeout(() => endCallback({finished: true}), 16);
258
309
  },
259
- };
310
+ ),
311
+ stopAnimation: jest.fn(),
312
+ setAnimatedNodeValue: jest.fn(),
313
+ setAnimatedNodeOffset: jest.fn(),
314
+ flattenAnimatedNodeOffset: jest.fn(),
315
+ extractAnimatedNodeOffset: jest.fn(),
316
+ connectAnimatedNodeToView: jest.fn(),
317
+ disconnectAnimatedNodeFromView: jest.fn(),
318
+ restoreDefaultValues: jest.fn(),
319
+ dropAnimatedNode: jest.fn(),
320
+ addAnimatedEventToView: jest.fn(),
321
+ removeAnimatedEventFromView: jest.fn(),
322
+ addListener: jest.fn(),
323
+ removeListener: jest.fn(),
324
+ removeListeners: jest.fn(),
260
325
  },
261
- },
262
- DevSettings: {
263
- addMenuItem: jest.fn(),
264
- reload: jest.fn(),
265
- },
266
- ImageLoader: {
267
- getSize: jest.fn(url => Promise.resolve([320, 240])),
268
- getSizeWithHeaders: jest.fn((url, headers) =>
269
- Promise.resolve({height: 222, width: 333}),
270
- ),
271
- prefetchImage: jest.fn(),
272
- prefetchImageWithMetadata: jest.fn(),
273
- queryCache: jest.fn(),
274
- },
275
- ImageViewManager: {
276
- getSize: jest.fn((uri, success) =>
277
- process.nextTick(() => success(320, 240)),
278
- ),
279
- prefetchImage: jest.fn(),
280
- },
281
- KeyboardObserver: {
282
- addListener: jest.fn(),
283
- removeListeners: jest.fn(),
284
- },
285
- NativeAnimatedModule: {
286
- createAnimatedNode: jest.fn(),
287
- updateAnimatedNodeConfig: jest.fn(),
288
- getValue: jest.fn(),
289
- startListeningToAnimatedNodeValue: jest.fn(),
290
- stopListeningToAnimatedNodeValue: jest.fn(),
291
- connectAnimatedNodes: jest.fn(),
292
- disconnectAnimatedNodes: jest.fn(),
293
- startAnimatingNode: jest.fn(
294
- (animationId, nodeTag, config, endCallback) => {
295
- setTimeout(() => endCallback({finished: true}), 16);
326
+ Networking: {
327
+ sendRequest: jest.fn(),
328
+ abortRequest: jest.fn(),
329
+ addListener: jest.fn(),
330
+ removeListeners: jest.fn(),
331
+ },
332
+ PlatformConstants: {
333
+ getConstants() {
334
+ return {
335
+ reactNativeVersion: {
336
+ major: 1000,
337
+ minor: 0,
338
+ patch: 0,
339
+ prerelease: undefined,
340
+ },
341
+ };
296
342
  },
297
- ),
298
- stopAnimation: jest.fn(),
299
- setAnimatedNodeValue: jest.fn(),
300
- setAnimatedNodeOffset: jest.fn(),
301
- flattenAnimatedNodeOffset: jest.fn(),
302
- extractAnimatedNodeOffset: jest.fn(),
303
- connectAnimatedNodeToView: jest.fn(),
304
- disconnectAnimatedNodeFromView: jest.fn(),
305
- restoreDefaultValues: jest.fn(),
306
- dropAnimatedNode: jest.fn(),
307
- addAnimatedEventToView: jest.fn(),
308
- removeAnimatedEventFromView: jest.fn(),
309
- addListener: jest.fn(),
310
- removeListener: jest.fn(),
311
- removeListeners: jest.fn(),
312
- },
313
- Networking: {
314
- sendRequest: jest.fn(),
315
- abortRequest: jest.fn(),
316
- addListener: jest.fn(),
317
- removeListeners: jest.fn(),
318
- },
319
- PlatformConstants: {
320
- getConstants() {
321
- return {
322
- reactNativeVersion: {
323
- major: 1000,
324
- minor: 0,
325
- patch: 0,
326
- prerelease: undefined,
327
- },
328
- };
329
343
  },
330
- },
331
- PushNotificationManager: {
332
- presentLocalNotification: jest.fn(),
333
- scheduleLocalNotification: jest.fn(),
334
- cancelAllLocalNotifications: jest.fn(),
335
- removeAllDeliveredNotifications: jest.fn(),
336
- getDeliveredNotifications: jest.fn(callback =>
337
- process.nextTick(() => []),
338
- ),
339
- removeDeliveredNotifications: jest.fn(),
340
- setApplicationIconBadgeNumber: jest.fn(),
341
- getApplicationIconBadgeNumber: jest.fn(callback =>
342
- process.nextTick(() => callback(0)),
343
- ),
344
- cancelLocalNotifications: jest.fn(),
345
- getScheduledLocalNotifications: jest.fn(callback =>
346
- process.nextTick(() => callback()),
347
- ),
348
- requestPermissions: jest.fn(() =>
349
- Promise.resolve({alert: true, badge: true, sound: true}),
350
- ),
351
- abandonPermissions: jest.fn(),
352
- checkPermissions: jest.fn(callback =>
353
- process.nextTick(() =>
354
- callback({alert: true, badge: true, sound: true}),
344
+ PushNotificationManager: {
345
+ presentLocalNotification: jest.fn(),
346
+ scheduleLocalNotification: jest.fn(),
347
+ cancelAllLocalNotifications: jest.fn(),
348
+ removeAllDeliveredNotifications: jest.fn(),
349
+ getDeliveredNotifications: jest.fn(callback =>
350
+ process.nextTick(() => []),
355
351
  ),
356
- ),
357
- getInitialNotification: jest.fn(() => Promise.resolve(null)),
358
- addListener: jest.fn(),
359
- removeListeners: jest.fn(),
360
- },
361
- SourceCode: {
362
- getConstants() {
363
- return {
364
- scriptURL: null,
365
- };
352
+ removeDeliveredNotifications: jest.fn(),
353
+ setApplicationIconBadgeNumber: jest.fn(),
354
+ getApplicationIconBadgeNumber: jest.fn(callback =>
355
+ process.nextTick(() => callback(0)),
356
+ ),
357
+ cancelLocalNotifications: jest.fn(),
358
+ getScheduledLocalNotifications: jest.fn(callback =>
359
+ process.nextTick(() => callback()),
360
+ ),
361
+ requestPermissions: jest.fn(() =>
362
+ Promise.resolve({alert: true, badge: true, sound: true}),
363
+ ),
364
+ abandonPermissions: jest.fn(),
365
+ checkPermissions: jest.fn(callback =>
366
+ process.nextTick(() =>
367
+ callback({alert: true, badge: true, sound: true}),
368
+ ),
369
+ ),
370
+ getInitialNotification: jest.fn(() => Promise.resolve(null)),
371
+ addListener: jest.fn(),
372
+ removeListeners: jest.fn(),
373
+ },
374
+ SourceCode: {
375
+ getConstants() {
376
+ return {
377
+ scriptURL: null,
378
+ };
379
+ },
380
+ },
381
+ StatusBarManager: {
382
+ setColor: jest.fn(),
383
+ setStyle: jest.fn(),
384
+ setHidden: jest.fn(),
385
+ setNetworkActivityIndicatorVisible: jest.fn(),
386
+ setBackgroundColor: jest.fn(),
387
+ setTranslucent: jest.fn(),
388
+ getConstants: () => ({
389
+ HEIGHT: 42,
390
+ }),
391
+ },
392
+ Timing: {
393
+ createTimer: jest.fn(),
394
+ deleteTimer: jest.fn(),
395
+ },
396
+ UIManager: {},
397
+ BlobModule: {
398
+ getConstants: () => ({BLOB_URI_SCHEME: 'content', BLOB_URI_HOST: null}),
399
+ addNetworkingHandler: jest.fn(),
400
+ enableBlobSupport: jest.fn(),
401
+ disableBlobSupport: jest.fn(),
402
+ createFromParts: jest.fn(),
403
+ sendBlob: jest.fn(),
404
+ release: jest.fn(),
405
+ },
406
+ WebSocketModule: {
407
+ connect: jest.fn(),
408
+ send: jest.fn(),
409
+ sendBinary: jest.fn(),
410
+ ping: jest.fn(),
411
+ close: jest.fn(),
412
+ addListener: jest.fn(),
413
+ removeListeners: jest.fn(),
414
+ },
415
+ I18nManager: {
416
+ allowRTL: jest.fn(),
417
+ forceRTL: jest.fn(),
418
+ swapLeftAndRightInRTL: jest.fn(),
419
+ getConstants: () => ({
420
+ isRTL: false,
421
+ doLeftAndRightSwapInRTL: true,
422
+ }),
366
423
  },
367
- },
368
- StatusBarManager: {
369
- setColor: jest.fn(),
370
- setStyle: jest.fn(),
371
- setHidden: jest.fn(),
372
- setNetworkActivityIndicatorVisible: jest.fn(),
373
- setBackgroundColor: jest.fn(),
374
- setTranslucent: jest.fn(),
375
- getConstants: () => ({
376
- HEIGHT: 42,
377
- }),
378
- },
379
- Timing: {
380
- createTimer: jest.fn(),
381
- deleteTimer: jest.fn(),
382
- },
383
- UIManager: {},
384
- BlobModule: {
385
- getConstants: () => ({BLOB_URI_SCHEME: 'content', BLOB_URI_HOST: null}),
386
- addNetworkingHandler: jest.fn(),
387
- enableBlobSupport: jest.fn(),
388
- disableBlobSupport: jest.fn(),
389
- createFromParts: jest.fn(),
390
- sendBlob: jest.fn(),
391
- release: jest.fn(),
392
- },
393
- WebSocketModule: {
394
- connect: jest.fn(),
395
- send: jest.fn(),
396
- sendBinary: jest.fn(),
397
- ping: jest.fn(),
398
- close: jest.fn(),
399
- addListener: jest.fn(),
400
- removeListeners: jest.fn(),
401
- },
402
- I18nManager: {
403
- allowRTL: jest.fn(),
404
- forceRTL: jest.fn(),
405
- swapLeftAndRightInRTL: jest.fn(),
406
- getConstants: () => ({
407
- isRTL: false,
408
- doLeftAndRightSwapInRTL: true,
409
- }),
410
424
  },
411
425
  }))
412
426
  .mock('../Libraries/NativeComponent/NativeComponentRegistry', () => {
@@ -424,8 +438,11 @@ jest
424
438
  return jest.requireActual('./mockNativeComponent');
425
439
  })
426
440
  .mock('../Libraries/Vibration/Vibration', () => ({
427
- vibrate: jest.fn(),
428
- cancel: jest.fn(),
441
+ __esModule: true,
442
+ default: {
443
+ vibrate: jest.fn(),
444
+ cancel: jest.fn(),
445
+ },
429
446
  }))
430
447
  .mock('../Libraries/Components/View/ViewNativeComponent', () => {
431
448
  const React = require('react');
package/overrides.json CHANGED
@@ -7,19 +7,19 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.78.0-nightly-20250113-d4407d6f7",
10
+ "baseVersion": "0.79.0-nightly-20250123-d1028885e",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "efd6eb0780d7f3b6717feac846e0e7fe8dae1ee9"
16
+ "baseHash": "13f269517a5c374d16cd75eb490ff53ac304c600"
17
17
  },
18
18
  {
19
19
  "type": "derived",
20
20
  "file": "src-win/index.win32.js",
21
21
  "baseFile": "packages/react-native/index.js",
22
- "baseHash": "326e132bab39f949872e2de8f3e3120936ef7d5c"
22
+ "baseHash": "21f5672451ddb764217c795a6d3d65a5d416a0c5"
23
23
  },
24
24
  {
25
25
  "type": "platform",
@@ -29,7 +29,7 @@
29
29
  "type": "patch",
30
30
  "file": "src-win/Libraries/Alert/Alert.win32.js",
31
31
  "baseFile": "packages/react-native/Libraries/Alert/Alert.js",
32
- "baseHash": "173b99e6ae120f14176cf3425877728787d3feed"
32
+ "baseHash": "82ea5ff7a8a7eb79269f0ab136312c6cf8063773"
33
33
  },
34
34
  {
35
35
  "type": "derived",
@@ -47,7 +47,7 @@
47
47
  "type": "copy",
48
48
  "file": "src-win/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js",
49
49
  "baseFile": "packages/react-native/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js",
50
- "baseHash": "cbe33fe4080bcdb75c277e03c0383aab0554d604",
50
+ "baseHash": "706e7b9a66fbddcb4b19c6d1d9b9838db9d15d52",
51
51
  "issue": 4578
52
52
  },
53
53
  {
@@ -60,7 +60,7 @@
60
60
  "type": "derived",
61
61
  "file": "src-win/Libraries/Components/Button.win32.js",
62
62
  "baseFile": "packages/react-native/Libraries/Components/Button.js",
63
- "baseHash": "e1464525e6950f773370855ccbe60217ef638613"
63
+ "baseHash": "9ed5b714f91dfa171526005ff765cdf6a52cbf16"
64
64
  },
65
65
  {
66
66
  "type": "platform",
@@ -74,7 +74,7 @@
74
74
  "type": "patch",
75
75
  "file": "src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js",
76
76
  "baseFile": "packages/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js",
77
- "baseHash": "7664e2616540fd4ecc398009216314675f6e3f86",
77
+ "baseHash": "bb80311bca01d1765424d931ebc328f09c290948",
78
78
  "issue": 14290
79
79
  },
80
80
  {
@@ -85,14 +85,14 @@
85
85
  "type": "patch",
86
86
  "file": "src-win/Libraries/Components/Pressable/Pressable.win32.js",
87
87
  "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js",
88
- "baseHash": "5f8baef36e1cbba73ff2c21b0ccbf310d125b334",
88
+ "baseHash": "026789eccf4b50ffab1eb5904b265067ed912b5d",
89
89
  "issue": 6240
90
90
  },
91
91
  {
92
92
  "type": "patch",
93
93
  "file": "src-win/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js",
94
94
  "baseFile": "packages/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js",
95
- "baseHash": "e69c4f61d26361e6aeb62b6d3f31d1c1bb78e4ae",
95
+ "baseHash": "ece82469597901f974f64c49c02870ee9b33565e",
96
96
  "issue": 0
97
97
  },
98
98
  {
@@ -109,7 +109,7 @@
109
109
  "type": "derived",
110
110
  "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
111
111
  "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
112
- "baseHash": "437a56337e8b6fabd440538af48167c2bbc59704"
112
+ "baseHash": "d3033f628b289a6178466984402bb359f20d3c7a"
113
113
  },
114
114
  {
115
115
  "type": "patch",
@@ -149,7 +149,7 @@
149
149
  "type": "derived",
150
150
  "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js",
151
151
  "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js",
152
- "baseHash": "8a1cc3c55ca3af68c5627479b3614fa44a1ffbea"
152
+ "baseHash": "ee79fc5b491d9dd05bd90eb365324bc16bde1f46"
153
153
  },
154
154
  {
155
155
  "type": "platform",
@@ -185,7 +185,7 @@
185
185
  "type": "derived",
186
186
  "file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js",
187
187
  "baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js",
188
- "baseHash": "7ac427e8b7a78a8e938ce1b383ec6e911a6fa3b5"
188
+ "baseHash": "6d95b62113259d6813558271c5403d403518d9b6"
189
189
  },
190
190
  {
191
191
  "type": "derived",
@@ -197,7 +197,7 @@
197
197
  "type": "patch",
198
198
  "file": "src-win/Libraries/Components/View/ViewPropTypes.win32.js",
199
199
  "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js",
200
- "baseHash": "bf6dc1a18a8c069cd8f21d187c81177e3b6d5c1f",
200
+ "baseHash": "847fa0493f8222a69378a3daf7445cfb2f336899",
201
201
  "issue": 6240
202
202
  },
203
203
  {
@@ -286,19 +286,19 @@
286
286
  "type": "patch",
287
287
  "file": "src-win/Libraries/Inspector/Inspector.win32.js",
288
288
  "baseFile": "packages/react-native/Libraries/Inspector/Inspector.js",
289
- "baseHash": "ad3ed5cb941f304f5751c6d12274ffe81753162c"
289
+ "baseHash": "ac6fdd601cb13861598fd8dc17732b066de8e405"
290
290
  },
291
291
  {
292
292
  "type": "patch",
293
293
  "file": "src-win/Libraries/Inspector/InspectorOverlay.win32.js",
294
294
  "baseFile": "packages/react-native/Libraries/Inspector/InspectorOverlay.js",
295
- "baseHash": "cd2de764e83b79451a3ac0583bd93d5ebb6d36f2"
295
+ "baseHash": "8de3989a83192b69872f5bf593e720ff1aab26b7"
296
296
  },
297
297
  {
298
298
  "type": "derived",
299
299
  "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js",
300
300
  "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js",
301
- "baseHash": "c4ffa785bf199918400e4f569849b73187f4b3cc"
301
+ "baseHash": "9554eb5c48570b8a84a6fa77addccd816d0dbacf"
302
302
  },
303
303
  {
304
304
  "type": "patch",
@@ -311,7 +311,7 @@
311
311
  "type": "derived",
312
312
  "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js",
313
313
  "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js",
314
- "baseHash": "3a765d2180cca25ed35172ebce8294fc569486aa"
314
+ "baseHash": "af64938c722b23d8820509f54b82bb813e75343f"
315
315
  },
316
316
  {
317
317
  "type": "derived",
@@ -367,7 +367,7 @@
367
367
  "type": "patch",
368
368
  "file": "src-win/Libraries/Pressability/Pressability.win32.js",
369
369
  "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js",
370
- "baseHash": "3be9533787a90b2fae462faee1bb8b692d025c31",
370
+ "baseHash": "d7e980de04cea46e1d71dd107726548cb96d7866",
371
371
  "issue": 6240
372
372
  },
373
373
  {
@@ -390,7 +390,7 @@
390
390
  "type": "patch",
391
391
  "file": "src-win/Libraries/ReactNative/PaperUIManager.win32.js",
392
392
  "baseFile": "packages/react-native/Libraries/ReactNative/PaperUIManager.js",
393
- "baseHash": "5421778518fbd545ba3896bdfb1fb4f829d016fd"
393
+ "baseHash": "be8b8afbf4964018271c06f35219ec17888bc93b"
394
394
  },
395
395
  {
396
396
  "type": "derived",
@@ -414,7 +414,7 @@
414
414
  "type": "patch",
415
415
  "file": "src-win/Libraries/StyleSheet/StyleSheet.win32.js",
416
416
  "baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js",
417
- "baseHash": "46f00f057f504c71fa0feb5695307e3e3806211b"
417
+ "baseHash": "028556b0f8b31b5cfbd4cb98f3203fad957e330a"
418
418
  },
419
419
  {
420
420
  "type": "derived",
@@ -445,14 +445,14 @@
445
445
  "type": "patch",
446
446
  "file": "src-win/Libraries/Types/CoreEventTypes.win32.js",
447
447
  "baseFile": "packages/react-native/Libraries/Types/CoreEventTypes.js",
448
- "baseHash": "87532a8f108dad9c3ae07b911dd7344e7c244c20",
448
+ "baseHash": "284aef610312bc89a1ae19acaad698ed740d142a",
449
449
  "issue": 6240
450
450
  },
451
451
  {
452
452
  "type": "copy",
453
453
  "file": "src-win/Libraries/Utilities/BackHandler.win32.js",
454
454
  "baseFile": "packages/react-native/Libraries/Utilities/BackHandler.android.js",
455
- "baseHash": "c939a47e01b9b06d28d8c34a386abd024b1c0e5e",
455
+ "baseHash": "2bb4fd6801144ecefb2c77d695a244768a30c23a",
456
456
  "issue": 4629
457
457
  },
458
458
  {
@@ -485,13 +485,13 @@
485
485
  "type": "derived",
486
486
  "file": "src-win/Libraries/Utilities/Platform.flow.win32.js",
487
487
  "baseFile": "packages/react-native/Libraries/Utilities/Platform.flow.js",
488
- "baseHash": "ae1dbc0afd40655cb18e00eecf21b7ca5db538f2"
488
+ "baseHash": "0a7fce66d820af1b612a861a564b6f035256843d"
489
489
  },
490
490
  {
491
491
  "type": "derived",
492
492
  "file": "src-win/Libraries/Utilities/Platform.win32.js",
493
493
  "baseFile": "packages/react-native/Libraries/Utilities/Platform.android.js",
494
- "baseHash": "33f07d6fddb5290d05c8d4cc490312e3af88c70b"
494
+ "baseHash": "3158c23684ce4993286f2f40dc80188ecbfbd0dc"
495
495
  },
496
496
  {
497
497
  "type": "copy",
@@ -522,13 +522,13 @@
522
522
  "type": "derived",
523
523
  "file": "src-win/src/private/specs/modules/NativeImageLoaderWin32.js",
524
524
  "baseFile": "packages/react-native/src/private/specs/modules/NativeImageLoaderAndroid.js",
525
- "baseHash": "70bc73bc81592060ccbaffc0ff9f612d16c39c6c"
525
+ "baseHash": "98c031d5f249af5f8d9198290750825b70827dcc"
526
526
  },
527
527
  {
528
528
  "type": "derived",
529
529
  "file": "src-win/src/private/specs/modules/NativePlatformConstantsWin.js",
530
530
  "baseFile": "packages/react-native/src/private/specs/modules/NativePlatformConstantsAndroid.js",
531
- "baseHash": "fa0f34a2de33b641bd63863629087644796d8b59"
531
+ "baseHash": "365c5df75b38b129d364af3f6700cb206ce5bd2a"
532
532
  }
533
533
  ]
534
534
  }