@expo/prebuild-config 55.0.5 → 55.0.7
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/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js +0 -8
- package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js.map +1 -1
- package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.d.ts +0 -3
- package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js +5 -34
- package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js.map +1 -1
- package/package.json +5 -5
- package/build/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.d.ts +0 -4
- package/build/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.js +0 -54
- package/build/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.js.map +0 -1
|
@@ -12,13 +12,6 @@ function _configPlugins() {
|
|
|
12
12
|
};
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
|
-
function _withEnforceNavigationBarContrast() {
|
|
16
|
-
const data = require("./withEnforceNavigationBarContrast");
|
|
17
|
-
_withEnforceNavigationBarContrast = function () {
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
return data;
|
|
21
|
-
}
|
|
22
15
|
function _withRestoreDefaultTheme() {
|
|
23
16
|
const data = require("./withRestoreDefaultTheme");
|
|
24
17
|
_withRestoreDefaultTheme = function () {
|
|
@@ -35,7 +28,6 @@ function applyEdgeToEdge(config) {
|
|
|
35
28
|
if ('edgeToEdgeEnabled' in (config.android ?? {})) {
|
|
36
29
|
_configPlugins().WarningAggregator.addWarningAndroid(TAG, '`edgeToEdgeEnabled` customization is no longer available - Android 16 makes edge-to-edge mandatory. Remove the `edgeToEdgeEnabled` entry from your app.json/app.config.js.');
|
|
37
30
|
}
|
|
38
|
-
config = (0, _withEnforceNavigationBarContrast().withEnforceNavigationBarContrast)(config, config.androidNavigationBar?.enforceContrast !== false);
|
|
39
31
|
|
|
40
32
|
// We always restore the default theme in case the project has a leftover react-native-edge-to-edge theme from SDK 53.
|
|
41
33
|
// If they are using react-native-edge-to-edge config plugin it'll be reapplied later.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withEdgeToEdge.js","names":["_configPlugins","data","require","
|
|
1
|
+
{"version":3,"file":"withEdgeToEdge.js","names":["_configPlugins","data","require","_withRestoreDefaultTheme","TAG","withEdgeToEdge","config","applyEdgeToEdge","exports","android","WarningAggregator","addWarningAndroid","withRestoreDefaultTheme","_default","default"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEdgeToEdge.ts"],"sourcesContent":["import {\n ConfigPlugin,\n ExportedConfigWithProps,\n WarningAggregator,\n AndroidConfig,\n} from '@expo/config-plugins';\nimport { type ExpoConfig } from '@expo/config-types';\n\nimport { withRestoreDefaultTheme } from './withRestoreDefaultTheme';\n\nconst TAG = 'EDGE_TO_EDGE_PLUGIN';\n\nexport type ResourceXMLConfig = ExportedConfigWithProps<AndroidConfig.Resources.ResourceXML>;\n\nexport const withEdgeToEdge: ConfigPlugin = (config) => {\n return applyEdgeToEdge(config);\n};\n\nexport function applyEdgeToEdge(config: ExpoConfig): ExpoConfig {\n if ('edgeToEdgeEnabled' in (config.android ?? {})) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`edgeToEdgeEnabled` customization is no longer available - Android 16 makes edge-to-edge mandatory. Remove the `edgeToEdgeEnabled` entry from your app.json/app.config.js.'\n );\n }\n\n // We always restore the default theme in case the project has a leftover react-native-edge-to-edge theme from SDK 53.\n // If they are using react-native-edge-to-edge config plugin it'll be reapplied later.\n return withRestoreDefaultTheme(config);\n}\n\nexport default withEdgeToEdge;\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAE,yBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,wBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,GAAG,GAAG,qBAAqB;AAI1B,MAAMC,cAA4B,GAAIC,MAAM,IAAK;EACtD,OAAOC,eAAe,CAACD,MAAM,CAAC;AAChC,CAAC;AAACE,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAEK,SAASE,eAAeA,CAACD,MAAkB,EAAc;EAC9D,IAAI,mBAAmB,KAAKA,MAAM,CAACG,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;IACjDC,kCAAiB,CAACC,iBAAiB,CACjCP,GAAG,EACH,4KACF,CAAC;EACH;;EAEA;EACA;EACA,OAAO,IAAAQ,kDAAuB,EAACN,MAAM,CAAC;AACxC;AAAC,IAAAO,QAAA,GAAAL,OAAA,CAAAM,OAAA,GAEcT,cAAc","ignoreList":[]}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { AndroidConfig, ConfigPlugin } from '@expo/config-plugins';
|
|
2
2
|
import { ExpoConfig } from '@expo/config-types';
|
|
3
3
|
export declare const withNavigationBar: ConfigPlugin;
|
|
4
|
-
export declare function setNavigationBarColors(config: Pick<ExpoConfig, 'androidNavigationBar'>, colors: AndroidConfig.Resources.ResourceXML): AndroidConfig.Resources.ResourceXML;
|
|
5
4
|
export declare function setNavigationBarStyles(config: Pick<ExpoConfig, 'androidNavigationBar'>, styles: AndroidConfig.Resources.ResourceXML): AndroidConfig.Resources.ResourceXML;
|
|
6
|
-
export declare function getNavigationBarImmersiveMode(config: Pick<ExpoConfig, 'androidNavigationBar'>): "leanback" | "immersive" | "sticky-immersive" | null;
|
|
7
|
-
export declare function getNavigationBarColor(config: Pick<ExpoConfig, 'androidNavigationBar'>): string | null;
|
|
8
5
|
export declare function getNavigationBarStyle(config: Pick<ExpoConfig, 'androidNavigationBar'>): "light-content" | "dark-content";
|
|
@@ -3,10 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getNavigationBarColor = getNavigationBarColor;
|
|
7
|
-
exports.getNavigationBarImmersiveMode = getNavigationBarImmersiveMode;
|
|
8
6
|
exports.getNavigationBarStyle = getNavigationBarStyle;
|
|
9
|
-
exports.setNavigationBarColors = setNavigationBarColors;
|
|
10
7
|
exports.setNavigationBarStyles = setNavigationBarStyles;
|
|
11
8
|
exports.withNavigationBar = void 0;
|
|
12
9
|
function _configPlugins() {
|
|
@@ -16,40 +13,20 @@ function _configPlugins() {
|
|
|
16
13
|
};
|
|
17
14
|
return data;
|
|
18
15
|
}
|
|
19
|
-
const NAVIGATION_BAR_COLOR = 'navigationBarColor';
|
|
20
16
|
const withNavigationBar = config => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// Immersive mode needs to be set programmatically
|
|
24
|
-
_configPlugins().WarningAggregator.addWarningAndroid('androidNavigationBar.visible', 'Property is deprecated in Android 11 (API 30) and will be removed from Expo SDK.', 'https://expo.fyi/android-navigation-bar-visible-deprecated');
|
|
17
|
+
if ('androidNavigationBar' in config) {
|
|
18
|
+
_configPlugins().WarningAggregator.addWarningAndroid('androidNavigationBar', 'property is deprecated. Use the `expo-navigation-bar` plugin configuration instead.');
|
|
25
19
|
}
|
|
26
|
-
config = withNavigationBarColors(config);
|
|
27
20
|
config = withNavigationBarStyles(config);
|
|
28
21
|
return config;
|
|
29
22
|
};
|
|
30
23
|
exports.withNavigationBar = withNavigationBar;
|
|
31
|
-
const withNavigationBarColors = config => {
|
|
32
|
-
return (0, _configPlugins().withAndroidColors)(config, config => {
|
|
33
|
-
config.modResults = setNavigationBarColors(config, config.modResults);
|
|
34
|
-
return config;
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
24
|
const withNavigationBarStyles = config => {
|
|
38
25
|
return (0, _configPlugins().withAndroidStyles)(config, config => {
|
|
39
26
|
config.modResults = setNavigationBarStyles(config, config.modResults);
|
|
40
27
|
return config;
|
|
41
28
|
});
|
|
42
29
|
};
|
|
43
|
-
function setNavigationBarColors(config, colors) {
|
|
44
|
-
const hexString = getNavigationBarColor(config);
|
|
45
|
-
if (hexString) {
|
|
46
|
-
colors = _configPlugins().AndroidConfig.Colors.setColorItem(_configPlugins().AndroidConfig.Resources.buildResourceItem({
|
|
47
|
-
name: NAVIGATION_BAR_COLOR,
|
|
48
|
-
value: hexString
|
|
49
|
-
}), colors);
|
|
50
|
-
}
|
|
51
|
-
return colors;
|
|
52
|
-
}
|
|
53
30
|
function setNavigationBarStyles(config, styles) {
|
|
54
31
|
styles = _configPlugins().AndroidConfig.Styles.assignStylesValue(styles, {
|
|
55
32
|
add: getNavigationBarStyle(config) === 'dark-content',
|
|
@@ -58,19 +35,13 @@ function setNavigationBarStyles(config, styles) {
|
|
|
58
35
|
value: 'true'
|
|
59
36
|
});
|
|
60
37
|
styles = _configPlugins().AndroidConfig.Styles.assignStylesValue(styles, {
|
|
61
|
-
add:
|
|
38
|
+
add: true,
|
|
62
39
|
parent: _configPlugins().AndroidConfig.Styles.getAppThemeGroup(),
|
|
63
|
-
name:
|
|
64
|
-
value:
|
|
40
|
+
name: 'android:navigationBarColor',
|
|
41
|
+
value: '@android:color/transparent'
|
|
65
42
|
});
|
|
66
43
|
return styles;
|
|
67
44
|
}
|
|
68
|
-
function getNavigationBarImmersiveMode(config) {
|
|
69
|
-
return config.androidNavigationBar?.visible || null;
|
|
70
|
-
}
|
|
71
|
-
function getNavigationBarColor(config) {
|
|
72
|
-
return config.androidNavigationBar?.backgroundColor || null;
|
|
73
|
-
}
|
|
74
45
|
function getNavigationBarStyle(config) {
|
|
75
46
|
return config.androidNavigationBar?.barStyle || 'light-content';
|
|
76
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAndroidNavigationBar.js","names":["_configPlugins","data","require","
|
|
1
|
+
{"version":3,"file":"withAndroidNavigationBar.js","names":["_configPlugins","data","require","withNavigationBar","config","WarningAggregator","addWarningAndroid","withNavigationBarStyles","exports","withAndroidStyles","modResults","setNavigationBarStyles","styles","AndroidConfig","Styles","assignStylesValue","add","getNavigationBarStyle","parent","getAppThemeGroup","name","value","androidNavigationBar","barStyle"],"sources":["../../../../src/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.ts"],"sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n WarningAggregator,\n withAndroidStyles,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nexport const withNavigationBar: ConfigPlugin = (config) => {\n if ('androidNavigationBar' in config) {\n WarningAggregator.addWarningAndroid(\n 'androidNavigationBar',\n 'property is deprecated. Use the `expo-navigation-bar` plugin configuration instead.'\n );\n }\n\n config = withNavigationBarStyles(config);\n return config;\n};\n\nconst withNavigationBarStyles: ConfigPlugin = (config) => {\n return withAndroidStyles(config, (config) => {\n config.modResults = setNavigationBarStyles(config, config.modResults);\n return config;\n });\n};\n\nexport function setNavigationBarStyles(\n config: Pick<ExpoConfig, 'androidNavigationBar'>,\n styles: AndroidConfig.Resources.ResourceXML\n): AndroidConfig.Resources.ResourceXML {\n styles = AndroidConfig.Styles.assignStylesValue(styles, {\n add: getNavigationBarStyle(config) === 'dark-content',\n parent: AndroidConfig.Styles.getAppThemeGroup(),\n name: 'android:windowLightNavigationBar',\n value: 'true',\n });\n styles = AndroidConfig.Styles.assignStylesValue(styles, {\n add: true,\n parent: AndroidConfig.Styles.getAppThemeGroup(),\n name: 'android:navigationBarColor',\n value: '@android:color/transparent',\n });\n\n return styles;\n}\n\nexport function getNavigationBarStyle(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.barStyle || 'light-content';\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQO,MAAME,iBAA+B,GAAIC,MAAM,IAAK;EACzD,IAAI,sBAAsB,IAAIA,MAAM,EAAE;IACpCC,kCAAiB,CAACC,iBAAiB,CACjC,sBAAsB,EACtB,qFACF,CAAC;EACH;EAEAF,MAAM,GAAGG,uBAAuB,CAACH,MAAM,CAAC;EACxC,OAAOA,MAAM;AACf,CAAC;AAACI,OAAA,CAAAL,iBAAA,GAAAA,iBAAA;AAEF,MAAMI,uBAAqC,GAAIH,MAAM,IAAK;EACxD,OAAO,IAAAK,kCAAiB,EAACL,MAAM,EAAGA,MAAM,IAAK;IAC3CA,MAAM,CAACM,UAAU,GAAGC,sBAAsB,CAACP,MAAM,EAAEA,MAAM,CAACM,UAAU,CAAC;IACrE,OAAON,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAEM,SAASO,sBAAsBA,CACpCP,MAAgD,EAChDQ,MAA2C,EACN;EACrCA,MAAM,GAAGC,8BAAa,CAACC,MAAM,CAACC,iBAAiB,CAACH,MAAM,EAAE;IACtDI,GAAG,EAAEC,qBAAqB,CAACb,MAAM,CAAC,KAAK,cAAc;IACrDc,MAAM,EAAEL,8BAAa,CAACC,MAAM,CAACK,gBAAgB,CAAC,CAAC;IAC/CC,IAAI,EAAE,kCAAkC;IACxCC,KAAK,EAAE;EACT,CAAC,CAAC;EACFT,MAAM,GAAGC,8BAAa,CAACC,MAAM,CAACC,iBAAiB,CAACH,MAAM,EAAE;IACtDI,GAAG,EAAE,IAAI;IACTE,MAAM,EAAEL,8BAAa,CAACC,MAAM,CAACK,gBAAgB,CAAC,CAAC;IAC/CC,IAAI,EAAE,4BAA4B;IAClCC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAOT,MAAM;AACf;AAEO,SAASK,qBAAqBA,CAACb,MAAgD,EAAE;EACtF,OAAOA,MAAM,CAACkB,oBAAoB,EAAEC,QAAQ,IAAI,eAAe;AACjE","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/prebuild-config",
|
|
3
|
-
"version": "55.0.
|
|
3
|
+
"version": "55.0.7",
|
|
4
4
|
"description": "Get the prebuild config",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"expo-module-scripts": "^55.0.2"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@expo/config": "~55.0.
|
|
44
|
-
"@expo/config-plugins": "~55.0.
|
|
45
|
-
"@expo/config-types": "^55.0.
|
|
43
|
+
"@expo/config": "~55.0.8",
|
|
44
|
+
"@expo/config-plugins": "~55.0.6",
|
|
45
|
+
"@expo/config-types": "^55.0.5",
|
|
46
46
|
"@expo/image-utils": "^0.8.12",
|
|
47
47
|
"@expo/json-file": "^10.0.12",
|
|
48
48
|
"@react-native/normalize-colors": "0.83.2",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "b183e5cbd95eb6ee54a878291c7077d8d63e4850"
|
|
58
58
|
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
import { ResourceXMLConfig } from './withEdgeToEdge';
|
|
3
|
-
export declare const withEnforceNavigationBarContrast: ConfigPlugin<boolean>;
|
|
4
|
-
export declare function applyEnforceNavigationBarContrast(config: ResourceXMLConfig, enforceNavigationBarContrast: boolean): ResourceXMLConfig;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.applyEnforceNavigationBarContrast = applyEnforceNavigationBarContrast;
|
|
7
|
-
exports.withEnforceNavigationBarContrast = void 0;
|
|
8
|
-
function _configPlugins() {
|
|
9
|
-
const data = require("@expo/config-plugins");
|
|
10
|
-
_configPlugins = function () {
|
|
11
|
-
return data;
|
|
12
|
-
};
|
|
13
|
-
return data;
|
|
14
|
-
}
|
|
15
|
-
const withEnforceNavigationBarContrast = (config, enforceNavigationBarContrast) => {
|
|
16
|
-
return (0, _configPlugins().withAndroidStyles)(config, config => {
|
|
17
|
-
return applyEnforceNavigationBarContrast(config, enforceNavigationBarContrast);
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
exports.withEnforceNavigationBarContrast = withEnforceNavigationBarContrast;
|
|
21
|
-
function applyEnforceNavigationBarContrast(config, enforceNavigationBarContrast) {
|
|
22
|
-
const enforceNavigationBarContrastItem = {
|
|
23
|
-
_: enforceNavigationBarContrast ? 'true' : 'false',
|
|
24
|
-
$: {
|
|
25
|
-
name: 'android:enforceNavigationBarContrast',
|
|
26
|
-
'tools:targetApi': '29'
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
const {
|
|
30
|
-
style = []
|
|
31
|
-
} = config.modResults.resources;
|
|
32
|
-
const mainThemeIndex = style.findIndex(({
|
|
33
|
-
$
|
|
34
|
-
}) => $.name === 'AppTheme');
|
|
35
|
-
if (mainThemeIndex === -1) {
|
|
36
|
-
return config;
|
|
37
|
-
}
|
|
38
|
-
const mainTheme = style[mainThemeIndex];
|
|
39
|
-
const enforceIndex = mainTheme.item.findIndex(({
|
|
40
|
-
$
|
|
41
|
-
}) => $.name === 'android:enforceNavigationBarContrast');
|
|
42
|
-
if (enforceIndex !== -1) {
|
|
43
|
-
style[mainThemeIndex].item[enforceIndex] = enforceNavigationBarContrastItem;
|
|
44
|
-
return config;
|
|
45
|
-
}
|
|
46
|
-
config.modResults.resources.style = [{
|
|
47
|
-
$: style[mainThemeIndex].$,
|
|
48
|
-
item: [enforceNavigationBarContrastItem, ...mainTheme.item]
|
|
49
|
-
}, ...style.filter(({
|
|
50
|
-
$
|
|
51
|
-
}) => $.name !== 'AppTheme')];
|
|
52
|
-
return config;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=withEnforceNavigationBarContrast.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withEnforceNavigationBarContrast.js","names":["_configPlugins","data","require","withEnforceNavigationBarContrast","config","enforceNavigationBarContrast","withAndroidStyles","applyEnforceNavigationBarContrast","exports","enforceNavigationBarContrastItem","_","$","name","style","modResults","resources","mainThemeIndex","findIndex","mainTheme","enforceIndex","item","filter"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.ts"],"sourcesContent":["import { ConfigPlugin, withAndroidStyles } from '@expo/config-plugins';\n\nimport { ResourceXMLConfig } from './withEdgeToEdge';\n\nexport const withEnforceNavigationBarContrast: ConfigPlugin<boolean> = (\n config,\n enforceNavigationBarContrast: boolean\n) => {\n return withAndroidStyles(config, (config) => {\n return applyEnforceNavigationBarContrast(config, enforceNavigationBarContrast);\n });\n};\n\nexport function applyEnforceNavigationBarContrast(\n config: ResourceXMLConfig,\n enforceNavigationBarContrast: boolean\n): ResourceXMLConfig {\n const enforceNavigationBarContrastItem = {\n _: enforceNavigationBarContrast ? 'true' : 'false',\n $: {\n name: 'android:enforceNavigationBarContrast',\n 'tools:targetApi': '29',\n },\n };\n const { style = [] } = config.modResults.resources;\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n if (mainThemeIndex === -1) {\n return config;\n }\n const mainTheme = style[mainThemeIndex];\n const enforceIndex = mainTheme.item.findIndex(\n ({ $ }) => $.name === 'android:enforceNavigationBarContrast'\n );\n if (enforceIndex !== -1) {\n style[mainThemeIndex].item[enforceIndex] = enforceNavigationBarContrastItem;\n return config;\n }\n\n config.modResults.resources.style = [\n {\n $: style[mainThemeIndex].$,\n item: [enforceNavigationBarContrastItem, ...mainTheme.item],\n },\n ...style.filter(({ $ }) => $.name !== 'AppTheme'),\n ];\n\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,gCAAuD,GAAGA,CACrEC,MAAM,EACNC,4BAAqC,KAClC;EACH,OAAO,IAAAC,kCAAiB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOG,iCAAiC,CAACH,MAAM,EAAEC,4BAA4B,CAAC;EAChF,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAL,gCAAA,GAAAA,gCAAA;AAEK,SAASI,iCAAiCA,CAC/CH,MAAyB,EACzBC,4BAAqC,EAClB;EACnB,MAAMI,gCAAgC,GAAG;IACvCC,CAAC,EAAEL,4BAA4B,GAAG,MAAM,GAAG,OAAO;IAClDM,CAAC,EAAE;MACDC,IAAI,EAAE,sCAAsC;MAC5C,iBAAiB,EAAE;IACrB;EACF,CAAC;EACD,MAAM;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGT,MAAM,CAACU,UAAU,CAACC,SAAS;EAClD,MAAMC,cAAc,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IAAEN;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EACxE,IAAII,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOZ,MAAM;EACf;EACA,MAAMc,SAAS,GAAGL,KAAK,CAACG,cAAc,CAAC;EACvC,MAAMG,YAAY,GAAGD,SAAS,CAACE,IAAI,CAACH,SAAS,CAC3C,CAAC;IAAEN;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,sCACxB,CAAC;EACD,IAAIO,YAAY,KAAK,CAAC,CAAC,EAAE;IACvBN,KAAK,CAACG,cAAc,CAAC,CAACI,IAAI,CAACD,YAAY,CAAC,GAAGV,gCAAgC;IAC3E,OAAOL,MAAM;EACf;EAEAA,MAAM,CAACU,UAAU,CAACC,SAAS,CAACF,KAAK,GAAG,CAClC;IACEF,CAAC,EAAEE,KAAK,CAACG,cAAc,CAAC,CAACL,CAAC;IAC1BS,IAAI,EAAE,CAACX,gCAAgC,EAAE,GAAGS,SAAS,CAACE,IAAI;EAC5D,CAAC,EACD,GAAGP,KAAK,CAACQ,MAAM,CAAC,CAAC;IAAEV;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAClD;EAED,OAAOR,MAAM;AACf","ignoreList":[]}
|