@vxrn/vite-plugin-metro 1.27.1 → 2.0.0-beta.45.1
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.
- package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
- package/dist/cjs/env/platformEnv.cjs +55 -57
- package/dist/cjs/env/platformEnv.native.cjs +93 -0
- package/dist/cjs/env/platformEnv.native.js +72 -75
- package/dist/cjs/env/platformEnv.native.js.map +1 -1
- package/dist/cjs/index.cjs +22 -24
- package/dist/cjs/index.native.cjs +41 -0
- package/dist/cjs/index.native.js +22 -23
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +48 -51
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +101 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +88 -94
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +246 -271
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +295 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +257 -281
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/metro-config/types.cjs +9 -11
- package/dist/cjs/metro-config/types.native.cjs +18 -0
- package/dist/cjs/metro-config/types.native.js +9 -10
- package/dist/cjs/metro-config/types.native.js.map +1 -1
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +44 -56
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +62 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +45 -63
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.cjs +210 -248
- package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
- package/dist/cjs/plugins/metroPlugin.native.js +216 -253
- package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
- package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
- package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
- package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
- package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
- package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
- package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
- package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
- package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
- package/dist/cjs/rn-commands/index.cjs +17 -26
- package/dist/cjs/rn-commands/index.native.cjs +32 -0
- package/dist/cjs/rn-commands/index.native.js +17 -25
- package/dist/cjs/rn-commands/index.native.js.map +1 -1
- package/dist/cjs/transformer/babel-core.cjs +16 -18
- package/dist/cjs/transformer/babel-core.native.cjs +30 -0
- package/dist/cjs/transformer/babel-core.native.js +16 -17
- package/dist/cjs/transformer/babel-core.native.js.map +1 -1
- package/dist/cjs/transformer/babel-transformer.cjs +101 -152
- package/dist/cjs/transformer/babel-transformer.native.cjs +131 -0
- package/dist/cjs/transformer/babel-transformer.native.js +106 -159
- package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
- package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
- package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
- package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
- package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.cjs +1442 -1480
- package/dist/cjs/transformer/metroNativeWorker.native.cjs +2536 -0
- package/dist/cjs/transformer/metroNativeWorker.native.js +2416 -2552
- package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/cjs/transformer/transformSync.cjs +47 -63
- package/dist/cjs/transformer/transformSync.native.cjs +74 -0
- package/dist/cjs/transformer/transformSync.native.js +49 -64
- package/dist/cjs/transformer/transformSync.native.js.map +1 -1
- package/dist/cjs/transformer/types.cjs +9 -11
- package/dist/cjs/transformer/types.native.cjs +18 -0
- package/dist/cjs/transformer/types.native.js +9 -10
- package/dist/cjs/transformer/types.native.js.map +1 -1
- package/dist/cjs/utils/exit.cjs +141 -139
- package/dist/cjs/utils/exit.native.cjs +266 -0
- package/dist/cjs/utils/exit.native.js +228 -241
- package/dist/cjs/utils/exit.native.js.map +1 -1
- package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
- package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
- package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
- package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
- package/dist/cjs/utils/metroCacheManager.cjs +84 -99
- package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
- package/dist/cjs/utils/metroCacheManager.native.js +102 -118
- package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +24 -28
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +37 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +24 -27
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
- package/dist/cjs/utils/projectImport.cjs +40 -51
- package/dist/cjs/utils/projectImport.native.cjs +64 -0
- package/dist/cjs/utils/projectImport.native.js +41 -58
- package/dist/cjs/utils/projectImport.native.js.map +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
- package/dist/esm/env/platformEnv.mjs +40 -39
- package/dist/esm/env/platformEnv.mjs.map +1 -1
- package/dist/esm/env/platformEnv.native.js +57 -58
- package/dist/esm/env/platformEnv.native.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +35 -33
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +75 -77
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +230 -246
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +241 -257
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/metro-config/types.mjs +0 -2
- package/dist/esm/metro-config/types.native.js +0 -2
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +32 -38
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +33 -46
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.mjs +195 -222
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js +201 -228
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
- package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
- package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
- package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
- package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/index.mjs +2 -2
- package/dist/esm/rn-commands/bundle/index.native.js +2 -2
- package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
- package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
- package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
- package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/types.mjs +0 -2
- package/dist/esm/rn-commands/bundle/types.native.js +0 -2
- package/dist/esm/rn-commands/index.mjs +2 -2
- package/dist/esm/rn-commands/index.native.js +2 -2
- package/dist/esm/transformer/babel-core.mjs +2 -2
- package/dist/esm/transformer/babel-core.native.js +2 -2
- package/dist/esm/transformer/babel-transformer.mjs +108 -144
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +114 -155
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
- package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
- package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
- package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.mjs +1405 -1434
- package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.native.js +2379 -2507
- package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/esm/transformer/transformSync.mjs +32 -37
- package/dist/esm/transformer/transformSync.mjs.map +1 -1
- package/dist/esm/transformer/transformSync.native.js +34 -39
- package/dist/esm/transformer/transformSync.native.js.map +1 -1
- package/dist/esm/transformer/types.mjs +0 -2
- package/dist/esm/transformer/types.native.js +0 -2
- package/dist/esm/utils/exit.mjs +123 -112
- package/dist/esm/utils/exit.mjs.map +1 -1
- package/dist/esm/utils/exit.native.js +210 -215
- package/dist/esm/utils/exit.native.js.map +1 -1
- package/dist/esm/utils/getTerminalReporter.mjs +20 -21
- package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
- package/dist/esm/utils/getTerminalReporter.native.js +23 -24
- package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
- package/dist/esm/utils/metroCacheManager.mjs +73 -82
- package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
- package/dist/esm/utils/metroCacheManager.native.js +91 -102
- package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +11 -10
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +11 -10
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
- package/dist/esm/utils/projectImport.mjs +23 -25
- package/dist/esm/utils/projectImport.mjs.map +1 -1
- package/dist/esm/utils/projectImport.native.js +24 -33
- package/dist/esm/utils/projectImport.native.js.map +1 -1
- package/package.json +5 -6
- package/src/metro-config/getMetroConfigFromViteConfig.ts +11 -18
- package/src/transformer/metroNativeWorker.test.ts +110 -49
- package/src/transformer/metroNativeWorker.ts +3 -11
- package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
- package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
- package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
- package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
- package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
- package/types/transformer/metroNativeWorker.d.ts.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
- package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
- package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
- package/dist/cjs/transformer/transformSync.test.cjs +0 -36
- package/dist/cjs/transformer/transformSync.test.native.js +0 -49
- package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/metro-config/types.mjs.map +0 -1
- package/dist/esm/metro-config/types.native.js.map +0 -1
- package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
- package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
- package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
- package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
- package/dist/esm/rn-commands/index.mjs.map +0 -1
- package/dist/esm/rn-commands/index.native.js.map +0 -1
- package/dist/esm/transformer/babel-core.mjs.map +0 -1
- package/dist/esm/transformer/babel-core.native.js.map +0 -1
- package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
- package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
- package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
- package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
- package/dist/esm/transformer/transformSync.test.mjs +0 -37
- package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
- package/dist/esm/transformer/transformSync.test.native.js +0 -47
- package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
- package/dist/esm/transformer/types.mjs.map +0 -1
- package/dist/esm/transformer/types.native.js.map +0 -1
- package/types/transformer/metroNativeWorker.test.d.ts +0 -2
- package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
- package/types/transformer/transformSync.test.d.ts +0 -2
- package/types/transformer/transformSync.test.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","vm","parseSync","fs","os","path","createRequire","applyEnvironmentGuard","applyInlineEnvVars","assertNoUnportedBabelPlugins","extractDependencies","getCacheKey","getRemoveServerCodeRouterRoot","transform","wrapModule","buildMetroConfigInputFromViteConfig","getMetroConfigFromViteConfig","__require","x","require","Proxy","get","a","b","apply","arguments","Error","babelCalls","transformSync","transformAsync","transformFromAstSync","parse","mock","importOriginal","actual","fn","args","assertZeroBabelCalls","toBe","each","filename","sourceMap","result","minifierPath","import","meta","url","resolve","minifierConfig","Buffer","from","endsWith","dev","minify","platform","type","module","exports","code","map","output","data","runInNewContext","__d","factory","answer","every","entry","length","source","mangle","msm","fullMap","fromRawMappings","toMap","offset","indexOf","toBeGreaterThan","prefix","slice","split","position","Consumer","originalPositionFor","line","column","at","deps","names","d","name","toContain","not","reactDep","find","isESMImportAtSource","asyncType","toBeNull","locs","loc","start","toBeGreaterThanOrEqual","end","helperDep","isOptional","toBeUndefined","on","allowOptionalDependencies","exclude","wrappedWithoutId","moduleId","dependencyIds","toHaveLength","lineCount","depNames","dependencies","sourceCode","Object","entries","toMatch","jsonSource","JSON","stringify","version","toEqual","assetRegistryPath","publicPath","key1","globalPrefix","projectRoot","key2","key3","mockViteConfig","root","process","cwd","env","ONE_METRO_NATIVE_TRANSFORMS","configDefault","defaultConfig","transformerPath","transformer","nativeTransforms","tempDir","join","Date","now","mkdirSync","recursive","writeFileSync","babelConfigPath","rmSync","force","realpathSync","mkdtempSync","warnsWithConfig","spy","calls","some","includes","optionWarn","spyOn","console","mockImplementation","mockRestore","envWarn","respectedWarn","nativeInput","nativeFull","fallbackInput","fallbackFull","forcedWarn","forcedInput","forcedFull","depSource","aSource","depRes","aRes","aEmittedCode","polyfillPath","polyfillCode","readFileSync","contextObj","__DEV__","__METRO_GLOBAL_PREFIX__","global","createContext","runInContext","doubled","message","res","emitted","syncDep","asyncDep","toBeDefined","index","syncIndex","Array","isArray","tuple","toHaveProperty","consumer","addLineIndex","findIndex","l","mainSource","mainRes","emittedMain","asyncRequirePath","wrappedAsyncRequire","isDev","mainFn","promise","Promise","then","resolved","default","resWrapped","fullMapWrapped","consumerWrapped","linesWrapped","lineIndexWrapped","generatedColWrapped","posWrapped","Number","resUnwrapped","unstable_disableModuleWrapping","fullMapUnwrapped","consumerUnwrapped","linesUnwrapped","lineIndexUnwrapped","generatedColUnwrapped","posUnwrapped","contextParams","ctx","req","push","keys","context","asHermesWouldSeeIt","replace","collect","ONE_SERVER_URL","src","out","DEV","VITE_POSTHOG_API_KEY","TAMAGUI_TARGET","VITE_ENVIRONMENT","SSR","API","dynamic","dirname","customTransformOptions","vite","nativeTransformModules","withPlugins","plugins","babelConfig","toThrow","routerRoot","alias","parsed","lang","errors","program","body","n","resetModules","loadBabelConfig","loadBabelConfig2","tempDir2","tmpdir","extends"],"sources":["metroNativeWorker.test.mjs"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport * as vm from \"node:vm\";\nimport { parseSync } from \"oxc-parser\";\nimport * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\nimport { createRequire } from \"node:module\";\nimport { applyEnvironmentGuard, applyInlineEnvVars, assertNoUnportedBabelPlugins, extractDependencies, getCacheKey, getRemoveServerCodeRouterRoot, transform, wrapModule } from \"./metroNativeWorker\";\nimport { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig } from \"../metro-config/getMetroConfigFromViteConfig\";\n\nvar __require = /* @__PURE__ */ ((x) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof require !== \"undefined\" ? require : a)[b] }) : x)(function(x) {\n\tif (typeof require !== \"undefined\") return require.apply(this, arguments);\n\tthrow Error(\"Calling `require` for \\\"\" + x + \"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\");\n});\n\nconst babelCalls = {\n\ttransform: 0,\n\ttransformSync: 0,\n\ttransformAsync: 0,\n\ttransformFromAstSync: 0,\n\tparse: 0,\n\tparseSync: 0\n};\nvi.mock(\"@babel/core\", async (importOriginal) => {\n\tconst actual = await importOriginal();\n\treturn {\n\t\t...actual,\n\t\ttransform: vi.fn((...args) => {\n\t\t\tbabelCalls.transform++;\n\t\t\treturn actual.transform(...args);\n\t\t}),\n\t\ttransformSync: vi.fn((...args) => {\n\t\t\tbabelCalls.transformSync++;\n\t\t\treturn actual.transformSync(...args);\n\t\t}),\n\t\ttransformAsync: vi.fn((...args) => {\n\t\t\tbabelCalls.transformAsync++;\n\t\t\treturn actual.transformAsync(...args);\n\t\t}),\n\t\ttransformFromAstSync: vi.fn((...args) => {\n\t\t\tbabelCalls.transformFromAstSync++;\n\t\t\treturn actual.transformFromAstSync(...args);\n\t\t}),\n\t\tparse: vi.fn((...args) => {\n\t\t\tbabelCalls.parse++;\n\t\t\treturn actual.parse(...args);\n\t\t}),\n\t\tparseSync: vi.fn((...args) => {\n\t\t\tbabelCalls.parseSync++;\n\t\t\treturn actual.parseSync(...args);\n\t\t})\n\t};\n});\nbeforeEach(() => {\n\tbabelCalls.transform = 0;\n\tbabelCalls.transformSync = 0;\n\tbabelCalls.transformAsync = 0;\n\tbabelCalls.transformFromAstSync = 0;\n\tbabelCalls.parse = 0;\n\tbabelCalls.parseSync = 0;\n});\nfunction assertZeroBabelCalls() {\n\texpect(babelCalls.transform).toBe(0);\n\texpect(babelCalls.transformSync).toBe(0);\n\texpect(babelCalls.transformAsync).toBe(0);\n\texpect(babelCalls.transformFromAstSync).toBe(0);\n\texpect(babelCalls.parse).toBe(0);\n\texpect(babelCalls.parseSync).toBe(0);\n}\ndescribe(\"metroNativeWorker\", () => {\n\tit.each([\n\t\t[\"data.json\", true],\n\t\t[\"data.json\", false],\n\t\t[\"data.js\", false]\n\t])(\"minifies %s with source maps enabled=%s without stale mappings\", async (filename, sourceMap) => {\n\t\tconst result = await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { sourceMap }\n\t\t}, \"/project\", filename, Buffer.from(filename.endsWith(\".json\") ? \"{\\\"answer\\\":42}\" : \"module.exports = { answer: 42 }\"), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tconst module = { exports: {} };\n\t\tconst { code, map } = result.output[0].data;\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, () => {}, () => {}, () => {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer).toBe(42);\n\t\texpect(map.every((entry) => entry.length === 2)).toBe(true);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"minifies production modules with executable output and original source locations\", async () => {\n\t\tconst source = \"exports.answer = function answer(value) {\\n return value + 42\\n}\\n\";\n\t\tconst { code, map } = (await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { mangle: true }\n\t\t}, \"/project\", \"answer.js\", Buffer.from(source), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data;\n\t\tconst module = { exports: {} };\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, () => {}, () => {}, () => {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer(8)).toBe(50);\n\t\tconst msm = await import(\"metro-source-map\");\n\t\tconst fullMap = msm.fromRawMappings([{\n\t\t\tcode,\n\t\t\tpath: \"answer.js\",\n\t\t\tsource,\n\t\t\tmap\n\t\t}]).toMap();\n\t\tconst offset = code.indexOf(\"42\");\n\t\texpect(offset).toBeGreaterThan(-1);\n\t\tconst prefix = code.slice(0, offset).split(\"\\n\");\n\t\tconst position = new msm.Consumer(fullMap).originalPositionFor({\n\t\t\tline: prefix.length,\n\t\t\tcolumn: prefix.at(-1).length\n\t\t});\n\t\texpect(position.source).toBe(\"answer.js\");\n\t\texpect(position.line).toBe(2);\n\t\texpect(position.column).toBe(17);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"extracts all dependencies with oxc-parser and zero Babel\", () => {\n\t\tconst deps = extractDependencies(`\n import React, { useState } from 'react'\n import * as RN from 'react-native'\n import './global.css'\n import type { UserType } from './user-types'\n export { Button } from './Button'\n export * from './icons'\n export type { ThemeType } from './theme-types'\n const helper = require('./helper')\n async function loadAsync() {\n const dyn = await import('./dynamic-module')\n }\n `, \"TestComponent.tsx\");\n\t\tassertZeroBabelCalls();\n\t\tconst names = deps.map((d) => d.name);\n\t\texpect(names).toContain(\"react\");\n\t\texpect(names).toContain(\"react-native\");\n\t\texpect(names).toContain(\"./global.css\");\n\t\texpect(names).toContain(\"./Button\");\n\t\texpect(names).toContain(\"./icons\");\n\t\texpect(names).toContain(\"./helper\");\n\t\texpect(names).toContain(\"./dynamic-module\");\n\t\texpect(names).not.toContain(\"./user-types\");\n\t\texpect(names).not.toContain(\"./theme-types\");\n\t\tconst reactDep = deps.find((d) => d.name === \"react\");\n\t\texpect(reactDep.data.isESMImportAtSource).toBe(true);\n\t\texpect(reactDep.data.asyncType).toBeNull();\n\t\texpect(reactDep.data.locs.length).toBeGreaterThan(0);\n\t\tconst loc = reactDep.data.locs[0];\n\t\texpect(loc.start.line).toBeGreaterThan(0);\n\t\texpect(loc.start.column).toBeGreaterThanOrEqual(0);\n\t\texpect(loc.end.line).toBeGreaterThanOrEqual(loc.start.line);\n\t\texpect(loc.end.column).toBeGreaterThanOrEqual(0);\n\t\tconst helperDep = deps.find((d) => d.name === \"./helper\");\n\t\texpect(helperDep.data.isESMImportAtSource).toBe(false);\n\t\texpect(helperDep.data.asyncType).toBeNull();\n\t\texpect(deps.find((d) => d.name === \"./dynamic-module\").data.asyncType).toBe(\"async\");\n\t});\n\tit(\"marks requires inside a try block optional\", () => {\n\t\tconst code = `\n let worklets\n try {\n worklets = require('react-native-worklets-core')\n } catch {}\n const always = require('./always-there')\n `;\n\t\texpect(extractDependencies(code, \"setup.js\").find((d) => d.name === \"react-native-worklets-core\").data.isOptional).toBeUndefined();\n\t\tconst on = extractDependencies(code, \"setup.js\", { allowOptionalDependencies: true });\n\t\texpect(on.find((d) => d.name === \"react-native-worklets-core\").data.isOptional).toBe(true);\n\t\texpect(on.find((d) => d.name === \"./always-there\").data.isOptional).toBeUndefined();\n\t\texpect(extractDependencies(code, \"setup.js\", { allowOptionalDependencies: { exclude: [\"react-native-worklets-core\"] } }).find((d) => d.name === \"react-native-worklets-core\").data.isOptional).toBeUndefined();\n\t});\n\tit(\"wraps modules in Metro CommonJS format with and without moduleId\", () => {\n\t\tconst code = \"exports.val = 123;\";\n\t\tconst wrappedWithoutId = wrapModule(code);\n\t\texpect(wrappedWithoutId).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(wrappedWithoutId).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(wrappedWithoutId).toContain(\"exports.val = 123;\");\n\t\texpect(wrappedWithoutId.endsWith(\");\")).toBe(true);\n\t\texpect(wrapModule(code, {\n\t\t\tmoduleId: 99,\n\t\t\tdependencyIds: [\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]\n\t\t})).toContain(\", 99, [1,2,3]);\");\n\t});\n\tit(\"transforms TSX with React JSX, Hermes lowering, and ZERO Babel\", async () => {\n\t\tconst result = await transform({}, \"/project\", \"Greeter.tsx\", Buffer.from(`\n import React from 'react'\n import { View, Text } from 'react-native'\n const helper = require('./helper')\n\n export class Greeter extends React.Component {\n greeting = 'Hello from Native'\n\n async fetchGreeting() {\n return this.greeting\n }\n\n render() {\n return (\n <View testID=\"greeter\">\n <Text>{this.greeting}</Text>\n </View>\n )\n }\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output).toHaveLength(1);\n\t\tconst output = result.output[0];\n\t\texpect(output.type).toBe(\"js/module\");\n\t\texpect(output.data.lineCount).toBeGreaterThan(0);\n\t\texpect(output.data.map.length).toBeGreaterThan(0);\n\t\tconst code = output.data.code;\n\t\texpect(code).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(code).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(code).not.toContain(\"<View\");\n\t\texpect(code).not.toContain(\"<Text\");\n\t\texpect(code).toContain(\"this.greeting = \\\"Hello from Native\\\"\");\n\t\tconst depNames = result.dependencies.map((d) => d.name);\n\t\texpect(depNames).toContain(\"react\");\n\t\texpect(depNames).toContain(\"react-native\");\n\t\texpect(depNames).toContain(\"./helper\");\n\t\texpect(depNames).toContain(\"react/jsx-dev-runtime\");\n\t});\n\tit(\"lowers async generators, including the method shorthand Hermes also rejects\", async () => {\n\t\tfor (const [filename, sourceCode] of Object.entries({\n\t\t\t\"cursor.ts\": `\n export class Cursor {\n async *rows() {\n yield await Promise.resolve(1)\n }\n }\n `,\n\t\t\t\"stream.ts\": `\n export async function* stream() {\n yield 1\n }\n `,\n\t\t\t\"drain.ts\": `\n export async function drain(src) {\n for await (const x of src) {\n console.log(x)\n }\n }\n `\n\t\t})) {\n\t\t\tconst result = await transform({}, \"/project\", filename, Buffer.from(sourceCode, \"utf8\"), {\n\t\t\t\tdev: true,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\ttype: \"module\"\n\t\t\t});\n\t\t\tassertZeroBabelCalls();\n\t\t\tconst code = result.output[0].data.code;\n\t\t\texpect(code, filename).not.toMatch(/\\basync\\s+function\\s*\\*/);\n\t\t\texpect(code, filename).not.toMatch(/\\basync\\s*\\*\\s*[\\w$[]/);\n\t\t\texpect(code, filename).not.toMatch(/\\bfor\\s+await\\s*\\(/);\n\t\t}\n\t});\n\tit(\"handles JSON files without Babel\", async () => {\n\t\tconst jsonSource = JSON.stringify({\n\t\t\tname: \"my-package\",\n\t\t\tversion: \"1.0.0\"\n\t\t});\n\t\tconst result = await transform({}, \"/project\", \"package.json\", Buffer.from(jsonSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.dependencies).toEqual([]);\n\t\texpect(result.output).toHaveLength(1);\n\t\texpect(result.output[0].type).toBe(\"js/module\");\n\t\texpect(result.output[0].data.code).toContain(\"module.exports = {\\\"name\\\":\\\"my-package\\\",\\\"version\\\":\\\"1.0.0\\\"}\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function (global, require\");\n\t});\n\tit(\"handles Asset files without Babel\", async () => {\n\t\tconst result = await transform({\n\t\t\tassetRegistryPath: \"react-native/Libraries/Image/AssetRegistry\",\n\t\t\tpublicPath: \"/assets\"\n\t\t}, \"/project\", \"logo.png\", Buffer.from(\"fake-png-binary-data\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"asset\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].type).toBe(\"js/module/asset\");\n\t\texpect(result.output[0].data.code).toContain(\"registerAsset(\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function\");\n\t\texpect(result.dependencies.map((d) => d.name)).toContain(\"react-native/Libraries/Image/AssetRegistry\");\n\t});\n\tit(\"handles Flow files by stripping types without Babel\", async () => {\n\t\tconst result = await transform({}, \"/project\", \"math.js\", Buffer.from(`\n // @flow\n function add(a: number, b: number): number {\n return a + b;\n }\n export default add;\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).not.toContain(\": number\");\n\t\texpect(result.output[0].data.code).toContain(\"function add(a, b)\");\n\t});\n\tit(\"generates a deterministic cache key without Babel\", () => {\n\t\tconst key1 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tconst key2 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tconst key3 = getCacheKey({ globalPrefix: \"__other_\" }, { projectRoot: \"/app\" });\n\t\tassertZeroBabelCalls();\n\t\texpect(key1).toBe(key2);\n\t\texpect(key1).not.toBe(key3);\n\t\texpect(typeof key1).toBe(\"string\");\n\t\texpect(key1.length).toBe(64);\n\t});\n\tit(\"correctly sets transformerPath in buildMetroConfigInputFromViteConfig when active\", async () => {\n\t\tconst mockViteConfig = { root: process.cwd() };\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\tconst configDefault = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\texpect(configDefault.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\texpect(configDefault.defaultConfig.transformer.transformerPath).toBeUndefined();\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"0\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t});\n\tit(\"falls back to default Metro babel transformer when a user babel config exists\", async () => {\n\t\tconst tempDir = path.join(process.cwd(), `.tmp-metro-test-${Date.now()}`);\n\t\tfs.mkdirSync(tempDir, { recursive: true });\n\t\tfs.writeFileSync(path.join(tempDir, \"package.json\"), \"{}\");\n\t\ttry {\n\t\t\tconst mockViteConfig = { root: tempDir };\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tconst babelConfigPath = path.join(tempDir, \"babel.config.js\");\n\t\t\tfs.writeFileSync(babelConfigPath, \"// @one-generated\\nmodule.exports = {}\");\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tfs.writeFileSync(babelConfigPath, \"module.exports = { plugins: [\\\"my-plugin\\\"] }\");\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: true })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t} finally {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"warns naming the ignored user babel config when native transforms are forced\", async () => {\n\t\tconst tempDir = fs.realpathSync(fs.mkdtempSync(path.join(process.cwd(), \".tmp-metro-test-\")));\n\t\tfs.writeFileSync(path.join(tempDir, \"package.json\"), \"{}\");\n\t\tconst babelConfigPath = path.join(tempDir, \"babel.config.js\");\n\t\tfs.writeFileSync(babelConfigPath, \"module.exports = { plugins: [] }\");\n\t\ttry {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tconst mockViteConfig = { root: tempDir };\n\t\t\tconst warnsWithConfig = (spy) => spy.mock.calls.some((args) => args.join(\" \").includes(babelConfigPath));\n\t\t\tconst optionWarn = vi.spyOn(console, \"warn\").mockImplementation(() => {});\n\t\t\ttry {\n\t\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: true })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(warnsWithConfig(optionWarn)).toBe(true);\n\t\t\t} finally {\n\t\t\t\toptionWarn.mockRestore();\n\t\t\t}\n\t\t\tconst envWarn = vi.spyOn(console, \"warn\").mockImplementation(() => {});\n\t\t\ttry {\n\t\t\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(warnsWithConfig(envWarn)).toBe(true);\n\t\t\t} finally {\n\t\t\t\tenvWarn.mockRestore();\n\t\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\t}\n\t\t\tconst respectedWarn = vi.spyOn(console, \"warn\").mockImplementation(() => {});\n\t\t\ttry {\n\t\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\t\texpect(warnsWithConfig(respectedWarn)).toBe(false);\n\t\t\t} finally {\n\t\t\t\trespectedWarn.mockRestore();\n\t\t\t}\n\t\t} finally {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"selects the same transformer in both metro config builders\", async () => {\n\t\tconst tempDir = fs.realpathSync(fs.mkdtempSync(path.join(process.cwd(), \".tmp-metro-test-\")));\n\t\tfs.writeFileSync(path.join(tempDir, \"package.json\"), \"{}\");\n\t\ttry {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tconst mockViteConfig = { root: tempDir };\n\t\t\tconst nativeInput = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\t\tconst nativeFull = await getMetroConfigFromViteConfig(mockViteConfig, {});\n\t\t\texpect(nativeInput.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\texpect(nativeFull.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tconst babelConfigPath = path.join(tempDir, \"babel.config.js\");\n\t\t\tfs.writeFileSync(babelConfigPath, \"module.exports = { plugins: [] }\");\n\t\t\tconst fallbackInput = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\t\tconst fallbackFull = await getMetroConfigFromViteConfig(mockViteConfig, {});\n\t\t\texpect(fallbackInput.defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\texpect(fallbackFull.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\tconst forcedWarn = vi.spyOn(console, \"warn\").mockImplementation(() => {});\n\t\t\ttry {\n\t\t\t\tconst forcedInput = await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: true });\n\t\t\t\tconst forcedFull = await getMetroConfigFromViteConfig(mockViteConfig, { nativeTransforms: true });\n\t\t\t\texpect(forcedInput.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(forcedFull.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(forcedWarn.mock.calls.some((args) => args.join(\" \").includes(babelConfigPath))).toBe(true);\n\t\t\t} finally {\n\t\t\t\tforcedWarn.mockRestore();\n\t\t\t}\n\t\t} finally {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"transforms and executes a real 2-module Metro bundle through metro-runtime require polyfill\", async () => {\n\t\tconst depSource = \"exports.value = 42;\";\n\t\tconst aSource = \"const dep = require(\\\"./dep\\\"); module.exports = { doubled: dep.value * 2 };\";\n\t\tconst depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tconst aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(aRes.dependencies).toHaveLength(1);\n\t\texpect(aRes.dependencies[0].name).toBe(\"./dep\");\n\t\tconst aEmittedCode = aRes.output[0].data.code;\n\t\texpect(aEmittedCode).toContain(\"require(_dependencyMap[0], \\\"./dep\\\")\");\n\t\tconst polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tconst polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tconst contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aEmittedCode, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toEqual({ doubled: 84 });\n\t});\n\tit(\"transforms and executes a 2-module Metro bundle with ESM imports in dev mode\", async () => {\n\t\tconst depSource = \"export const greeting = \\\"Hello Metro Native\\\";\";\n\t\tconst aSource = \"import { greeting } from \\\"./dep\\\"; export const message = greeting.toUpperCase();\";\n\t\tconst depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tconst aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tconst polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tconst polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tconst contextObj = {\n\t\t\t__DEV__: true,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aRes.output[0].data.code, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj).message).toBe(\"HELLO METRO NATIVE\");\n\t});\n\tit(\"respects lexical scope shadowing for require calls (Astra probe)\", async () => {\n\t\tconst res = await transform({}, \"/project\", \"shadowed.js\", Buffer.from(\"function f(require){return require(\\\"./local\\\")}; module.exports=f(x=>x);\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tconst emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tconst polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tconst polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tconst contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"preserves distinct indexed identity for duplicate and mixed sync/async dependencies\", async () => {\n\t\tconst res = await transform({}, \"/project\", \"index.js\", Buffer.from(`\n const a = require('./dep');\n const b = require('./dep');\n async function load() {\n const c = await import('./dep');\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies.map((d) => d.name)).toContain(\"./dep\");\n\t\tconst syncDep = res.dependencies.find((d) => d.name === \"./dep\" && d.data.asyncType === null);\n\t\tconst asyncDep = res.dependencies.find((d) => d.name === \"./dep\" && d.data.asyncType === \"async\");\n\t\texpect(syncDep).toBeDefined();\n\t\texpect(asyncDep).toBeDefined();\n\t\texpect(syncDep.data.index).not.toEqual(asyncDep.data.index);\n\t\tconst emitted = res.output[0].data.code;\n\t\tconst syncIndex = syncDep.data.index;\n\t\texpect(emitted).toContain(`require(_dependencyMap[${syncIndex}], \"./dep\")`);\n\t});\n\tit(\"conforms to Metro map ABI with raw mapping segment tuples and accurate symbolication\", async () => {\n\t\tconst res = await transform({}, \"/project\", \"math.ts\", Buffer.from(`\n export function add(a: number, b: number): number {\n return a + b;\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tconst map = res.output[0].data.map;\n\t\texpect(Array.isArray(map)).toBe(true);\n\t\texpect(map.length).toBeGreaterThan(0);\n\t\tfor (const tuple of map) {\n\t\t\texpect(Array.isArray(tuple)).toBe(true);\n\t\t\texpect(typeof tuple[0]).toBe(\"number\");\n\t\t\texpect(typeof tuple[1]).toBe(\"number\");\n\t\t\texpect(tuple).not.toHaveProperty(\"version\");\n\t\t\texpect(tuple).not.toHaveProperty(\"mappings\");\n\t\t}\n\t\tconst msm = await import(\"metro-source-map\");\n\t\tconst fullMap = msm.fromRawMappings([{\n\t\t\tcode: res.output[0].data.code,\n\t\t\tsource: \"math.ts\",\n\t\t\tmap\n\t\t}]).toMap();\n\t\tconst consumer = new msm.Consumer(fullMap);\n\t\tconst addLineIndex = res.output[0].data.code.split(\"\\n\").findIndex((l) => l.includes(\"function add\"));\n\t\texpect(addLineIndex).toBeGreaterThan(0);\n\t\texpect(consumer.originalPositionFor({\n\t\t\tline: addLineIndex + 1,\n\t\t\tcolumn: 16\n\t\t}).line).toBe(2);\n\t});\n\tit(\"models JS hoisting in ScopeTracker for functions and vars (Astra probe)\", async () => {\n\t\tconst res = await transform({}, \"/project\", \"hoisted.js\", Buffer.from(\"function f(){const x=require(\\\"./local\\\"); function require(x){return x}; return x} module.exports=f();\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tconst emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tconst polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tconst polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tconst contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"rewrites dynamic import to Metro asyncRequire and executes promise resolution in dev and release\", async () => {\n\t\tconst depSource = \"exports.message = \\\"hello dynamic\\\";\";\n\t\tconst mainSource = \"module.exports = () => import(\\\"./dep\\\");\";\n\t\tconst depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tconst mainRes = await transform({}, \"/project\", \"main.js\", Buffer.from(mainSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 0,\n\t\t\tdependencyIds: [2, 1]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tconst depNames = mainRes.dependencies.map((d) => d.name);\n\t\texpect(depNames).toContain(\"./dep\");\n\t\texpect(depNames).toContain(\"metro-runtime/src/modules/asyncRequire\");\n\t\texpect(mainRes.dependencies.find((d) => d.name === \"./dep\").data.asyncType).toBe(\"async\");\n\t\tconst emittedMain = mainRes.output[0].data.code;\n\t\texpect(emittedMain).not.toContain(\"import(\\\"./dep\\\")\");\n\t\texpect(emittedMain).toContain(\"require(_dependencyMap[1], \\\"metro-runtime/src/modules/asyncRequire\\\")(_dependencyMap[0], _dependencyMap.paths, \\\"./dep\\\")\");\n\t\tconst polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tconst polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tconst asyncRequirePath = __require.resolve(\"metro-runtime/src/modules/asyncRequire.js\");\n\t\tconst wrappedAsyncRequire = wrapModule(fs.readFileSync(asyncRequirePath, \"utf8\"), {\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tfor (const isDev of [true, false]) {\n\t\t\tconst contextObj = {\n\t\t\t\t__DEV__: isDev,\n\t\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\t\tconsole\n\t\t\t};\n\t\t\tcontextObj.global = contextObj;\n\t\t\tvm.createContext(contextObj);\n\t\t\tvm.runInContext(polyfillCode, contextObj);\n\t\t\tvm.runInContext(wrappedAsyncRequire, contextObj);\n\t\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\t\tvm.runInContext(emittedMain, contextObj);\n\t\t\tconst mainFn = vm.runInContext(\"global.__r(0)\", contextObj);\n\t\t\texpect(typeof mainFn).toBe(\"function\");\n\t\t\tconst promise = mainFn();\n\t\t\texpect(promise instanceof Promise || promise && typeof promise.then === \"function\").toBe(true);\n\t\t\tconst resolved = await promise;\n\t\t\texpect(resolved.message).toBe(\"hello dynamic\");\n\t\t\texpect(resolved.default.message).toBe(\"hello dynamic\");\n\t\t}\n\t});\n\tit(\"preserves accurate sourcemap for tokens after rewritten require calls on the same line\", async () => {\n\t\tconst sourceCode = \"const a = require(\\\"./dep\\\"), b = 42;\";\n\t\tconst resWrapped = await transform({}, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tconst msm = await import(\"metro-source-map\");\n\t\tconst fullMapWrapped = msm.fromRawMappings([{\n\t\t\tcode: resWrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resWrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tconst consumerWrapped = new msm.Consumer(fullMapWrapped);\n\t\tconst linesWrapped = resWrapped.output[0].data.code.split(\"\\n\");\n\t\tconst lineIndexWrapped = linesWrapped.findIndex((l) => l.includes(\"b = 42\"));\n\t\texpect(lineIndexWrapped).toBeGreaterThanOrEqual(0);\n\t\tconst generatedColWrapped = linesWrapped[lineIndexWrapped].indexOf(\"b = 42\");\n\t\texpect(generatedColWrapped).toBeGreaterThan(0);\n\t\tconst posWrapped = consumerWrapped.originalPositionFor({\n\t\t\tline: lineIndexWrapped + 1,\n\t\t\tcolumn: generatedColWrapped\n\t\t});\n\t\texpect(posWrapped.line).toBe(1);\n\t\texpect(posWrapped.column).toBe(28);\n\t\texpect(sourceCode.slice(Number(posWrapped.column))).toContain(\"b = 42;\");\n\t\tconst resUnwrapped = await transform({ unstable_disableModuleWrapping: true }, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tconst fullMapUnwrapped = msm.fromRawMappings([{\n\t\t\tcode: resUnwrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resUnwrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tconst consumerUnwrapped = new msm.Consumer(fullMapUnwrapped);\n\t\tconst linesUnwrapped = resUnwrapped.output[0].data.code.split(\"\\n\");\n\t\tconst lineIndexUnwrapped = linesUnwrapped.findIndex((l) => l.includes(\"b = 42\"));\n\t\texpect(lineIndexUnwrapped).toBeGreaterThanOrEqual(0);\n\t\tconst generatedColUnwrapped = linesUnwrapped[lineIndexUnwrapped].indexOf(\"b = 42\");\n\t\tconst posUnwrapped = consumerUnwrapped.originalPositionFor({\n\t\t\tline: lineIndexUnwrapped + 1,\n\t\t\tcolumn: generatedColUnwrapped\n\t\t});\n\t\texpect(posUnwrapped.line).toBe(1);\n\t\texpect(posUnwrapped.column).toBe(28);\n\t});\n\tit(\"routes a require.context whose directory is held in a variable through the dependency map\", async () => {\n\t\tconst result = await transform({}, \"/project\", \"entry.js\", Buffer.from(`\n const routeRoot = './app'\n export const ctx = require.context(routeRoot, true, /\\\\.tsx$/)\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\texpect(result.dependencies.find((d) => d.data.contextParams != null)?.name).toBe(\"./app\");\n\t\tconst calls = [];\n\t\tlet ctx;\n\t\tvm.runInNewContext(result.output[0].data.code, { __d: (factory) => {\n\t\t\tconst module = { exports: {} };\n\t\t\tconst req = (...args) => {\n\t\t\t\tcalls.push(args);\n\t\t\t\treturn { keys: () => [] };\n\t\t\t};\n\t\t\treq.context = () => {\n\t\t\t\tthrow new Error(\"fallbackRequireContext reached\");\n\t\t\t};\n\t\t\tfactory({}, req, () => ({}), () => ({}), module, module.exports, [\"./app\"]);\n\t\t\tctx = module.exports.ctx;\n\t\t} });\n\t\texpect(ctx).toBeDefined();\n\t\texpect(calls[0][1]).toBe(\"./app\");\n\t});\n\tit(\"gives loop bodies per-iteration bindings that survive a runtime without them\", async () => {\n\t\tconst asHermesWouldSeeIt = (await transform({}, \"/project\", \"loops.ts\", Buffer.from(`\n export function collect() {\n const out = []\n for (let i = 0; i < 2; i++) out.push(() => i)\n for (const label of ['a', 'b']) out.push(() => label)\n for (const key in { x: 1, y: 2 }) out.push(() => key)\n return out.map((f) => f())\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data.code.replace(/\\bfor\\s*\\(\\s*(let|const)\\b/g, \"for (var\");\n\t\tlet collect;\n\t\tvm.runInNewContext(asHermesWouldSeeIt, { __d: (factory) => {\n\t\t\tconst module = { exports: {} };\n\t\t\tfactory({}, () => ({}), () => ({}), () => ({}), module, module.exports, []);\n\t\t\tcollect = module.exports.collect;\n\t\t} });\n\t\texpect(collect()).toEqual([\n\t\t\t0,\n\t\t\t1,\n\t\t\t\"a\",\n\t\t\t\"b\",\n\t\t\t\"x\",\n\t\t\t\"y\"\n\t\t]);\n\t});\n});\ndescribe(\"one native transform ports\", () => {\n\tit(\"inlines process.env.ONE_SERVER_URL so a native bundle can find its loaders\", () => {\n\t\tprocess.env.ONE_SERVER_URL = \"https://example.test\";\n\t\ttry {\n\t\t\texpect(applyInlineEnvVars(\"export const url = process.env.ONE_SERVER_URL;\", \"loader.ts\", false)).toBe(\"export const url = \\\"https://example.test\\\";\");\n\t\t} finally {\n\t\t\tprocess.env.ONE_SERVER_URL = void 0;\n\t\t}\n\t});\n\tit(\"leaves ONE_SERVER_URL alone when it is only a string\", () => {\n\t\tconst src = \"export const key = \\\"process.env.ONE_SERVER_URL\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", false)).toBe(src);\n\t});\n\tit(\"inlines import.meta.env reads, which oxc otherwise lowers to an empty object\", () => {\n\t\tconst out = applyInlineEnvVars(`export const key = import.meta.env.VITE_POSTHOG_API_KEY;\nexport const target = import.meta.env?.TAMAGUI_TARGET;\nexport const missing = import.meta.env.NOT_SET;\nexport const all = { ...import.meta.env };`, \"env.ts\", true, {\n\t\t\tDEV: false,\n\t\t\tVITE_POSTHOG_API_KEY: \"pk_live\",\n\t\t\tTAMAGUI_TARGET: \"native\"\n\t\t});\n\t\texpect(out).toContain(\"export const key = \\\"pk_live\\\";\");\n\t\texpect(out).toContain(\"export const target = \\\"native\\\";\");\n\t\texpect(out).toContain(\"export const missing = undefined;\");\n\t\texpect(out).toContain(\"\\\"VITE_POSTHOG_API_KEY\\\":\\\"pk_live\\\"\");\n\t\texpect(out).not.toContain(\"import.meta\");\n\t});\n\tit(\"inlines process.env keys the vite env map defines\", () => {\n\t\tconst out = applyInlineEnvVars(\"export const t = process.env.TAMAGUI_TARGET; export const u = process.env.UNKNOWN_THING;\", \"env.ts\", true, { TAMAGUI_TARGET: \"native\" });\n\t\texpect(out).toContain(\"export const t = \\\"native\\\";\");\n\t\texpect(out).toContain(\"process.env.UNKNOWN_THING\");\n\t});\n\tit(\"never rewrites an env read in an assignment target\", () => {\n\t\tconst src = \"process.env.VITE_ENVIRONMENT = \\\"ssr\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", true, { VITE_ENVIRONMENT: \"ios\" })).toBe(src);\n\t});\n\tit(\"folds branches the inlining made constant so metro never resolves dead imports\", () => {\n\t\tconst out = applyInlineEnvVars(`if (import.meta.env.SSR) { require('./server-only-thing') } else { load(import.meta.env.API) }`, \"branch.ts\", true, {\n\t\t\tSSR: false,\n\t\t\tAPI: \"https://api.test\"\n\t\t});\n\t\texpect(out).not.toContain(\"server-only-thing\");\n\t\texpect(out).toContain(\"load(\\\"https://api.test\\\")\");\n\t});\n\tit(\"folds a ternary and keeps a branch it cannot resolve\", () => {\n\t\texpect(applyInlineEnvVars(\"const a = import.meta.env.DEV ? x : y;\", \"a.ts\", true, { DEV: false })).toContain(\"const a = y;\");\n\t\tconst dynamic = \"const a = flag ? x : y;\";\n\t\texpect(applyInlineEnvVars(dynamic, \"a.ts\", true, { DEV: false })).toBe(dynamic);\n\t});\n\tit(\"runs the user native transforms that stand in for their babel plugins\", async () => {\n\t\tconst result = await transform({}, import.meta.dirname, \"ota.ts\", Buffer.from(\"export const id = __EXAMPLE_BUILD_ID; export const from = __EXAMPLE_FILENAME;\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tcustomTransformOptions: { vite: { nativeTransformModules: [\"./__fixtures__/exampleNativeTransform.cjs\"] } }\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).toContain(\"\\\"ios-build\\\"\");\n\t\texpect(result.output[0].data.code).not.toContain(\"__EXAMPLE_BUILD_ID\");\n\t\texpect(result.output[0].data.code).toContain(JSON.stringify(path.join(import.meta.dirname, \"ota.ts\")));\n\t});\n\tit(\"refuses to build when a user babel plugin has no native port\", () => {\n\t\tconst withPlugins = (plugins) => ({ customTransformOptions: { vite: { babelConfig: { plugins } } } });\n\t\texpect(() => assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\"hot-updater/babel-plugin\"\n\t\t]))).toThrow(/hot-updater\\/babel-plugin/);\n\t\texpect(() => assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t[\"one/babel-plugin-remove-server-code\", { routerRoot: \"app\" }],\n\t\t\t[\"babel-plugin-module-resolver\", { alias: {} }],\n\t\t\t[\"one/babel-plugin-one-router-metro\", {}],\n\t\t\t\"one/babel-plugin-inline-one-server-url\",\n\t\t\t\"babel-plugin-react-compiler\",\n\t\t\t\"react-native-reanimated/plugin\"\n\t\t]))).not.toThrow();\n\t});\n\tit(\"turns a server-only import into a throw and drops native-only\", () => {\n\t\tconst out = applyEnvironmentGuard(`import 'native-only'\n\nexport const a = 1`, \"route.ts\");\n\t\texpect(out).not.toContain(\"native-only\");\n\t\texpect(out).toContain(\"server-only cannot be imported in a native environment\");\n\t\tconst parsed = parseSync(\"route.ts\", out, { lang: \"ts\" });\n\t\texpect(parsed.errors).toEqual([]);\n\t\texpect(parsed.program.body.map((n) => n.type)).toContain(\"ThrowStatement\");\n\t});\n\tit(\"reads the router root off one's remove-server-code plugin entry\", () => {\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: { vite: { babelConfig: { plugins: [[\"one/babel-plugin-remove-server-code\", { routerRoot: \"src/app\" }]] } } } })).toBe(\"src/app\");\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: {} })).toBe(void 0);\n\t});\n});\ndescribe(\"metro babel fallback config names\", () => {\n\tit(\"extends json babel configs just like the compiler detection does\", async () => {\n\t\tfor (const name of [\"babel.config.json\", \".babelrc.json\"]) {\n\t\t\tvi.resetModules();\n\t\t\tconst { loadBabelConfig: loadBabelConfig2 } = await import(\"./loadBabelConfig\");\n\t\t\tconst tempDir2 = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), \"vxrn-babel-json-\")));\n\t\t\ttry {\n\t\t\t\tfs.writeFileSync(path.join(tempDir2, name), JSON.stringify({ plugins: [] }));\n\t\t\t\texpect(loadBabelConfig2({ projectRoot: tempDir2 })).toEqual({ extends: path.join(tempDir2, name) });\n\t\t\t} finally {\n\t\t\t\tfs.rmSync(tempDir2, {\n\t\t\t\t\trecursive: true,\n\t\t\t\t\tforce: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tvi.resetModules();\n\t\tconst { loadBabelConfig } = await import(\"./loadBabelConfig\");\n\t\tconst tempDir = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), \"vxrn-babel-json-\")));\n\t\ttry {\n\t\t\tfs.writeFileSync(path.join(tempDir, \"babel.config.js\"), \"module.exports = { plugins: [] }\");\n\t\t\texpect(loadBabelConfig({ projectRoot: tempDir })).toEqual({ extends: path.join(tempDir, \"babel.config.js\") });\n\t\t} finally {\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\n\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,SAASC,SAAS,QAAQ,YAAY;AACtC,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,qBAAqB,EAAEC,kBAAkB,EAAEC,4BAA4B,EAAEC,mBAAmB,EAAEC,WAAW,EAAEC,6BAA6B,EAAEC,SAAS,EAAEC,UAAU,QAAQ,yBAAqB;AACrM,SAASC,mCAAmC,EAAEC,4BAA4B,QAAQ,kDAA8C;AAEhI,IAAIC,SAAS,GAAG,eAAgB,CAAEC,CAAC,IAAK,OAAOC,OAAO,KAAK,WAAW,GAAGA,OAAO,GAAG,OAAOC,KAAK,KAAK,WAAW,GAAG,IAAIA,KAAK,CAACF,CAAC,EAAE;EAAEG,GAAG,EAAEA,CAACC,CAAC,EAAEC,CAAC,KAAK,CAAC,OAAOJ,OAAO,KAAK,WAAW,GAAGA,OAAO,GAAGG,CAAC,EAAEC,CAAC;AAAE,CAAC,CAAC,GAAGL,CAAC,EAAE,UAASA,CAAC,EAAE;EACrN,IAAI,OAAOC,OAAO,KAAK,WAAW,EAAE,OAAOA,OAAO,CAACK,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;EACzE,MAAMC,KAAK,CAAC,0BAA0B,GAAGR,CAAC,GAAG,2JAA2J,CAAC;AAC1M,CAAC,CAAC;AAEF,MAAMS,UAAU,GAAG;EAClBd,SAAS,EAAE,CAAC;EACZe,aAAa,EAAE,CAAC;EAChBC,cAAc,EAAE,CAAC;EACjBC,oBAAoB,EAAE,CAAC;EACvBC,KAAK,EAAE,CAAC;EACR7B,SAAS,EAAE;AACZ,CAAC;AACDF,EAAE,CAACgC,IAAI,CAAC,aAAa,EAAE,MAAOC,cAAc,IAAK;EAChD,MAAMC,MAAM,GAAG,MAAMD,cAAc,CAAC,CAAC;EACrC,OAAO;IACN,GAAGC,MAAM;IACTrB,SAAS,EAAEb,EAAE,CAACmC,EAAE,CAAC,CAAC,GAAGC,IAAI,KAAK;MAC7BT,UAAU,CAACd,SAAS,EAAE;MACtB,OAAOqB,MAAM,CAACrB,SAAS,CAAC,GAAGuB,IAAI,CAAC;IACjC,CAAC,CAAC;IACFR,aAAa,EAAE5B,EAAE,CAACmC,EAAE,CAAC,CAAC,GAAGC,IAAI,KAAK;MACjCT,UAAU,CAACC,aAAa,EAAE;MAC1B,OAAOM,MAAM,CAACN,aAAa,CAAC,GAAGQ,IAAI,CAAC;IACrC,CAAC,CAAC;IACFP,cAAc,EAAE7B,EAAE,CAACmC,EAAE,CAAC,CAAC,GAAGC,IAAI,KAAK;MAClCT,UAAU,CAACE,cAAc,EAAE;MAC3B,OAAOK,MAAM,CAACL,cAAc,CAAC,GAAGO,IAAI,CAAC;IACtC,CAAC,CAAC;IACFN,oBAAoB,EAAE9B,EAAE,CAACmC,EAAE,CAAC,CAAC,GAAGC,IAAI,KAAK;MACxCT,UAAU,CAACG,oBAAoB,EAAE;MACjC,OAAOI,MAAM,CAACJ,oBAAoB,CAAC,GAAGM,IAAI,CAAC;IAC5C,CAAC,CAAC;IACFL,KAAK,EAAE/B,EAAE,CAACmC,EAAE,CAAC,CAAC,GAAGC,IAAI,KAAK;MACzBT,UAAU,CAACI,KAAK,EAAE;MAClB,OAAOG,MAAM,CAACH,KAAK,CAAC,GAAGK,IAAI,CAAC;IAC7B,CAAC,CAAC;IACFlC,SAAS,EAAEF,EAAE,CAACmC,EAAE,CAAC,CAAC,GAAGC,IAAI,KAAK;MAC7BT,UAAU,CAACzB,SAAS,EAAE;MACtB,OAAOgC,MAAM,CAAChC,SAAS,CAAC,GAAGkC,IAAI,CAAC;IACjC,CAAC;EACF,CAAC;AACF,CAAC,CAAC;AACFxC,UAAU,CAAC,MAAM;EAChB+B,UAAU,CAACd,SAAS,GAAG,CAAC;EACxBc,UAAU,CAACC,aAAa,GAAG,CAAC;EAC5BD,UAAU,CAACE,cAAc,GAAG,CAAC;EAC7BF,UAAU,CAACG,oBAAoB,GAAG,CAAC;EACnCH,UAAU,CAACI,KAAK,GAAG,CAAC;EACpBJ,UAAU,CAACzB,SAAS,GAAG,CAAC;AACzB,CAAC,CAAC;AACF,SAASmC,oBAAoBA,CAAA,EAAG;EAC/BvC,MAAM,CAAC6B,UAAU,CAACd,SAAS,CAAC,CAACyB,IAAI,CAAC,CAAC,CAAC;EACpCxC,MAAM,CAAC6B,UAAU,CAACC,aAAa,CAAC,CAACU,IAAI,CAAC,CAAC,CAAC;EACxCxC,MAAM,CAAC6B,UAAU,CAACE,cAAc,CAAC,CAACS,IAAI,CAAC,CAAC,CAAC;EACzCxC,MAAM,CAAC6B,UAAU,CAACG,oBAAoB,CAAC,CAACQ,IAAI,CAAC,CAAC,CAAC;EAC/CxC,MAAM,CAAC6B,UAAU,CAACI,KAAK,CAAC,CAACO,IAAI,CAAC,CAAC,CAAC;EAChCxC,MAAM,CAAC6B,UAAU,CAACzB,SAAS,CAAC,CAACoC,IAAI,CAAC,CAAC,CAAC;AACrC;AACAzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM;EACnCE,EAAE,CAACwC,IAAI,CAAC,CACP,CAAC,WAAW,EAAE,IAAI,CAAC,EACnB,CAAC,WAAW,EAAE,KAAK,CAAC,EACpB,CAAC,SAAS,EAAE,KAAK,CAAC,CAClB,CAAC,CAAC,gEAAgE,EAAE,OAAOC,QAAQ,EAAEC,SAAS,KAAK;IACnG,MAAMC,MAAM,GAAG,MAAM7B,SAAS,CAAC;MAC9B8B,YAAY,EAAErC,aAAa,CAACsC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,OAAO,CAAC,qBAAqB,CAAC;MAC3EC,cAAc,EAAE;QAAEP;MAAU;IAC7B,CAAC,EAAE,UAAU,EAAED,QAAQ,EAAES,MAAM,CAACC,IAAI,CAACV,QAAQ,CAACW,QAAQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,GAAG,iCAAiC,CAAC,EAAE;MACzHC,GAAG,EAAE,KAAK;MACVC,MAAM,EAAE,IAAI;MACZC,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACF,MAAMC,MAAM,GAAG;MAAEC,OAAO,EAAE,CAAC;IAAE,CAAC;IAC9B,MAAM;MAAEC,IAAI;MAAEC;IAAI,CAAC,GAAGjB,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI;IAC3C5D,EAAE,CAAC6D,eAAe,CAACJ,IAAI,EAAE;MAAEK,GAAGA,CAACC,OAAO,EAAE;QACvCA,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAER,MAAM,EAAEA,MAAM,CAACC,OAAO,EAAE,EAAE,CAAC;MACtE;IAAE,CAAC,CAAC;IACJ3D,MAAM,CAAC0D,MAAM,CAACC,OAAO,CAACQ,MAAM,CAAC,CAAC3B,IAAI,CAAC,EAAE,CAAC;IACtCxC,MAAM,CAAC6D,GAAG,CAACO,KAAK,CAAEC,KAAK,IAAKA,KAAK,CAACC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC9B,IAAI,CAAC,IAAI,CAAC;IAC3DD,oBAAoB,CAAC,CAAC;EACvB,CAAC,CAAC;EACFtC,EAAE,CAAC,kFAAkF,EAAE,YAAY;IAClG,MAAMsE,MAAM,GAAG,qEAAqE;IACpF,MAAM;MAAEX,IAAI;MAAEC;IAAI,CAAC,GAAG,CAAC,MAAM9C,SAAS,CAAC;MACtC8B,YAAY,EAAErC,aAAa,CAACsC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,OAAO,CAAC,qBAAqB,CAAC;MAC3EC,cAAc,EAAE;QAAEsB,MAAM,EAAE;MAAK;IAChC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAErB,MAAM,CAACC,IAAI,CAACmB,MAAM,CAAC,EAAE;MAChDjB,GAAG,EAAE,KAAK;MACVC,MAAM,EAAE,IAAI;MACZC,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC,EAAEK,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI;IAClB,MAAML,MAAM,GAAG;MAAEC,OAAO,EAAE,CAAC;IAAE,CAAC;IAC9BxD,EAAE,CAAC6D,eAAe,CAACJ,IAAI,EAAE;MAAEK,GAAGA,CAACC,OAAO,EAAE;QACvCA,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAER,MAAM,EAAEA,MAAM,CAACC,OAAO,EAAE,EAAE,CAAC;MACtE;IAAE,CAAC,CAAC;IACJ3D,MAAM,CAAC0D,MAAM,CAACC,OAAO,CAACQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC3B,IAAI,CAAC,EAAE,CAAC;IACzC,MAAMiC,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;IAC5C,MAAMC,OAAO,GAAGD,GAAG,CAACE,eAAe,CAAC,CAAC;MACpCf,IAAI;MACJrD,IAAI,EAAE,WAAW;MACjBgE,MAAM;MACNV;IACD,CAAC,CAAC,CAAC,CAACe,KAAK,CAAC,CAAC;IACX,MAAMC,MAAM,GAAGjB,IAAI,CAACkB,OAAO,CAAC,IAAI,CAAC;IACjC9E,MAAM,CAAC6E,MAAM,CAAC,CAACE,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,MAAMC,MAAM,GAAGpB,IAAI,CAACqB,KAAK,CAAC,CAAC,EAAEJ,MAAM,CAAC,CAACK,KAAK,CAAC,IAAI,CAAC;IAChD,MAAMC,QAAQ,GAAG,IAAIV,GAAG,CAACW,QAAQ,CAACV,OAAO,CAAC,CAACW,mBAAmB,CAAC;MAC9DC,IAAI,EAAEN,MAAM,CAACV,MAAM;MACnBiB,MAAM,EAAEP,MAAM,CAACQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAClB;IACvB,CAAC,CAAC;IACFtE,MAAM,CAACmF,QAAQ,CAACZ,MAAM,CAAC,CAAC/B,IAAI,CAAC,WAAW,CAAC;IACzCxC,MAAM,CAACmF,QAAQ,CAACG,IAAI,CAAC,CAAC9C,IAAI,CAAC,CAAC,CAAC;IAC7BxC,MAAM,CAACmF,QAAQ,CAACI,MAAM,CAAC,CAAC/C,IAAI,CAAC,EAAE,CAAC;IAChCD,oBAAoB,CAAC,CAAC;EACvB,CAAC,CAAC;EACFtC,EAAE,CAAC,0DAA0D,EAAE,MAAM;IACpE,MAAMwF,IAAI,GAAG7E,mBAAmB,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,mBAAmB,CAAC;IACzB2B,oBAAoB,CAAC,CAAC;IACtB,MAAMmD,KAAK,GAAGD,IAAI,CAAC5B,GAAG,CAAE8B,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC;IACrC5F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,OAAO,CAAC;IAChC7F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,cAAc,CAAC;IACvC7F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,cAAc,CAAC;IACvC7F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,UAAU,CAAC;IACnC7F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,SAAS,CAAC;IAClC7F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,UAAU,CAAC;IACnC7F,MAAM,CAAC0F,KAAK,CAAC,CAACG,SAAS,CAAC,kBAAkB,CAAC;IAC3C7F,MAAM,CAAC0F,KAAK,CAAC,CAACI,GAAG,CAACD,SAAS,CAAC,cAAc,CAAC;IAC3C7F,MAAM,CAAC0F,KAAK,CAAC,CAACI,GAAG,CAACD,SAAS,CAAC,eAAe,CAAC;IAC5C,MAAME,QAAQ,GAAGN,IAAI,CAACO,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC;IACrD5F,MAAM,CAAC+F,QAAQ,CAAChC,IAAI,CAACkC,mBAAmB,CAAC,CAACzD,IAAI,CAAC,IAAI,CAAC;IACpDxC,MAAM,CAAC+F,QAAQ,CAAChC,IAAI,CAACmC,SAAS,CAAC,CAACC,QAAQ,CAAC,CAAC;IAC1CnG,MAAM,CAAC+F,QAAQ,CAAChC,IAAI,CAACqC,IAAI,CAAC9B,MAAM,CAAC,CAACS,eAAe,CAAC,CAAC,CAAC;IACpD,MAAMsB,GAAG,GAAGN,QAAQ,CAAChC,IAAI,CAACqC,IAAI,CAAC,CAAC,CAAC;IACjCpG,MAAM,CAACqG,GAAG,CAACC,KAAK,CAAChB,IAAI,CAAC,CAACP,eAAe,CAAC,CAAC,CAAC;IACzC/E,MAAM,CAACqG,GAAG,CAACC,KAAK,CAACf,MAAM,CAAC,CAACgB,sBAAsB,CAAC,CAAC,CAAC;IAClDvG,MAAM,CAACqG,GAAG,CAACG,GAAG,CAAClB,IAAI,CAAC,CAACiB,sBAAsB,CAACF,GAAG,CAACC,KAAK,CAAChB,IAAI,CAAC;IAC3DtF,MAAM,CAACqG,GAAG,CAACG,GAAG,CAACjB,MAAM,CAAC,CAACgB,sBAAsB,CAAC,CAAC,CAAC;IAChD,MAAME,SAAS,GAAGhB,IAAI,CAACO,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;IACzD5F,MAAM,CAACyG,SAAS,CAAC1C,IAAI,CAACkC,mBAAmB,CAAC,CAACzD,IAAI,CAAC,KAAK,CAAC;IACtDxC,MAAM,CAACyG,SAAS,CAAC1C,IAAI,CAACmC,SAAS,CAAC,CAACC,QAAQ,CAAC,CAAC;IAC3CnG,MAAM,CAACyF,IAAI,CAACO,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,kBAAkB,CAAC,CAAC7B,IAAI,CAACmC,SAAS,CAAC,CAAC1D,IAAI,CAAC,OAAO,CAAC;EACrF,CAAC,CAAC;EACFvC,EAAE,CAAC,4CAA4C,EAAE,MAAM;IACtD,MAAM2D,IAAI,GAAG;AACf;AACA;AACA;AACA;AACA;AACA,KAAK;IACH5D,MAAM,CAACY,mBAAmB,CAACgD,IAAI,EAAE,UAAU,CAAC,CAACoC,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,4BAA4B,CAAC,CAAC7B,IAAI,CAAC2C,UAAU,CAAC,CAACC,aAAa,CAAC,CAAC;IAClI,MAAMC,EAAE,GAAGhG,mBAAmB,CAACgD,IAAI,EAAE,UAAU,EAAE;MAAEiD,yBAAyB,EAAE;IAAK,CAAC,CAAC;IACrF7G,MAAM,CAAC4G,EAAE,CAACZ,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,4BAA4B,CAAC,CAAC7B,IAAI,CAAC2C,UAAU,CAAC,CAAClE,IAAI,CAAC,IAAI,CAAC;IAC1FxC,MAAM,CAAC4G,EAAE,CAACZ,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,gBAAgB,CAAC,CAAC7B,IAAI,CAAC2C,UAAU,CAAC,CAACC,aAAa,CAAC,CAAC;IACnF3G,MAAM,CAACY,mBAAmB,CAACgD,IAAI,EAAE,UAAU,EAAE;MAAEiD,yBAAyB,EAAE;QAAEC,OAAO,EAAE,CAAC,4BAA4B;MAAE;IAAE,CAAC,CAAC,CAACd,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,4BAA4B,CAAC,CAAC7B,IAAI,CAAC2C,UAAU,CAAC,CAACC,aAAa,CAAC,CAAC;EAC/M,CAAC,CAAC;EACF1G,EAAE,CAAC,kEAAkE,EAAE,MAAM;IAC5E,MAAM2D,IAAI,GAAG,oBAAoB;IACjC,MAAMmD,gBAAgB,GAAG/F,UAAU,CAAC4C,IAAI,CAAC;IACzC5D,MAAM,CAAC+G,gBAAgB,CAAC,CAAClB,SAAS,CAAC,2GAA2G,CAAC;IAC/I7F,MAAM,CAAC+G,gBAAgB,CAAC,CAAClB,SAAS,CAAC,4BAA4B,CAAC;IAChE7F,MAAM,CAAC+G,gBAAgB,CAAC,CAAClB,SAAS,CAAC,oBAAoB,CAAC;IACxD7F,MAAM,CAAC+G,gBAAgB,CAAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAACb,IAAI,CAAC,IAAI,CAAC;IAClDxC,MAAM,CAACgB,UAAU,CAAC4C,IAAI,EAAE;MACvBoD,QAAQ,EAAE,EAAE;MACZC,aAAa,EAAE,CACd,CAAC,EACD,CAAC,EACD,CAAC;IAEH,CAAC,CAAC,CAAC,CAACpB,SAAS,CAAC,iBAAiB,CAAC;EACjC,CAAC,CAAC;EACF5F,EAAE,CAAC,gEAAgE,EAAE,YAAY;IAChF,MAAM2C,MAAM,GAAG,MAAM7B,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAEoC,MAAM,CAACC,IAAI,CAAC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,MAAM,CAAC,EAAE;MACbE,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAACoD,YAAY,CAAC,CAAC,CAAC;IACrC,MAAMpD,MAAM,GAAGlB,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC;IAC/B9D,MAAM,CAAC8D,MAAM,CAACL,IAAI,CAAC,CAACjB,IAAI,CAAC,WAAW,CAAC;IACrCxC,MAAM,CAAC8D,MAAM,CAACC,IAAI,CAACoD,SAAS,CAAC,CAACpC,eAAe,CAAC,CAAC,CAAC;IAChD/E,MAAM,CAAC8D,MAAM,CAACC,IAAI,CAACF,GAAG,CAACS,MAAM,CAAC,CAACS,eAAe,CAAC,CAAC,CAAC;IACjD,MAAMnB,IAAI,GAAGE,MAAM,CAACC,IAAI,CAACH,IAAI;IAC7B5D,MAAM,CAAC4D,IAAI,CAAC,CAACiC,SAAS,CAAC,2GAA2G,CAAC;IACnI7F,MAAM,CAAC4D,IAAI,CAAC,CAACiC,SAAS,CAAC,4BAA4B,CAAC;IACpD7F,MAAM,CAAC4D,IAAI,CAAC,CAACkC,GAAG,CAACD,SAAS,CAAC,OAAO,CAAC;IACnC7F,MAAM,CAAC4D,IAAI,CAAC,CAACkC,GAAG,CAACD,SAAS,CAAC,OAAO,CAAC;IACnC7F,MAAM,CAAC4D,IAAI,CAAC,CAACiC,SAAS,CAAC,uCAAuC,CAAC;IAC/D,MAAMuB,QAAQ,GAAGxE,MAAM,CAACyE,YAAY,CAACxD,GAAG,CAAE8B,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC;IACvD5F,MAAM,CAACoH,QAAQ,CAAC,CAACvB,SAAS,CAAC,OAAO,CAAC;IACnC7F,MAAM,CAACoH,QAAQ,CAAC,CAACvB,SAAS,CAAC,cAAc,CAAC;IAC1C7F,MAAM,CAACoH,QAAQ,CAAC,CAACvB,SAAS,CAAC,UAAU,CAAC;IACtC7F,MAAM,CAACoH,QAAQ,CAAC,CAACvB,SAAS,CAAC,uBAAuB,CAAC;EACpD,CAAC,CAAC;EACF5F,EAAE,CAAC,6EAA6E,EAAE,YAAY;IAC7F,KAAK,MAAM,CAACyC,QAAQ,EAAE4E,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAAC;MACnD,WAAW,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA,OAAO;MACJ,WAAW,EAAE;AAChB;AACA;AACA;AACA,OAAO;MACJ,UAAU,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;IACE,CAAC,CAAC,EAAE;MACH,MAAM5E,MAAM,GAAG,MAAM7B,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE2B,QAAQ,EAAES,MAAM,CAACC,IAAI,CAACkE,UAAU,EAAE,MAAM,CAAC,EAAE;QACzFhE,GAAG,EAAE,IAAI;QACTE,QAAQ,EAAE,KAAK;QACfC,IAAI,EAAE;MACP,CAAC,CAAC;MACFlB,oBAAoB,CAAC,CAAC;MACtB,MAAMqB,IAAI,GAAGhB,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;MACvC5D,MAAM,CAAC4D,IAAI,EAAElB,QAAQ,CAAC,CAACoD,GAAG,CAAC2B,OAAO,CAAC,yBAAyB,CAAC;MAC7DzH,MAAM,CAAC4D,IAAI,EAAElB,QAAQ,CAAC,CAACoD,GAAG,CAAC2B,OAAO,CAAC,uBAAuB,CAAC;MAC3DzH,MAAM,CAAC4D,IAAI,EAAElB,QAAQ,CAAC,CAACoD,GAAG,CAAC2B,OAAO,CAAC,oBAAoB,CAAC;IACzD;EACD,CAAC,CAAC;EACFxH,EAAE,CAAC,kCAAkC,EAAE,YAAY;IAClD,MAAMyH,UAAU,GAAGC,IAAI,CAACC,SAAS,CAAC;MACjChC,IAAI,EAAE,YAAY;MAClBiC,OAAO,EAAE;IACV,CAAC,CAAC;IACF,MAAMjF,MAAM,GAAG,MAAM7B,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAEoC,MAAM,CAACC,IAAI,CAACsE,UAAU,EAAE,MAAM,CAAC,EAAE;MAC/FpE,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAAC4C,MAAM,CAACyE,YAAY,CAAC,CAACS,OAAO,CAAC,EAAE,CAAC;IACvC9H,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAACoD,YAAY,CAAC,CAAC,CAAC;IACrClH,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACL,IAAI,CAAC,CAACjB,IAAI,CAAC,WAAW,CAAC;IAC/CxC,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC,kEAAkE,CAAC;IAChH7F,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC,+BAA+B,CAAC;EAC9E,CAAC,CAAC;EACF5F,EAAE,CAAC,mCAAmC,EAAE,YAAY;IACnD,MAAM2C,MAAM,GAAG,MAAM7B,SAAS,CAAC;MAC9BgH,iBAAiB,EAAE,4CAA4C;MAC/DC,UAAU,EAAE;IACb,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE7E,MAAM,CAACC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE;MACvEE,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACL,IAAI,CAAC,CAACjB,IAAI,CAAC,iBAAiB,CAAC;IACrDxC,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC,gBAAgB,CAAC;IAC9D7F,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC,cAAc,CAAC;IAC5D7F,MAAM,CAAC4C,MAAM,CAACyE,YAAY,CAACxD,GAAG,CAAE8B,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,SAAS,CAAC,4CAA4C,CAAC;EACvG,CAAC,CAAC;EACF5F,EAAE,CAAC,qDAAqD,EAAE,YAAY;IACrE,MAAM2C,MAAM,GAAG,MAAM7B,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAEoC,MAAM,CAACC,IAAI,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,MAAM,CAAC,EAAE;MACbE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACkC,GAAG,CAACD,SAAS,CAAC,UAAU,CAAC;IAC5D7F,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC,oBAAoB,CAAC;EACnE,CAAC,CAAC;EACF5F,EAAE,CAAC,mDAAmD,EAAE,MAAM;IAC7D,MAAMgI,IAAI,GAAGpH,WAAW,CAAC;MACxBqH,YAAY,EAAE,QAAQ;MACtBrF,YAAY,EAAE;IACf,CAAC,EAAE;MAAEsF,WAAW,EAAE;IAAO,CAAC,CAAC;IAC3B,MAAMC,IAAI,GAAGvH,WAAW,CAAC;MACxBqH,YAAY,EAAE,QAAQ;MACtBrF,YAAY,EAAE;IACf,CAAC,EAAE;MAAEsF,WAAW,EAAE;IAAO,CAAC,CAAC;IAC3B,MAAME,IAAI,GAAGxH,WAAW,CAAC;MAAEqH,YAAY,EAAE;IAAW,CAAC,EAAE;MAAEC,WAAW,EAAE;IAAO,CAAC,CAAC;IAC/E5F,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAACiI,IAAI,CAAC,CAACzF,IAAI,CAAC4F,IAAI,CAAC;IACvBpI,MAAM,CAACiI,IAAI,CAAC,CAACnC,GAAG,CAACtD,IAAI,CAAC6F,IAAI,CAAC;IAC3BrI,MAAM,CAAC,OAAOiI,IAAI,CAAC,CAACzF,IAAI,CAAC,QAAQ,CAAC;IAClCxC,MAAM,CAACiI,IAAI,CAAC3D,MAAM,CAAC,CAAC9B,IAAI,CAAC,EAAE,CAAC;EAC7B,CAAC,CAAC;EACFvC,EAAE,CAAC,mFAAmF,EAAE,YAAY;IACnG,MAAMqI,cAAc,GAAG;MAAEC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAAC;IAAE,CAAC;IAC9C,OAAOD,OAAO,CAACE,GAAG,CAACC,2BAA2B;IAC9C,MAAMC,aAAa,GAAG,MAAM3H,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC;IACnFtI,MAAM,CAAC4I,aAAa,CAACC,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;IAClF7F,MAAM,CAAC4I,aAAa,CAACC,aAAa,CAACE,WAAW,CAACD,eAAe,CAAC,CAACnC,aAAa,CAAC,CAAC;IAC/E3G,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE;MAAEU,gBAAgB,EAAE;IAAM,CAAC,CAAC,EAAEH,aAAa,CAACC,eAAe,CAAC,CAAChD,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;IACjK2C,OAAO,CAACE,GAAG,CAACC,2BAA2B,GAAG,GAAG;IAC7C3I,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAAChD,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;IACxI2C,OAAO,CAACE,GAAG,CAACC,2BAA2B,GAAG,GAAG;IAC7C3I,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE;MAAEU,gBAAgB,EAAE;IAAM,CAAC,CAAC,EAAEH,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;IAC7J,OAAO2C,OAAO,CAACE,GAAG,CAACC,2BAA2B;EAC/C,CAAC,CAAC;EACF1I,EAAE,CAAC,+EAA+E,EAAE,YAAY;IAC/F,MAAMgJ,OAAO,GAAG1I,IAAI,CAAC2I,IAAI,CAACV,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,mBAAmBU,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC;IACzE/I,EAAE,CAACgJ,SAAS,CAACJ,OAAO,EAAE;MAAEK,SAAS,EAAE;IAAK,CAAC,CAAC;IAC1CjJ,EAAE,CAACkJ,aAAa,CAAChJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC;IAC1D,IAAI;MACH,MAAMX,cAAc,GAAG;QAAEC,IAAI,EAAEU;MAAQ,CAAC;MACxC,OAAOT,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9C3I,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;MACpI,MAAM2D,eAAe,GAAGjJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,iBAAiB,CAAC;MAC7D5I,EAAE,CAACkJ,aAAa,CAACC,eAAe,EAAE,wCAAwC,CAAC;MAC3ExJ,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;MACpIxF,EAAE,CAACkJ,aAAa,CAACC,eAAe,EAAE,+CAA+C,CAAC;MAClFxJ,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAAChD,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;MACxI2C,OAAO,CAACE,GAAG,CAACC,2BAA2B,GAAG,GAAG;MAC7C3I,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;MACpI,OAAO2C,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9C3I,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE;QAAEU,gBAAgB,EAAE;MAAK,CAAC,CAAC,EAAEH,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;IAC7J,CAAC,SAAS;MACT,OAAO2C,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9CtI,EAAE,CAACoJ,MAAM,CAACR,OAAO,EAAE;QAClBK,SAAS,EAAE,IAAI;QACfI,KAAK,EAAE;MACR,CAAC,CAAC;IACH;EACD,CAAC,CAAC;EACFzJ,EAAE,CAAC,8EAA8E,EAAE,YAAY;IAC9F,MAAMgJ,OAAO,GAAG5I,EAAE,CAACsJ,YAAY,CAACtJ,EAAE,CAACuJ,WAAW,CAACrJ,IAAI,CAAC2I,IAAI,CAACV,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7FpI,EAAE,CAACkJ,aAAa,CAAChJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC;IAC1D,MAAMO,eAAe,GAAGjJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,iBAAiB,CAAC;IAC7D5I,EAAE,CAACkJ,aAAa,CAACC,eAAe,EAAE,kCAAkC,CAAC;IACrE,IAAI;MACH,OAAOhB,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9C,MAAML,cAAc,GAAG;QAAEC,IAAI,EAAEU;MAAQ,CAAC;MACxC,MAAMY,eAAe,GAAIC,GAAG,IAAKA,GAAG,CAAC5H,IAAI,CAAC6H,KAAK,CAACC,IAAI,CAAE1H,IAAI,IAAKA,IAAI,CAAC4G,IAAI,CAAC,GAAG,CAAC,CAACe,QAAQ,CAACT,eAAe,CAAC,CAAC;MACxG,MAAMU,UAAU,GAAGhK,EAAE,CAACiK,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;MACzE,IAAI;QACHrK,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE;UAAEU,gBAAgB,EAAE;QAAK,CAAC,CAAC,EAAEH,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;QAC5J7F,MAAM,CAAC6J,eAAe,CAACK,UAAU,CAAC,CAAC,CAAC1H,IAAI,CAAC,IAAI,CAAC;MAC/C,CAAC,SAAS;QACT0H,UAAU,CAACI,WAAW,CAAC,CAAC;MACzB;MACA,MAAMC,OAAO,GAAGrK,EAAE,CAACiK,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;MACtE,IAAI;QACH7B,OAAO,CAACE,GAAG,CAACC,2BAA2B,GAAG,GAAG;QAC7C3I,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;QACpI7F,MAAM,CAAC6J,eAAe,CAACU,OAAO,CAAC,CAAC,CAAC/H,IAAI,CAAC,IAAI,CAAC;MAC5C,CAAC,SAAS;QACT+H,OAAO,CAACD,WAAW,CAAC,CAAC;QACrB,OAAO9B,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC/C;MACA,MAAM6B,aAAa,GAAGtK,EAAE,CAACiK,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;MAC5E,IAAI;QACHrK,MAAM,CAAC,CAAC,MAAMiB,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC,EAAEO,aAAa,CAACC,eAAe,CAAC,CAAChD,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;QACxI7F,MAAM,CAAC6J,eAAe,CAACW,aAAa,CAAC,CAAC,CAAChI,IAAI,CAAC,KAAK,CAAC;MACnD,CAAC,SAAS;QACTgI,aAAa,CAACF,WAAW,CAAC,CAAC;MAC5B;IACD,CAAC,SAAS;MACT,OAAO9B,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9CtI,EAAE,CAACoJ,MAAM,CAACR,OAAO,EAAE;QAClBK,SAAS,EAAE,IAAI;QACfI,KAAK,EAAE;MACR,CAAC,CAAC;IACH;EACD,CAAC,CAAC;EACFzJ,EAAE,CAAC,4DAA4D,EAAE,YAAY;IAC5E,MAAMgJ,OAAO,GAAG5I,EAAE,CAACsJ,YAAY,CAACtJ,EAAE,CAACuJ,WAAW,CAACrJ,IAAI,CAAC2I,IAAI,CAACV,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7FpI,EAAE,CAACkJ,aAAa,CAAChJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC;IAC1D,IAAI;MACH,OAAOT,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9C,MAAML,cAAc,GAAG;QAAEC,IAAI,EAAEU;MAAQ,CAAC;MACxC,MAAMwB,WAAW,GAAG,MAAMxJ,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC;MACjF,MAAMoC,UAAU,GAAG,MAAMxJ,4BAA4B,CAACoH,cAAc,EAAE,CAAC,CAAC,CAAC;MACzEtI,MAAM,CAACyK,WAAW,CAAC5B,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;MAChF7F,MAAM,CAAC0K,UAAU,CAAC5B,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;MACjE,MAAM2D,eAAe,GAAGjJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,iBAAiB,CAAC;MAC7D5I,EAAE,CAACkJ,aAAa,CAACC,eAAe,EAAE,kCAAkC,CAAC;MACrE,MAAMmB,aAAa,GAAG,MAAM1J,mCAAmC,CAACqH,cAAc,EAAE,CAAC,CAAC,CAAC;MACnF,MAAMsC,YAAY,GAAG,MAAM1J,4BAA4B,CAACoH,cAAc,EAAE,CAAC,CAAC,CAAC;MAC3EtI,MAAM,CAAC2K,aAAa,CAAC9B,aAAa,CAACC,eAAe,CAAC,CAAChD,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;MACtF7F,MAAM,CAAC4K,YAAY,CAAC9B,eAAe,CAAC,CAAChD,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;MACvE,MAAMgF,UAAU,GAAG3K,EAAE,CAACiK,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;MACzE,IAAI;QACH,MAAMS,WAAW,GAAG,MAAM7J,mCAAmC,CAACqH,cAAc,EAAE;UAAEU,gBAAgB,EAAE;QAAK,CAAC,CAAC;QACzG,MAAM+B,UAAU,GAAG,MAAM7J,4BAA4B,CAACoH,cAAc,EAAE;UAAEU,gBAAgB,EAAE;QAAK,CAAC,CAAC;QACjGhJ,MAAM,CAAC8K,WAAW,CAACjC,aAAa,CAACC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;QAChF7F,MAAM,CAAC+K,UAAU,CAACjC,eAAe,CAAC,CAACjD,SAAS,CAAC,mBAAmB,CAAC;QACjE7F,MAAM,CAAC6K,UAAU,CAAC3I,IAAI,CAAC6H,KAAK,CAACC,IAAI,CAAE1H,IAAI,IAAKA,IAAI,CAAC4G,IAAI,CAAC,GAAG,CAAC,CAACe,QAAQ,CAACT,eAAe,CAAC,CAAC,CAAC,CAAChH,IAAI,CAAC,IAAI,CAAC;MAClG,CAAC,SAAS;QACTqI,UAAU,CAACP,WAAW,CAAC,CAAC;MACzB;IACD,CAAC,SAAS;MACT,OAAO9B,OAAO,CAACE,GAAG,CAACC,2BAA2B;MAC9CtI,EAAE,CAACoJ,MAAM,CAACR,OAAO,EAAE;QAClBK,SAAS,EAAE,IAAI;QACfI,KAAK,EAAE;MACR,CAAC,CAAC;IACH;EACD,CAAC,CAAC;EACFzJ,EAAE,CAAC,6FAA6F,EAAE,YAAY;IAC7G,MAAM+K,SAAS,GAAG,qBAAqB;IACvC,MAAMC,OAAO,GAAG,8EAA8E;IAC9F,MAAMC,MAAM,GAAG,MAAMnK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAEoC,MAAM,CAACC,IAAI,CAAC4H,SAAS,EAAE,MAAM,CAAC,EAAE;MACxF1H,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE;IAChB,CAAC,CAAC;IACF,MAAMkE,IAAI,GAAG,MAAMpK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAEoC,MAAM,CAACC,IAAI,CAAC6H,OAAO,EAAE,MAAM,CAAC,EAAE;MAClF3H,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC;IACF1E,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAACmL,IAAI,CAAC9D,YAAY,CAAC,CAACH,YAAY,CAAC,CAAC,CAAC;IACzClH,MAAM,CAACmL,IAAI,CAAC9D,YAAY,CAAC,CAAC,CAAC,CAACzB,IAAI,CAAC,CAACpD,IAAI,CAAC,OAAO,CAAC;IAC/C,MAAM4I,YAAY,GAAGD,IAAI,CAACrH,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;IAC7C5D,MAAM,CAACoL,YAAY,CAAC,CAACvF,SAAS,CAAC,uCAAuC,CAAC;IACvE,MAAMwF,YAAY,GAAGlK,SAAS,CAAC8B,OAAO,CAAC,wCAAwC,CAAC;IAChF,MAAMqI,YAAY,GAAGjL,EAAE,CAACkL,YAAY,CAACF,YAAY,EAAE,MAAM,CAAC;IAC1D,MAAMG,UAAU,GAAG;MAClBC,OAAO,EAAE,KAAK;MACdC,uBAAuB,EAAE,EAAE;MAC3BtB;IACD,CAAC;IACDoB,UAAU,CAACG,MAAM,GAAGH,UAAU;IAC9BrL,EAAE,CAACyL,aAAa,CAACJ,UAAU,CAAC;IAC5BrL,EAAE,CAAC0L,YAAY,CAACP,YAAY,EAAEE,UAAU,CAAC;IACzCrL,EAAE,CAAC0L,YAAY,CAACX,MAAM,CAACpH,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,EAAE4H,UAAU,CAAC;IACvDrL,EAAE,CAAC0L,YAAY,CAACT,YAAY,EAAEI,UAAU,CAAC;IACzCxL,MAAM,CAACG,EAAE,CAAC0L,YAAY,CAAC,eAAe,EAAEL,UAAU,CAAC,CAAC,CAAC1D,OAAO,CAAC;MAAEgE,OAAO,EAAE;IAAG,CAAC,CAAC;EAC9E,CAAC,CAAC;EACF7L,EAAE,CAAC,8EAA8E,EAAE,YAAY;IAC9F,MAAM+K,SAAS,GAAG,iDAAiD;IACnE,MAAMC,OAAO,GAAG,oFAAoF;IACpG,MAAMC,MAAM,GAAG,MAAMnK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAEoC,MAAM,CAACC,IAAI,CAAC4H,SAAS,EAAE,MAAM,CAAC,EAAE;MACxF1H,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE;IAChB,CAAC,CAAC;IACF,MAAMkE,IAAI,GAAG,MAAMpK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAEoC,MAAM,CAACC,IAAI,CAAC6H,OAAO,EAAE,MAAM,CAAC,EAAE;MAClF3H,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC;IACF1E,oBAAoB,CAAC,CAAC;IACtB,MAAM8I,YAAY,GAAGlK,SAAS,CAAC8B,OAAO,CAAC,wCAAwC,CAAC;IAChF,MAAMqI,YAAY,GAAGjL,EAAE,CAACkL,YAAY,CAACF,YAAY,EAAE,MAAM,CAAC;IAC1D,MAAMG,UAAU,GAAG;MAClBC,OAAO,EAAE,IAAI;MACbC,uBAAuB,EAAE,EAAE;MAC3BtB;IACD,CAAC;IACDoB,UAAU,CAACG,MAAM,GAAGH,UAAU;IAC9BrL,EAAE,CAACyL,aAAa,CAACJ,UAAU,CAAC;IAC5BrL,EAAE,CAAC0L,YAAY,CAACP,YAAY,EAAEE,UAAU,CAAC;IACzCrL,EAAE,CAAC0L,YAAY,CAACX,MAAM,CAACpH,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,EAAE4H,UAAU,CAAC;IACvDrL,EAAE,CAAC0L,YAAY,CAACV,IAAI,CAACrH,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,EAAE4H,UAAU,CAAC;IACrDxL,MAAM,CAACG,EAAE,CAAC0L,YAAY,CAAC,eAAe,EAAEL,UAAU,CAAC,CAACO,OAAO,CAAC,CAACvJ,IAAI,CAAC,oBAAoB,CAAC;EACxF,CAAC,CAAC;EACFvC,EAAE,CAAC,kEAAkE,EAAE,YAAY;IAClF,MAAM+L,GAAG,GAAG,MAAMjL,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAEoC,MAAM,CAACC,IAAI,CAAC,2EAA2E,EAAE,MAAM,CAAC,EAAE;MAC5JE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE;IAChB,CAAC,CAAC;IACF1E,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAACgM,GAAG,CAAC3E,YAAY,CAAC,CAACH,YAAY,CAAC,CAAC,CAAC;IACxC,MAAM+E,OAAO,GAAGD,GAAG,CAAClI,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;IACvC5D,MAAM,CAACiM,OAAO,CAAC,CAACnG,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;IAClD7F,MAAM,CAACiM,OAAO,CAAC,CAACxE,OAAO,CAAC,2BAA2B,CAAC;IACpD,MAAM4D,YAAY,GAAGlK,SAAS,CAAC8B,OAAO,CAAC,wCAAwC,CAAC;IAChF,MAAMqI,YAAY,GAAGjL,EAAE,CAACkL,YAAY,CAACF,YAAY,EAAE,MAAM,CAAC;IAC1D,MAAMG,UAAU,GAAG;MAClBC,OAAO,EAAE,KAAK;MACdC,uBAAuB,EAAE,EAAE;MAC3BtB;IACD,CAAC;IACDoB,UAAU,CAACG,MAAM,GAAGH,UAAU;IAC9BrL,EAAE,CAACyL,aAAa,CAACJ,UAAU,CAAC;IAC5BrL,EAAE,CAAC0L,YAAY,CAACP,YAAY,EAAEE,UAAU,CAAC;IACzCrL,EAAE,CAAC0L,YAAY,CAACI,OAAO,EAAET,UAAU,CAAC;IACpCxL,MAAM,CAACG,EAAE,CAAC0L,YAAY,CAAC,eAAe,EAAEL,UAAU,CAAC,CAAC,CAAChJ,IAAI,CAAC,SAAS,CAAC;EACrE,CAAC,CAAC;EACFvC,EAAE,CAAC,qFAAqF,EAAE,YAAY;IACrG,MAAM+L,GAAG,GAAG,MAAMjL,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAEoC,MAAM,CAACC,IAAI,CAAC;AACtE;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,MAAM,CAAC,EAAE;MACbE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAACgM,GAAG,CAAC3E,YAAY,CAACxD,GAAG,CAAE8B,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,SAAS,CAAC,OAAO,CAAC;IAC9D,MAAMqG,OAAO,GAAGF,GAAG,CAAC3E,YAAY,CAACrB,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,IAAID,CAAC,CAAC5B,IAAI,CAACmC,SAAS,KAAK,IAAI,CAAC;IAC7F,MAAMiG,QAAQ,GAAGH,GAAG,CAAC3E,YAAY,CAACrB,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,IAAID,CAAC,CAAC5B,IAAI,CAACmC,SAAS,KAAK,OAAO,CAAC;IACjGlG,MAAM,CAACkM,OAAO,CAAC,CAACE,WAAW,CAAC,CAAC;IAC7BpM,MAAM,CAACmM,QAAQ,CAAC,CAACC,WAAW,CAAC,CAAC;IAC9BpM,MAAM,CAACkM,OAAO,CAACnI,IAAI,CAACsI,KAAK,CAAC,CAACvG,GAAG,CAACgC,OAAO,CAACqE,QAAQ,CAACpI,IAAI,CAACsI,KAAK,CAAC;IAC3D,MAAMJ,OAAO,GAAGD,GAAG,CAAClI,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;IACvC,MAAM0I,SAAS,GAAGJ,OAAO,CAACnI,IAAI,CAACsI,KAAK;IACpCrM,MAAM,CAACiM,OAAO,CAAC,CAACpG,SAAS,CAAC,0BAA0ByG,SAAS,aAAa,CAAC;EAC5E,CAAC,CAAC;EACFrM,EAAE,CAAC,sFAAsF,EAAE,YAAY;IACtG,MAAM+L,GAAG,GAAG,MAAMjL,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAEoC,MAAM,CAACC,IAAI,CAAC;AACrE;AACA;AACA;AACA,KAAK,EAAE,MAAM,CAAC,EAAE;MACbE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtB,MAAMsB,GAAG,GAAGmI,GAAG,CAAClI,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACF,GAAG;IAClC7D,MAAM,CAACuM,KAAK,CAACC,OAAO,CAAC3I,GAAG,CAAC,CAAC,CAACrB,IAAI,CAAC,IAAI,CAAC;IACrCxC,MAAM,CAAC6D,GAAG,CAACS,MAAM,CAAC,CAACS,eAAe,CAAC,CAAC,CAAC;IACrC,KAAK,MAAM0H,KAAK,IAAI5I,GAAG,EAAE;MACxB7D,MAAM,CAACuM,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC,CAACjK,IAAI,CAAC,IAAI,CAAC;MACvCxC,MAAM,CAAC,OAAOyM,KAAK,CAAC,CAAC,CAAC,CAAC,CAACjK,IAAI,CAAC,QAAQ,CAAC;MACtCxC,MAAM,CAAC,OAAOyM,KAAK,CAAC,CAAC,CAAC,CAAC,CAACjK,IAAI,CAAC,QAAQ,CAAC;MACtCxC,MAAM,CAACyM,KAAK,CAAC,CAAC3G,GAAG,CAAC4G,cAAc,CAAC,SAAS,CAAC;MAC3C1M,MAAM,CAACyM,KAAK,CAAC,CAAC3G,GAAG,CAAC4G,cAAc,CAAC,UAAU,CAAC;IAC7C;IACA,MAAMjI,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;IAC5C,MAAMC,OAAO,GAAGD,GAAG,CAACE,eAAe,CAAC,CAAC;MACpCf,IAAI,EAAEoI,GAAG,CAAClI,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;MAC7BW,MAAM,EAAE,SAAS;MACjBV;IACD,CAAC,CAAC,CAAC,CAACe,KAAK,CAAC,CAAC;IACX,MAAM+H,QAAQ,GAAG,IAAIlI,GAAG,CAACW,QAAQ,CAACV,OAAO,CAAC;IAC1C,MAAMkI,YAAY,GAAGZ,GAAG,CAAClI,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAACsB,KAAK,CAAC,IAAI,CAAC,CAAC2H,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAAC7C,QAAQ,CAAC,cAAc,CAAC,CAAC;IACrGjK,MAAM,CAAC4M,YAAY,CAAC,CAAC7H,eAAe,CAAC,CAAC,CAAC;IACvC/E,MAAM,CAAC2M,QAAQ,CAACtH,mBAAmB,CAAC;MACnCC,IAAI,EAAEsH,YAAY,GAAG,CAAC;MACtBrH,MAAM,EAAE;IACT,CAAC,CAAC,CAACD,IAAI,CAAC,CAAC9C,IAAI,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC;EACFvC,EAAE,CAAC,yEAAyE,EAAE,YAAY;IACzF,MAAM+L,GAAG,GAAG,MAAMjL,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAEoC,MAAM,CAACC,IAAI,CAAC,yGAAyG,EAAE,MAAM,CAAC,EAAE;MACzLE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE;IAChB,CAAC,CAAC;IACF1E,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAACgM,GAAG,CAAC3E,YAAY,CAAC,CAACH,YAAY,CAAC,CAAC,CAAC;IACxC,MAAM+E,OAAO,GAAGD,GAAG,CAAClI,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;IACvC5D,MAAM,CAACiM,OAAO,CAAC,CAACnG,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;IAClD7F,MAAM,CAACiM,OAAO,CAAC,CAACxE,OAAO,CAAC,2BAA2B,CAAC;IACpD,MAAM4D,YAAY,GAAGlK,SAAS,CAAC8B,OAAO,CAAC,wCAAwC,CAAC;IAChF,MAAMqI,YAAY,GAAGjL,EAAE,CAACkL,YAAY,CAACF,YAAY,EAAE,MAAM,CAAC;IAC1D,MAAMG,UAAU,GAAG;MAClBC,OAAO,EAAE,KAAK;MACdC,uBAAuB,EAAE,EAAE;MAC3BtB;IACD,CAAC;IACDoB,UAAU,CAACG,MAAM,GAAGH,UAAU;IAC9BrL,EAAE,CAACyL,aAAa,CAACJ,UAAU,CAAC;IAC5BrL,EAAE,CAAC0L,YAAY,CAACP,YAAY,EAAEE,UAAU,CAAC;IACzCrL,EAAE,CAAC0L,YAAY,CAACI,OAAO,EAAET,UAAU,CAAC;IACpCxL,MAAM,CAACG,EAAE,CAAC0L,YAAY,CAAC,eAAe,EAAEL,UAAU,CAAC,CAAC,CAAChJ,IAAI,CAAC,SAAS,CAAC;EACrE,CAAC,CAAC;EACFvC,EAAE,CAAC,kGAAkG,EAAE,YAAY;IAClH,MAAM+K,SAAS,GAAG,sCAAsC;IACxD,MAAM+B,UAAU,GAAG,2CAA2C;IAC9D,MAAM7B,MAAM,GAAG,MAAMnK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAEoC,MAAM,CAACC,IAAI,CAAC4H,SAAS,EAAE,MAAM,CAAC,EAAE;MACxF1H,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE;IAChB,CAAC,CAAC;IACF,MAAM+F,OAAO,GAAG,MAAMjM,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAEoC,MAAM,CAACC,IAAI,CAAC2J,UAAU,EAAE,MAAM,CAAC,EAAE;MAC3FzJ,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACduD,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC;IACrB,CAAC,CAAC;IACF1E,oBAAoB,CAAC,CAAC;IACtB,MAAM6E,QAAQ,GAAG4F,OAAO,CAAC3F,YAAY,CAACxD,GAAG,CAAE8B,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC;IACxD5F,MAAM,CAACoH,QAAQ,CAAC,CAACvB,SAAS,CAAC,OAAO,CAAC;IACnC7F,MAAM,CAACoH,QAAQ,CAAC,CAACvB,SAAS,CAAC,wCAAwC,CAAC;IACpE7F,MAAM,CAACgN,OAAO,CAAC3F,YAAY,CAACrB,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC,CAAC7B,IAAI,CAACmC,SAAS,CAAC,CAAC1D,IAAI,CAAC,OAAO,CAAC;IACzF,MAAMyK,WAAW,GAAGD,OAAO,CAAClJ,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;IAC/C5D,MAAM,CAACiN,WAAW,CAAC,CAACnH,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;IACtD7F,MAAM,CAACiN,WAAW,CAAC,CAACpH,SAAS,CAAC,4HAA4H,CAAC;IAC3J,MAAMwF,YAAY,GAAGlK,SAAS,CAAC8B,OAAO,CAAC,wCAAwC,CAAC;IAChF,MAAMqI,YAAY,GAAGjL,EAAE,CAACkL,YAAY,CAACF,YAAY,EAAE,MAAM,CAAC;IAC1D,MAAM6B,gBAAgB,GAAG/L,SAAS,CAAC8B,OAAO,CAAC,2CAA2C,CAAC;IACvF,MAAMkK,mBAAmB,GAAGnM,UAAU,CAACX,EAAE,CAACkL,YAAY,CAAC2B,gBAAgB,EAAE,MAAM,CAAC,EAAE;MACjFlG,QAAQ,EAAE,CAAC;MACXC,aAAa,EAAE;IAChB,CAAC,CAAC;IACF,KAAK,MAAMmG,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;MAClC,MAAM5B,UAAU,GAAG;QAClBC,OAAO,EAAE2B,KAAK;QACd1B,uBAAuB,EAAE,EAAE;QAC3BtB;MACD,CAAC;MACDoB,UAAU,CAACG,MAAM,GAAGH,UAAU;MAC9BrL,EAAE,CAACyL,aAAa,CAACJ,UAAU,CAAC;MAC5BrL,EAAE,CAAC0L,YAAY,CAACP,YAAY,EAAEE,UAAU,CAAC;MACzCrL,EAAE,CAAC0L,YAAY,CAACsB,mBAAmB,EAAE3B,UAAU,CAAC;MAChDrL,EAAE,CAAC0L,YAAY,CAACX,MAAM,CAACpH,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,EAAE4H,UAAU,CAAC;MACvDrL,EAAE,CAAC0L,YAAY,CAACoB,WAAW,EAAEzB,UAAU,CAAC;MACxC,MAAM6B,MAAM,GAAGlN,EAAE,CAAC0L,YAAY,CAAC,eAAe,EAAEL,UAAU,CAAC;MAC3DxL,MAAM,CAAC,OAAOqN,MAAM,CAAC,CAAC7K,IAAI,CAAC,UAAU,CAAC;MACtC,MAAM8K,OAAO,GAAGD,MAAM,CAAC,CAAC;MACxBrN,MAAM,CAACsN,OAAO,YAAYC,OAAO,IAAID,OAAO,IAAI,OAAOA,OAAO,CAACE,IAAI,KAAK,UAAU,CAAC,CAAChL,IAAI,CAAC,IAAI,CAAC;MAC9F,MAAMiL,QAAQ,GAAG,MAAMH,OAAO;MAC9BtN,MAAM,CAACyN,QAAQ,CAAC1B,OAAO,CAAC,CAACvJ,IAAI,CAAC,eAAe,CAAC;MAC9CxC,MAAM,CAACyN,QAAQ,CAACC,OAAO,CAAC3B,OAAO,CAAC,CAACvJ,IAAI,CAAC,eAAe,CAAC;IACvD;EACD,CAAC,CAAC;EACFvC,EAAE,CAAC,wFAAwF,EAAE,YAAY;IACxG,MAAMqH,UAAU,GAAG,uCAAuC;IAC1D,MAAMqG,UAAU,GAAG,MAAM5M,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAEoC,MAAM,CAACC,IAAI,CAACkE,UAAU,EAAE,MAAM,CAAC,EAAE;MAC7FhE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFlB,oBAAoB,CAAC,CAAC;IACtB,MAAMkC,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;IAC5C,MAAMmJ,cAAc,GAAGnJ,GAAG,CAACE,eAAe,CAAC,CAAC;MAC3Cf,IAAI,EAAE+J,UAAU,CAAC7J,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;MACpCW,MAAM,EAAE,QAAQ;MAChBV,GAAG,EAAE8J,UAAU,CAAC7J,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACF;IAChC,CAAC,CAAC,CAAC,CAACe,KAAK,CAAC,CAAC;IACX,MAAMiJ,eAAe,GAAG,IAAIpJ,GAAG,CAACW,QAAQ,CAACwI,cAAc,CAAC;IACxD,MAAME,YAAY,GAAGH,UAAU,CAAC7J,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAACsB,KAAK,CAAC,IAAI,CAAC;IAC/D,MAAM6I,gBAAgB,GAAGD,YAAY,CAACjB,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAAC7C,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5EjK,MAAM,CAAC+N,gBAAgB,CAAC,CAACxH,sBAAsB,CAAC,CAAC,CAAC;IAClD,MAAMyH,mBAAmB,GAAGF,YAAY,CAACC,gBAAgB,CAAC,CAACjJ,OAAO,CAAC,QAAQ,CAAC;IAC5E9E,MAAM,CAACgO,mBAAmB,CAAC,CAACjJ,eAAe,CAAC,CAAC,CAAC;IAC9C,MAAMkJ,UAAU,GAAGJ,eAAe,CAACxI,mBAAmB,CAAC;MACtDC,IAAI,EAAEyI,gBAAgB,GAAG,CAAC;MAC1BxI,MAAM,EAAEyI;IACT,CAAC,CAAC;IACFhO,MAAM,CAACiO,UAAU,CAAC3I,IAAI,CAAC,CAAC9C,IAAI,CAAC,CAAC,CAAC;IAC/BxC,MAAM,CAACiO,UAAU,CAAC1I,MAAM,CAAC,CAAC/C,IAAI,CAAC,EAAE,CAAC;IAClCxC,MAAM,CAACsH,UAAU,CAACrC,KAAK,CAACiJ,MAAM,CAACD,UAAU,CAAC1I,MAAM,CAAC,CAAC,CAAC,CAACM,SAAS,CAAC,SAAS,CAAC;IACxE,MAAMsI,YAAY,GAAG,MAAMpN,SAAS,CAAC;MAAEqN,8BAA8B,EAAE;IAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAEjL,MAAM,CAACC,IAAI,CAACkE,UAAU,EAAE,MAAM,CAAC,EAAE;MACrIhE,GAAG,EAAE,KAAK;MACVE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACF,MAAM4K,gBAAgB,GAAG5J,GAAG,CAACE,eAAe,CAAC,CAAC;MAC7Cf,IAAI,EAAEuK,YAAY,CAACrK,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI;MACtCW,MAAM,EAAE,QAAQ;MAChBV,GAAG,EAAEsK,YAAY,CAACrK,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACF;IAClC,CAAC,CAAC,CAAC,CAACe,KAAK,CAAC,CAAC;IACX,MAAM0J,iBAAiB,GAAG,IAAI7J,GAAG,CAACW,QAAQ,CAACiJ,gBAAgB,CAAC;IAC5D,MAAME,cAAc,GAAGJ,YAAY,CAACrK,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAACsB,KAAK,CAAC,IAAI,CAAC;IACnE,MAAMsJ,kBAAkB,GAAGD,cAAc,CAAC1B,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAAC7C,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChFjK,MAAM,CAACwO,kBAAkB,CAAC,CAACjI,sBAAsB,CAAC,CAAC,CAAC;IACpD,MAAMkI,qBAAqB,GAAGF,cAAc,CAACC,kBAAkB,CAAC,CAAC1J,OAAO,CAAC,QAAQ,CAAC;IAClF,MAAM4J,YAAY,GAAGJ,iBAAiB,CAACjJ,mBAAmB,CAAC;MAC1DC,IAAI,EAAEkJ,kBAAkB,GAAG,CAAC;MAC5BjJ,MAAM,EAAEkJ;IACT,CAAC,CAAC;IACFzO,MAAM,CAAC0O,YAAY,CAACpJ,IAAI,CAAC,CAAC9C,IAAI,CAAC,CAAC,CAAC;IACjCxC,MAAM,CAAC0O,YAAY,CAACnJ,MAAM,CAAC,CAAC/C,IAAI,CAAC,EAAE,CAAC;EACrC,CAAC,CAAC;EACFvC,EAAE,CAAC,2FAA2F,EAAE,YAAY;IAC3G,MAAM2C,MAAM,GAAG,MAAM7B,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAEoC,MAAM,CAACC,IAAI,CAAC;AACzE;AACA;AACA,KAAK,EAAE,MAAM,CAAC,EAAE;MACbE,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC;IACFzD,MAAM,CAAC4C,MAAM,CAACyE,YAAY,CAACrB,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAAC5B,IAAI,CAAC4K,aAAa,IAAI,IAAI,CAAC,EAAE/I,IAAI,CAAC,CAACpD,IAAI,CAAC,OAAO,CAAC;IACzF,MAAMuH,KAAK,GAAG,EAAE;IAChB,IAAI6E,GAAG;IACPzO,EAAE,CAAC6D,eAAe,CAACpB,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,EAAE;MAAEK,GAAG,EAAGC,OAAO,IAAK;QAClE,MAAMR,MAAM,GAAG;UAAEC,OAAO,EAAE,CAAC;QAAE,CAAC;QAC9B,MAAMkL,GAAG,GAAGA,CAAC,GAAGvM,IAAI,KAAK;UACxByH,KAAK,CAAC+E,IAAI,CAACxM,IAAI,CAAC;UAChB,OAAO;YAAEyM,IAAI,EAAEA,CAAA,KAAM;UAAG,CAAC;QAC1B,CAAC;QACDF,GAAG,CAACG,OAAO,GAAG,MAAM;UACnB,MAAM,IAAIpN,KAAK,CAAC,gCAAgC,CAAC;QAClD,CAAC;QACDsC,OAAO,CAAC,CAAC,CAAC,EAAE2K,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAEnL,MAAM,EAAEA,MAAM,CAACC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3EiL,GAAG,GAAGlL,MAAM,CAACC,OAAO,CAACiL,GAAG;MACzB;IAAE,CAAC,CAAC;IACJ5O,MAAM,CAAC4O,GAAG,CAAC,CAACxC,WAAW,CAAC,CAAC;IACzBpM,MAAM,CAAC+J,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACvH,IAAI,CAAC,OAAO,CAAC;EAClC,CAAC,CAAC;EACFvC,EAAE,CAAC,8EAA8E,EAAE,YAAY;IAC9F,MAAMgP,kBAAkB,GAAG,CAAC,MAAMlO,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAEoC,MAAM,CAACC,IAAI,CAAC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,MAAM,CAAC,EAAE;MACbE,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE;IACP,CAAC,CAAC,EAAEK,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAACsL,OAAO,CAAC,6BAA6B,EAAE,UAAU,CAAC;IAC1E,IAAIC,OAAO;IACXhP,EAAE,CAAC6D,eAAe,CAACiL,kBAAkB,EAAE;MAAEhL,GAAG,EAAGC,OAAO,IAAK;QAC1D,MAAMR,MAAM,GAAG;UAAEC,OAAO,EAAE,CAAC;QAAE,CAAC;QAC9BO,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAER,MAAM,EAAEA,MAAM,CAACC,OAAO,EAAE,EAAE,CAAC;QAC3EwL,OAAO,GAAGzL,MAAM,CAACC,OAAO,CAACwL,OAAO;MACjC;IAAE,CAAC,CAAC;IACJnP,MAAM,CAACmP,OAAO,CAAC,CAAC,CAAC,CAACrH,OAAO,CAAC,CACzB,CAAC,EACD,CAAC,EACD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACH,CAAC;EACH,CAAC,CAAC;AACH,CAAC,CAAC;AACF/H,QAAQ,CAAC,4BAA4B,EAAE,MAAM;EAC5CE,EAAE,CAAC,4EAA4E,EAAE,MAAM;IACtFuI,OAAO,CAACE,GAAG,CAAC0G,cAAc,GAAG,sBAAsB;IACnD,IAAI;MACHpP,MAAM,CAACU,kBAAkB,CAAC,gDAAgD,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC8B,IAAI,CAAC,8CAA8C,CAAC;IACtJ,CAAC,SAAS;MACTgG,OAAO,CAACE,GAAG,CAAC0G,cAAc,GAAG,KAAK,CAAC;IACpC;EACD,CAAC,CAAC;EACFnP,EAAE,CAAC,sDAAsD,EAAE,MAAM;IAChE,MAAMoP,GAAG,GAAG,oDAAoD;IAChErP,MAAM,CAACU,kBAAkB,CAAC2O,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC7M,IAAI,CAAC6M,GAAG,CAAC;EACzD,CAAC,CAAC;EACFpP,EAAE,CAAC,8EAA8E,EAAE,MAAM;IACxF,MAAMqP,GAAG,GAAG5O,kBAAkB,CAAC;AACjC;AACA;AACA,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;MAC1D6O,GAAG,EAAE,KAAK;MACVC,oBAAoB,EAAE,SAAS;MAC/BC,cAAc,EAAE;IACjB,CAAC,CAAC;IACFzP,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,iCAAiC,CAAC;IACxD7F,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,mCAAmC,CAAC;IAC1D7F,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,mCAAmC,CAAC;IAC1D7F,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,sCAAsC,CAAC;IAC7D7F,MAAM,CAACsP,GAAG,CAAC,CAACxJ,GAAG,CAACD,SAAS,CAAC,aAAa,CAAC;EACzC,CAAC,CAAC;EACF5F,EAAE,CAAC,mDAAmD,EAAE,MAAM;IAC7D,MAAMqP,GAAG,GAAG5O,kBAAkB,CAAC,0FAA0F,EAAE,QAAQ,EAAE,IAAI,EAAE;MAAE+O,cAAc,EAAE;IAAS,CAAC,CAAC;IACxKzP,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,8BAA8B,CAAC;IACrD7F,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,2BAA2B,CAAC;EACnD,CAAC,CAAC;EACF5F,EAAE,CAAC,oDAAoD,EAAE,MAAM;IAC9D,MAAMoP,GAAG,GAAG,yCAAyC;IACrDrP,MAAM,CAACU,kBAAkB,CAAC2O,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;MAAEK,gBAAgB,EAAE;IAAM,CAAC,CAAC,CAAC,CAAClN,IAAI,CAAC6M,GAAG,CAAC;EACrF,CAAC,CAAC;EACFpP,EAAE,CAAC,gFAAgF,EAAE,MAAM;IAC1F,MAAMqP,GAAG,GAAG5O,kBAAkB,CAAC,gGAAgG,EAAE,WAAW,EAAE,IAAI,EAAE;MACnJiP,GAAG,EAAE,KAAK;MACVC,GAAG,EAAE;IACN,CAAC,CAAC;IACF5P,MAAM,CAACsP,GAAG,CAAC,CAACxJ,GAAG,CAACD,SAAS,CAAC,mBAAmB,CAAC;IAC9C7F,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,4BAA4B,CAAC;EACpD,CAAC,CAAC;EACF5F,EAAE,CAAC,sDAAsD,EAAE,MAAM;IAChED,MAAM,CAACU,kBAAkB,CAAC,wCAAwC,EAAE,MAAM,EAAE,IAAI,EAAE;MAAE6O,GAAG,EAAE;IAAM,CAAC,CAAC,CAAC,CAAC1J,SAAS,CAAC,cAAc,CAAC;IAC5H,MAAMgK,OAAO,GAAG,yBAAyB;IACzC7P,MAAM,CAACU,kBAAkB,CAACmP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;MAAEN,GAAG,EAAE;IAAM,CAAC,CAAC,CAAC,CAAC/M,IAAI,CAACqN,OAAO,CAAC;EAChF,CAAC,CAAC;EACF5P,EAAE,CAAC,uEAAuE,EAAE,YAAY;IACvF,MAAM2C,MAAM,GAAG,MAAM7B,SAAS,CAAC,CAAC,CAAC,EAAE+B,MAAM,CAACC,IAAI,CAAC+M,OAAO,EAAE,QAAQ,EAAE3M,MAAM,CAACC,IAAI,CAAC,+EAA+E,EAAE,MAAM,CAAC,EAAE;MACvKE,GAAG,EAAE,IAAI;MACTE,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,QAAQ;MACdsM,sBAAsB,EAAE;QAAEC,IAAI,EAAE;UAAEC,sBAAsB,EAAE,CAAC,2CAA2C;QAAE;MAAE;IAC3G,CAAC,CAAC;IACF1N,oBAAoB,CAAC,CAAC;IACtBvC,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC,eAAe,CAAC;IAC7D7F,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACkC,GAAG,CAACD,SAAS,CAAC,oBAAoB,CAAC;IACtE7F,MAAM,CAAC4C,MAAM,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC,CAACiC,SAAS,CAAC8B,IAAI,CAACC,SAAS,CAACrH,IAAI,CAAC2I,IAAI,CAACpG,MAAM,CAACC,IAAI,CAAC+M,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;EACvG,CAAC,CAAC;EACF7P,EAAE,CAAC,8DAA8D,EAAE,MAAM;IACxE,MAAMiQ,WAAW,GAAIC,OAAO,KAAM;MAAEJ,sBAAsB,EAAE;QAAEC,IAAI,EAAE;UAAEI,WAAW,EAAE;YAAED;UAAQ;QAAE;MAAE;IAAE,CAAC,CAAC;IACrGnQ,MAAM,CAAC,MAAMW,4BAA4B,CAACuP,WAAW,CAAC,CACrD,CAAC,8DAA8D,EAAE;MAAExH,GAAG,EAAE,CAAC;IAAE,CAAC,CAAC,EAC7E,oCAAoC,EACpC,0BAA0B,CAC1B,CAAC,CAAC,CAAC,CAAC2H,OAAO,CAAC,2BAA2B,CAAC;IACzCrQ,MAAM,CAAC,MAAMW,4BAA4B,CAACuP,WAAW,CAAC,CACrD,CAAC,8DAA8D,EAAE;MAAExH,GAAG,EAAE,CAAC;IAAE,CAAC,CAAC,EAC7E,oCAAoC,EACpC,CAAC,qCAAqC,EAAE;MAAE4H,UAAU,EAAE;IAAM,CAAC,CAAC,EAC9D,CAAC,8BAA8B,EAAE;MAAEC,KAAK,EAAE,CAAC;IAAE,CAAC,CAAC,EAC/C,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC,EACzC,wCAAwC,EACxC,6BAA6B,EAC7B,gCAAgC,CAChC,CAAC,CAAC,CAAC,CAACzK,GAAG,CAACuK,OAAO,CAAC,CAAC;EACnB,CAAC,CAAC;EACFpQ,EAAE,CAAC,+DAA+D,EAAE,MAAM;IACzE,MAAMqP,GAAG,GAAG7O,qBAAqB,CAAC;AACpC;AACA,mBAAmB,EAAE,UAAU,CAAC;IAC9BT,MAAM,CAACsP,GAAG,CAAC,CAACxJ,GAAG,CAACD,SAAS,CAAC,aAAa,CAAC;IACxC7F,MAAM,CAACsP,GAAG,CAAC,CAACzJ,SAAS,CAAC,wDAAwD,CAAC;IAC/E,MAAM2K,MAAM,GAAGpQ,SAAS,CAAC,UAAU,EAAEkP,GAAG,EAAE;MAAEmB,IAAI,EAAE;IAAK,CAAC,CAAC;IACzDzQ,MAAM,CAACwQ,MAAM,CAACE,MAAM,CAAC,CAAC5I,OAAO,CAAC,EAAE,CAAC;IACjC9H,MAAM,CAACwQ,MAAM,CAACG,OAAO,CAACC,IAAI,CAAC/M,GAAG,CAAEgN,CAAC,IAAKA,CAAC,CAACpN,IAAI,CAAC,CAAC,CAACoC,SAAS,CAAC,gBAAgB,CAAC;EAC3E,CAAC,CAAC;EACF5F,EAAE,CAAC,iEAAiE,EAAE,MAAM;IAC3ED,MAAM,CAACc,6BAA6B,CAAC;MAAEiP,sBAAsB,EAAE;QAAEC,IAAI,EAAE;UAAEI,WAAW,EAAE;YAAED,OAAO,EAAE,CAAC,CAAC,qCAAqC,EAAE;cAAEG,UAAU,EAAE;YAAU,CAAC,CAAC;UAAE;QAAE;MAAE;IAAE,CAAC,CAAC,CAAC,CAAC9N,IAAI,CAAC,SAAS,CAAC;IAC/LxC,MAAM,CAACc,6BAA6B,CAAC;MAAEiP,sBAAsB,EAAE,CAAC;IAAE,CAAC,CAAC,CAAC,CAACvN,IAAI,CAAC,KAAK,CAAC,CAAC;EACnF,CAAC,CAAC;AACH,CAAC,CAAC;AACFzC,QAAQ,CAAC,mCAAmC,EAAE,MAAM;EACnDE,EAAE,CAAC,kEAAkE,EAAE,YAAY;IAClF,KAAK,MAAM2F,IAAI,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,EAAE;MAC1D1F,EAAE,CAAC4Q,YAAY,CAAC,CAAC;MACjB,MAAM;QAAEC,eAAe,EAAEC;MAAiB,CAAC,GAAG,MAAM,MAAM,CAAC,uBAAmB,CAAC;MAC/E,MAAMC,QAAQ,GAAG5Q,EAAE,CAACsJ,YAAY,CAACtJ,EAAE,CAACuJ,WAAW,CAACrJ,IAAI,CAAC2I,IAAI,CAAC5I,EAAE,CAAC4Q,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;MAC5F,IAAI;QACH7Q,EAAE,CAACkJ,aAAa,CAAChJ,IAAI,CAAC2I,IAAI,CAAC+H,QAAQ,EAAErL,IAAI,CAAC,EAAE+B,IAAI,CAACC,SAAS,CAAC;UAAEuI,OAAO,EAAE;QAAG,CAAC,CAAC,CAAC;QAC5EnQ,MAAM,CAACgR,gBAAgB,CAAC;UAAE7I,WAAW,EAAE8I;QAAS,CAAC,CAAC,CAAC,CAACnJ,OAAO,CAAC;UAAEqJ,OAAO,EAAE5Q,IAAI,CAAC2I,IAAI,CAAC+H,QAAQ,EAAErL,IAAI;QAAE,CAAC,CAAC;MACpG,CAAC,SAAS;QACTvF,EAAE,CAACoJ,MAAM,CAACwH,QAAQ,EAAE;UACnB3H,SAAS,EAAE,IAAI;UACfI,KAAK,EAAE;QACR,CAAC,CAAC;MACH;IACD;IACAxJ,EAAE,CAAC4Q,YAAY,CAAC,CAAC;IACjB,MAAM;MAAEC;IAAgB,CAAC,GAAG,MAAM,MAAM,CAAC,uBAAmB,CAAC;IAC7D,MAAM9H,OAAO,GAAG5I,EAAE,CAACsJ,YAAY,CAACtJ,EAAE,CAACuJ,WAAW,CAACrJ,IAAI,CAAC2I,IAAI,CAAC5I,EAAE,CAAC4Q,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC3F,IAAI;MACH7Q,EAAE,CAACkJ,aAAa,CAAChJ,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,iBAAiB,CAAC,EAAE,kCAAkC,CAAC;MAC3FjJ,MAAM,CAAC+Q,eAAe,CAAC;QAAE5I,WAAW,EAAEc;MAAQ,CAAC,CAAC,CAAC,CAACnB,OAAO,CAAC;QAAEqJ,OAAO,EAAE5Q,IAAI,CAAC2I,IAAI,CAACD,OAAO,EAAE,iBAAiB;MAAE,CAAC,CAAC;IAC9G,CAAC,SAAS;MACT5I,EAAE,CAACoJ,MAAM,CAACR,OAAO,EAAE;QAClBK,SAAS,EAAE,IAAI;QACfI,KAAK,EAAE;MACR,CAAC,CAAC;IACH;EACD,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|