@gaddario98/react-native-core
Version:
```bash npm install @gaddario98/native ```
1 lines • 15.6 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../expo/hooks/useExpoNotifications.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from \"react\";\nimport * as Device from \"expo-device\";\nimport * as Notifications from \"expo-notifications\";\nimport { Platform } from \"react-native\";\n\ntype NotificationPermissionStatus = \"granted\" | \"denied\" | \"undetermined\";\n\nexport interface UseNotificationsReturn {\n expoPushToken: string;\n permissionStatus: NotificationPermissionStatus | null;\n initializeNotifications: (id: string) => Promise<void>;\n sendLocalNotification: (\n title: string,\n body: string,\n data?: Record<string, unknown>,\n ) => Promise<void>;\n}\n\nNotifications.setNotificationHandler({\n handleNotification: async () => ({\n shouldShowBanner: true,\n shouldShowList: true,\n shouldPlaySound: true,\n shouldSetBadge: true,\n }),\n});\n\ninterface Props {\n updateToken: (token: string) => Promise<void>;\n setNotification: (notification: Notifications.Notification) => void;\n}\n\nexport const useExpoNotifications = ({\n updateToken,\n setNotification,\n}: Props): UseNotificationsReturn => {\n const [expoPushToken, setExpoPushToken] = useState<string>(\"\");\n const [permissionStatus, setPermissionStatus] =\n useState<NotificationPermissionStatus | null>(null);\n\n const resolvePermissionStatus = useCallback(\n (\n permissions: Notifications.NotificationPermissionsStatus,\n ): NotificationPermissionStatus => {\n const { granted, canAskAgain } = permissions as unknown as {\n granted: boolean;\n canAskAgain: boolean;\n };\n\n if (granted) {\n return \"granted\";\n }\n\n return canAskAgain ? \"undetermined\" : \"denied\";\n },\n [],\n );\n\n const registerForPushNotificationsAsync = useCallback(async (): Promise<\n string | undefined\n > => {\n if (Platform.OS === \"android\") {\n await Notifications.setNotificationChannelAsync(\"default\", {\n name: \"default\",\n importance: Notifications.AndroidImportance.MAX,\n vibrationPattern: [0, 250, 250, 250],\n lightColor: \"#FF231F7C\",\n });\n }\n\n if (!Device.isDevice) {\n setPermissionStatus(\"undetermined\");\n return undefined;\n }\n\n const existingPermissions = await Notifications.getPermissionsAsync();\n const existingStatus = resolvePermissionStatus(existingPermissions);\n const permissions =\n existingStatus === \"granted\"\n ? existingPermissions\n : await Notifications.requestPermissionsAsync();\n\n const normalizedStatus = resolvePermissionStatus(permissions);\n setPermissionStatus(normalizedStatus);\n\n if (normalizedStatus !== \"granted\") {\n return undefined;\n }\n\n const { data: token } = await Notifications.getExpoPushTokenAsync({\n projectId: process.env.EXPO_PUBLIC_EAS_PROJECT_ID,\n });\n\n return token;\n }, [resolvePermissionStatus]);\n\n const saveTokenToFirestore = useCallback(\n async (token: string): Promise<void> => {\n try {\n await updateToken(token);\n } catch (error) {\n throw new Error(\"Failed to save token to Firestore \" + error);\n }\n },\n [updateToken],\n );\n\n const initializeNotifications = useCallback(async (): Promise<void> => {\n if (Platform.OS === \"web\") return;\n try {\n const token = await registerForPushNotificationsAsync();\n if (token) {\n setExpoPushToken(token);\n await saveTokenToFirestore(token);\n }\n } catch (error) {\n throw new Error(\"Failed to initialize notifications: \" + error);\n }\n }, [registerForPushNotificationsAsync, saveTokenToFirestore]);\n\n const sendLocalNotification = useCallback(\n async (\n title: string,\n body: string,\n data: Record<string, unknown> = {},\n ): Promise<void> => {\n try {\n await Notifications.scheduleNotificationAsync({\n content: { title, body, data },\n trigger: null,\n });\n } catch (error) {\n throw new Error(\"Error sending local notification: \" + error);\n }\n },\n [],\n );\n\n useEffect(() => {\n const notificationListener =\n Notifications.addNotificationReceivedListener(setNotification);\n\n const responseListener =\n Notifications.addNotificationResponseReceivedListener(\n (_: Notifications.NotificationResponse) => {\n //\n },\n );\n\n return () => {\n notificationListener.remove();\n responseListener.remove();\n };\n }, [setNotification]);\n\n return {\n expoPushToken,\n permissionStatus,\n initializeNotifications,\n sendLocalNotification,\n };\n};\n"],"names":["Notifications","setNotificationHandler","handleNotification","_handleNotification","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","shouldShowBanner","shouldShowList","shouldPlaySound","shouldSetBadge","apply","arguments","useExpoNotifications","t0","$","_c","updateToken","setNotification","_useState","useState","_useState2","_slicedToArray","expoPushToken","setExpoPushToken","_useState3","_useState4","permissionStatus","setPermissionStatus","resolvePermissionStatus","_temp","t1","Symbol","_ref","_callee2","existingPermissions","existingStatus","permissions_0","normalizedStatus","_yield$Notifications$","token","_t","_context2","Platform","OS","setNotificationChannelAsync","name","importance","AndroidImportance","MAX","vibrationPattern","lightColor","Device","isDevice","getPermissionsAsync","v","requestPermissionsAsync","permissions","getExpoPushTokenAsync","projectId","process","env","EXPO_PUBLIC_EAS_PROJECT_ID","data","registerForPushNotificationsAsync","t2","_ref2","_callee3","token_0","error","_t2","_context3","p","Error","_x","saveTokenToFirestore","t3","_ref3","_callee4","token_1","error_0","_t3","_context4","initializeNotifications","sendLocalNotification","_temp2","t4","t5","notificationListener","addNotificationReceivedListener","responseListener","addNotificationResponseReceivedListener","_temp3","remove","useEffect","t6","granted","canAskAgain","_x2","_x3","_x4","_temp4","_callee5","title","body","error_1","_t4","_context5","undefined","scheduleNotificationAsync","content","trigger","_"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBAA,aAAa,CAACC,sBAAsB,CAAC;EACnCC,kBAAkB,EAAA,YAAA;IAAA,IAAAC,mBAAA,GAAAC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAE,SAAAC,OAAAA,GAAA;AAAA,MAAA,OAAAF,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAD,QAAA,CAAAE,CAAA,CAAA,CAAA,EAAa;AAC/BC,cAAAA,gBAAgB,EAAE,IAAI;AACtBC,cAAAA,cAAc,EAAE,IAAI;AACpBC,cAAAA,eAAe,EAAE,IAAI;AACrBC,cAAAA,cAAc,EAAE;aACjB,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAR,OAAA,CAAA;IAAA,CAAC,CAAA,CAAA;AAAA,IAAA,SALFL,kBAAkBA,GAAA;AAAA,MAAA,OAAAC,mBAAA,CAAAa,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAAlBf,kBAAkB;AAAA,EAAA,CAAA;AAMnB,CAAA,CAAC;IAOWgB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,EAAA,EAAA;EAAA,IAAAC,CAAA,GAAAC,CAAA,CAAA,EAAA,CAAA;AAAI,EAAA,IAAAC,WAAA,GAAAH,EAG7B,CAAAG,WAAA;IAAAC,eAAA,GAH6BJ,EAG7B,CAAAI,eAAA;AACN,EAAA,IAAAC,SAAA,GAA0CC,QAAQ,CAAS,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAAI,IAAAA,aAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,gBAAA,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC9D,EAAA,IAAAI,UAAA,GACEL,QAAQ,CAAsC,IAAI,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAAE,IAAAA,gBAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAAE,IAAAA,mBAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;EAErD,IAAAG,uBAAA,GAAgCC,KAgB/B;AAAC,EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAiB,MAAA,CAAA,KAAA,CAAA,CAAA,2BAAA,CAAA,EAAA;IAEoDD,EAAA,gBAAA,YAAA;MAAA,IAAAE,IAAA,GAAAlC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,UAAAiC,QAAAA,GAAA;AAAA,QAAA,IAAAC,mBAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,KAAA,EAAAC,EAAA;AAAA,QAAA,OAAAzC,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAuC,SAAA,EAAA;UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAArC,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAAA,EAGhDsC,QAAQ,CAAAC,EAAG,KAAK,SAAS,CAAA,EAAA;AAAAF,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAAqC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA,OACrBV,aAAa,CAAAkD,2BAA4B,CAAC,SAAS,EAAE;AAAAC,gBAAAA,IAAA,EACnD,SAAS;AAAAC,gBAAAA,UAAA,EACHpD,aAAa,CAAAqD,iBAAkB,CAAAC,GAAI;gBAAAC,gBAAA,EAC7B,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAAC,gBAAAA,UAAA,EACxB;AACb,eAAA,CAAC;AAAA,YAAA,KAAA,CAAA;cAAA,IAGCC,MAAM,CAAAC,QAAS,EAAA;AAAAX,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAClBuB,mBAAmB,CAAC,cAAc,CAAC;cAAA,OAAAc,SAAA,CAAApC,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAoC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA,OAIHV,aAAa,CAAA2D,mBAAoB,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAnB,mBAAA,GAAAO,SAAA,CAAAa,CAAA;AAAAnB,cAAAA,cAAA,GAC9CP,uBAAuB,CAACM,mBAAmB,CAAC;cAAA,IAAA,EAEjEC,cAAc,KAAK,SAE8B,CAAA,EAAA;AAAAM,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAAoC,cAAAA,EAAA,GAFjDN,mBAEiD;AAAAO,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAqC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA,OAAvCV,aAAa,CAAA6D,uBAAwB,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAf,EAAA,GAAAC,SAAA,CAAAa,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAlB,cAAAA,aAAA,GAAAI,EAAA;AAAAH,cAAAA,gBAAA,GAE1BT,uBAAuB,CAAC4B,aAAW,CAAC;cAC7D7B,mBAAmB,CAACU,gBAAgB,CAAC;cAAA,IAAA,EAEjCA,gBAAgB,KAAK,SAAS,CAAA,EAAA;AAAAI,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAAA,OAAAqC,SAAA,CAAApC,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAoC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;cAAA,OAIJV,aAAa,CAAA+D,qBAAsB,CAAC;AAAAC,gBAAAA,SAAA,EACrDC,OAAO,CAAAC,GAAI,CAAAC;AACvB,eAAA,CAAC;AAAA,YAAA,KAAA,CAAA;cAAAvB,qBAAA,GAAAG,SAAA,CAAAa,CAAA;cAAAf,KAAA,GAAAD,qBAAA,CAAAwB,IAAA;AAAA,cAAA,OAAArB,SAAA,CAAApC,CAAA,CAAA,CAAA,EAEKkC,KAAK,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAN,QAAA,CAAA;MAAA,CACb,CAAA,CAAA;AAAA,MAAA,OAAA,SAAAH,EAAAA,GAAA;AAAA,QAAA,OAAAE,IAAA,CAAAtB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,EAAA;AAAAG,IAAAA,CAAA,MAAAgB,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAhB,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EApCD,IAAAiD,iCAAA,GAA0CjC,EAoCb;AAAC,EAAA,IAAAkC,EAAA;EAAA,IAAAlD,CAAA,QAAAE,WAAA,EAAA;IAG5BgD,EAAA,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAAnE,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAA,SAAAkE,QAAAA,CAAAC,OAAA,EAAA;QAAA,IAAAC,KAAA,EAAAC,GAAA;AAAA,QAAA,OAAAtE,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAoE,SAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAC,CAAA,GAAAD,SAAA,CAAAlE,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAkE,cAAAA,SAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,cAAAA,SAAA,CAAAlE,CAAA,GAAA,CAAA;cAAA,OAEUY,WAAW,CAACuB,OAAK,CAAC;AAAA,YAAA,KAAA,CAAA;AAAA+B,cAAAA,SAAA,CAAAlE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAkE,cAAAA,SAAA,CAAAC,CAAA,GAAA,CAAA;cAAAF,GAAA,GAAAC,SAAA,CAAAhB,CAAA;AAAAc,cAAAA,KAAA,GAAAC,GAAA;AAAA,cAAA,MAElB,IAAIG,KAAK,CAAC,oCAAoC,GAAGJ,KAAK,CAAC;AAAA,YAAA,KAAA,CAAA;cAAA,OAAAE,SAAA,CAAAjE,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAA6D,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAEhE,CAAA,CAAA;AAAA,MAAA,OAAA,SAAAF,GAAAS,EAAA,EAAA;AAAA,QAAA,OAAAR,KAAA,CAAAvD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,EAAA;AAAAG,IAAAA,CAAA,MAAAE,WAAA;AAAAF,IAAAA,CAAA,MAAAkD,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAlD,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAPH,IAAA4D,oBAAA,GAA6BV,EAS5B;AAAC,EAAA,IAAAW,EAAA;EAAA,IAAA7D,CAAA,QAAA4D,oBAAA,EAAA;IAE0CC,EAAA,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAA9E,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,UAAA6E,QAAAA,GAAA;AAAA,QAAA,IAAAC,OAAA,EAAAC,OAAA,EAAAC,GAAA;AAAA,QAAA,OAAAjF,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAA+E,SAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAV,CAAA,GAAAU,SAAA,CAAA7E,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAAA,EACtCsC,QAAQ,CAAAC,EAAG,KAAK,KAAK,CAAA,EAAA;AAAAsC,gBAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAAA,OAAA6E,SAAA,CAAA5E,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA4E,cAAAA,SAAA,CAAAV,CAAA,GAAA,CAAA;AAAAU,cAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;cAAA,OAEH2D,iCAAiC,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAe,OAAA,GAAAG,SAAA,CAAA3B,CAAA;AAAA,cAAA,IAAA,CACnDf,OAAK,EAAA;AAAA0C,gBAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cACPmB,gBAAgB,CAACgB,OAAK,CAAC;AAAA0C,cAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;cAAA,OACjBsE,oBAAoB,CAACnC,OAAK,CAAC;AAAA,YAAA,KAAA,CAAA;AAAA0C,cAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAA6E,cAAAA,SAAA,CAAAV,CAAA,GAAA,CAAA;cAAAS,GAAA,GAAAC,SAAA,CAAA3B,CAAA;AAAAyB,cAAAA,OAAA,GAAAC,GAAA;AAAA,cAAA,MAG7B,IAAIR,KAAK,CAAC,sCAAsC,GAAGJ,OAAK,CAAC;AAAA,YAAA,KAAA,CAAA;cAAA,OAAAa,SAAA,CAAA5E,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAwE,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAElE,CAAA,CAAA;AAAA,MAAA,OAAA,SAAAF,EAAAA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAlE,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,EAAA;AAAAG,IAAAA,CAAA,MAAA4D,oBAAA;AAAA5D,IAAAA,CAAA,MAAA6D,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAA7D,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAXD,IAAAoE,uBAAA,GAAgCP,EAW6B;EAE7D,IAAAQ,qBAAA,GAA8BC,MAgB7B;AAAC,EAAA,IAAAC,EAAA;AAAA,EAAA,IAAAC,EAAA;EAAA,IAAAxE,CAAA,QAAAG,eAAA,EAAA;AAEQoE,IAAAA,EAAA,YAAAA,EAAAA,GAAA;AACR,MAAA,IAAAE,oBAAA,GACE7F,aAAa,CAAA8F,+BAAgC,CAACvE,eAAe,CAAC;AAEhE,MAAA,IAAAwE,gBAAA,GACE/F,aAAa,CAAAgG,uCAAwC,CACnDC,MAEC,CACF;MAAC,OAEG,YAAA;QACLJ,oBAAoB,CAAAK,MAAO,EAAE;QAC7BH,gBAAgB,CAAAG,MAAO,EAAE;MAAA,CAC1B;IAAA,CACF;IAAEN,EAAA,GAAA,CAACrE,eAAe,CAAC;AAAAH,IAAAA,CAAA,MAAAG,eAAA;AAAAH,IAAAA,CAAA,MAAAuE,EAAA;AAAAvE,IAAAA,CAAA,MAAAwE,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAA,GAAAvE,CAAA,CAAA,CAAA,CAAA;AAAAwE,IAAAA,EAAA,GAAAxE,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAfpB+E,EAAAA,SAAS,CAACR,EAeT,EAAEC,EAAiB,CAAC;AAAA,EAAA,IAAAQ,EAAA;EAAA,IAAAhF,CAAA,CAAA,CAAA,CAAA,KAAAQ,aAAA,IAAAR,CAAA,QAAAoE,uBAAA,IAAApE,CAAA,CAAA,EAAA,CAAA,KAAAY,gBAAA,EAAA;IAEdoE,EAAA,GAAA;AAAAxE,MAAAA,aAAA,EACLA,aAAa;AAAAI,MAAAA,gBAAA,EACbA,gBAAgB;AAAAwD,MAAAA,uBAAA,EAChBA,uBAAuB;AAAAC,MAAAA,qBAAA,EACvBA;KACD;AAAArE,IAAAA,CAAA,MAAAQ,aAAA;AAAAR,IAAAA,CAAA,MAAAoE,uBAAA;AAAApE,IAAAA,CAAA,OAAAY,gBAAA;AAAAZ,IAAAA,CAAA,OAAAgF,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAhF,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMgF,EAKN;AAAA;AAhIiC,SAAAjE,MAAA2B,WAAA,EAAA;AAY9B,EAAA,IAAAuC,OAAA,GAAiCvC,WAGhC,CAAAuC,OAAA;IAAAC,WAAA,GAHgCxC,WAGhC,CAAAwC,WAAA;AAED,EAAA,IAAID,OAAO,EAAA;AAAA,IAAA,OACF,SAAS;AAAA,EAAA;AACjB,EAAA,OAEMC,WAAW,GAAX,cAAuC,GAAvC,QAAuC;AAAA;AA4GnD,SAAAZ,MAAAA,CAAAa,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,MAAA,CAAA1F,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA;AAAA,SAAAyF,MAAAA,GAAA;AAAAA,EAAAA,MAAA,GAAAtG,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAjImC,SAAAqG,QAAAA,CAAAC,KAAA,EAAAC,IAAA,EAAA1F,EAAA,EAAA;AAAA,IAAA,IAAAiD,IAAA,EAAA0C,OAAA,EAAAC,GAAA;AAAA,IAAA,OAAA1G,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAwG,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnC,CAAA,GAAAmC,SAAA,CAAAtG,CAAA;AAAA,QAAA,KAAA,CAAA;UAAA0D,IAAA,GA4F9BjD,EAAkC,KAAlC8F,SAAkC,GAAlC,EAAkC,GAAlC9F,EAAkC;AAAA6F,UAAAA,SAAA,CAAAnC,CAAA,GAAA,CAAA;AAAAmC,UAAAA,SAAA,CAAAtG,CAAA,GAAA,CAAA;UAAA,OAG1BV,aAAa,CAAAkH,yBAA0B,CAAC;AAAAC,YAAAA,OAAA,EACnC;AAAAP,cAAAA,KAAA,EAAEA,KAAK;AAAAC,cAAAA,IAAA,EAAEA,IAAI;AAAAzC,cAAAA,IAAA,EAAEA;aAAM;AAAAgD,YAAAA,OAAA,EACrB;AACV,WAAA,CAAC;AAAA,QAAA,KAAA,CAAA;AAAAJ,UAAAA,SAAA,CAAAtG,CAAA,GAAA,CAAA;AAAA,UAAA;AAAA,QAAA,KAAA,CAAA;AAAAsG,UAAAA,SAAA,CAAAnC,CAAA,GAAA,CAAA;UAAAkC,GAAA,GAAAC,SAAA,CAAApD,CAAA;AAAAkD,UAAAA,OAAA,GAAAC,GAAA;AAAA,UAAA,MAEI,IAAIjC,KAAK,CAAC,oCAAoC,GAAGJ,OAAK,CAAC;AAAA,QAAA,KAAA,CAAA;UAAA,OAAAsC,SAAA,CAAArG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,IAAA,CAAA,EAAAgG,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;EAAA,CA6BpE,CAAA,CAAA;AAAA,EAAA,OAAAD,MAAA,CAAA1F,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA;AAjImC,SAAAgF,OAAAoB,CAAA,EAAA,CAAA"}