@wavemaker-ai/app-rn-runtime 12.0.2-rc.647771 → 12.1.0-rc.647821

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 (71) hide show
  1. package/components/advanced/webview/webview.component.js +1 -1
  2. package/components/advanced/webview/webview.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/label/label.component.js +2 -2
  6. package/components/basic/label/label.component.js.map +1 -1
  7. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  8. package/components/container/tabs/tabheader/tabheader.component.js +10 -3
  9. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  10. package/components/data/form/form-field/form-field.component.js +5 -0
  11. package/components/data/form/form-field/form-field.component.js.map +1 -1
  12. package/components/data/form/form.component.js +12 -8
  13. package/components/data/form/form.component.js.map +1 -1
  14. package/components/data/list/list.component.js +5 -2
  15. package/components/data/list/list.component.js.map +1 -1
  16. package/components/dialogs/dialog/dialog.component.js +1 -1
  17. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  18. package/components/input/chips/chips.component.js +1 -1
  19. package/components/input/chips/chips.component.js.map +1 -1
  20. package/components/input/chips/chips.props.js +1 -0
  21. package/components/input/chips/chips.props.js.map +1 -1
  22. package/components/input/textarea/textarea.component.js +1 -1
  23. package/components/input/textarea/textarea.component.js.map +1 -1
  24. package/components/page/page-content/page-content.component.js +152 -17
  25. package/components/page/page-content/page-content.component.js.map +1 -1
  26. package/components/page/page-content/page-content.props.js +5 -0
  27. package/components/page/page-content/page-content.props.js.map +1 -1
  28. package/components/page/page-content/pull-to-refresh.component.js +288 -0
  29. package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
  30. package/core/AppConfig.js.map +1 -1
  31. package/core/base.component.js +14 -0
  32. package/core/base.component.js.map +1 -1
  33. package/core/sticky-wrapper.js +37 -34
  34. package/core/sticky-wrapper.js.map +1 -1
  35. package/gestures/carousel-swipe.animation.js +1 -0
  36. package/gestures/carousel-swipe.animation.js.map +1 -1
  37. package/npm-shrinkwrap.json +1285 -570
  38. package/package-lock.json +1285 -570
  39. package/package.json +3 -3
  40. package/runtime/App.js +52 -36
  41. package/runtime/App.js.map +1 -1
  42. package/runtime/App.navigator.js +4 -1
  43. package/runtime/App.navigator.js.map +1 -1
  44. package/runtime/base-fragment.component.js +1 -0
  45. package/runtime/base-fragment.component.js.map +1 -1
  46. package/runtime/services/app-security.service.js +40 -19
  47. package/runtime/services/app-security.service.js.map +1 -1
  48. package/runtime/services/browser.constants.js +3 -0
  49. package/runtime/services/browser.constants.js.map +1 -0
  50. package/runtime/services/browser.service.js +321 -0
  51. package/runtime/services/browser.service.js.map +1 -0
  52. package/runtime/services/external-auth-callback.service.js +44 -0
  53. package/runtime/services/external-auth-callback.service.js.map +1 -0
  54. package/runtime/services/webprocess.service.js +8 -3
  55. package/runtime/services/webprocess.service.js.map +1 -1
  56. package/styles/background.component.js +61 -2
  57. package/styles/background.component.js.map +1 -1
  58. package/styles/style-prop.validator.js +4 -0
  59. package/styles/style-prop.validator.js.map +1 -1
  60. package/styles/style-props.js +2 -0
  61. package/styles/style-props.js.map +1 -1
  62. package/styles/theme.js +52 -11
  63. package/styles/theme.js.map +1 -1
  64. package/components-prism/basic/search/search.component.js +0 -208
  65. package/components-prism/basic/search/search.component.js.map +0 -1
  66. package/components-prism/basic/search/search.props.js +0 -16
  67. package/components-prism/basic/search/search.props.js.map +0 -1
  68. package/components-prism/basic/search/search.styles.js +0 -127
  69. package/components-prism/basic/search/search.styles.js.map +0 -1
  70. package/core/outside-press-handler.js +0 -65
  71. package/core/outside-press-handler.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker-ai/app-rn-runtime",
3
- "version": "12.0.2-rc.647771",
3
+ "version": "12.1.0-rc.647821",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -59,8 +59,8 @@
59
59
  "@react-navigation/drawer": "7.5.8",
60
60
  "@react-navigation/native": "7.1.18",
61
61
  "@react-navigation/stack": "7.4.8",
62
- "@shopify/react-native-skia": "2.6.2",
63
- "@wavemaker-ai/variables": "12.0.2-rc.647771",
62
+ "@shopify/react-native-skia": "2.2.12",
63
+ "@wavemaker-ai/variables": "12.1.0-rc.647821",
64
64
  "@wavemaker/react-native-echarts": "1.0.5",
65
65
  "@wuba/react-native-echarts": "3.1.1",
66
66
  "axios": "1.8.3",
package/runtime/App.js CHANGED
@@ -8,9 +8,7 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler';
8
8
  import ProtoTypes from 'prop-types';
9
9
  import { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';
10
10
  import { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';
11
- import { Linking } from 'react-native';
12
11
  import { NativeModulesProxy } from 'expo-modules-core';
13
- import * as WebBrowser from 'expo-web-browser';
14
12
  import { get, last } from 'lodash';
15
13
  import { RENDER_LOGGER } from '@wavemaker-ai/app-rn-runtime/core/logger';
16
14
  import EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';
@@ -21,7 +19,7 @@ import ConstantService from '@wavemaker-ai/app-rn-runtime/core/constant.service'
21
19
  import NetworkService from '@wavemaker-ai/app-rn-runtime/core/network.service';
22
20
  import injector from '@wavemaker-ai/app-rn-runtime/core/injector';
23
21
  import formatters from '@wavemaker-ai/app-rn-runtime/core/formatters';
24
- import { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';
22
+ import { deepCopy } from '@wavemaker-ai/app-rn-runtime/core/utils';
25
23
  import * as Utils from '@wavemaker-ai/app-rn-runtime/core/utils';
26
24
  import { ModalProvider } from '@wavemaker-ai/app-rn-runtime/core/modal.service';
27
25
  import { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';
@@ -46,8 +44,8 @@ import { CameraProvider } from '../core/device/camera-service';
46
44
  import CameraService from './services/device/camera-service';
47
45
  import { ScanProvider } from '../core/device/scan-service';
48
46
  import ScanService from './services/device/scan-service';
49
- import AppSecurityService from './services/app-security.service';
50
- import { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';
47
+ import BrowserService from './services/browser.service';
48
+ import AppSecurityService, { shouldRedirectToLoginOn401 } from './services/app-security.service';
51
49
  import MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';
52
50
  import * as SplashScreen from 'expo-splash-screen';
53
51
  import { WmMemo } from './memo.component';
@@ -59,6 +57,7 @@ import { ScreenCaptureProtectionProvider } from '../core/screen-capture-protecti
59
57
  import { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';
60
58
  import { setupGlobalErrorHandler } from '../core/global-error-handler.service';
61
59
  import Fallback from '../core/components/error-fallback/error-fallback.component';
60
+ import { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';
62
61
  //some old react libraries need this
63
62
  View['propTypes'] = {
64
63
  style: ProtoTypes.any
@@ -268,9 +267,14 @@ export default class BaseApp extends React.Component {
268
267
  // errorType: 'render' for React component errors, 'javascript' for other JS errors
269
268
  }
270
269
  handleCallbackError(error, context) {
270
+ var _this$appConfig;
271
271
  console.error(error);
272
272
  const errorObj = error instanceof Error ? error : new Error(String(error));
273
273
 
274
+ // Check if error handling is enabled
275
+ const prefs = (_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.preferences;
276
+ const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
277
+ const showDefaultFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
274
278
  // Immediately hide all overlays to ensure error fallback is visible
275
279
  try {
276
280
  // Hide Expo SplashScreen
@@ -285,17 +289,19 @@ export default class BaseApp extends React.Component {
285
289
  // Trigger user callback
286
290
  this.triggerOnError(errorObj, context, 'javascript');
287
291
 
288
- // Also set global error state to show fallback screen
289
- this.globalError = {
290
- error: errorObj,
291
- errorInfo: context,
292
- errorType: 'javascript',
293
- isFatal: false
294
- };
292
+ // Only set global error state if fallback should be shown
293
+ if (showDefaultFallback) {
294
+ this.globalError = {
295
+ error: errorObj,
296
+ errorInfo: context,
297
+ errorType: 'javascript',
298
+ isFatal: false
299
+ };
295
300
 
296
- // Set isStarted to true so app template will render the error screen
297
- this.isStarted = true;
298
- this.forceUpdate(); // Show fallback screen
301
+ // Set isStarted to true so app template will render the error screen
302
+ this.isStarted = true;
303
+ this.forceUpdate(); // Show fallback screen
304
+ }
299
305
  }
300
306
  setTimezone(timezone) {
301
307
  AppI18nService.setTimezone(timezone);
@@ -304,16 +310,7 @@ export default class BaseApp extends React.Component {
304
310
  return AppSpinnerService;
305
311
  }
306
312
  openBrowser(url, params = {}) {
307
- if (url) {
308
- if (isWebPreviewMode()) {
309
- window.open(url, '_blank');
310
- } else if (url.startsWith('http') && params.target === '_blank') {
311
- WebBrowser.openBrowserAsync(url);
312
- } else {
313
- return Linking.openURL(url);
314
- }
315
- }
316
- return Promise.resolve();
313
+ return BrowserService.open(url, params);
317
314
  }
318
315
 
319
316
  // To support old api
@@ -349,7 +346,7 @@ export default class BaseApp extends React.Component {
349
346
  this.notify('afterServiceCall', response.config, response);
350
347
  return response;
351
348
  }, error => {
352
- var _errorDetails, _errorDetails2, _error$response, _error$response2, _error$response3, _error$response4;
349
+ var _errorDetails, _errorDetails2, _error$response, _error$response2, _error$response3, _this$appConfig$curre5;
353
350
  let errorDetails = error.response,
354
351
  errMsg;
355
352
  errorDetails = getValidJSON((_errorDetails = errorDetails) === null || _errorDetails === void 0 ? void 0 : _errorDetails.data) || ((_errorDetails2 = errorDetails) === null || _errorDetails2 === void 0 ? void 0 : _errorDetails2.data);
@@ -361,13 +358,32 @@ export default class BaseApp extends React.Component {
361
358
  error.message = errMsg;
362
359
  console.error(`Error ${errMsg} recieved from ${(_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.config) === null || _error$response === void 0 ? void 0 : _error$response.url}`);
363
360
  try {
361
+ var _this$appConfig2;
364
362
  this.onServiceError(error.message, error);
363
+ // Mark as handled to prevent onError from being called
364
+ error.__wmServiceErrorHandled = true;
365
+ if (error.config) {
366
+ error.config.__wmServiceErrorHandled = true;
367
+ }
368
+
369
+ // Show fallback for service errors if enabled (but don't call onError)
370
+ const prefs = (_this$appConfig2 = this.appConfig) === null || _this$appConfig2 === void 0 ? void 0 : _this$appConfig2.preferences;
371
+ const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
372
+ const showDefaultFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
373
+ if (globalEnabled && showDefaultFallback) {
374
+ this.globalError = {
375
+ error: error,
376
+ errorInfo: (error === null || error === void 0 ? void 0 : error.stack) || (error === null || error === void 0 ? void 0 : error.toString()),
377
+ errorType: 'javascript',
378
+ isFatal: false
379
+ };
380
+ this.forceUpdate(); // Trigger re-render to show error fallback
381
+ }
365
382
  } catch (e) {
366
383
  this.handleCallbackError(e, `Error in onServiceError callback`);
367
384
  }
368
- if ((_error$response2 = error.response) !== null && _error$response2 !== void 0 && (_error$response2 = _error$response2.config.url) !== null && _error$response2 !== void 0 && _error$response2.startsWith(this.appConfig.url) && !((_error$response3 = error.response) !== null && _error$response3 !== void 0 && (_error$response3 = _error$response3.config.url) !== null && _error$response3 !== void 0 && _error$response3.includes('/services/')) && ((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status) === 401) {
369
- var _this$appConfig$curre5, _this$appConfig$curre6;
370
- ((_this$appConfig$curre5 = this.appConfig.currentPage) === null || _this$appConfig$curre5 === void 0 ? void 0 : _this$appConfig$curre5.pageName) !== 'Login' && ((_this$appConfig$curre6 = this.appConfig.currentPage) === null || _this$appConfig$curre6 === void 0 ? void 0 : _this$appConfig$curre6.goToPage('Login'));
385
+ if (shouldRedirectToLoginOn401((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.config) === null || _error$response2 === void 0 ? void 0 : _error$response2.url, (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.status, this.appConfig.url, (_this$appConfig$curre5 = this.appConfig.currentPage) === null || _this$appConfig$curre5 === void 0 ? void 0 : _this$appConfig$curre5.pageName)) {
386
+ AppSecurityService.redirectToLogin();
371
387
  }
372
388
  this.notify('afterServiceCall', error.config, error);
373
389
  return Promise.reject(error);
@@ -388,9 +404,9 @@ export default class BaseApp extends React.Component {
388
404
  return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {});
389
405
  }
390
406
  componentDidMount() {
391
- var _this$appConfig;
407
+ var _this$appConfig3;
392
408
  // Setup global error handler
393
- if (((_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 || (_this$appConfig = _this$appConfig.preferences) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.enableGlobalErrorHandler) === true) {
409
+ if (((_this$appConfig3 = this.appConfig) === null || _this$appConfig3 === void 0 || (_this$appConfig3 = _this$appConfig3.preferences) === null || _this$appConfig3 === void 0 ? void 0 : _this$appConfig3.enableGlobalErrorHandler) === true) {
394
410
  this.globalErrorHandlerCleanup = setupGlobalErrorHandler((error, isFatal, errorInfo) => {
395
411
  // Trigger user error callback
396
412
  this.triggerOnError(error, errorInfo, 'javascript');
@@ -463,8 +479,8 @@ export default class BaseApp extends React.Component {
463
479
  }, content))))))));
464
480
  }
465
481
  renderToasters() {
466
- var _this$appConfig2;
467
- const isEdgeToEdgeApp = !!((_this$appConfig2 = this.appConfig) !== null && _this$appConfig2 !== void 0 && (_this$appConfig2 = _this$appConfig2.edgeToEdgeConfig) !== null && _this$appConfig2 !== void 0 && _this$appConfig2.isEdgeToEdgeApp);
482
+ var _this$appConfig4;
483
+ const isEdgeToEdgeApp = !!((_this$appConfig4 = this.appConfig) !== null && _this$appConfig4 !== void 0 && (_this$appConfig4 = _this$appConfig4.edgeToEdgeConfig) !== null && _this$appConfig4 !== void 0 && _this$appConfig4.isEdgeToEdgeApp);
468
484
  this.toastsOpened = AppToastService.toastsOpened.length;
469
485
  return /*#__PURE__*/React.createElement(WmMemo, {
470
486
  watcher: this.watcher,
@@ -652,13 +668,13 @@ export default class BaseApp extends React.Component {
652
668
  return false;
653
669
  }
654
670
  renderApp(commonPartial) {
655
- var _this$appConfig3, _this$appConfig4;
671
+ var _this$appConfig5, _this$appConfig6;
656
672
  this.autoUpdateVariables.forEach(value => {
657
673
  var _this$Variables$value;
658
674
  return (_this$Variables$value = this.Variables[value]) === null || _this$Variables$value === void 0 ? void 0 : _this$Variables$value.invokeOnParamChange();
659
675
  });
660
- const edgeToEdgeConfig = (_this$appConfig3 = this.appConfig) === null || _this$appConfig3 === void 0 ? void 0 : _this$appConfig3.edgeToEdgeConfig;
661
- const statusbarConfig = (_this$appConfig4 = this.appConfig) === null || _this$appConfig4 === void 0 || (_this$appConfig4 = _this$appConfig4.edgeToEdgeConfig) === null || _this$appConfig4 === void 0 ? void 0 : _this$appConfig4.statusbarConfig;
676
+ const edgeToEdgeConfig = (_this$appConfig5 = this.appConfig) === null || _this$appConfig5 === void 0 ? void 0 : _this$appConfig5.edgeToEdgeConfig;
677
+ const statusbarConfig = (_this$appConfig6 = this.appConfig) === null || _this$appConfig6 === void 0 || (_this$appConfig6 = _this$appConfig6.edgeToEdgeConfig) === null || _this$appConfig6 === void 0 ? void 0 : _this$appConfig6.statusbarConfig;
662
678
  const isEdgeToEdgeApp = !!(edgeToEdgeConfig !== null && edgeToEdgeConfig !== void 0 && edgeToEdgeConfig.isEdgeToEdgeApp);
663
679
  const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;
664
680
  return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
@@ -1 +1 @@
1
- {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","SecureStorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","BlurView","moment","ErrorBoundary","ScreenCaptureProtectionProvider","allowScreenCaptureAsync","preventScreenCaptureAsync","setupGlobalErrorHandler","Fallback","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","OS","error","console","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","set","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","invokeNativeApi","key","EmbedCommModule","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","e","handleCallbackError","triggerOnError","errorInfo","errorType","onError","context","errorObj","Error","String","hide","hideError","warn","globalError","isFatal","isStarted","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","getScreenCaptureContextValue","enableProtection","disableProtection","axiosInterceptorIds","interceptors","request","use","headers","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","_this$appConfig","preferences","enableGlobalErrorHandler","globalErrorHandlerCleanup","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig2","isEdgeToEdgeApp","edgeToEdgeConfig","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","toasterStyles","_o$styles","_o$styles2","styles","top","undefined","_this$statusbarInsets","statusbarInsets","isButtonNavigationEnabled","bottom","_this$statusbarInsets2","theme","position","width","elevation","elevationIndex","zIndex","onPress","onClick","text","name","type","caption","hideclose","showclosebutton","onClose","closeToast","closeiconclass","messageiconclass","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIosStatusbarInsetsView","insets","backgroundColor","height","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","importModule","service","getDependency","serviceName","renderBlurView","intensity","blurIntensity","tint","blurTint","experimentalBlurMethod","renderTransparentView","color","opacity","_this$statusbarInsets3","renderApp","_this$appConfig3","_this$appConfig4","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","statusbarConfig","Wrapper","Consumer","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","paperTheme","flex","translucent","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","info","resetErrorBoundary","flexDirection","justifyContent"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView, EdgeInsets } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker-ai/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker-ai/app-rn-runtime/core/storage.service';\nimport SecureStorageService from '@wavemaker-ai/app-rn-runtime/core/secure-storage.service';\nimport ConstantService from '@wavemaker-ai/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker-ai/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker-ai/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker-ai/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker-ai/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker-ai/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker-ai/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\nimport { BlurView } from 'expo-blur';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport moment, { Moment } from 'moment';\nimport ErrorBoundary from '../core/error-boundary.component';\nimport { ScreenCaptureProtectionProvider, ScreenCaptureProtectionContextType } from '../core/screen-capture-protection.service';\nimport { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';\nimport { setupGlobalErrorHandler, GlobalErrorState } from '../core/global-error-handler.service';\nimport Fallback from '../core/components/error-fallback/error-fallback.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any })\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n SecureStorageService: SecureStorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n Global: any = {};\n onAppVariablesReady = () => { };\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n public statusbarInsets: any;\n public globalError: GlobalErrorState | null = null;\n private globalErrorHandlerCleanup: (() => void) | null = null;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n\n // Register app instance in injector for Error Boundary access\n injector.set('APP_INSTANCE', this);\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = { ...networkState };\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n try {\n this.onPageReady(activePageName, activePageScope);\n } catch (e) {\n this.handleCallbackError(e, `Error in onPageReady callback`);\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n triggerOnError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n try {\n this.onError(error, errorInfo, errorType);\n } catch (e) {\n console.error('Error in onError callback:', e);\n }\n }\n\n onError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n // Empty implementation - user can override in app.js\n // errorType: 'render' for React component errors, 'javascript' for other JS errors\n }\n\n public handleCallbackError(error: unknown, context: string) {\n console.error(error);\n const errorObj = error instanceof Error ? error : new Error(String(error));\n\n // Immediately hide all overlays to ensure error fallback is visible\n try {\n // Hide Expo SplashScreen\n SplashScreen.hideAsync();\n\n // Hide App Spinner (force hide regardless of count)\n AppSpinnerService.hide();\n } catch (hideError) {\n console.warn('Error hiding overlays:', hideError);\n }\n\n // Trigger user callback\n this.triggerOnError(errorObj, context, 'javascript');\n\n // Also set global error state to show fallback screen\n this.globalError = {\n error: errorObj,\n errorInfo: context,\n errorType: 'javascript',\n isFatal: false\n };\n\n // Set isStarted to true so app template will render the error screen\n this.isStarted = true;\n this.forceUpdate(); // Show fallback screen\n }\n\n setTimezone(timezone: any) {\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() { }\n\n private enableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await preventScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to enable screen capture protection:', error);\n }\n };\n\n private disableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await allowScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to disable screen capture protection:', error);\n }\n };\n\n private getScreenCaptureContextValue(): ScreenCaptureProtectionContextType {\n return {\n enableProtection: this.enableProtection,\n disableProtection: this.disableProtection\n };\n }\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n try {\n return this.onBeforeServiceCall(config);\n } catch (e) {\n this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);\n return config; // Return original config as fallback\n }\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n try {\n this.onServiceSuccess(response.data, response);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceSuccess callback`);\n }\n this.notify('afterServiceCall', response.config, response);\n return response;\n }, (error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n try {\n this.onServiceError(error.message, error);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceError callback`);\n }\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => { });\n }\n\n componentDidMount() {\n // Setup global error handler\n if (this.appConfig?.preferences?.enableGlobalErrorHandler === true) {\n this.globalErrorHandlerCleanup = setupGlobalErrorHandler(\n (error, isFatal, errorInfo) => {\n // Trigger user error callback\n this.triggerOnError(error, errorInfo, 'javascript');\n\n this.globalError = {\n error,\n errorInfo,\n errorType: 'javascript',\n isFatal\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n },\n true // suppressDefaultErrorScreen = true when global error handler is enabled\n );\n }\n\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n try {\n this.onAppVariablesReady();\n } catch (e) {\n this.handleCallbackError(e, `Error in onAppVariablesReady callback`);\n return; // Early return to prevent subsequent code from executing\n }\n this.isStarted = true;\n this.forceUpdate();\n }, () => { });\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n\n // Cleanup global error handler\n if (this.globalErrorHandlerCleanup) {\n this.globalErrorHandlerCleanup();\n }\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <ScreenCaptureProtectionProvider value={this.getScreenCaptureContextValue()}>\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n {content}\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n </ScreenCaptureProtectionProvider>\n );\n }\n\n renderToasters() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) => {\n // to align the toaster position if it's an edge-to-edge app.\n let toasterStyles = {};\n if (isEdgeToEdgeApp) {\n if (o.styles?.top !== undefined) {\n toasterStyles = { top: this.statusbarInsets?.top };\n } else if (this.isButtonNavigationEnabled() && o.styles?.bottom !== undefined) {\n toasterStyles = { bottom: this.statusbarInsets?.bottom };\n }\n }\n\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles,toasterStyles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\" + i} type={o.type} caption={o.text} hideclose={!o.showclosebutton} onClose={o.closeToast} closeiconclass={o.closeiconclass} messageiconclass={o.messageiconclass}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )\n })}\n </>);\n }} />;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return (\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal : null,\n o.modalStyle,\n {\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{ width: '100%', alignItems: 'center' }}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{ width: '100%', alignItems: 'center' }}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )\n }\n )\n }\n </>);\n }} />;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }} />\n }\n\n renderIosStatusbarInsetsView(isEdgeToEdgeApp: boolean, insets: EdgeInsets | null){\n return Platform.OS == 'ios' && !isEdgeToEdgeApp ? (\n <View style={{\n backgroundColor: 'white',\n position: 'absolute',\n top: 0,\n height: insets?.top || 0,\n width: '100%',\n zIndex: 9\n }}></View>\n ) : <></>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n importModule(service?: string){\n if(service == \"moment\"){\n return moment;\n }\n return undefined;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderBlurView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <BlurView\n intensity={config?.blurIntensity || 30}\n tint={config.blurTint || \"dark\"}\n experimentalBlurMethod=\"dimezisBlurView\"\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n }}\n />\n );\n }\n\n renderTransparentView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <View\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n backgroundColor: config?.color || 'transparent',\n opacity: (config?.opacity/100) || 0,\n }}\n ></View>\n );\n }\n\n isButtonNavigationEnabled(){\n if(Platform.OS ===\"android\" && this.statusbarInsets?.bottom > 40){\n return true\n }\n return false;\n }\n\n renderApp(commonPartial: React.ReactNode) {\n\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n const edgeToEdgeConfig = this.appConfig?.edgeToEdgeConfig;\n const statusbarConfig = this.appConfig?.edgeToEdgeConfig?.statusbarConfig;\n const isEdgeToEdgeApp = !!edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;\n return (\n <SafeAreaProvider>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.statusbarInsets = insets;\n return <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n {this.getProviders(\n <Wrapper style={{ flex: 1 }}>\n <StatusBar\n backgroundColor={isEdgeToEdgeApp?'transparent': undefined}\n translucent={isEdgeToEdgeApp}\n />\n <ThemeProvider value={this.appConfig.theme}>\n <ErrorBoundary currentPage={this.appConfig.currentPage} app={this}>\n {this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets)}\n <View style={{ flex: 1 }}>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer ? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n <FixedViewContainer>\n {commonPartial}\n </FixedViewContainer>\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n {/* global error fallback */}\n {this.globalError && (\n <View\n style={{position:'absolute',height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,zIndex:999999,elevation: 999999}}>\n <Fallback\n error={this.globalError!.error}\n info={{errorInfo: this.globalError!.errorInfo}}\n errorType={this.globalError!.errorType}\n resetErrorBoundary={() => {\n this.globalError = null;\n this.forceUpdate();\n }}\n />\n </View>)}\n </View>\n {/* edge-to-edge app with statusbar blur */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='blur' ? this.renderBlurView(\"top\",insets,statusbarConfig) : null}\n {/* edge-to-edge app with statusbar transparent/semi-transparent */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='transparent' ? this.renderTransparentView(\"top\",insets,statusbarConfig) : null}\n </ErrorBoundary>\n </ThemeProvider>\n </Wrapper>\n )}\n </React.Fragment>\n </PaperProvider>\n }\n }\n </SafeAreaInsetsContext.Consumer>\n </SafeAreaProvider>)\n\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent: {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n } as ViewStyle\n};\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,OAAOC,KAAK,MAAiE,OAAO;AACpF,SAASC,QAAQ,EAAEC,gBAAgB,EAAEC,IAAI,EAAaC,SAAS,QAAQ,cAAc;AACrF,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,EAAEC,qBAAqB,EAAEC,YAAY,QAAoB,gCAAgC;AAClH,SAASC,YAAY,EAAEC,QAAQ,IAAIC,aAAa,QAAQ,oBAAoB;AAC5E,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,kBAAkB,QAAQ,mBAAmB;AACtD,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAC9C,SAASC,GAAG,EAAEC,IAAI,QAAQ,QAAQ;AAClC,SAASC,aAAa,QAAQ,0CAA0C;AACxE,OAAOC,aAAa,MAAM,kDAAkD;AAC5E,SAASC,aAAa,QAAQ,2CAA2C;AAEzE,OAAOC,cAAc,MAAM,mDAAmD;AAC9E,OAAOC,oBAAoB,MAAM,0DAA0D;AAC3F,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,cAAc,MAAwB,mDAAmD;AAChG,OAAOC,QAAQ,MAAM,4CAA4C;AACjE,OAAOC,UAAU,MAAM,8CAA8C;AACrE,SAASC,QAAQ,EAAEC,gBAAgB,QAAQ,yCAAyC;AACpF,OAAO,KAAKC,KAAK,MAAM,yCAAyC;AAChE,SAASC,aAAa,QAAQ,iDAAiD;AAC/E,SAASC,kBAAkB,QAAQ,wDAAwD;AAC3F,SAASC,aAAa,QAAQ,iDAAiD;AAC/E,SAA4BC,yBAAyB,QAAQ,sDAAsD;AACnH,SAASC,eAAe,QAAQ,mDAAmD;AACnF,OAAOC,oBAAoB,MAAM,sGAAsG;AACvI,OAAOC,cAAc,MAAM,qDAAqD;AAChF,OAAOC,SAAS,MAAM,yEAAyE;AAC/F,SAASC,YAAY,QAAQ,sEAAsE;AACnG,OAAOC,cAAc,MAAM,gEAAgE;AAE3F,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,YAAY,QAAQ,aAAa;AAC1C,OAAOC,wBAAwB,MAAM,wCAAwC;AAC7E,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,OAAOC,WAAW,MAAM,gCAAgC;AACxD,OAAOC,kBAAkB,MAAM,iCAAiC;AAChE,SAASC,YAAY,EAAEC,WAAW,QAAQ,6DAA6D;AACvG,OAAOC,0BAA0B,MAAM,4FAA4F;AAEnI,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAGlD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAAuBC,cAAc,QAAQ,4BAA4B;AACzE,SAASC,QAAQ,QAAQ,WAAW;AAEpC,OAAOC,MAAM,MAAkB,QAAQ;AACvC,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,SAASC,+BAA+B,QAA4C,2CAA2C;AAC/H,SAASC,uBAAuB,EAAEC,yBAAyB,QAAQ,qBAAqB;AACxF,SAASC,uBAAuB,QAA0B,sCAAsC;AAChG,OAAOC,QAAQ,MAAM,4DAA4D;AAIjF;AACEhE,IAAI,CAAS,WAAW,CAAC,GAAG;EAAEiE,KAAK,EAAE9D,UAAU,CAAC+D;AAAI,CAAC;AAEvD,MAAMC,+BAA+B,GAAG,GAAG;AAE3C,MAAMC,UAAU,CAAmB;EAIjCC,WAAWA,CAASC,QAAoB,EAAE;IAAA,KAAtBA,QAAoB,GAApBA,QAAoB;IAAAC,eAAA;IAAAA,eAAA,oBAFpB,UAAU;EAI9B;EAEAC,UAAUA,CAACC,OAAkB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACH,QAAQ,CAAC,CAAC;EACjB;EAEAI,UAAUA,CAAA,EAAG;IACX,OAAO,IAAI,CAACD,OAAO;EACrB;EAEAE,YAAYA,CAACC,SAAiB,EAAE;IAC9B,IAAI,CAACA,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACN,QAAQ,CAAC,CAAC;EACjB;EAEAO,YAAYA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,SAAS;EACvB;AACF;AACA,MAAME,kBAAkB,GAAG;EACzBpD,KAAK,EAAEA,KAAK;EACZqD,SAAS,EAAE3D,eAAe;EAC1BF,cAAc,EAAEA,cAAc;EAC9BC,oBAAoB,EAAEA,oBAAoB;EAC1CoB,wBAAwB,EAAEA,wBAAwB;EAClDyC,WAAW,EAAE5C;AACf,CAAC;AACA6C,MAAM,CAAS,OAAO,CAAC,GAAGpF,KAAK;AAChC,eAAe,MAAeqF,OAAO,SAAStF,KAAK,CAACuF,SAAS,CAA8B;EAuCzFd,WAAWA,CAACe,KAAU,EAAE;IACtB,KAAK,CAACA,KAAK,CAAC;IAACb,eAAA,kBAtCA,CAAC,CAAC;IAAAA,eAAA,oBACA,CAAC,CAAC;IAAAA,eAAA,iBACL,CAAC,CAAC;IAAAA,eAAA,8BACM,MAAM,CAAE,CAAC;IAAAA,eAAA,oBACnB,KAAK;IAAAA,eAAA,oBACLjD,QAAQ,CAACT,GAAG,CAAY,YAAY,CAAC;IAAA0D,eAAA,wBACzB,IAAIvD,aAAa,CAAC,CAAC;IAAAuD,eAAA,kBAC1B,EAAE;IAAAA,eAAA,yBACK,eAAe;IAAAA,eAAA,kBACtB,EAAE;IAAAA,eAAA,wBACiB,IAAI;IAAAA,eAAA,2BACH,EAAE;IAAAA,eAAA,yBACJ,EAAE;IAAAA,eAAA,8BACG,EAAE;IAAAA,eAAA,8BACF,EAAE;IAAAA,eAAA,qBACtBhD,UAAU;IAAAgD,eAAA,6BACF,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,uBAEA,CAAC;IAAAA,eAAA,uBACD,CAAC;IAAAA,eAAA,kBACLlC,OAAO,CAACgD,IAAI;IAAAd,eAAA,qBAClB;MAClB,GAAGhE,YAAY;MACf+E,MAAM,EAAE;QACN,GAAG/E,YAAY,CAAC+E,MAAM;QACtBC,OAAO,EAAEtD,cAAc,CAACuD,QAAQ,CAACC;MACnC;IACF,CAAC;IAAAlB,eAAA,cACYjC,YAAY,CAAC,MAAM;MAC9B,IAAI,CAACoD,OAAO,CAAC,CAAC;IAChB,CAAC,CAAC;IAAAnB,eAAA,wBAEqB,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,sBAEqB,IAAI;IAAAA,eAAA,oCACO,IAAI;IAAAA,eAAA,2BAgMlC,YAA2B;MACpD,IAAI;QACF,IAAIzE,QAAQ,CAAC6F,EAAE,KAAK,KAAK,EAAE;UACzB,MAAM7B,yBAAyB,CAAC,CAAC;QACnC;MACF,CAAC,CAAC,OAAO8B,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,6CAA6C,EAAEA,KAAK,CAAC;MACrE;IACF,CAAC;IAAArB,eAAA,4BAE2B,YAA2B;MACrD,IAAI;QACF,IAAIzE,QAAQ,CAAC6F,EAAE,KAAK,KAAK,EAAE;UACzB,MAAM9B,uBAAuB,CAAC,CAAC;QACjC;MACF,CAAC,CAAC,OAAO+B,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,8CAA8C,EAAEA,KAAK,CAAC;MACtE;IACF,CAAC;IA9MCtC,YAAY,CAACwC,oBAAoB,CAAC,CAAC;IACnCC,UAAU,CAAC,MAAMzC,YAAY,CAAC0C,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;IACjD,IAAI,CAACC,SAAS,CAACC,GAAG,GAAG,IAAI;IACzB,IAAI,CAACD,SAAS,CAACE,MAAM,GAAG,IAAI/B,UAAU,CAAC,MAAM,IAAI,CAACsB,OAAO,CAAC,CAAC,CAAC;;IAE5D;IACApE,QAAQ,CAAC8E,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;IAClCzD,iBAAiB,CAAC0D,iBAAiB,CAAC;MAClCC,OAAO,EAAE,IAAI,CAACL,SAAS,CAACK;IAC1B,CAAC,CAAC;IACF,IAAIC,gBAAgB,GAAG,KAAK;IAC5B,IAAI,CAACC,OAAO,GAAG,IAAI,CAACP,SAAS,CAACQ,GAAG;IACjC,IAAIC,IAAI,GAAG,CAAC;IACZ,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAC9B,IAAI,CAACV,SAAS,CAACP,OAAO,GAAG,CAACkB,QAAQ,GAAG,KAAK,KAAK;MAC7C,IAAIA,QAAQ,EAAE;QACZ,IAAI,CAACC,MAAM,CAAC,CAAC;QACb;MACF;MACA,IAAI,CAACH,IAAI,EAAE;QACT3F,aAAa,CAAC+F,KAAK,CAAC,uBAAuB,CAAC;QAC5CJ,IAAI,GAAGvC,+BAA+B;QACtCoC,gBAAgB,GAAG,KAAK;QACxBR,UAAU,CAAC,MAAM;UAAA,IAAAgB,mBAAA,EAAAC,qBAAA;UACf,IAAI,CAACC,WAAW,CAAC,CAAC;UAClB,CAAAF,mBAAA,OAAI,CAACG,aAAa,cAAAH,mBAAA,eAAlBA,mBAAA,CAAoBE,WAAW,CAAC,CAAC;UACjC,CAAAD,qBAAA,OAAI,CAACf,SAAS,CAACkB,WAAW,cAAAH,qBAAA,eAA1BA,qBAAA,CAA4BC,WAAW,CAAC,CAAC;UACzC,IAAI,CAACG,OAAO,CAACC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QACFtB,UAAU,CAAC,MAAM;UACfW,IAAI,GAAG,CAAC;UACRH,gBAAgB,IAAI,IAAI,CAACN,SAAS,CAACP,OAAO,CAAC,CAAC;QAC9C,CAAC,EAAEgB,IAAI,CAAC;MACV,CAAC,MAAM;QACL3F,aAAa,CAAC+F,KAAK,CAAC,yCAAyC,CAAC;QAC9DP,gBAAgB,GAAG,IAAI;MACzB;IACF,CAAC;IACD,IAAI,CAACe,OAAO,CAACC,IAAI,CACflG,cAAc,CAACmG,QAAQ,CAACC,SAAS,CAAC,sBAAsB,EAAGC,YAA0B,IAAK;MACxF,IAAI,CAACC,aAAa,GAAG;QAAE,GAAGD;MAAa,CAAC;MACxC,IAAI,CAAChC,OAAO,CAAC,CAAC;IAChB,CACA,CAAC,CAAC;EACN;EAEA+B,SAASA,CAACG,KAAa,EAAEC,EAAY,EAAE;IACrC,OAAO,IAAI,CAACC,aAAa,CAACL,SAAS,CAACG,KAAK,EAAEC,EAAE,CAAC;EAChD;EAEAE,MAAMA,CAACH,KAAa,EAAE,GAAGI,IAAS,EAAE;IAClC,OAAO,IAAI,CAACF,aAAa,CAACC,MAAM,CAACH,KAAK,EAAEI,IAAI,CAAC;EAC/C;EAEA,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAChC,SAAS,CAACkB,WAAW;EACnC;EAEA,IAAIe,OAAOA,CAAA,EAAG;IAAA,IAAAC,oBAAA;IACZ,QAAAA,oBAAA,GAAO,IAAI,CAACjB,aAAa,cAAAiB,oBAAA,uBAAlBA,oBAAA,CAAoBD,OAAO;EACpC;EAEA,MAAME,iBAAiBA,CAACjB,WAAmB,EAAEkB,QAAgB,EAAE;IAC7D;IACA,OAAO,IAAI;EACb;EAEAC,QAAQA,CAACC,QAAgB,EAAEC,MAAW,EAAE;IAAA,IAAAC,sBAAA;IACtC,QAAAA,sBAAA,GAAO,IAAI,CAACxC,SAAS,CAACkB,WAAW,cAAAsB,sBAAA,uBAA1BA,sBAAA,CAA4BH,QAAQ,CAACC,QAAQ,EAAEC,MAAM,CAAC;EAC/D;EAEAE,MAAMA,CAACH,QAAgB,EAAEC,MAAW,EAAE;IAAA,IAAAG,sBAAA;IACpC,QAAAA,sBAAA,GAAO,IAAI,CAAC1C,SAAS,CAACkB,WAAW,cAAAwB,sBAAA,uBAA1BA,sBAAA,CAA4BD,MAAM,CAACH,QAAQ,EAAEC,MAAM,CAAC;EAC7D;EAEAI,OAAOA,CAACnC,GAAW,EAAE+B,MAAY,EAAE;IAAA,IAAAK,sBAAA;IACjC,QAAAA,sBAAA,GAAO,IAAI,CAAC5C,SAAS,CAACkB,WAAW,cAAA0B,sBAAA,uBAA1BA,sBAAA,CAA4BD,OAAO,CAACnC,GAAG,EAAE+B,MAAM,CAAC;EACzD;EAEAM,mBAAmBA,CAACC,MAAkC,EAAE;IACtD;IACA;IACA,OAAOA,MAAM;EACf;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,OAAO,IAAI,CAAC/C,SAAS,CAACK,OAAO,CAAC2C,MAAM,IAAI,UAAU;EACpD;EAEAC,gBAAgBA,CAACC,IAAS,EAAEC,QAAuB,EAAE;IACnD;IACA;EAAA;EAGFC,cAAcA,CAACC,QAAa,EAAE1D,KAAsB,EAAE;IACpD;IACA;EAAA;EAGF2D,eAAeA,CAACC,GAAW,EAAEL,IAAY,EAAE;IACzC,IAAIxI,kBAAkB,CAAC8I,eAAe,KAChC3J,QAAQ,CAAC6F,EAAE,KAAK,SAAS,IAAI7F,QAAQ,CAAC6F,EAAE,KAAK,KAAK,CAAC,EAAE;MACzD,OAAOhF,kBAAkB,CAAC8I,eAAe,CAACC,YAAY,CAACF,GAAG,EAAEL,IAAI,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC,MAAM;MACL,OAAOQ,OAAO,CAACC,MAAM,CAAC,iDAAiD,CAAC;IAC1E;EACF;EAEAC,gBAAgBA,CAACC,cAAsB,EAAEC,eAAyB,EAAE;IAClE,IAAI;MACF,IAAI,CAACC,WAAW,CAACF,cAAc,EAAEC,eAAe,CAAC;IACnD,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,+BAA+B,CAAC;IAC9D;EACF;EAEAD,WAAWA,CAACF,cAAsB,EAAEC,eAAyB,EAAE,CAE/D;EAEAI,cAAcA,CAACvE,KAAY,EAAEwE,SAAc,EAAEC,SAAkC,EAAE;IAC/E,IAAI;MACF,IAAI,CAACC,OAAO,CAAC1E,KAAK,EAAEwE,SAAS,EAAEC,SAAS,CAAC;IAC3C,CAAC,CAAC,OAAOJ,CAAC,EAAE;MACVpE,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEqE,CAAC,CAAC;IAChD;EACF;EAEAK,OAAOA,CAAC1E,KAAY,EAAEwE,SAAc,EAAEC,SAAkC,EAAE;IACxE;IACA;EAAA;EAGKH,mBAAmBA,CAACtE,KAAc,EAAE2E,OAAe,EAAE;IAC1D1E,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACpB,MAAM4E,QAAQ,GAAG5E,KAAK,YAAY6E,KAAK,GAAG7E,KAAK,GAAG,IAAI6E,KAAK,CAACC,MAAM,CAAC9E,KAAK,CAAC,CAAC;;IAE1E;IACA,IAAI;MACF;MACAtC,YAAY,CAAC0C,SAAS,CAAC,CAAC;;MAExB;MACArD,iBAAiB,CAACgI,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,OAAOC,SAAS,EAAE;MAClB/E,OAAO,CAACgF,IAAI,CAAC,wBAAwB,EAAED,SAAS,CAAC;IACnD;;IAEA;IACA,IAAI,CAACT,cAAc,CAACK,QAAQ,EAAED,OAAO,EAAE,YAAY,CAAC;;IAEpD;IACA,IAAI,CAACO,WAAW,GAAG;MACjBlF,KAAK,EAAE4E,QAAQ;MACfJ,SAAS,EAAEG,OAAO;MAClBF,SAAS,EAAE,YAAY;MACvBU,OAAO,EAAE;IACX,CAAC;;IAED;IACA,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAAC/D,WAAW,CAAC,CAAC,CAAC,CAAC;EACtB;EAEAgE,WAAWA,CAACC,QAAa,EAAE;IACzB9I,cAAc,CAAC6I,WAAW,CAACC,QAAQ,CAAC;EACtC;EAEA,IAAI5E,OAAOA,CAAA,EAAG;IACZ,OAAO3D,iBAAiB;EAC1B;EAEAwI,WAAWA,CAAC1E,GAAW,EAAE+B,MAAM,GAAG,CAAC,CAAQ,EAAE;IAC3C,IAAI/B,GAAG,EAAE;MACP,IAAIhF,gBAAgB,CAAC,CAAC,EAAE;QACtB2J,MAAM,CAACC,IAAI,CAAC5E,GAAG,EAAE,QAAQ,CAAC;MAC5B,CAAC,MAAM,IAAIA,GAAG,CAAC6E,UAAU,CAAC,MAAM,CAAC,IAAI9C,MAAM,CAAC+C,MAAM,KAAK,QAAQ,EAAE;QAC/D3K,UAAU,CAAC4K,gBAAgB,CAAC/E,GAAG,CAAC;MAClC,CAAC,MAAM;QACL,OAAO/F,OAAO,CAAC+K,OAAO,CAAChF,GAAG,CAAC;MAC7B;IACF;IACA,OAAOkD,OAAO,CAAC+B,OAAO,CAAC,CAAC;EAC1B;;EAEA;EACA7E,MAAMA,CAAA,EAAG,CAAE;EAsBH8E,4BAA4BA,CAAA,EAAuC;IACzE,OAAO;MACLC,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;MACvCC,iBAAiB,EAAE,IAAI,CAACA;IAC1B,CAAC;EACH;EAEAlF,uBAAuBA,CAAA,EAAG;IACxB,IAAI,CAACmF,mBAAmB,GAAG,CACzBjM,KAAK,CAACkM,YAAY,CAACC,OAAO,CAACC,GAAG,CAAElD,MAAkC,IAAK;MACrE,MAAMtC,GAAG,GAAGsC,MAAM,CAACtC,GAAa;MAChC,IAAI,EAAEA,GAAG,CAAC6E,UAAU,CAAC,SAAS,CAAC,IAAI7E,GAAG,CAAC6E,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE;QAC9DvC,MAAM,CAACtC,GAAG,GAAG,IAAI,CAACR,SAAS,CAACQ,GAAG,GAAG,GAAG,GAAGA,GAAG;MAC7C;MACAsC,MAAM,CAACmD,OAAO,GAAGnD,MAAM,CAACmD,OAAO,IAAI,CAAC,CAAC;MACrCnD,MAAM,CAACmD,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB;MACrDrG,OAAO,CAACsG,GAAG,CAAC,kCAAkC,GAAGpD,MAAM,CAACtC,GAAG,CAAC;MAC5D,IAAI,CAACsB,MAAM,CAAC,mBAAmB,EAAEgB,MAAM,CAAC;MACxC,IAAI;QACF,OAAO,IAAI,CAACD,mBAAmB,CAACC,MAAM,CAAC;MACzC,CAAC,CAAC,OAAOkB,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,uCAAuC,CAAC;QACpE,OAAOlB,MAAM,CAAC,CAAC;MACjB;IACF,CAAC,CAAC,EACFlJ,KAAK,CAACkM,YAAY,CAAC3C,QAAQ,CAAC6C,GAAG,CAC5B7C,QAAuB,IAAK;MAC3B,IAAI;QACF,IAAI,CAACF,gBAAgB,CAACE,QAAQ,CAACD,IAAI,EAAEC,QAAQ,CAAC;MAChD,CAAC,CAAC,OAAOa,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,oCAAoC,CAAC;MACnE;MACA,IAAI,CAAClC,MAAM,CAAC,kBAAkB,EAAEqB,QAAQ,CAACL,MAAM,EAAEK,QAAQ,CAAC;MAC1D,OAAOA,QAAQ;IACjB,CAAC,EAAGxD,KAAsB,IAAK;MAAA,IAAAwG,aAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;MAC7B,IAAIC,YAAiB,GAAG9G,KAAK,CAACwD,QAAQ;QAAEuD,MAAM;MAC9CD,YAAY,GAAGvJ,YAAY,EAAAiJ,aAAA,GAACM,YAAY,cAAAN,aAAA,uBAAZA,aAAA,CAAcjD,IAAI,CAAC,MAAAkD,cAAA,GAAIK,YAAY,cAAAL,cAAA,uBAAZA,cAAA,CAAclD,IAAI;MACrE,IAAIuD,YAAY,IAAIA,YAAY,CAACE,MAAM,EAAE;QACvCD,MAAM,GAAGvJ,WAAW,CAACsJ,YAAY,CAACE,MAAM,CAAC,IAAI,qBAAqB;MACpE,CAAC,MAAM;QACLD,MAAM,GAAG/G,KAAK,CAACiH,OAAO,IAAI,qBAAqB;MACjD;MACAjH,KAAK,CAACiH,OAAO,GAAGF,MAAM;MACtB9G,OAAO,CAACD,KAAK,CAAC,SAAS+G,MAAM,mBAAAL,eAAA,GAAkB1G,KAAK,CAACwD,QAAQ,cAAAkD,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBvD,MAAM,cAAAuD,eAAA,uBAAtBA,eAAA,CAAwB7F,GAAG,EAAE,CAAC;MAC7E,IAAI;QACF,IAAI,CAAC4C,cAAc,CAACzD,KAAK,CAACiH,OAAO,EAAEjH,KAAK,CAAC;MAC3C,CAAC,CAAC,OAAOqE,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,kCAAkC,CAAC;MACjE;MACA,IAAI,CAAAsC,gBAAA,GAAA3G,KAAK,CAACwD,QAAQ,cAAAmD,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBxD,MAAM,CAACtC,GAAG,cAAA8F,gBAAA,eAA1BA,gBAAA,CAA4BjB,UAAU,CAAC,IAAI,CAACrF,SAAS,CAACQ,GAAG,CAAC,IAAI,GAAA+F,gBAAA,GAAC5G,KAAK,CAACwD,QAAQ,cAAAoD,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBzD,MAAM,CAACtC,GAAG,cAAA+F,gBAAA,eAA1BA,gBAAA,CAA4BM,QAAQ,CAAC,YAAY,CAAC,KAAI,EAAAL,gBAAA,GAAA7G,KAAK,CAACwD,QAAQ,cAAAqD,gBAAA,uBAAdA,gBAAA,CAAgBM,MAAM,MAAK,GAAG,EAAE;QAAA,IAAAC,sBAAA,EAAAC,sBAAA;QACvJ,EAAAD,sBAAA,OAAI,CAAC/G,SAAS,CAACkB,WAAW,cAAA6F,sBAAA,uBAA1BA,sBAAA,CAA4BzE,QAAQ,MAAK,OAAO,MAAA0E,sBAAA,GAAI,IAAI,CAAChH,SAAS,CAACkB,WAAW,cAAA8F,sBAAA,uBAA1BA,sBAAA,CAA4B3E,QAAQ,CAAC,OAAO,CAAC;MACnG;MACA,IAAI,CAACP,MAAM,CAAC,kBAAkB,EAAEnC,KAAK,CAACmD,MAAM,EAAEnD,KAAK,CAAC;MACpD,OAAO+D,OAAO,CAACC,MAAM,CAAChE,KAAK,CAAC;IAC9B,CAAC,CAAC,CACL;EACH;EAEAsH,IAAIA,CAACrF,EAAY,EAAEsF,WAAW,GAAG,KAAK,EAAE;IACtC,IAAI;MACF,OAAOtF,EAAE,CAACuF,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOnD,CAAC,EAAE;MACV,IAAIkD,WAAW,EAAE;QACf,MAAMlD,CAAC;MACT,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;EACF;EAEAoD,uBAAuBA,CAAA,EAAG;IACxB,OAAO1D,OAAO,CAAC2D,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAACC,GAAG,CAACC,CAAC,IAAI,IAAI,CAACC,SAAS,CAACD,CAAC,CAAC,IAAI,IAAI,CAACC,SAAS,CAACD,CAAC,CAAC,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC,CAChGC,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;EACrB;EAEAC,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,eAAA;IAClB;IACA,IAAI,EAAAA,eAAA,OAAI,CAAC7H,SAAS,cAAA6H,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBC,WAAW,cAAAD,eAAA,uBAA3BA,eAAA,CAA6BE,wBAAwB,MAAK,IAAI,EAAE;MAClE,IAAI,CAACC,yBAAyB,GAAGlK,uBAAuB,CACtD,CAAC6B,KAAK,EAAEmF,OAAO,EAAEX,SAAS,KAAK;QAC7B;QACA,IAAI,CAACD,cAAc,CAACvE,KAAK,EAAEwE,SAAS,EAAE,YAAY,CAAC;QAEnD,IAAI,CAACU,WAAW,GAAG;UACjBlF,KAAK;UACLwE,SAAS;UACTC,SAAS,EAAE,YAAY;UACvBU;QACF,CAAC;QACD,IAAI,CAAC9D,WAAW,CAAC,CAAC,CAAC,CAAC;MACtB,CAAC,EACD,IAAI,CAAC;MACP,CAAC;IACH;IAEAtE,iBAAiB,CAACuL,IAAI,CAAC;MACrB5H,OAAO,EAAE,IAAI,CAACL,SAAS,CAACK;IAC1B,CAAC,CAAC;IACF,IAAI,CAACgB,OAAO,CAACC,IAAI,CAAC,GAAG4G,MAAM,CAACC,MAAM,CAAC,IAAI,CAACV,SAAS,CAAC,CAACF,GAAG,CAAEa,CAAM,IAAK;MACjE,OAAOA,CAAC,CAAC5G,SAAS,CAACjE,cAAc,CAAC8K,aAAa,EAAE,MAAM;QACrD,IAAI,CAACvG,MAAM,CAACvE,cAAc,CAAC8K,aAAa,EAAED,CAAC,CAAC;MAC9C,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC/G,OAAO,CAACC,IAAI,CAAC,GAAG4G,MAAM,CAACC,MAAM,CAAC,IAAI,CAACV,SAAS,CAAC,CAACF,GAAG,CAAEa,CAAM,IAAK;MACjE,OAAOA,CAAC,CAAC5G,SAAS,CAACjE,cAAc,CAAC+K,YAAY,EAAE,MAAM;QACpD,IAAI,CAACxG,MAAM,CAACvE,cAAc,CAAC+K,YAAY,EAAEF,CAAC,CAAC;MAC7C,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAACG,cAAc,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAACC,OAAO,CAACD,CAAC,CAAC,IAAI,IAAI,CAACC,OAAO,CAACD,CAAC,CAAC,CAACd,MAAM,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAACN,uBAAuB,CAAC,CAAC,CAClCsB,IAAI,CAAC,MAAM;MACV,IAAI;QACF,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAC5B,CAAC,CAAC,OAAO3E,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,uCAAuC,CAAC;QACpE,OAAO,CAAC;MACV;MACA,IAAI,CAACe,SAAS,GAAG,IAAI;MACrB,IAAI,CAAC/D,WAAW,CAAC,CAAC;IACpB,CAAC,EAAE,MAAM,CAAE,CAAC,CAAC;EACjB;EAEA4H,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAAC/C,mBAAmB,CAAC0B,GAAG,CAACsB,EAAE,IAAI;MACjCjP,KAAK,CAACkM,YAAY,CAACC,OAAO,CAAC+C,KAAK,CAACD,EAAE,CAAC;IACtC,CAAC,CAAC;IACF,IAAI,CAACxH,OAAO,CAAC0H,OAAO,CAACnH,EAAE,IAAIA,EAAE,CAAC,CAAC,CAAC;;IAEhC;IACA,IAAI,IAAI,CAACoG,yBAAyB,EAAE;MAClC,IAAI,CAACA,yBAAyB,CAAC,CAAC;IAClC;EACF;EAEAvI,OAAOA,CAAA,EAAG;IACR,IAAI,CAACO,SAAS,CAACP,OAAO,CAAC,CAAC;EAC1B;EAEAuJ,YAAYA,CAACxK,OAAwB,EAAE;IACrC,oBACE7E,KAAA,CAAAsP,aAAA,CAACtL,+BAA+B;MAACuL,KAAK,EAAE,IAAI,CAACxD,4BAA4B,CAAC;IAAE,gBAC1E/L,KAAA,CAAAsP,aAAA,CAACpN,yBAAyB;MAACqN,KAAK,EAAE;IAAK,gBACrCvP,KAAA,CAAAsP,aAAA,CAACrN,aAAa;MAACsN,KAAK,EAAE1M;IAAgB,gBACpC7C,KAAA,CAAAsP,aAAA,CAACnN,eAAe;MAACoN,KAAK,EAAEzM;IAAkB,gBACxC9C,KAAA,CAAAsP,aAAA,CAACrM,gBAAgB;MAACsM,KAAK,EAAEjM;IAAmB,gBAC1CtD,KAAA,CAAAsP,aAAA,CAACpM,cAAc;MAACqM,KAAK,EAAEpM;IAAc,gBACnCnD,KAAA,CAAAsP,aAAA,CAAClM,YAAY;MAACmM,KAAK,EAAElM;IAAY,gBAC/BrD,KAAA,CAAAsP,aAAA,CAACvN,aAAa;MAACwN,KAAK,EAAE3M;IAAgB,GACnCiC,OACY,CACH,CACA,CACA,CACH,CACJ,CACU,CACI,CAAC;EAEtC;EAEA2K,cAAcA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IACf,MAAMC,eAAe,GAAG,CAAC,GAAAD,gBAAA,GAAC,IAAI,CAACpJ,SAAS,cAAAoJ,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBE,gBAAgB,cAAAF,gBAAA,eAAhCA,gBAAA,CAAkCC,eAAe;IAC3E,IAAI,CAACE,YAAY,GAAG/M,eAAe,CAAC+M,YAAY,CAACC,MAAM;IACvD,oBAAO7P,KAAA,CAAAsP,aAAA,CAAC3L,MAAM;MAAC6D,OAAO,EAAE,IAAI,CAACA,OAAQ;MAACsI,MAAM,EAAGC,KAAK,IAAK;QACvDA,KAAK,CAAC,MAAMlN,eAAe,CAACmN,YAAY,CAAC;QACzC,oBACEhQ,KAAA,CAAAsP,aAAA,CAAAtP,KAAA,CAAAiQ,QAAA,QACGpN,eAAe,CAAC+M,YAAY,CAAChC,GAAG,CAAC,CAACsC,CAAC,EAAEC,CAAC,KAAK;UAC1C;UACA,IAAIC,aAAa,GAAG,CAAC,CAAC;UACtB,IAAIV,eAAe,EAAE;YAAA,IAAAW,SAAA,EAAAC,UAAA;YACnB,IAAI,EAAAD,SAAA,GAAAH,CAAC,CAACK,MAAM,cAAAF,SAAA,uBAARA,SAAA,CAAUG,GAAG,MAAKC,SAAS,EAAE;cAAA,IAAAC,qBAAA;cAC/BN,aAAa,GAAG;gBAAEI,GAAG,GAAAE,qBAAA,GAAE,IAAI,CAACC,eAAe,cAAAD,qBAAA,uBAApBA,qBAAA,CAAsBF;cAAI,CAAC;YACpD,CAAC,MAAM,IAAI,IAAI,CAACI,yBAAyB,CAAC,CAAC,IAAI,EAAAN,UAAA,GAAAJ,CAAC,CAACK,MAAM,cAAAD,UAAA,uBAARA,UAAA,CAAUO,MAAM,MAAKJ,SAAS,EAAE;cAAA,IAAAK,sBAAA;cAC7EV,aAAa,GAAG;gBAAES,MAAM,GAAAC,sBAAA,GAAE,IAAI,CAACH,eAAe,cAAAG,sBAAA,uBAApBA,sBAAA,CAAsBD;cAAO,CAAC;YAC1D;UACF;UAEA,OAAO,IAAI,CAACxB,YAAY,cACtBrP,KAAA,CAAAsP,aAAA,CAACjO,aAAa;YAACkO,KAAK,EAAE,IAAI,CAAClJ,SAAS,CAAC0K;UAAM,gBACzC/Q,KAAA,CAAAsP,aAAA,CAAClP,IAAI;YAACwJ,GAAG,EAAEuG,CAAE;YAAC9L,KAAK,EAAE,CAAC;cACpB2M,QAAQ,EAAE,UAAU;cACpBC,KAAK,EAAE,MAAM;cACbJ,MAAM,EAAE,CAAC;cACTK,SAAS,EAAEhB,CAAC,CAACiB,cAAc;cAC3BC,MAAM,EAAElB,CAAC,CAACiB;YACZ,CAAC,EAAEjB,CAAC,CAACK,MAAM,EAACH,aAAa;UAAE,gBACzBpQ,KAAA,CAAAsP,aAAA,CAACnP,gBAAgB;YAACkR,OAAO,EAAEA,CAAA,KAAMnB,CAAC,CAACoB,OAAO,IAAIpB,CAAC,CAACoB,OAAO,CAAC;UAAE,GACvDpB,CAAC,CAACrL,OAAO,EACTqL,CAAC,CAACqB,IAAI,iBAAIvR,KAAA,CAAAsP,aAAA,CAAChN,SAAS;YAACkP,IAAI,EAAE,SAAS,GAAGrB,CAAE;YAACsB,IAAI,EAAEvB,CAAC,CAACuB,IAAK;YAACC,OAAO,EAAExB,CAAC,CAACqB,IAAK;YAACI,SAAS,EAAE,CAACzB,CAAC,CAAC0B,eAAgB;YAACC,OAAO,EAAE3B,CAAC,CAAC4B,UAAW;YAACC,cAAc,EAAE7B,CAAC,CAAC6B,cAAe;YAACC,gBAAgB,EAAE9B,CAAC,CAAC8B;UAAiB,CAAY,CACnM,CACd,CACO,CAEjB,CAAC;QACH,CAAC,CACD,CAAC;MACP;IAAE,CAAE,CAAC;EACP;EAEAC,aAAaA,CAAA,EAAc;IACzB,oBAAOjS,KAAA,CAAAsP,aAAA,CAAC3L,MAAM;MAAC6D,OAAO,EAAE,IAAI,CAACA,OAAQ;MAACsI,MAAM,EAAGC,KAAK,IAAK;QACvDA,KAAK,CAAC;UAAA,IAAAmC,KAAA;UAAA,QAAAA,KAAA,GAAMhR,IAAI,CAAC0B,eAAe,CAACuP,YAAY,CAAC,cAAAD,KAAA,uBAAlCA,KAAA,CAAoCrN,OAAO;QAAA,EAAC;QACxD,IAAI,CAACsN,YAAY,GAAGvP,eAAe,CAACuP,YAAY,CAACtC,MAAM;QACvDjN,eAAe,CAACwP,YAAY,CAACvC,MAAM,GAAG,CAAC;QACvC,oBACE7P,KAAA,CAAAsP,aAAA,CAAAtP,KAAA,CAAAiQ,QAAA,QACGrN,eAAe,CAACyP,YAAY,CAACxN,OAAO,IACnCjC,eAAe,CAACuP,YAAY,CAACvE,GAAG,CAAC,CAACsC,CAAC,EAAEC,CAAC,KAAK;UACzC,oBACEnQ,KAAA,CAAAsP,aAAA,CAAClP,IAAI;YAACwJ,GAAG,EAAE,CAACsG,CAAC,CAACsB,IAAI,IAAI,EAAE,IAAIrB,CAAE;YAC5BmC,yBAAyB,EAAEA,CAAA,KAAM,IAAK;YACtCC,cAAc,EAAEA,CAAA,KAAMrC,CAAC,CAACsC,OAAO,IAAI5P,eAAe,CAAC6P,SAAS,CAACvC,CAAC,CAAE;YAChE7L,KAAK,EAAEzC,QAAQ,CAAC2O,MAAM,CAACmC,QAAQ,EAC7BxC,CAAC,CAACyC,QAAQ,GAAGpC,MAAM,CAACqC,aAAa,GAAG,IAAI,EACxC1C,CAAC,CAAC2C,UAAU,EACZ;cACE3B,SAAS,EAAEhB,CAAC,CAACiB,cAAc;cAC3BC,MAAM,EAAElB,CAAC,CAACiB;YACZ,CAAC;UAAE,gBACLnR,KAAA,CAAAsP,aAAA,CAAC/M,YAAY;YAACuQ,cAAc,EAAE5C,CAAC,CAAClL,SAAS,IAAI,QAAS;YAAC+N,KAAK,EAAE7C,CAAC,CAAC8C,cAAe;YAC7EC,GAAG,EAAEA,GAAG,IAAI;cACV,IAAI,CAACC,WAAW,GAAGD,GAAG;cACtBrQ,eAAe,CAACwP,YAAY,CAACjC,CAAC,CAAC,GAAG8C,GAAG;YACvC,CAAE;YACF5O,KAAK,EAAE,CAACkM,MAAM,CAAC4C,eAAe,EAAEjD,CAAC,CAACkD,YAAY;UAAE,gBAChDpT,KAAA,CAAAsP,aAAA,CAAChP,sBAAsB;YAAC+D,KAAK,EAAE;cAAE4M,KAAK,EAAE,MAAM;cAAEoC,UAAU,EAAE;YAAS;UAAE,gBACrErT,KAAA,CAAAsP,aAAA,CAAClP,IAAI;YACHkS,yBAAyB,EAAEgB,GAAG,IAAI,IAAK;YACvCf,cAAc,EAAGlI,CAAC,IAAKA,CAAC,CAACkJ,eAAe,CAAC,CAAE;YAC3ClP,KAAK,EAAE;cAAE4M,KAAK,EAAE,MAAM;cAAEoC,UAAU,EAAE;YAAS;UAAE,GAC9C,IAAI,CAAChE,YAAY,CAACa,CAAC,CAACrL,OAAO,CACxB,CACgB,CACZ,CACV,CAAC;QAEX,CACA,CAEF,CAAC;MACP;IAAE,CAAE,CAAC;EACP;EAEA2O,oBAAoBA,CAAA,EAAc;IAChC,oBAAOxT,KAAA,CAAAsP,aAAA,CAAC3L,MAAM;MAAC6D,OAAO,EAAE,IAAI,CAACA,OAAQ;MAACsI,MAAM,EAAGC,KAAK,IAAK;QACvDA,KAAK,CAAC,MAAMpN,wBAAwB,CAAC8Q,cAAc,CAAC5O,OAAO,CAAC;QAC5D,OAAOlC,wBAAwB,CAAC8Q,cAAc,CAAC5O,OAAO,gBAElD7E,KAAA,CAAAsP,aAAA,CAACjO,aAAa;UAACkO,KAAK,EAAE,IAAI,CAAClJ,SAAS,CAAC0K;QAAM,gBACzC/Q,KAAA,CAAAsP,aAAA,CAAClP,IAAI;UAACiE,KAAK,EAAE,CAACkM,MAAM,CAACmD,oBAAoB,EAAE;YACzCxC,SAAS,EAAE,IAAI,CAACtB,YAAY,GAAG,IAAI,CAACuC,YAAY,GAAG,CAAC;YACpDf,MAAM,EAAE,IAAI,CAACxB,YAAY,GAAG,IAAI,CAACuC,YAAY,GAAG;UAClD,CAAC;QAAE,GACAxP,wBAAwB,CAAC8Q,cAAc,CAAC5O,OACrC,CACO,CAAC,GAAI,IAAI;MAC9B;IAAE,CAAE,CAAC;EACP;EAEA8O,4BAA4BA,CAACjE,eAAwB,EAAEkE,MAAyB,EAAC;IAC/E,OAAO1T,QAAQ,CAAC6F,EAAE,IAAI,KAAK,IAAI,CAAC2J,eAAe,gBAC7C1P,KAAA,CAAAsP,aAAA,CAAClP,IAAI;MAACiE,KAAK,EAAE;QACXwP,eAAe,EAAE,OAAO;QACxB7C,QAAQ,EAAE,UAAU;QACpBR,GAAG,EAAE,CAAC;QACNsD,MAAM,EAAE,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpD,GAAG,KAAI,CAAC;QACxBS,KAAK,EAAE,MAAM;QACbG,MAAM,EAAE;MACV;IAAE,CAAO,CAAC,gBACRpR,KAAA,CAAAsP,aAAA,CAAAtP,KAAA,CAAAiQ,QAAA,MAAI,CAAC;EACX;EAEA8D,4BAA4BA,CAAA,EAAG;IAC7B,IAAI;MACF,oBAAQ/T,KAAA,CAAAsP,aAAA;QAAOmC,IAAI,EAAC;MAAU,GAAE;AACtC;AACA;AACA,qBAAqBhO,0BAA0B;AAC/C;AACA,OAAe,CAAC;IACZ,CAAC,CAAC,OAAO4G,CAAC,EAAE;MACVpE,OAAO,CAACsG,GAAG,CAAC,wDAAwD,CAAC;IACvE;IACA,OAAO,IAAI;EACb;EAEAyH,iBAAiBA,CAAA,EAAG;IAClB,OAAO,IAAI,CAAC3N,SAAS,CAAC4N,cAAc;EACtC;EAEAC,YAAYA,CAACC,OAAgB,EAAC;IAC5B,IAAGA,OAAO,IAAI,QAAQ,EAAC;MACrB,OAAOrQ,MAAM;IACf;IACA,OAAO2M,SAAS;EAClB;EAEA2D,aAAaA,CAACC,WAAmB,EAAO;IACtC,MAAMF,OAAO,GAAGlT,GAAG,CAACiE,kBAAkB,EAAEmP,WAAW,CAAC;IACpD,IAAIF,OAAO,EAAE;MACX,OAAOA,OAAO;IAChB;EACF;EAEAG,cAAcA,CAACtD,QAA0B,EAAE4C,MAAW,EAAEzK,MAAU,EAAE;IAClE,IAAI,EAACyK,MAAM,aAANA,MAAM,eAANA,MAAM,CAAG5C,QAAQ,CAAC,GAAE,OAAO,IAAI;IAEpC,oBACEhR,KAAA,CAAAsP,aAAA,CAACzL,QAAQ;MACP0Q,SAAS,EAAE,CAAApL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEqL,aAAa,KAAI,EAAG;MACvCC,IAAI,EAAEtL,MAAM,CAACuL,QAAQ,IAAI,MAAO;MAChCC,sBAAsB,EAAC,iBAAiB;MACxCtQ,KAAK,EAAE;QACL,CAAC2M,QAAQ,GAAG,CAAC;QACb8C,MAAM,EAAEF,MAAM,CAAC5C,QAAQ,CAAC;QACxBC,KAAK,EAAE,MAAM;QACbD,QAAQ,EAAE,UAAU;QACpBI,MAAM,EAAE;MACV;IAAE,CACH,CAAC;EAEN;EAEAwD,qBAAqBA,CAAC5D,QAA0B,EAAE4C,MAAW,EAAEzK,MAAU,EAAE;IACzE,IAAI,EAACyK,MAAM,aAANA,MAAM,eAANA,MAAM,CAAG5C,QAAQ,CAAC,GAAE,OAAO,IAAI;IAEpC,oBACEhR,KAAA,CAAAsP,aAAA,CAAClP,IAAI;MACHiE,KAAK,EAAE;QACL,CAAC2M,QAAQ,GAAG,CAAC;QACb8C,MAAM,EAAEF,MAAM,CAAC5C,QAAQ,CAAC;QACxBC,KAAK,EAAE,MAAM;QACbD,QAAQ,EAAE,UAAU;QACpBI,MAAM,EAAE,GAAG;QACXyC,eAAe,EAAE,CAAA1K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE0L,KAAK,KAAI,aAAa;QAC/CC,OAAO,EAAG,CAAA3L,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE2L,OAAO,IAAC,GAAG,IAAK;MACpC;IAAE,CACG,CAAC;EAEZ;EAEAlE,yBAAyBA,CAAA,EAAE;IAAA,IAAAmE,sBAAA;IACzB,IAAG7U,QAAQ,CAAC6F,EAAE,KAAI,SAAS,IAAI,EAAAgP,sBAAA,OAAI,CAACpE,eAAe,cAAAoE,sBAAA,uBAApBA,sBAAA,CAAsBlE,MAAM,IAAG,EAAE,EAAC;MAC/D,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAmE,SAASA,CAAC1N,aAA8B,EAAE;IAAA,IAAA2N,gBAAA,EAAAC,gBAAA;IAExC,IAAI,CAACC,mBAAmB,CAAC/F,OAAO,CAACG,KAAK;MAAA,IAAA6F,qBAAA;MAAA,QAAAA,qBAAA,GAAI,IAAI,CAACtH,SAAS,CAACyB,KAAK,CAAC,cAAA6F,qBAAA,uBAArBA,qBAAA,CAAuBC,mBAAmB,CAAC,CAAC;IAAA,EAAC;IACvF,MAAM1F,gBAAgB,IAAAsF,gBAAA,GAAG,IAAI,CAAC5O,SAAS,cAAA4O,gBAAA,uBAAdA,gBAAA,CAAgBtF,gBAAgB;IACzD,MAAM2F,eAAe,IAAAJ,gBAAA,GAAG,IAAI,CAAC7O,SAAS,cAAA6O,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBvF,gBAAgB,cAAAuF,gBAAA,uBAAhCA,gBAAA,CAAkCI,eAAe;IACzE,MAAM5F,eAAe,GAAG,CAAC,EAACC,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAED,eAAe;IAE3D,MAAM6F,OAAO,GAAG7F,eAAe,GAAGtP,IAAI,GAAGM,YAAY;IACrD,oBACEV,KAAA,CAAAsP,aAAA,CAAC9O,gBAAgB,qBACfR,KAAA,CAAAsP,aAAA,CAAC7O,qBAAqB,CAAC+U,QAAQ,QAC5B,CAAC5B,MAAM,GAAG;MAAEpD,GAAG,EAAE,CAAC;MAAEK,MAAM,EAAE,CAAC;MAAE4E,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MAAA,IAAAC,WAAA,EAAAC,qBAAA,EAAAC,sBAAA;MACtD,IAAI,CAAClF,eAAe,GAAGiD,MAAM;MAC7B,oBAAO5T,KAAA,CAAAsP,aAAA,CAACzO,aAAa;QAACkQ,KAAK,EAAE,IAAI,CAAC+E;MAAW,gBAC3C9V,KAAA,CAAAsP,aAAA,CAACtP,KAAK,CAACiQ,QAAQ,QACZ/P,QAAQ,CAAC6F,EAAE,KAAK,KAAK,GAAG,IAAI,CAACgO,4BAA4B,CAAC,CAAC,GAAG,IAAI,EAClE,IAAI,CAAC1E,YAAY,cAChBrP,KAAA,CAAAsP,aAAA,CAACiG,OAAO;QAAClR,KAAK,EAAE;UAAE0R,IAAI,EAAE;QAAE;MAAE,gBAC1B/V,KAAA,CAAAsP,aAAA,CAACjP,SAAS;QACRwT,eAAe,EAAEnE,eAAe,GAAC,aAAa,GAAEe,SAAU;QAC1DuF,WAAW,EAAEtG;MAAgB,CAC9B,CAAC,eACF1P,KAAA,CAAAsP,aAAA,CAACjO,aAAa;QAACkO,KAAK,EAAE,IAAI,CAAClJ,SAAS,CAAC0K;MAAM,gBACzC/Q,KAAA,CAAAsP,aAAA,CAACvL,aAAa;QAACwD,WAAW,EAAE,IAAI,CAAClB,SAAS,CAACkB,WAAY;QAACjB,GAAG,EAAE;MAAK,GACjE,IAAI,CAACqN,4BAA4B,CAACjE,eAAe,EAAEkE,MAAM,CAAC,eAC3D5T,KAAA,CAAAsP,aAAA,CAAClP,IAAI;QAACiE,KAAK,EAAE;UAAE0R,IAAI,EAAE;QAAE;MAAE,gBACrB/V,KAAA,CAAAsP,aAAA,CAAClP,IAAI;QAACiE,KAAK,EAAEkM,MAAM,CAAC0F;MAAU,gBAC5BjW,KAAA,CAAAsP,aAAA,CAAChP,sBAAsB;QAAC+D,KAAK,EAAEkM,MAAM,CAAC0F;MAAU,gBAC9CjW,KAAA,CAAAsP,aAAA,CAACtM,YAAY;QACXsD,GAAG,EAAE,IAAK;QACV4P,WAAW,EAAG,IAAI,CAAC1Q,KAAK,CAASmD,QAAS;QAC1CwN,iBAAiB,EAAE,EAAAR,WAAA,GAAC,IAAI,CAACnQ,KAAK,cAAAmQ,WAAA,uBAAXA,WAAA,CAAqBhN,QAAQ,KAAI,IAAI,CAACnD,KAAM;QAC/D4Q,UAAU,EAAE,EAAAR,qBAAA,OAAI,CAACvP,SAAS,CAACE,MAAM,cAAAqP,qBAAA,uBAArBA,qBAAA,CAAuB9Q,UAAU,CAAC,CAAC,MAAK,IAAK;QACzDuR,aAAa,EAAEA,CAAA,KAAM,IAAI,CAAChQ,SAAS,CAACE,MAAM,GAAG,IAAI,CAAC8I,YAAY,CAAC,IAAI,CAAChJ,SAAS,CAACE,MAAM,CAACzB,UAAU,CAAC,CAAC,CAAC,GAAG,IAAK;QAC1GwR,eAAe,GAAAT,sBAAA,GAAE,IAAI,CAACxP,SAAS,CAACE,MAAM,cAAAsP,sBAAA,uBAArBA,sBAAA,CAAuB5Q,YAAY,CAAC;MAAE,CAAe,CAAC,eACxEjF,KAAA,CAAAsP,aAAA,CAACtN,kBAAkB,QACfsF,aACiB,CACA,CACpB,CAAC,EACN,IAAI,CAACjB,SAAS,CAACQ,GAAG,gBAChB7G,KAAA,CAAAsP,aAAA,CAAClN,oBAAoB;QAACmU,SAAS,EAAE,IAAI,CAAClQ,SAAS,CAACkQ;MAAU,CAAuB,CAAC,GACjF,IAAI,EACT,IAAI,CAAC/G,cAAc,CAAC,CAAC,EACrB,IAAI,CAACyC,aAAa,CAAC,CAAC,EACpB,IAAI,CAACuB,oBAAoB,CAAC,CAAC,EAE3B,IAAI,CAACtI,WAAW,iBACflL,KAAA,CAAAsP,aAAA,CAAClP,IAAI;QACHiE,KAAK,EAAE;UAAC2M,QAAQ,EAAC,UAAU;UAAC8C,MAAM,EAAC,MAAM;UAAC7C,KAAK,EAAC,MAAM;UAACT,GAAG,EAAC,CAAC;UAACiF,IAAI,EAAC,CAAC;UAACC,KAAK,EAAC,CAAC;UAAC7E,MAAM,EAAC,CAAC;UAACO,MAAM,EAAC,MAAM;UAACF,SAAS,EAAE;QAAM;MAAE,gBACrHlR,KAAA,CAAAsP,aAAA,CAAClL,QAAQ;QACR4B,KAAK,EAAE,IAAI,CAACkF,WAAW,CAAElF,KAAM;QAC/BwQ,IAAI,EAAE;UAAChM,SAAS,EAAE,IAAI,CAACU,WAAW,CAAEV;QAAS,CAAE;QAC/CC,SAAS,EAAE,IAAI,CAACS,WAAW,CAAET,SAAU;QACvCgM,kBAAkB,EAAEA,CAAA,KAAM;UACxB,IAAI,CAACvL,WAAW,GAAG,IAAI;UACvB,IAAI,CAAC7D,WAAW,CAAC,CAAC;QAClB;MAAE,CACH,CACC,CACJ,CAAC,EAENqI,eAAe,IAAI,CAAA4F,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE7D,IAAI,MAAI,MAAM,GAAG,IAAI,CAAC6C,cAAc,CAAC,KAAK,EAACV,MAAM,EAAC0B,eAAe,CAAC,GAAG,IAAI,EAE7G5F,eAAe,IAAI,CAAA4F,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE7D,IAAI,MAAI,aAAa,GAAG,IAAI,CAACmD,qBAAqB,CAAC,KAAK,EAAChB,MAAM,EAAC0B,eAAe,CAAC,GAAG,IACxG,CACH,CACR,CACX,CACc,CACH,CAAC;IAClB,CAE8B,CAChB,CAAC;EAEvB;AACF;AAEA,MAAM/E,MAAM,GAAG;EACb0F,SAAS,EAAE;IACTF,IAAI,EAAE;EACR,CAAC;EACDrD,QAAQ,EAAE;IACR1B,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE;EACT,CAAC;EACDkC,eAAe,EAAE;IACf4C,IAAI,EAAE,CAAC;IACP9E,KAAK,EAAE,MAAM;IACboC,UAAU,EAAE,QAAQ;IACpBqD,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACD/D,aAAa,EAAE;IACbmD,IAAI,EAAE,CAAC;IACP/E,QAAQ,EAAE,UAAU;IACpBR,GAAG,EAAE,CAAC;IACNkG,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBtD,UAAU,EAAE,QAAQ;IACpBQ,eAAe,EAAE,oBAAoB;IACrCC,MAAM,EAAE;EACV,CAAC;EACDJ,oBAAoB,EAAE;IACpB1C,QAAQ,EAAE,UAAU;IACpB2F,cAAc,EAAE,QAAQ;IACxB1F,KAAK,EAAE,MAAM;IACbwE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRlF,GAAG,EAAE,CAAC;IACNK,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","NativeModulesProxy","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","SecureStorageService","ConstantService","NetworkService","injector","formatters","deepCopy","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","BrowserService","AppSecurityService","shouldRedirectToLoginOn401","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","BlurView","moment","ErrorBoundary","ScreenCaptureProtectionProvider","allowScreenCaptureAsync","preventScreenCaptureAsync","setupGlobalErrorHandler","Fallback","getValidJSON","parseErrors","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","OS","error","console","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","set","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","invokeNativeApi","key","EmbedCommModule","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","e","handleCallbackError","triggerOnError","errorInfo","errorType","onError","context","_this$appConfig","errorObj","Error","String","prefs","preferences","globalEnabled","enableGlobalErrorHandler","showDefaultFallback","showDefaultErrorFallback","hide","hideError","warn","globalError","isFatal","isStarted","setTimezone","timezone","openBrowser","open","getScreenCaptureContextValue","enableProtection","disableProtection","axiosInterceptorIds","interceptors","request","use","startsWith","headers","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_this$appConfig$curre5","errorDetails","errMsg","errors","message","_this$appConfig2","__wmServiceErrorHandled","stack","toString","status","redirectToLogin","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","_this$appConfig3","globalErrorHandlerCleanup","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig4","isEdgeToEdgeApp","edgeToEdgeConfig","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","toasterStyles","_o$styles","_o$styles2","styles","top","undefined","_this$statusbarInsets","statusbarInsets","isButtonNavigationEnabled","bottom","_this$statusbarInsets2","theme","position","width","elevation","elevationIndex","zIndex","onPress","onClick","text","name","type","caption","hideclose","showclosebutton","onClose","closeToast","closeiconclass","messageiconclass","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIosStatusbarInsetsView","insets","backgroundColor","height","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","importModule","service","getDependency","serviceName","renderBlurView","intensity","blurIntensity","tint","blurTint","experimentalBlurMethod","renderTransparentView","color","opacity","_this$statusbarInsets3","renderApp","_this$appConfig5","_this$appConfig6","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","statusbarConfig","Wrapper","Consumer","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","paperTheme","flex","translucent","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","info","resetErrorBoundary","flexDirection","justifyContent"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView, EdgeInsets } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker-ai/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker-ai/app-rn-runtime/core/storage.service';\nimport SecureStorageService from '@wavemaker-ai/app-rn-runtime/core/secure-storage.service';\nimport ConstantService from '@wavemaker-ai/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker-ai/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker-ai/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker-ai/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker-ai/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker-ai/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker-ai/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport BrowserService from './services/browser.service';\nimport AppSecurityService, { shouldRedirectToLoginOn401 } from './services/app-security.service';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\nimport { BlurView } from 'expo-blur';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport moment, { Moment } from 'moment';\nimport ErrorBoundary from '../core/error-boundary.component';\nimport { ScreenCaptureProtectionProvider, ScreenCaptureProtectionContextType } from '../core/screen-capture-protection.service';\nimport { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';\nimport { setupGlobalErrorHandler, GlobalErrorState } from '../core/global-error-handler.service';\nimport Fallback from '../core/components/error-fallback/error-fallback.component';\nimport { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any })\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n SecureStorageService: SecureStorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n Global: any = {};\n onAppVariablesReady = () => { };\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n public statusbarInsets: any;\n public globalError: GlobalErrorState | null = null;\n private globalErrorHandlerCleanup: (() => void) | null = null;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n\n // Register app instance in injector for Error Boundary access\n injector.set('APP_INSTANCE', this);\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = { ...networkState };\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n try {\n this.onPageReady(activePageName, activePageScope);\n } catch (e) {\n this.handleCallbackError(e, `Error in onPageReady callback`);\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n triggerOnError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n try {\n this.onError(error, errorInfo, errorType);\n } catch (e) {\n console.error('Error in onError callback:', e);\n }\n }\n\n onError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n // Empty implementation - user can override in app.js\n // errorType: 'render' for React component errors, 'javascript' for other JS errors\n }\n\n public handleCallbackError(error: unknown, context: string) {\n console.error(error);\n const errorObj = error instanceof Error ? error : new Error(String(error));\n\n // Check if error handling is enabled\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const showDefaultFallback = prefs?.showDefaultErrorFallback !== false;\n // Immediately hide all overlays to ensure error fallback is visible\n try {\n // Hide Expo SplashScreen\n SplashScreen.hideAsync();\n\n // Hide App Spinner (force hide regardless of count)\n AppSpinnerService.hide();\n } catch (hideError) {\n console.warn('Error hiding overlays:', hideError);\n }\n\n // Trigger user callback\n this.triggerOnError(errorObj, context, 'javascript');\n \n // Only set global error state if fallback should be shown\n if (showDefaultFallback) {\n this.globalError = {\n error: errorObj,\n errorInfo: context,\n errorType: 'javascript',\n isFatal: false\n };\n\n // Set isStarted to true so app template will render the error screen\n this.isStarted = true;\n this.forceUpdate(); // Show fallback screen\n }\n }\n\n setTimezone(timezone: any) {\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n return BrowserService.open(url, params);\n }\n\n // To support old api\n reload() { }\n\n private enableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await preventScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to enable screen capture protection:', error);\n }\n };\n\n private disableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await allowScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to disable screen capture protection:', error);\n }\n };\n\n private getScreenCaptureContextValue(): ScreenCaptureProtectionContextType {\n return {\n enableProtection: this.enableProtection,\n disableProtection: this.disableProtection\n };\n }\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n try {\n return this.onBeforeServiceCall(config);\n } catch (e) {\n this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);\n return config; // Return original config as fallback\n }\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n try {\n this.onServiceSuccess(response.data, response);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceSuccess callback`);\n }\n this.notify('afterServiceCall', response.config, response);\n return response;\n }, (error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n try {\n this.onServiceError(error.message, error);\n // Mark as handled to prevent onError from being called\n (error as any).__wmServiceErrorHandled = true;\n if (error.config) {\n (error.config as any).__wmServiceErrorHandled = true;\n }\n \n // Show fallback for service errors if enabled (but don't call onError)\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const showDefaultFallback = prefs?.showDefaultErrorFallback !== false;\n\n if (globalEnabled && showDefaultFallback) {\n this.globalError = {\n error: error,\n errorInfo: error?.stack || error?.toString(),\n errorType: 'javascript',\n isFatal: false\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n }\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceError callback`);\n }\n if (shouldRedirectToLoginOn401(\n error.response?.config?.url,\n error.response?.status,\n this.appConfig.url,\n this.appConfig.currentPage?.pageName\n )) {\n AppSecurityService.redirectToLogin();\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => { });\n }\n\n componentDidMount() {\n // Setup global error handler\n if (this.appConfig?.preferences?.enableGlobalErrorHandler === true) {\n this.globalErrorHandlerCleanup = setupGlobalErrorHandler(\n (error, isFatal, errorInfo) => {\n // Trigger user error callback\n this.triggerOnError(error, errorInfo, 'javascript');\n\n this.globalError = {\n error,\n errorInfo,\n errorType: 'javascript',\n isFatal\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n },\n true // suppressDefaultErrorScreen = true when global error handler is enabled\n );\n }\n\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n try {\n this.onAppVariablesReady();\n } catch (e) {\n this.handleCallbackError(e, `Error in onAppVariablesReady callback`);\n return; // Early return to prevent subsequent code from executing\n }\n this.isStarted = true;\n this.forceUpdate();\n }, () => { });\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n\n // Cleanup global error handler\n if (this.globalErrorHandlerCleanup) {\n this.globalErrorHandlerCleanup();\n }\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <ScreenCaptureProtectionProvider value={this.getScreenCaptureContextValue()}>\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n {content}\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n </ScreenCaptureProtectionProvider>\n );\n }\n\n renderToasters() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) => {\n // to align the toaster position if it's an edge-to-edge app.\n let toasterStyles = {};\n if (isEdgeToEdgeApp) {\n if (o.styles?.top !== undefined) {\n toasterStyles = { top: this.statusbarInsets?.top };\n } else if (this.isButtonNavigationEnabled() && o.styles?.bottom !== undefined) {\n toasterStyles = { bottom: this.statusbarInsets?.bottom };\n }\n }\n\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles,toasterStyles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\" + i} type={o.type} caption={o.text} hideclose={!o.showclosebutton} onClose={o.closeToast} closeiconclass={o.closeiconclass} messageiconclass={o.messageiconclass}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )\n })}\n </>);\n }} />;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return (\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal : null,\n o.modalStyle,\n {\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{ width: '100%', alignItems: 'center' }}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{ width: '100%', alignItems: 'center' }}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )\n }\n )\n }\n </>);\n }} />;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }} />\n }\n\n renderIosStatusbarInsetsView(isEdgeToEdgeApp: boolean, insets: EdgeInsets | null){\n return Platform.OS == 'ios' && !isEdgeToEdgeApp ? (\n <View style={{\n backgroundColor: 'white',\n position: 'absolute',\n top: 0,\n height: insets?.top || 0,\n width: '100%',\n zIndex: 9\n }}></View>\n ) : <></>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n importModule(service?: string){\n if(service == \"moment\"){\n return moment;\n }\n return undefined;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderBlurView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <BlurView\n intensity={config?.blurIntensity || 30}\n tint={config.blurTint || \"dark\"}\n experimentalBlurMethod=\"dimezisBlurView\"\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n }}\n />\n );\n }\n\n renderTransparentView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <View\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n backgroundColor: config?.color || 'transparent',\n opacity: (config?.opacity/100) || 0,\n }}\n ></View>\n );\n }\n\n isButtonNavigationEnabled(){\n if(Platform.OS ===\"android\" && this.statusbarInsets?.bottom > 40){\n return true\n }\n return false;\n }\n\n renderApp(commonPartial: React.ReactNode) {\n\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n const edgeToEdgeConfig = this.appConfig?.edgeToEdgeConfig;\n const statusbarConfig = this.appConfig?.edgeToEdgeConfig?.statusbarConfig;\n const isEdgeToEdgeApp = !!edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;\n return (\n <SafeAreaProvider>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.statusbarInsets = insets;\n return <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n {this.getProviders(\n <Wrapper style={{ flex: 1 }}>\n <StatusBar\n backgroundColor={isEdgeToEdgeApp?'transparent': undefined}\n translucent={isEdgeToEdgeApp}\n />\n <ThemeProvider value={this.appConfig.theme}>\n <ErrorBoundary currentPage={this.appConfig.currentPage} app={this}>\n {this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets)}\n <View style={{ flex: 1 }}>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer ? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n <FixedViewContainer>\n {commonPartial}\n </FixedViewContainer>\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n {/* global error fallback */}\n {this.globalError && (\n <View\n style={{position:'absolute',height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,zIndex:999999,elevation: 999999}}>\n <Fallback\n error={this.globalError!.error}\n info={{errorInfo: this.globalError!.errorInfo}}\n errorType={this.globalError!.errorType}\n resetErrorBoundary={() => {\n this.globalError = null;\n this.forceUpdate();\n }}\n />\n </View>)}\n </View>\n {/* edge-to-edge app with statusbar blur */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='blur' ? this.renderBlurView(\"top\",insets,statusbarConfig) : null}\n {/* edge-to-edge app with statusbar transparent/semi-transparent */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='transparent' ? this.renderTransparentView(\"top\",insets,statusbarConfig) : null}\n </ErrorBoundary>\n </ThemeProvider>\n </Wrapper>\n )}\n </React.Fragment>\n </PaperProvider>\n }\n }\n </SafeAreaInsetsContext.Consumer>\n </SafeAreaProvider>)\n\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent: {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n } as ViewStyle\n};\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,OAAOC,KAAK,MAAiE,OAAO;AACpF,SAASC,QAAQ,EAAEC,gBAAgB,EAAEC,IAAI,EAAaC,SAAS,QAAQ,cAAc;AACrF,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,EAAEC,qBAAqB,EAAEC,YAAY,QAAoB,gCAAgC;AAClH,SAASC,YAAY,EAAEC,QAAQ,IAAIC,aAAa,QAAQ,oBAAoB;AAC5E,SAASC,kBAAkB,QAAQ,mBAAmB;AACtD,SAASC,GAAG,EAAEC,IAAI,QAAQ,QAAQ;AAClC,SAASC,aAAa,QAAQ,0CAA0C;AACxE,OAAOC,aAAa,MAAM,kDAAkD;AAC5E,SAASC,aAAa,QAAQ,2CAA2C;AAEzE,OAAOC,cAAc,MAAM,mDAAmD;AAC9E,OAAOC,oBAAoB,MAAM,0DAA0D;AAC3F,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,cAAc,MAAwB,mDAAmD;AAChG,OAAOC,QAAQ,MAAM,4CAA4C;AACjE,OAAOC,UAAU,MAAM,8CAA8C;AACrE,SAASC,QAAQ,QAA0B,yCAAyC;AACpF,OAAO,KAAKC,KAAK,MAAM,yCAAyC;AAChE,SAASC,aAAa,QAAQ,iDAAiD;AAC/E,SAASC,kBAAkB,QAAQ,wDAAwD;AAC3F,SAASC,aAAa,QAAQ,iDAAiD;AAC/E,SAA4BC,yBAAyB,QAAQ,sDAAsD;AACnH,SAASC,eAAe,QAAQ,mDAAmD;AACnF,OAAOC,oBAAoB,MAAM,sGAAsG;AACvI,OAAOC,cAAc,MAAM,qDAAqD;AAChF,OAAOC,SAAS,MAAM,yEAAyE;AAC/F,SAASC,YAAY,QAAQ,sEAAsE;AACnG,OAAOC,cAAc,MAAM,gEAAgE;AAE3F,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,YAAY,QAAQ,aAAa;AAC1C,OAAOC,wBAAwB,MAAM,wCAAwC;AAC7E,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,OAAOC,WAAW,MAAM,gCAAgC;AACxD,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,IAAIC,0BAA0B,QAAQ,iCAAiC;AAChG,OAAOC,0BAA0B,MAAM,4FAA4F;AAEnI,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAGlD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAAuBC,cAAc,QAAQ,4BAA4B;AACzE,SAASC,QAAQ,QAAQ,WAAW;AAEpC,OAAOC,MAAM,MAAkB,QAAQ;AACvC,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,SAASC,+BAA+B,QAA4C,2CAA2C;AAC/H,SAASC,uBAAuB,EAAEC,yBAAyB,QAAQ,qBAAqB;AACxF,SAASC,uBAAuB,QAA0B,sCAAsC;AAChG,OAAOC,QAAQ,MAAM,4DAA4D;AACjF,SAASC,YAAY,EAAEC,WAAW,QAAQ,6DAA6D;AAIvG;AACE/D,IAAI,CAAS,WAAW,CAAC,GAAG;EAAEgE,KAAK,EAAE7D,UAAU,CAAC8D;AAAI,CAAC;AAEvD,MAAMC,+BAA+B,GAAG,GAAG;AAE3C,MAAMC,UAAU,CAAmB;EAIjCC,WAAWA,CAASC,QAAoB,EAAE;IAAA,KAAtBA,QAAoB,GAApBA,QAAoB;IAAAC,eAAA;IAAAA,eAAA,oBAFpB,UAAU;EAI9B;EAEAC,UAAUA,CAACC,OAAkB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACH,QAAQ,CAAC,CAAC;EACjB;EAEAI,UAAUA,CAAA,EAAG;IACX,OAAO,IAAI,CAACD,OAAO;EACrB;EAEAE,YAAYA,CAACC,SAAiB,EAAE;IAC9B,IAAI,CAACA,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACN,QAAQ,CAAC,CAAC;EACjB;EAEAO,YAAYA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,SAAS;EACvB;AACF;AACA,MAAME,kBAAkB,GAAG;EACzBtD,KAAK,EAAEA,KAAK;EACZuD,SAAS,EAAE5D,eAAe;EAC1BF,cAAc,EAAEA,cAAc;EAC9BC,oBAAoB,EAAEA,oBAAoB;EAC1CmB,wBAAwB,EAAEA,wBAAwB;EAClD2C,WAAW,EAAE9C;AACf,CAAC;AACA+C,MAAM,CAAS,OAAO,CAAC,GAAGnF,KAAK;AAChC,eAAe,MAAeoF,OAAO,SAASrF,KAAK,CAACsF,SAAS,CAA8B;EAuCzFd,WAAWA,CAACe,KAAU,EAAE;IACtB,KAAK,CAACA,KAAK,CAAC;IAACb,eAAA,kBAtCA,CAAC,CAAC;IAAAA,eAAA,oBACA,CAAC,CAAC;IAAAA,eAAA,iBACL,CAAC,CAAC;IAAAA,eAAA,8BACM,MAAM,CAAE,CAAC;IAAAA,eAAA,oBACnB,KAAK;IAAAA,eAAA,oBACLlD,QAAQ,CAACT,GAAG,CAAY,YAAY,CAAC;IAAA2D,eAAA,wBACzB,IAAIxD,aAAa,CAAC,CAAC;IAAAwD,eAAA,kBAC1B,EAAE;IAAAA,eAAA,yBACK,eAAe;IAAAA,eAAA,kBACtB,EAAE;IAAAA,eAAA,wBACiB,IAAI;IAAAA,eAAA,2BACH,EAAE;IAAAA,eAAA,yBACJ,EAAE;IAAAA,eAAA,8BACG,EAAE;IAAAA,eAAA,8BACF,EAAE;IAAAA,eAAA,qBACtBjD,UAAU;IAAAiD,eAAA,6BACF,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,uBAEA,CAAC;IAAAA,eAAA,uBACD,CAAC;IAAAA,eAAA,kBACLpC,OAAO,CAACkD,IAAI;IAAAd,eAAA,qBAClB;MAClB,GAAG/D,YAAY;MACf8E,MAAM,EAAE;QACN,GAAG9E,YAAY,CAAC8E,MAAM;QACtBC,OAAO,EAAExD,cAAc,CAACyD,QAAQ,CAACC;MACnC;IACF,CAAC;IAAAlB,eAAA,cACYnC,YAAY,CAAC,MAAM;MAC9B,IAAI,CAACsD,OAAO,CAAC,CAAC;IAChB,CAAC,CAAC;IAAAnB,eAAA,wBAEqB,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,sBAEqB,IAAI;IAAAA,eAAA,oCACO,IAAI;IAAAA,eAAA,2BA6LlC,YAA2B;MACpD,IAAI;QACF,IAAIxE,QAAQ,CAAC4F,EAAE,KAAK,KAAK,EAAE;UACzB,MAAM/B,yBAAyB,CAAC,CAAC;QACnC;MACF,CAAC,CAAC,OAAOgC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,6CAA6C,EAAEA,KAAK,CAAC;MACrE;IACF,CAAC;IAAArB,eAAA,4BAE2B,YAA2B;MACrD,IAAI;QACF,IAAIxE,QAAQ,CAAC4F,EAAE,KAAK,KAAK,EAAE;UACzB,MAAMhC,uBAAuB,CAAC,CAAC;QACjC;MACF,CAAC,CAAC,OAAOiC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,8CAA8C,EAAEA,KAAK,CAAC;MACtE;IACF,CAAC;IA3MCxC,YAAY,CAAC0C,oBAAoB,CAAC,CAAC;IACnCC,UAAU,CAAC,MAAM3C,YAAY,CAAC4C,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;IACjD,IAAI,CAACC,SAAS,CAACC,GAAG,GAAG,IAAI;IACzB,IAAI,CAACD,SAAS,CAACE,MAAM,GAAG,IAAI/B,UAAU,CAAC,MAAM,IAAI,CAACsB,OAAO,CAAC,CAAC,CAAC;;IAE5D;IACArE,QAAQ,CAAC+E,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;IAClC3D,iBAAiB,CAAC4D,iBAAiB,CAAC;MAClCC,OAAO,EAAE,IAAI,CAACL,SAAS,CAACK;IAC1B,CAAC,CAAC;IACF,IAAIC,gBAAgB,GAAG,KAAK;IAC5B,IAAI,CAACC,OAAO,GAAG,IAAI,CAACP,SAAS,CAACQ,GAAG;IACjC,IAAIC,IAAI,GAAG,CAAC;IACZ,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAC9B,IAAI,CAACV,SAAS,CAACP,OAAO,GAAG,CAACkB,QAAQ,GAAG,KAAK,KAAK;MAC7C,IAAIA,QAAQ,EAAE;QACZ,IAAI,CAACC,MAAM,CAAC,CAAC;QACb;MACF;MACA,IAAI,CAACH,IAAI,EAAE;QACT5F,aAAa,CAACgG,KAAK,CAAC,uBAAuB,CAAC;QAC5CJ,IAAI,GAAGvC,+BAA+B;QACtCoC,gBAAgB,GAAG,KAAK;QACxBR,UAAU,CAAC,MAAM;UAAA,IAAAgB,mBAAA,EAAAC,qBAAA;UACf,IAAI,CAACC,WAAW,CAAC,CAAC;UAClB,CAAAF,mBAAA,OAAI,CAACG,aAAa,cAAAH,mBAAA,eAAlBA,mBAAA,CAAoBE,WAAW,CAAC,CAAC;UACjC,CAAAD,qBAAA,OAAI,CAACf,SAAS,CAACkB,WAAW,cAAAH,qBAAA,eAA1BA,qBAAA,CAA4BC,WAAW,CAAC,CAAC;UACzC,IAAI,CAACG,OAAO,CAACC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QACFtB,UAAU,CAAC,MAAM;UACfW,IAAI,GAAG,CAAC;UACRH,gBAAgB,IAAI,IAAI,CAACN,SAAS,CAACP,OAAO,CAAC,CAAC;QAC9C,CAAC,EAAEgB,IAAI,CAAC;MACV,CAAC,MAAM;QACL5F,aAAa,CAACgG,KAAK,CAAC,yCAAyC,CAAC;QAC9DP,gBAAgB,GAAG,IAAI;MACzB;IACF,CAAC;IACD,IAAI,CAACe,OAAO,CAACC,IAAI,CACfnG,cAAc,CAACoG,QAAQ,CAACC,SAAS,CAAC,sBAAsB,EAAGC,YAA0B,IAAK;MACxF,IAAI,CAACC,aAAa,GAAG;QAAE,GAAGD;MAAa,CAAC;MACxC,IAAI,CAAChC,OAAO,CAAC,CAAC;IAChB,CACA,CAAC,CAAC;EACN;EAEA+B,SAASA,CAACG,KAAa,EAAEC,EAAY,EAAE;IACrC,OAAO,IAAI,CAACC,aAAa,CAACL,SAAS,CAACG,KAAK,EAAEC,EAAE,CAAC;EAChD;EAEAE,MAAMA,CAACH,KAAa,EAAE,GAAGI,IAAS,EAAE;IAClC,OAAO,IAAI,CAACF,aAAa,CAACC,MAAM,CAACH,KAAK,EAAEI,IAAI,CAAC;EAC/C;EAEA,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAChC,SAAS,CAACkB,WAAW;EACnC;EAEA,IAAIe,OAAOA,CAAA,EAAG;IAAA,IAAAC,oBAAA;IACZ,QAAAA,oBAAA,GAAO,IAAI,CAACjB,aAAa,cAAAiB,oBAAA,uBAAlBA,oBAAA,CAAoBD,OAAO;EACpC;EAEA,MAAME,iBAAiBA,CAACjB,WAAmB,EAAEkB,QAAgB,EAAE;IAC7D;IACA,OAAO,IAAI;EACb;EAEAC,QAAQA,CAACC,QAAgB,EAAEC,MAAW,EAAE;IAAA,IAAAC,sBAAA;IACtC,QAAAA,sBAAA,GAAO,IAAI,CAACxC,SAAS,CAACkB,WAAW,cAAAsB,sBAAA,uBAA1BA,sBAAA,CAA4BH,QAAQ,CAACC,QAAQ,EAAEC,MAAM,CAAC;EAC/D;EAEAE,MAAMA,CAACH,QAAgB,EAAEC,MAAW,EAAE;IAAA,IAAAG,sBAAA;IACpC,QAAAA,sBAAA,GAAO,IAAI,CAAC1C,SAAS,CAACkB,WAAW,cAAAwB,sBAAA,uBAA1BA,sBAAA,CAA4BD,MAAM,CAACH,QAAQ,EAAEC,MAAM,CAAC;EAC7D;EAEAI,OAAOA,CAACnC,GAAW,EAAE+B,MAAY,EAAE;IAAA,IAAAK,sBAAA;IACjC,QAAAA,sBAAA,GAAO,IAAI,CAAC5C,SAAS,CAACkB,WAAW,cAAA0B,sBAAA,uBAA1BA,sBAAA,CAA4BD,OAAO,CAACnC,GAAG,EAAE+B,MAAM,CAAC;EACzD;EAEAM,mBAAmBA,CAACC,MAAkC,EAAE;IACtD;IACA;IACA,OAAOA,MAAM;EACf;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,OAAO,IAAI,CAAC/C,SAAS,CAACK,OAAO,CAAC2C,MAAM,IAAI,UAAU;EACpD;EAEAC,gBAAgBA,CAACC,IAAS,EAAEC,QAAuB,EAAE;IACnD;IACA;EAAA;EAGFC,cAAcA,CAACC,QAAa,EAAE1D,KAAsB,EAAE;IACpD;IACA;EAAA;EAGF2D,eAAeA,CAACC,GAAW,EAAEL,IAAY,EAAE;IACzC,IAAIxI,kBAAkB,CAAC8I,eAAe,KAChC1J,QAAQ,CAAC4F,EAAE,KAAK,SAAS,IAAI5F,QAAQ,CAAC4F,EAAE,KAAK,KAAK,CAAC,EAAE;MACzD,OAAOhF,kBAAkB,CAAC8I,eAAe,CAACC,YAAY,CAACF,GAAG,EAAEL,IAAI,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC,MAAM;MACL,OAAOQ,OAAO,CAACC,MAAM,CAAC,iDAAiD,CAAC;IAC1E;EACF;EAEAC,gBAAgBA,CAACC,cAAsB,EAAEC,eAAyB,EAAE;IAClE,IAAI;MACF,IAAI,CAACC,WAAW,CAACF,cAAc,EAAEC,eAAe,CAAC;IACnD,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,+BAA+B,CAAC;IAC9D;EACF;EAEAD,WAAWA,CAACF,cAAsB,EAAEC,eAAyB,EAAE,CAE/D;EAEAI,cAAcA,CAACvE,KAAY,EAAEwE,SAAc,EAAEC,SAAkC,EAAE;IAC/E,IAAI;MACF,IAAI,CAACC,OAAO,CAAC1E,KAAK,EAAEwE,SAAS,EAAEC,SAAS,CAAC;IAC3C,CAAC,CAAC,OAAOJ,CAAC,EAAE;MACVpE,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEqE,CAAC,CAAC;IAChD;EACF;EAEAK,OAAOA,CAAC1E,KAAY,EAAEwE,SAAc,EAAEC,SAAkC,EAAE;IACxE;IACA;EAAA;EAGKH,mBAAmBA,CAACtE,KAAc,EAAE2E,OAAe,EAAE;IAAA,IAAAC,eAAA;IAC1D3E,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACpB,MAAM6E,QAAQ,GAAG7E,KAAK,YAAY8E,KAAK,GAAG9E,KAAK,GAAG,IAAI8E,KAAK,CAACC,MAAM,CAAC/E,KAAK,CAAC,CAAC;;IAE1E;IACA,MAAMgF,KAAK,IAAAJ,eAAA,GAAG,IAAI,CAACvE,SAAS,cAAAuE,eAAA,uBAAdA,eAAA,CAAgBK,WAAW;IACzC,MAAMC,aAAa,GAAG,CAAAF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,wBAAwB,MAAK,IAAI;IAC9D,MAAMC,mBAAmB,GAAG,CAAAJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,wBAAwB,MAAK,KAAK;IACrE;IACA,IAAI;MACF;MACA7H,YAAY,CAAC4C,SAAS,CAAC,CAAC;;MAExB;MACAvD,iBAAiB,CAACyI,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,OAAOC,SAAS,EAAE;MAClBtF,OAAO,CAACuF,IAAI,CAAC,wBAAwB,EAAED,SAAS,CAAC;IACnD;;IAEA;IACA,IAAI,CAAChB,cAAc,CAACM,QAAQ,EAAEF,OAAO,EAAE,YAAY,CAAC;;IAEpD;IACA,IAAIS,mBAAmB,EAAE;MACvB,IAAI,CAACK,WAAW,GAAG;QACjBzF,KAAK,EAAE6E,QAAQ;QACfL,SAAS,EAAEG,OAAO;QAClBF,SAAS,EAAE,YAAY;QACvBiB,OAAO,EAAE;MACX,CAAC;;MAED;MACA,IAAI,CAACC,SAAS,GAAG,IAAI;MACrB,IAAI,CAACtE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB;EACF;EAEAuE,WAAWA,CAACC,QAAa,EAAE;IACzBvJ,cAAc,CAACsJ,WAAW,CAACC,QAAQ,CAAC;EACtC;EAEA,IAAInF,OAAOA,CAAA,EAAG;IACZ,OAAO7D,iBAAiB;EAC1B;EAEAiJ,WAAWA,CAACjF,GAAW,EAAE+B,MAAM,GAAG,CAAC,CAAQ,EAAE;IAC3C,OAAOxF,cAAc,CAAC2I,IAAI,CAAClF,GAAG,EAAE+B,MAAM,CAAC;EACzC;;EAEA;EACA3B,MAAMA,CAAA,EAAG,CAAE;EAsBH+E,4BAA4BA,CAAA,EAAuC;IACzE,OAAO;MACLC,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;MACvCC,iBAAiB,EAAE,IAAI,CAACA;IAC1B,CAAC;EACH;EAEAnF,uBAAuBA,CAAA,EAAG;IACxB,IAAI,CAACoF,mBAAmB,GAAG,CACzBjM,KAAK,CAACkM,YAAY,CAACC,OAAO,CAACC,GAAG,CAAEnD,MAAkC,IAAK;MACrE,MAAMtC,GAAG,GAAGsC,MAAM,CAACtC,GAAa;MAChC,IAAI,EAAEA,GAAG,CAAC0F,UAAU,CAAC,SAAS,CAAC,IAAI1F,GAAG,CAAC0F,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE;QAC9DpD,MAAM,CAACtC,GAAG,GAAG,IAAI,CAACR,SAAS,CAACQ,GAAG,GAAG,GAAG,GAAGA,GAAG;MAC7C;MACAsC,MAAM,CAACqD,OAAO,GAAGrD,MAAM,CAACqD,OAAO,IAAI,CAAC,CAAC;MACrCrD,MAAM,CAACqD,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB;MACrDvG,OAAO,CAACwG,GAAG,CAAC,kCAAkC,GAAGtD,MAAM,CAACtC,GAAG,CAAC;MAC5D,IAAI,CAACsB,MAAM,CAAC,mBAAmB,EAAEgB,MAAM,CAAC;MACxC,IAAI;QACF,OAAO,IAAI,CAACD,mBAAmB,CAACC,MAAM,CAAC;MACzC,CAAC,CAAC,OAAOkB,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,uCAAuC,CAAC;QACpE,OAAOlB,MAAM,CAAC,CAAC;MACjB;IACF,CAAC,CAAC,EACFjJ,KAAK,CAACkM,YAAY,CAAC5C,QAAQ,CAAC8C,GAAG,CAC5B9C,QAAuB,IAAK;MAC3B,IAAI;QACF,IAAI,CAACF,gBAAgB,CAACE,QAAQ,CAACD,IAAI,EAAEC,QAAQ,CAAC;MAChD,CAAC,CAAC,OAAOa,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,oCAAoC,CAAC;MACnE;MACA,IAAI,CAAClC,MAAM,CAAC,kBAAkB,EAAEqB,QAAQ,CAACL,MAAM,EAAEK,QAAQ,CAAC;MAC1D,OAAOA,QAAQ;IACjB,CAAC,EAAGxD,KAAsB,IAAK;MAAA,IAAA0G,aAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA;MAC7B,IAAIC,YAAiB,GAAGhH,KAAK,CAACwD,QAAQ;QAAEyD,MAAM;MAC9CD,YAAY,GAAG7I,YAAY,EAAAuI,aAAA,GAACM,YAAY,cAAAN,aAAA,uBAAZA,aAAA,CAAcnD,IAAI,CAAC,MAAAoD,cAAA,GAAIK,YAAY,cAAAL,cAAA,uBAAZA,cAAA,CAAcpD,IAAI;MACrE,IAAIyD,YAAY,IAAIA,YAAY,CAACE,MAAM,EAAE;QACvCD,MAAM,GAAG7I,WAAW,CAAC4I,YAAY,CAACE,MAAM,CAAC,IAAI,qBAAqB;MACpE,CAAC,MAAM;QACLD,MAAM,GAAGjH,KAAK,CAACmH,OAAO,IAAI,qBAAqB;MACjD;MACAnH,KAAK,CAACmH,OAAO,GAAGF,MAAM;MACtBhH,OAAO,CAACD,KAAK,CAAC,SAASiH,MAAM,mBAAAL,eAAA,GAAkB5G,KAAK,CAACwD,QAAQ,cAAAoD,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBzD,MAAM,cAAAyD,eAAA,uBAAtBA,eAAA,CAAwB/F,GAAG,EAAE,CAAC;MAC7E,IAAI;QAAA,IAAAuG,gBAAA;QACF,IAAI,CAAC3D,cAAc,CAACzD,KAAK,CAACmH,OAAO,EAAEnH,KAAK,CAAC;QACzC;QACCA,KAAK,CAASqH,uBAAuB,GAAG,IAAI;QAC7C,IAAIrH,KAAK,CAACmD,MAAM,EAAE;UACfnD,KAAK,CAACmD,MAAM,CAASkE,uBAAuB,GAAG,IAAI;QACtD;;QAEA;QACA,MAAMrC,KAAK,IAAAoC,gBAAA,GAAG,IAAI,CAAC/G,SAAS,cAAA+G,gBAAA,uBAAdA,gBAAA,CAAgBnC,WAAW;QACzC,MAAMC,aAAa,GAAG,CAAAF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,wBAAwB,MAAK,IAAI;QAC9D,MAAMC,mBAAmB,GAAG,CAAAJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,wBAAwB,MAAK,KAAK;QAErE,IAAIH,aAAa,IAAIE,mBAAmB,EAAE;UACxC,IAAI,CAACK,WAAW,GAAG;YACjBzF,KAAK,EAAEA,KAAK;YACZwE,SAAS,EAAE,CAAAxE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsH,KAAK,MAAItH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuH,QAAQ,CAAC,CAAC;YAC5C9C,SAAS,EAAE,YAAY;YACvBiB,OAAO,EAAE;UACX,CAAC;UACD,IAAI,CAACrE,WAAW,CAAC,CAAC,CAAC,CAAC;QACtB;MACF,CAAC,CAAC,OAAOgD,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,kCAAkC,CAAC;MACjE;MACA,IAAI/G,0BAA0B,EAAAuJ,gBAAA,GAC5B7G,KAAK,CAACwD,QAAQ,cAAAqD,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgB1D,MAAM,cAAA0D,gBAAA,uBAAtBA,gBAAA,CAAwBhG,GAAG,GAAAiG,gBAAA,GAC3B9G,KAAK,CAACwD,QAAQ,cAAAsD,gBAAA,uBAAdA,gBAAA,CAAgBU,MAAM,EACtB,IAAI,CAACnH,SAAS,CAACQ,GAAG,GAAAkG,sBAAA,GAClB,IAAI,CAAC1G,SAAS,CAACkB,WAAW,cAAAwF,sBAAA,uBAA1BA,sBAAA,CAA4BpE,QAC9B,CAAC,EAAE;QACDtF,kBAAkB,CAACoK,eAAe,CAAC,CAAC;MACtC;MACA,IAAI,CAACtF,MAAM,CAAC,kBAAkB,EAAEnC,KAAK,CAACmD,MAAM,EAAEnD,KAAK,CAAC;MACpD,OAAO+D,OAAO,CAACC,MAAM,CAAChE,KAAK,CAAC;IAC9B,CAAC,CAAC,CACL;EACH;EAEA0H,IAAIA,CAACzF,EAAY,EAAE0F,WAAW,GAAG,KAAK,EAAE;IACtC,IAAI;MACF,OAAO1F,EAAE,CAAC2F,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOvD,CAAC,EAAE;MACV,IAAIsD,WAAW,EAAE;QACf,MAAMtD,CAAC;MACT,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;EACF;EAEAwD,uBAAuBA,CAAA,EAAG;IACxB,OAAO9D,OAAO,CAAC+D,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAACC,GAAG,CAACC,CAAC,IAAI,IAAI,CAACC,SAAS,CAACD,CAAC,CAAC,IAAI,IAAI,CAACC,SAAS,CAACD,CAAC,CAAC,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC,CAChGC,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;EACrB;EAEAC,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IAClB;IACA,IAAI,EAAAA,gBAAA,OAAI,CAACjI,SAAS,cAAAiI,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBrD,WAAW,cAAAqD,gBAAA,uBAA3BA,gBAAA,CAA6BnD,wBAAwB,MAAK,IAAI,EAAE;MAClE,IAAI,CAACoD,yBAAyB,GAAGtK,uBAAuB,CACtD,CAAC+B,KAAK,EAAE0F,OAAO,EAAElB,SAAS,KAAK;QAC7B;QACA,IAAI,CAACD,cAAc,CAACvE,KAAK,EAAEwE,SAAS,EAAE,YAAY,CAAC;QAEnD,IAAI,CAACiB,WAAW,GAAG;UACjBzF,KAAK;UACLwE,SAAS;UACTC,SAAS,EAAE,YAAY;UACvBiB;QACF,CAAC;QACD,IAAI,CAACrE,WAAW,CAAC,CAAC,CAAC,CAAC;MACtB,CAAC,EACD,IAAI,CAAC;MACP,CAAC;IACH;IAEAxE,iBAAiB,CAAC2L,IAAI,CAAC;MACrB9H,OAAO,EAAE,IAAI,CAACL,SAAS,CAACK;IAC1B,CAAC,CAAC;IACF,IAAI,CAACgB,OAAO,CAACC,IAAI,CAAC,GAAG8G,MAAM,CAACC,MAAM,CAAC,IAAI,CAACR,SAAS,CAAC,CAACF,GAAG,CAAEW,CAAM,IAAK;MACjE,OAAOA,CAAC,CAAC9G,SAAS,CAACnE,cAAc,CAACkL,aAAa,EAAE,MAAM;QACrD,IAAI,CAACzG,MAAM,CAACzE,cAAc,CAACkL,aAAa,EAAED,CAAC,CAAC;MAC9C,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAACjH,OAAO,CAACC,IAAI,CAAC,GAAG8G,MAAM,CAACC,MAAM,CAAC,IAAI,CAACR,SAAS,CAAC,CAACF,GAAG,CAAEW,CAAM,IAAK;MACjE,OAAOA,CAAC,CAAC9G,SAAS,CAACnE,cAAc,CAACmL,YAAY,EAAE,MAAM;QACpD,IAAI,CAAC1G,MAAM,CAACzE,cAAc,CAACmL,YAAY,EAAEF,CAAC,CAAC;MAC7C,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAACG,cAAc,CAACd,GAAG,CAACe,CAAC,IAAI,IAAI,CAACC,OAAO,CAACD,CAAC,CAAC,IAAI,IAAI,CAACC,OAAO,CAACD,CAAC,CAAC,CAACZ,MAAM,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAACN,uBAAuB,CAAC,CAAC,CAClCoB,IAAI,CAAC,MAAM;MACV,IAAI;QACF,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAC5B,CAAC,CAAC,OAAO7E,CAAC,EAAE;QACV,IAAI,CAACC,mBAAmB,CAACD,CAAC,EAAE,uCAAuC,CAAC;QACpE,OAAO,CAAC;MACV;MACA,IAAI,CAACsB,SAAS,GAAG,IAAI;MACrB,IAAI,CAACtE,WAAW,CAAC,CAAC;IACpB,CAAC,EAAE,MAAM,CAAE,CAAC,CAAC;EACjB;EAEA8H,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAAChD,mBAAmB,CAAC6B,GAAG,CAACoB,EAAE,IAAI;MACjClP,KAAK,CAACkM,YAAY,CAACC,OAAO,CAACgD,KAAK,CAACD,EAAE,CAAC;IACtC,CAAC,CAAC;IACF,IAAI,CAAC1H,OAAO,CAAC4H,OAAO,CAACrH,EAAE,IAAIA,EAAE,CAAC,CAAC,CAAC;;IAEhC;IACA,IAAI,IAAI,CAACsG,yBAAyB,EAAE;MAClC,IAAI,CAACA,yBAAyB,CAAC,CAAC;IAClC;EACF;EAEAzI,OAAOA,CAAA,EAAG;IACR,IAAI,CAACO,SAAS,CAACP,OAAO,CAAC,CAAC;EAC1B;EAEAyJ,YAAYA,CAAC1K,OAAwB,EAAE;IACrC,oBACE5E,KAAA,CAAAuP,aAAA,CAAC1L,+BAA+B;MAAC2L,KAAK,EAAE,IAAI,CAACzD,4BAA4B,CAAC;IAAE,gBAC1E/L,KAAA,CAAAuP,aAAA,CAACxN,yBAAyB;MAACyN,KAAK,EAAE;IAAK,gBACrCxP,KAAA,CAAAuP,aAAA,CAACzN,aAAa;MAAC0N,KAAK,EAAE9M;IAAgB,gBACpC1C,KAAA,CAAAuP,aAAA,CAACvN,eAAe;MAACwN,KAAK,EAAE7M;IAAkB,gBACxC3C,KAAA,CAAAuP,aAAA,CAACzM,gBAAgB;MAAC0M,KAAK,EAAEpM;IAAmB,gBAC1CpD,KAAA,CAAAuP,aAAA,CAACxM,cAAc;MAACyM,KAAK,EAAExM;IAAc,gBACnChD,KAAA,CAAAuP,aAAA,CAACtM,YAAY;MAACuM,KAAK,EAAEtM;IAAY,gBAC/BlD,KAAA,CAAAuP,aAAA,CAAC3N,aAAa;MAAC4N,KAAK,EAAE/M;IAAgB,GACnCmC,OACY,CACH,CACA,CACA,CACH,CACJ,CACU,CACI,CAAC;EAEtC;EAEA6K,cAAcA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IACf,MAAMC,eAAe,GAAG,CAAC,GAAAD,gBAAA,GAAC,IAAI,CAACtJ,SAAS,cAAAsJ,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBE,gBAAgB,cAAAF,gBAAA,eAAhCA,gBAAA,CAAkCC,eAAe;IAC3E,IAAI,CAACE,YAAY,GAAGnN,eAAe,CAACmN,YAAY,CAACC,MAAM;IACvD,oBAAO9P,KAAA,CAAAuP,aAAA,CAAC/L,MAAM;MAAC+D,OAAO,EAAE,IAAI,CAACA,OAAQ;MAACwI,MAAM,EAAGC,KAAK,IAAK;QACvDA,KAAK,CAAC,MAAMtN,eAAe,CAACuN,YAAY,CAAC;QACzC,oBACEjQ,KAAA,CAAAuP,aAAA,CAAAvP,KAAA,CAAAkQ,QAAA,QACGxN,eAAe,CAACmN,YAAY,CAAC9B,GAAG,CAAC,CAACoC,CAAC,EAAEC,CAAC,KAAK;UAC1C;UACA,IAAIC,aAAa,GAAG,CAAC,CAAC;UACtB,IAAIV,eAAe,EAAE;YAAA,IAAAW,SAAA,EAAAC,UAAA;YACnB,IAAI,EAAAD,SAAA,GAAAH,CAAC,CAACK,MAAM,cAAAF,SAAA,uBAARA,SAAA,CAAUG,GAAG,MAAKC,SAAS,EAAE;cAAA,IAAAC,qBAAA;cAC/BN,aAAa,GAAG;gBAAEI,GAAG,GAAAE,qBAAA,GAAE,IAAI,CAACC,eAAe,cAAAD,qBAAA,uBAApBA,qBAAA,CAAsBF;cAAI,CAAC;YACpD,CAAC,MAAM,IAAI,IAAI,CAACI,yBAAyB,CAAC,CAAC,IAAI,EAAAN,UAAA,GAAAJ,CAAC,CAACK,MAAM,cAAAD,UAAA,uBAARA,UAAA,CAAUO,MAAM,MAAKJ,SAAS,EAAE;cAAA,IAAAK,sBAAA;cAC7EV,aAAa,GAAG;gBAAES,MAAM,GAAAC,sBAAA,GAAE,IAAI,CAACH,eAAe,cAAAG,sBAAA,uBAApBA,sBAAA,CAAsBD;cAAO,CAAC;YAC1D;UACF;UAEA,OAAO,IAAI,CAACxB,YAAY,cACtBtP,KAAA,CAAAuP,aAAA,CAACpO,aAAa;YAACqO,KAAK,EAAE,IAAI,CAACpJ,SAAS,CAAC4K;UAAM,gBACzChR,KAAA,CAAAuP,aAAA,CAACnP,IAAI;YAACuJ,GAAG,EAAEyG,CAAE;YAAChM,KAAK,EAAE,CAAC;cACpB6M,QAAQ,EAAE,UAAU;cACpBC,KAAK,EAAE,MAAM;cACbJ,MAAM,EAAE,CAAC;cACTK,SAAS,EAAEhB,CAAC,CAACiB,cAAc;cAC3BC,MAAM,EAAElB,CAAC,CAACiB;YACZ,CAAC,EAAEjB,CAAC,CAACK,MAAM,EAACH,aAAa;UAAE,gBACzBrQ,KAAA,CAAAuP,aAAA,CAACpP,gBAAgB;YAACmR,OAAO,EAAEA,CAAA,KAAMnB,CAAC,CAACoB,OAAO,IAAIpB,CAAC,CAACoB,OAAO,CAAC;UAAE,GACvDpB,CAAC,CAACvL,OAAO,EACTuL,CAAC,CAACqB,IAAI,iBAAIxR,KAAA,CAAAuP,aAAA,CAACpN,SAAS;YAACsP,IAAI,EAAE,SAAS,GAAGrB,CAAE;YAACsB,IAAI,EAAEvB,CAAC,CAACuB,IAAK;YAACC,OAAO,EAAExB,CAAC,CAACqB,IAAK;YAACI,SAAS,EAAE,CAACzB,CAAC,CAAC0B,eAAgB;YAACC,OAAO,EAAE3B,CAAC,CAAC4B,UAAW;YAACC,cAAc,EAAE7B,CAAC,CAAC6B,cAAe;YAACC,gBAAgB,EAAE9B,CAAC,CAAC8B;UAAiB,CAAY,CACnM,CACd,CACO,CAEjB,CAAC;QACH,CAAC,CACD,CAAC;MACP;IAAE,CAAE,CAAC;EACP;EAEAC,aAAaA,CAAA,EAAc;IACzB,oBAAOlS,KAAA,CAAAuP,aAAA,CAAC/L,MAAM;MAAC+D,OAAO,EAAE,IAAI,CAACA,OAAQ;MAACwI,MAAM,EAAGC,KAAK,IAAK;QACvDA,KAAK,CAAC;UAAA,IAAAmC,KAAA;UAAA,QAAAA,KAAA,GAAMnR,IAAI,CAACyB,eAAe,CAAC2P,YAAY,CAAC,cAAAD,KAAA,uBAAlCA,KAAA,CAAoCvN,OAAO;QAAA,EAAC;QACxD,IAAI,CAACwN,YAAY,GAAG3P,eAAe,CAAC2P,YAAY,CAACtC,MAAM;QACvDrN,eAAe,CAAC4P,YAAY,CAACvC,MAAM,GAAG,CAAC;QACvC,oBACE9P,KAAA,CAAAuP,aAAA,CAAAvP,KAAA,CAAAkQ,QAAA,QACGzN,eAAe,CAAC6P,YAAY,CAAC1N,OAAO,IACnCnC,eAAe,CAAC2P,YAAY,CAACrE,GAAG,CAAC,CAACoC,CAAC,EAAEC,CAAC,KAAK;UACzC,oBACEpQ,KAAA,CAAAuP,aAAA,CAACnP,IAAI;YAACuJ,GAAG,EAAE,CAACwG,CAAC,CAACsB,IAAI,IAAI,EAAE,IAAIrB,CAAE;YAC5BmC,yBAAyB,EAAEA,CAAA,KAAM,IAAK;YACtCC,cAAc,EAAEA,CAAA,KAAMrC,CAAC,CAACsC,OAAO,IAAIhQ,eAAe,CAACiQ,SAAS,CAACvC,CAAC,CAAE;YAChE/L,KAAK,EAAE1C,QAAQ,CAAC8O,MAAM,CAACmC,QAAQ,EAC7BxC,CAAC,CAACyC,QAAQ,GAAGpC,MAAM,CAACqC,aAAa,GAAG,IAAI,EACxC1C,CAAC,CAAC2C,UAAU,EACZ;cACE3B,SAAS,EAAEhB,CAAC,CAACiB,cAAc;cAC3BC,MAAM,EAAElB,CAAC,CAACiB;YACZ,CAAC;UAAE,gBACLpR,KAAA,CAAAuP,aAAA,CAACnN,YAAY;YAAC2Q,cAAc,EAAE5C,CAAC,CAACpL,SAAS,IAAI,QAAS;YAACiO,KAAK,EAAE7C,CAAC,CAAC8C,cAAe;YAC7EC,GAAG,EAAEA,GAAG,IAAI;cACV,IAAI,CAACC,WAAW,GAAGD,GAAG;cACtBzQ,eAAe,CAAC4P,YAAY,CAACjC,CAAC,CAAC,GAAG8C,GAAG;YACvC,CAAE;YACF9O,KAAK,EAAE,CAACoM,MAAM,CAAC4C,eAAe,EAAEjD,CAAC,CAACkD,YAAY;UAAE,gBAChDrT,KAAA,CAAAuP,aAAA,CAACjP,sBAAsB;YAAC8D,KAAK,EAAE;cAAE8M,KAAK,EAAE,MAAM;cAAEoC,UAAU,EAAE;YAAS;UAAE,gBACrEtT,KAAA,CAAAuP,aAAA,CAACnP,IAAI;YACHmS,yBAAyB,EAAEgB,GAAG,IAAI,IAAK;YACvCf,cAAc,EAAGpI,CAAC,IAAKA,CAAC,CAACoJ,eAAe,CAAC,CAAE;YAC3CpP,KAAK,EAAE;cAAE8M,KAAK,EAAE,MAAM;cAAEoC,UAAU,EAAE;YAAS;UAAE,GAC9C,IAAI,CAAChE,YAAY,CAACa,CAAC,CAACvL,OAAO,CACxB,CACgB,CACZ,CACV,CAAC;QAEX,CACA,CAEF,CAAC;MACP;IAAE,CAAE,CAAC;EACP;EAEA6O,oBAAoBA,CAAA,EAAc;IAChC,oBAAOzT,KAAA,CAAAuP,aAAA,CAAC/L,MAAM;MAAC+D,OAAO,EAAE,IAAI,CAACA,OAAQ;MAACwI,MAAM,EAAGC,KAAK,IAAK;QACvDA,KAAK,CAAC,MAAMxN,wBAAwB,CAACkR,cAAc,CAAC9O,OAAO,CAAC;QAC5D,OAAOpC,wBAAwB,CAACkR,cAAc,CAAC9O,OAAO,gBAElD5E,KAAA,CAAAuP,aAAA,CAACpO,aAAa;UAACqO,KAAK,EAAE,IAAI,CAACpJ,SAAS,CAAC4K;QAAM,gBACzChR,KAAA,CAAAuP,aAAA,CAACnP,IAAI;UAACgE,KAAK,EAAE,CAACoM,MAAM,CAACmD,oBAAoB,EAAE;YACzCxC,SAAS,EAAE,IAAI,CAACtB,YAAY,GAAG,IAAI,CAACuC,YAAY,GAAG,CAAC;YACpDf,MAAM,EAAE,IAAI,CAACxB,YAAY,GAAG,IAAI,CAACuC,YAAY,GAAG;UAClD,CAAC;QAAE,GACA5P,wBAAwB,CAACkR,cAAc,CAAC9O,OACrC,CACO,CAAC,GAAI,IAAI;MAC9B;IAAE,CAAE,CAAC;EACP;EAEAgP,4BAA4BA,CAACjE,eAAwB,EAAEkE,MAAyB,EAAC;IAC/E,OAAO3T,QAAQ,CAAC4F,EAAE,IAAI,KAAK,IAAI,CAAC6J,eAAe,gBAC7C3P,KAAA,CAAAuP,aAAA,CAACnP,IAAI;MAACgE,KAAK,EAAE;QACX0P,eAAe,EAAE,OAAO;QACxB7C,QAAQ,EAAE,UAAU;QACpBR,GAAG,EAAE,CAAC;QACNsD,MAAM,EAAE,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpD,GAAG,KAAI,CAAC;QACxBS,KAAK,EAAE,MAAM;QACbG,MAAM,EAAE;MACV;IAAE,CAAO,CAAC,gBACRrR,KAAA,CAAAuP,aAAA,CAAAvP,KAAA,CAAAkQ,QAAA,MAAI,CAAC;EACX;EAEA8D,4BAA4BA,CAAA,EAAG;IAC7B,IAAI;MACF,oBAAQhU,KAAA,CAAAuP,aAAA;QAAOmC,IAAI,EAAC;MAAU,GAAE;AACtC;AACA;AACA,qBAAqBpO,0BAA0B;AAC/C;AACA,OAAe,CAAC;IACZ,CAAC,CAAC,OAAO8G,CAAC,EAAE;MACVpE,OAAO,CAACwG,GAAG,CAAC,wDAAwD,CAAC;IACvE;IACA,OAAO,IAAI;EACb;EAEAyH,iBAAiBA,CAAA,EAAG;IAClB,OAAO,IAAI,CAAC7N,SAAS,CAAC8N,cAAc;EACtC;EAEAC,YAAYA,CAACC,OAAgB,EAAC;IAC5B,IAAGA,OAAO,IAAI,QAAQ,EAAC;MACrB,OAAOzQ,MAAM;IACf;IACA,OAAO+M,SAAS;EAClB;EAEA2D,aAAaA,CAACC,WAAmB,EAAO;IACtC,MAAMF,OAAO,GAAGrT,GAAG,CAACkE,kBAAkB,EAAEqP,WAAW,CAAC;IACpD,IAAIF,OAAO,EAAE;MACX,OAAOA,OAAO;IAChB;EACF;EAEAG,cAAcA,CAACtD,QAA0B,EAAE4C,MAAW,EAAE3K,MAAU,EAAE;IAClE,IAAI,EAAC2K,MAAM,aAANA,MAAM,eAANA,MAAM,CAAG5C,QAAQ,CAAC,GAAE,OAAO,IAAI;IAEpC,oBACEjR,KAAA,CAAAuP,aAAA,CAAC7L,QAAQ;MACP8Q,SAAS,EAAE,CAAAtL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEuL,aAAa,KAAI,EAAG;MACvCC,IAAI,EAAExL,MAAM,CAACyL,QAAQ,IAAI,MAAO;MAChCC,sBAAsB,EAAC,iBAAiB;MACxCxQ,KAAK,EAAE;QACL,CAAC6M,QAAQ,GAAG,CAAC;QACb8C,MAAM,EAAEF,MAAM,CAAC5C,QAAQ,CAAC;QACxBC,KAAK,EAAE,MAAM;QACbD,QAAQ,EAAE,UAAU;QACpBI,MAAM,EAAE;MACV;IAAE,CACH,CAAC;EAEN;EAEAwD,qBAAqBA,CAAC5D,QAA0B,EAAE4C,MAAW,EAAE3K,MAAU,EAAE;IACzE,IAAI,EAAC2K,MAAM,aAANA,MAAM,eAANA,MAAM,CAAG5C,QAAQ,CAAC,GAAE,OAAO,IAAI;IAEpC,oBACEjR,KAAA,CAAAuP,aAAA,CAACnP,IAAI;MACHgE,KAAK,EAAE;QACL,CAAC6M,QAAQ,GAAG,CAAC;QACb8C,MAAM,EAAEF,MAAM,CAAC5C,QAAQ,CAAC;QACxBC,KAAK,EAAE,MAAM;QACbD,QAAQ,EAAE,UAAU;QACpBI,MAAM,EAAE,GAAG;QACXyC,eAAe,EAAE,CAAA5K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE4L,KAAK,KAAI,aAAa;QAC/CC,OAAO,EAAG,CAAA7L,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE6L,OAAO,IAAC,GAAG,IAAK;MACpC;IAAE,CACG,CAAC;EAEZ;EAEAlE,yBAAyBA,CAAA,EAAE;IAAA,IAAAmE,sBAAA;IACzB,IAAG9U,QAAQ,CAAC4F,EAAE,KAAI,SAAS,IAAI,EAAAkP,sBAAA,OAAI,CAACpE,eAAe,cAAAoE,sBAAA,uBAApBA,sBAAA,CAAsBlE,MAAM,IAAG,EAAE,EAAC;MAC/D,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAmE,SAASA,CAAC5N,aAA8B,EAAE;IAAA,IAAA6N,gBAAA,EAAAC,gBAAA;IAExC,IAAI,CAACC,mBAAmB,CAAC/F,OAAO,CAACG,KAAK;MAAA,IAAA6F,qBAAA;MAAA,QAAAA,qBAAA,GAAI,IAAI,CAACpH,SAAS,CAACuB,KAAK,CAAC,cAAA6F,qBAAA,uBAArBA,qBAAA,CAAuBC,mBAAmB,CAAC,CAAC;IAAA,EAAC;IACvF,MAAM1F,gBAAgB,IAAAsF,gBAAA,GAAG,IAAI,CAAC9O,SAAS,cAAA8O,gBAAA,uBAAdA,gBAAA,CAAgBtF,gBAAgB;IACzD,MAAM2F,eAAe,IAAAJ,gBAAA,GAAG,IAAI,CAAC/O,SAAS,cAAA+O,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBvF,gBAAgB,cAAAuF,gBAAA,uBAAhCA,gBAAA,CAAkCI,eAAe;IACzE,MAAM5F,eAAe,GAAG,CAAC,EAACC,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAED,eAAe;IAE3D,MAAM6F,OAAO,GAAG7F,eAAe,GAAGvP,IAAI,GAAGM,YAAY;IACrD,oBACEV,KAAA,CAAAuP,aAAA,CAAC/O,gBAAgB,qBACfR,KAAA,CAAAuP,aAAA,CAAC9O,qBAAqB,CAACgV,QAAQ,QAC5B,CAAC5B,MAAM,GAAG;MAAEpD,GAAG,EAAE,CAAC;MAAEK,MAAM,EAAE,CAAC;MAAE4E,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MAAA,IAAAC,WAAA,EAAAC,qBAAA,EAAAC,sBAAA;MACtD,IAAI,CAAClF,eAAe,GAAGiD,MAAM;MAC7B,oBAAO7T,KAAA,CAAAuP,aAAA,CAAC1O,aAAa;QAACmQ,KAAK,EAAE,IAAI,CAAC+E;MAAW,gBAC3C/V,KAAA,CAAAuP,aAAA,CAACvP,KAAK,CAACkQ,QAAQ,QACZhQ,QAAQ,CAAC4F,EAAE,KAAK,KAAK,GAAG,IAAI,CAACkO,4BAA4B,CAAC,CAAC,GAAG,IAAI,EAClE,IAAI,CAAC1E,YAAY,cAChBtP,KAAA,CAAAuP,aAAA,CAACiG,OAAO;QAACpR,KAAK,EAAE;UAAE4R,IAAI,EAAE;QAAE;MAAE,gBAC1BhW,KAAA,CAAAuP,aAAA,CAAClP,SAAS;QACRyT,eAAe,EAAEnE,eAAe,GAAC,aAAa,GAAEe,SAAU;QAC1DuF,WAAW,EAAEtG;MAAgB,CAC9B,CAAC,eACF3P,KAAA,CAAAuP,aAAA,CAACpO,aAAa;QAACqO,KAAK,EAAE,IAAI,CAACpJ,SAAS,CAAC4K;MAAM,gBACzChR,KAAA,CAAAuP,aAAA,CAAC3L,aAAa;QAAC0D,WAAW,EAAE,IAAI,CAAClB,SAAS,CAACkB,WAAY;QAACjB,GAAG,EAAE;MAAK,GACjE,IAAI,CAACuN,4BAA4B,CAACjE,eAAe,EAAEkE,MAAM,CAAC,eAC3D7T,KAAA,CAAAuP,aAAA,CAACnP,IAAI;QAACgE,KAAK,EAAE;UAAE4R,IAAI,EAAE;QAAE;MAAE,gBACrBhW,KAAA,CAAAuP,aAAA,CAACnP,IAAI;QAACgE,KAAK,EAAEoM,MAAM,CAAC0F;MAAU,gBAC5BlW,KAAA,CAAAuP,aAAA,CAACjP,sBAAsB;QAAC8D,KAAK,EAAEoM,MAAM,CAAC0F;MAAU,gBAC9ClW,KAAA,CAAAuP,aAAA,CAAC1M,YAAY;QACXwD,GAAG,EAAE,IAAK;QACV8P,WAAW,EAAG,IAAI,CAAC5Q,KAAK,CAASmD,QAAS;QAC1C0N,iBAAiB,EAAE,EAAAR,WAAA,GAAC,IAAI,CAACrQ,KAAK,cAAAqQ,WAAA,uBAAXA,WAAA,CAAqBlN,QAAQ,KAAI,IAAI,CAACnD,KAAM;QAC/D8Q,UAAU,EAAE,EAAAR,qBAAA,OAAI,CAACzP,SAAS,CAACE,MAAM,cAAAuP,qBAAA,uBAArBA,qBAAA,CAAuBhR,UAAU,CAAC,CAAC,MAAK,IAAK;QACzDyR,aAAa,EAAEA,CAAA,KAAM,IAAI,CAAClQ,SAAS,CAACE,MAAM,GAAG,IAAI,CAACgJ,YAAY,CAAC,IAAI,CAAClJ,SAAS,CAACE,MAAM,CAACzB,UAAU,CAAC,CAAC,CAAC,GAAG,IAAK;QAC1G0R,eAAe,GAAAT,sBAAA,GAAE,IAAI,CAAC1P,SAAS,CAACE,MAAM,cAAAwP,sBAAA,uBAArBA,sBAAA,CAAuB9Q,YAAY,CAAC;MAAE,CAAe,CAAC,eACxEhF,KAAA,CAAAuP,aAAA,CAAC1N,kBAAkB,QACfwF,aACiB,CACA,CACpB,CAAC,EACN,IAAI,CAACjB,SAAS,CAACQ,GAAG,gBAChB5G,KAAA,CAAAuP,aAAA,CAACtN,oBAAoB;QAACuU,SAAS,EAAE,IAAI,CAACpQ,SAAS,CAACoQ;MAAU,CAAuB,CAAC,GACjF,IAAI,EACT,IAAI,CAAC/G,cAAc,CAAC,CAAC,EACrB,IAAI,CAACyC,aAAa,CAAC,CAAC,EACpB,IAAI,CAACuB,oBAAoB,CAAC,CAAC,EAE3B,IAAI,CAACjI,WAAW,iBACfxL,KAAA,CAAAuP,aAAA,CAACnP,IAAI;QACHgE,KAAK,EAAE;UAAC6M,QAAQ,EAAC,UAAU;UAAC8C,MAAM,EAAC,MAAM;UAAC7C,KAAK,EAAC,MAAM;UAACT,GAAG,EAAC,CAAC;UAACiF,IAAI,EAAC,CAAC;UAACC,KAAK,EAAC,CAAC;UAAC7E,MAAM,EAAC,CAAC;UAACO,MAAM,EAAC,MAAM;UAACF,SAAS,EAAE;QAAM;MAAE,gBACrHnR,KAAA,CAAAuP,aAAA,CAACtL,QAAQ;QACR8B,KAAK,EAAE,IAAI,CAACyF,WAAW,CAAEzF,KAAM;QAC/B0Q,IAAI,EAAE;UAAClM,SAAS,EAAE,IAAI,CAACiB,WAAW,CAAEjB;QAAS,CAAE;QAC/CC,SAAS,EAAE,IAAI,CAACgB,WAAW,CAAEhB,SAAU;QACvCkM,kBAAkB,EAAEA,CAAA,KAAM;UACxB,IAAI,CAAClL,WAAW,GAAG,IAAI;UACvB,IAAI,CAACpE,WAAW,CAAC,CAAC;QAClB;MAAE,CACH,CACC,CACJ,CAAC,EAENuI,eAAe,IAAI,CAAA4F,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE7D,IAAI,MAAI,MAAM,GAAG,IAAI,CAAC6C,cAAc,CAAC,KAAK,EAACV,MAAM,EAAC0B,eAAe,CAAC,GAAG,IAAI,EAE7G5F,eAAe,IAAI,CAAA4F,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE7D,IAAI,MAAI,aAAa,GAAG,IAAI,CAACmD,qBAAqB,CAAC,KAAK,EAAChB,MAAM,EAAC0B,eAAe,CAAC,GAAG,IACxG,CACH,CACR,CACX,CACc,CACH,CAAC;IAClB,CAE8B,CAChB,CAAC;EAEvB;AACF;AAEA,MAAM/E,MAAM,GAAG;EACb0F,SAAS,EAAE;IACTF,IAAI,EAAE;EACR,CAAC;EACDrD,QAAQ,EAAE;IACR1B,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE;EACT,CAAC;EACDkC,eAAe,EAAE;IACf4C,IAAI,EAAE,CAAC;IACP9E,KAAK,EAAE,MAAM;IACboC,UAAU,EAAE,QAAQ;IACpBqD,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACD/D,aAAa,EAAE;IACbmD,IAAI,EAAE,CAAC;IACP/E,QAAQ,EAAE,UAAU;IACpBR,GAAG,EAAE,CAAC;IACNkG,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBtD,UAAU,EAAE,QAAQ;IACpBQ,eAAe,EAAE,oBAAoB;IACrCC,MAAM,EAAE;EACV,CAAC;EACDJ,oBAAoB,EAAE;IACpB1C,QAAQ,EAAE,UAAU;IACpB2F,cAAc,EAAE,QAAQ;IACxB1F,KAAK,EAAE,MAAM;IACbwE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRlF,GAAG,EAAE,CAAC;IACNK,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
@@ -8,6 +8,7 @@ import AppStackNavigator from './navigator/stack.navigator';
8
8
  import { isEmpty, keys, last } from 'lodash';
9
9
  import ThemeVariables from '../styles/theme.variables';
10
10
  import { navigationRef, setNavigationReady } from '../core/navigation.service';
11
+ import { AUTH_CALLBACK_PATH } from './services/browser.constants';
11
12
  const getNavigationState = (pageName, params) => {
12
13
  return {
13
14
  routes: [{
@@ -77,7 +78,9 @@ export const AppNavigator = props => {
77
78
  }
78
79
  },
79
80
  getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,
80
- getPathFromState: isWebPreviewMode() ? getPathFromState : undefined
81
+ getPathFromState: isWebPreviewMode() ? getPathFromState : undefined,
82
+ // Auth-session completion uses the same app scheme. Do not treat it as a page route.
83
+ filter: url => url.indexOf(AUTH_CALLBACK_PATH) === -1
81
84
  };
82
85
  const navigationTheme = {
83
86
  ...DefaultTheme,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","NavigationContainer","DefaultTheme","isWebPreviewMode","injector","AppDrawerNavigator","AppStackNavigator","isEmpty","keys","last","ThemeVariables","navigationRef","setNavigationReady","getNavigationState","pageName","params","routes","name","state","index","getStateFromPath","path","options","hash","window","location","substring","startsWith","paramstr","split","forEach","p","k","v","getPathFromState","pagesRoute","pageRoute","href","map","join","setTimeout","_window$history$state","id","history","replaceState","AppNavigator","props","_appConfig$pages","appConfig","get","pages","linking","prefixes","appId","config","screens","undefined","navigationTheme","colors","background","INSTANCE","pageContentBgColor","stack","createElement","landingPage","leftNav","drawerWidth","app","leftNavWidth","type","drawerAnimation","hide","hideDrawer","content","drawerContent","rootComponent","initialState","OS","landingPageParams","ref","onReady","theme"],"sources":["App.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Platform, View } from 'react-native';\nimport { NavigationContainer, DefaultTheme } from '@react-navigation/native';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppDrawerNavigator from './navigator/drawer.navigator';\nimport AppStackNavigator from './navigator/stack.navigator';\nimport { isEmpty, keys, last } from 'lodash';\nimport ThemeVariables from '../styles/theme.variables';\nimport { navigationRef, setNavigationReady } from '../core/navigation.service';\n\ndeclare const window: any;\n\nexport interface AppNavigatorProps {\n drawerContent: () => ReactNode;\n drawerAnimation: string;\n hideDrawer: boolean;\n landingPage?: string;\n landingPageParams?: any;\n app: any;\n}\n\nconst getNavigationState = (pageName: string, params: any) => {\n return {\n routes: [{\n name: 'pages',\n state: {\n index: 0,\n routes: [{\n name: pageName,\n params: params\n }]\n }\n }]\n };\n};\n\nconst getStateFromPath = (path: string, options?: any) => {\n let hash: string = window.location.hash;\n hash = hash.substring(1);\n if (hash && hash.startsWith('/')) {\n hash = hash.substring(1);\n }\n if (!hash) {\n return;\n }\n let [pageName, paramstr] = hash.split('?');\n let params = {} as any;\n if (paramstr) {\n paramstr.split('&').forEach((p) => {\n const [k, v] = p.split('=');\n params[k] = v;\n });\n }\n return getNavigationState(pageName, params);\n};\n\nconst getPathFromState = (state: any, options: any) => {\n const pagesRoute = state?.routes[0];\n const pageRoute: any = last(pagesRoute?.state.routes);\n let path = '';\n if (pageRoute) {\n path = window.location.href.split('#')[0] + '#/'+ pageRoute.name;\n if (!isEmpty(pageRoute.params)) {\n path += '?' + keys(pageRoute.params).map((k) => {\n return `${k}=${pageRoute.params[k]}`\n }).join('&');\n }\n }\n setTimeout(() => {\n const id = window.history.state?.id;\n window.history.replaceState({id}, null, path);\n });\n return path;\n};\n\nexport const AppNavigator = (props: AppNavigatorProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const pages = {};\n const linking = {\n prefixes: [`${appConfig.appId}://`],\n config: {\n screens: {\n \"pages\": {\n path: \"pages\",\n screens: pages\n }\n }\n },\n getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,\n getPathFromState: isWebPreviewMode()? getPathFromState: undefined\n } as any;\n\n const navigationTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n background: ThemeVariables.INSTANCE.pageContentBgColor\n },\n };\n\n appConfig.pages?.forEach((p) => {\n //@ts-ignore\n pages[p.name] = p.name;\n });\n const stack = (<AppStackNavigator\n pages={appConfig.pages || []}\n landingPage={appConfig.landingPage}></AppStackNavigator>);\n const leftNav = (<AppDrawerNavigator\n drawerWidth={props.app.appConfig.leftNavWidth}\n type={props.drawerAnimation === 'slide-over' ? 'front' : 'slide'}\n hide={props.hideDrawer}\n content={() => (props.drawerContent && props.drawerContent()) || (<View/>)}\n rootComponent={stack}/>);\n const initialState = props.landingPage && Platform.OS !== 'web' ?\n getNavigationState(props.landingPage, props.landingPageParams)\n : undefined;\n return (<NavigationContainer ref={navigationRef} onReady={() => setNavigationReady(true)} initialState={initialState} linking={linking} theme={navigationTheme}>{leftNav}</NavigationContainer>);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","View","NavigationContainer","DefaultTheme","isWebPreviewMode","injector","AppDrawerNavigator","AppStackNavigator","isEmpty","keys","last","ThemeVariables","navigationRef","setNavigationReady","AUTH_CALLBACK_PATH","getNavigationState","pageName","params","routes","name","state","index","getStateFromPath","path","options","hash","window","location","substring","startsWith","paramstr","split","forEach","p","k","v","getPathFromState","pagesRoute","pageRoute","href","map","join","setTimeout","_window$history$state","id","history","replaceState","AppNavigator","props","_appConfig$pages","appConfig","get","pages","linking","prefixes","appId","config","screens","undefined","filter","url","indexOf","navigationTheme","colors","background","INSTANCE","pageContentBgColor","stack","createElement","landingPage","leftNav","drawerWidth","app","leftNavWidth","type","drawerAnimation","hide","hideDrawer","content","drawerContent","rootComponent","initialState","OS","landingPageParams","ref","onReady","theme"],"sources":["App.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Platform, View } from 'react-native';\nimport { NavigationContainer, DefaultTheme } from '@react-navigation/native';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppDrawerNavigator from './navigator/drawer.navigator';\nimport AppStackNavigator from './navigator/stack.navigator';\nimport { isEmpty, keys, last } from 'lodash';\nimport ThemeVariables from '../styles/theme.variables';\nimport { navigationRef, setNavigationReady } from '../core/navigation.service';\nimport { AUTH_CALLBACK_PATH } from './services/browser.constants';\n\ndeclare const window: any;\n\nexport interface AppNavigatorProps {\n drawerContent: () => ReactNode;\n drawerAnimation: string;\n hideDrawer: boolean;\n landingPage?: string;\n landingPageParams?: any;\n app: any;\n}\n\nconst getNavigationState = (pageName: string, params: any) => {\n return {\n routes: [{\n name: 'pages',\n state: {\n index: 0,\n routes: [{\n name: pageName,\n params: params\n }]\n }\n }]\n };\n};\n\nconst getStateFromPath = (path: string, options?: any) => {\n let hash: string = window.location.hash;\n hash = hash.substring(1);\n if (hash && hash.startsWith('/')) {\n hash = hash.substring(1);\n }\n if (!hash) {\n return;\n }\n let [pageName, paramstr] = hash.split('?');\n let params = {} as any;\n if (paramstr) {\n paramstr.split('&').forEach((p) => {\n const [k, v] = p.split('=');\n params[k] = v;\n });\n }\n return getNavigationState(pageName, params);\n};\n\nconst getPathFromState = (state: any, options: any) => {\n const pagesRoute = state?.routes[0];\n const pageRoute: any = last(pagesRoute?.state.routes);\n let path = '';\n if (pageRoute) {\n path = window.location.href.split('#')[0] + '#/'+ pageRoute.name;\n if (!isEmpty(pageRoute.params)) {\n path += '?' + keys(pageRoute.params).map((k) => {\n return `${k}=${pageRoute.params[k]}`\n }).join('&');\n }\n }\n setTimeout(() => {\n const id = window.history.state?.id;\n window.history.replaceState({id}, null, path);\n });\n return path;\n};\n\nexport const AppNavigator = (props: AppNavigatorProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const pages = {};\n const linking = {\n prefixes: [`${appConfig.appId}://`],\n config: {\n screens: {\n \"pages\": {\n path: \"pages\",\n screens: pages\n }\n }\n },\n getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,\n getPathFromState: isWebPreviewMode()? getPathFromState: undefined,\n // Auth-session completion uses the same app scheme. Do not treat it as a page route.\n filter: (url: string) => url.indexOf(AUTH_CALLBACK_PATH) === -1,\n } as any;\n\n const navigationTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n background: ThemeVariables.INSTANCE.pageContentBgColor\n },\n };\n\n appConfig.pages?.forEach((p) => {\n //@ts-ignore\n pages[p.name] = p.name;\n });\n const stack = (<AppStackNavigator\n pages={appConfig.pages || []}\n landingPage={appConfig.landingPage}></AppStackNavigator>);\n const leftNav = (<AppDrawerNavigator\n drawerWidth={props.app.appConfig.leftNavWidth}\n type={props.drawerAnimation === 'slide-over' ? 'front' : 'slide'}\n hide={props.hideDrawer}\n content={() => (props.drawerContent && props.drawerContent()) || (<View/>)}\n rootComponent={stack}/>);\n const initialState = props.landingPage && Platform.OS !== 'web' ?\n getNavigationState(props.landingPage, props.landingPageParams)\n : undefined;\n return (<NavigationContainer ref={navigationRef} onReady={() => setNavigationReady(true)} initialState={initialState} linking={linking} theme={navigationTheme}>{leftNav}</NavigationContainer>);\n};\n"],"mappings":"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","ignoreList":[]}