From e91e07466991dde4b1d919df176c13a1c0e76886 Mon Sep 17 00:00:00 2001 From: Julian Kobrynski Date: Thu, 11 Jan 2024 15:34:42 +0100 Subject: [PATCH 1/4] migrate ReferralDetailsPage to TypeScript; --- src/libs/Navigation/types.ts | 4 ++- ...DetailsPage.js => ReferralDetailsPage.tsx} | 35 ++++++------------- 2 files changed, 14 insertions(+), 25 deletions(-) rename src/pages/{ReferralDetailsPage.js => ReferralDetailsPage.tsx} (81%) diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts index 90f5361f11f4..f41171e52c4d 100644 --- a/src/libs/Navigation/types.ts +++ b/src/libs/Navigation/types.ts @@ -328,7 +328,9 @@ type SignInNavigatorParamList = { }; type ReferralDetailsNavigatorParamList = { - [SCREENS.REFERRAL_DETAILS]: undefined; + [SCREENS.REFERRAL_DETAILS]: { + contentType: ValueOf; + }; }; type ProcessMoneyRequestHoldNavigatorParamList = { diff --git a/src/pages/ReferralDetailsPage.js b/src/pages/ReferralDetailsPage.tsx similarity index 81% rename from src/pages/ReferralDetailsPage.js rename to src/pages/ReferralDetailsPage.tsx index 209b8f5fadc3..2aadaa7279d6 100644 --- a/src/pages/ReferralDetailsPage.js +++ b/src/pages/ReferralDetailsPage.tsx @@ -1,7 +1,7 @@ -import PropTypes from 'prop-types'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useRef} from 'react'; +import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; -import _ from 'underscore'; import ContextMenuItem from '@components/ContextMenuItem'; import HeaderPageLayout from '@components/HeaderPageLayout'; import Icon from '@components/Icon'; @@ -14,33 +14,22 @@ import useSingleExecution from '@hooks/useSingleExecution'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; +import type {ReferralDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import SCREENS from '@src/SCREENS'; +import type {Account} from '@src/types/onyx'; import * as ReportActionContextMenu from './home/report/ContextMenu/ReportActionContextMenu'; -const propTypes = { - /** Navigation route context info provided by react navigation */ - route: PropTypes.shape({ - params: PropTypes.shape({ - /** The type of the content from where CTA was called */ - contentType: PropTypes.string, - }), - }).isRequired, - +type ReferralDetailsPageOnyxProps = { /** The details about the account that the user is signing in with */ - account: PropTypes.shape({ - /** The primaryLogin associated with the account */ - primaryLogin: PropTypes.string, - }), + account: OnyxEntry; }; -const defaultProps = { - account: null, -}; +type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & StackScreenProps; -function ReferralDetailsPage({route, account}) { +function ReferralDetailsPage({route, account = null}: ReferralDetailsPageProps) { const theme = useTheme(); const styles = useThemeStyles(); const {translate} = useLocalize(); @@ -48,7 +37,7 @@ function ReferralDetailsPage({route, account}) { const {isExecuting, singleExecution} = useSingleExecution(); let {contentType} = route.params; - if (!_.includes(_.values(CONST.REFERRAL_PROGRAM.CONTENT_TYPES), contentType)) { + if (Object.values(CONST.REFERRAL_PROGRAM.CONTENT_TYPES).includes(contentType)) { contentType = CONST.REFERRAL_PROGRAM.CONTENT_TYPES.REFER_FRIEND; } @@ -56,7 +45,7 @@ function ReferralDetailsPage({route, account}) { const contentBody = translate(`referralProgram.${contentType}.body`); const isShareCode = contentType === CONST.REFERRAL_PROGRAM.CONTENT_TYPES.SHARE_CODE; const shouldShowClipboard = contentType === CONST.REFERRAL_PROGRAM.CONTENT_TYPES.REFER_FRIEND || isShareCode; - const referralLink = `${CONST.REFERRAL_PROGRAM.LINK}/?thanks=${encodeURIComponent(account.primaryLogin)}`; + const referralLink = `${CONST.REFERRAL_PROGRAM.LINK}/?thanks=${encodeURIComponent(account?.primaryLogin ?? '')}`; return ( ({ account: {key: ONYXKEYS.ACCOUNT}, })(ReferralDetailsPage); From c796f4edea67951f13f2508fc31fd6326d1bcc8b Mon Sep 17 00:00:00 2001 From: Julian Kobrynski Date: Fri, 12 Jan 2024 08:54:16 +0100 Subject: [PATCH 2/4] remove account default value --- src/pages/ReferralDetailsPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx index 2aadaa7279d6..ed8023c015f5 100644 --- a/src/pages/ReferralDetailsPage.tsx +++ b/src/pages/ReferralDetailsPage.tsx @@ -29,7 +29,7 @@ type ReferralDetailsPageOnyxProps = { type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & StackScreenProps; -function ReferralDetailsPage({route, account = null}: ReferralDetailsPageProps) { +function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const theme = useTheme(); const styles = useThemeStyles(); const {translate} = useLocalize(); From d5588c58843fda0cfebadeccc3ead8d0d2517b38 Mon Sep 17 00:00:00 2001 From: Julian Kobrynski Date: Tue, 16 Jan 2024 09:58:21 +0100 Subject: [PATCH 3/4] improve referralLink conditional logic --- src/pages/ReferralDetailsPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx index ed8023c015f5..0e4d19873c54 100644 --- a/src/pages/ReferralDetailsPage.tsx +++ b/src/pages/ReferralDetailsPage.tsx @@ -37,7 +37,7 @@ function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const {isExecuting, singleExecution} = useSingleExecution(); let {contentType} = route.params; - if (Object.values(CONST.REFERRAL_PROGRAM.CONTENT_TYPES).includes(contentType)) { + if (!Object.values(CONST.REFERRAL_PROGRAM.CONTENT_TYPES).includes(contentType)) { contentType = CONST.REFERRAL_PROGRAM.CONTENT_TYPES.REFER_FRIEND; } @@ -45,7 +45,7 @@ function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const contentBody = translate(`referralProgram.${contentType}.body`); const isShareCode = contentType === CONST.REFERRAL_PROGRAM.CONTENT_TYPES.SHARE_CODE; const shouldShowClipboard = contentType === CONST.REFERRAL_PROGRAM.CONTENT_TYPES.REFER_FRIEND || isShareCode; - const referralLink = `${CONST.REFERRAL_PROGRAM.LINK}/?thanks=${encodeURIComponent(account?.primaryLogin ?? '')}`; + const referralLink = `${CONST.REFERRAL_PROGRAM.LINK}${account?.primaryLogin ? `/?thanks=${account.primaryLogin}` : ''}`; return ( Date: Tue, 16 Jan 2024 14:56:24 +0100 Subject: [PATCH 4/4] Merge branch 'main' into migrateReferralDetailsPageToTypeScript --- .../javascript/authorChecklist/index.js | 298 +- .github/workflows/createNewVersion.yml | 3 +- Gemfile | 3 +- Gemfile.lock | 27 +- __mocks__/react-native-webview.js | 6 + android/app/build.gradle | 17 +- android/app/src/debug/AndroidManifest.xml | 2 - .../expensify/chat/ReactNativeFlipper.java | 75 - .../java/com/expensify/chat/MainActivity.java | 93 - .../java/com/expensify/chat/MainActivity.kt | 85 + .../com/expensify/chat/MainApplication.java | 108 - .../com/expensify/chat/MainApplication.kt | 76 + .../res/drawable/ic_launcher_monochrome.png | Bin 2193 -> 1647 bytes .../expensify/chat/ReactNativeFlipper.java | 20 - android/build.gradle | 12 +- android/gradle.properties | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 3 +- android/gradlew | 21 +- assets/animations/Coin.lottie | Bin 0 -> 569260 bytes assets/images/expensify-logo--adhoc.svg | 2 +- assets/images/expensify-logo--dev.svg | 2 +- assets/images/expensify-logo--staging.svg | 2 +- assets/images/home-background--mobile-new.svg | 8836 +---------------- assets/images/new-expensify.svg | 2 +- .../product-illustrations/payment-hands.svg | 141 +- .../product-illustrations/telescope.svg | 80 +- assets/images/signIn/google-logo.svg | 2 +- .../simple-illustration__bigrocket.svg | 101 +- .../simple-illustration__commentbubbles.svg | 23 +- .../simple-illustration__handcard.svg | 42 +- .../simple-illustration__hotdogstand.svg | 99 +- .../simple-illustration__hourglass.svg | 57 +- .../simple-illustration__mailbox.svg | 72 +- .../simple-illustration__smallrocket.svg | 46 +- .../simple-illustration__trashcan.svg | 53 +- assets/images/thumbs-up.svg | 9 +- babel.config.js | 2 +- contributingGuides/CONTRIBUTING.md | 2 +- desktop/main.js | 9 + docs/assets/images/send-money.svg | 26 +- docs/assets/images/subscription-annual.svg | 24 +- ios/NewExpensify.xcodeproj/project.pbxproj | 60 +- ios/NewExpensify/AppDelegate.mm | 8 +- ios/NewExpensify/Info.plist | 23 +- ios/NewExpensifyTests/Info.plist | 4 +- ios/NotificationServiceExtension/Info.plist | 10 +- ios/Podfile | 9 +- ios/Podfile.lock | 1356 ++- package-lock.json | 6732 ++++++------- package.json | 57 +- patches/@onfido+react-native-sdk+8.3.0.patch | 18 +- ...eact-native+virtualized-lists+0.72.8.patch | 34 - patches/expo-image+1.10.1+001+applyFill.patch | 112 + patches/expo-image+1.10.1+002+TintFix.patch | 38 + patches/react-native+0.72.4+001+initial.patch | 83 - ...tive+0.72.4+005+fix-boost-dependency.patch | 27 - ...act-native+0.73.2+001+NumberOfLines.patch} | 236 +- ... => react-native+0.73.2+001+initial.patch} | 2 +- .../react-native-vision-camera+2.16.2.patch | 13 + src/CONST.ts | 26 +- src/ROUTES.ts | 14 +- src/components/AddressSearch/index.js | 2 +- ...ly.js => BaseAnchorForAttachmentsOnly.tsx} | 63 +- .../anchorForAttachmentsOnlyPropTypes.js | 21 - .../{index.native.js => index.native.tsx} | 6 +- .../{index.js => index.tsx} | 6 +- .../AnchorForAttachmentsOnly/types.ts | 14 + src/components/AttachmentModal.js | 14 +- .../AttachmentViewPdf/index.android.js | 15 +- .../AvatarCropModal/ImageCropView.js | 5 +- .../BlockingViews/FullPageNotFoundView.tsx | 4 +- src/components/Button/index.tsx | 69 +- ...downMenu.js => ButtonWithDropdownMenu.tsx} | 144 +- src/components/ConfirmModal.js | 130 - src/components/ConfirmModal.tsx | 127 + src/components/ConfirmedRoute.tsx | 2 +- .../DisplayNames/DisplayNamesWithTooltip.tsx | 5 +- src/components/DistanceRequest/index.js | 5 +- src/components/EnvironmentBadge.tsx | 2 +- ...Provider.js => BaseHTMLEngineProvider.tsx} | 65 +- .../HTMLEngineProvider/htmlEnginePropTypes.js | 15 - ...{htmlEngineUtils.js => htmlEngineUtils.ts} | 34 +- src/components/HTMLEngineProvider/index.js | 22 - .../HTMLEngineProvider/index.native.js | 20 - .../HTMLEngineProvider/index.native.tsx | 11 + src/components/HTMLEngineProvider/index.tsx | 15 + .../LHNOptionsList/LHNOptionsList.js | 2 +- src/components/LottieAnimations/index.tsx | 5 + src/components/MoneyReportHeader.js | 28 +- .../MoneyRequestConfirmationList.js | 2 +- src/components/OptionRow.tsx | 4 +- .../OptionsSelector/BaseOptionsSelector.js | 96 +- src/components/PopoverMenu.tsx | 6 +- src/components/ReferralProgramCTA.tsx | 54 + .../ActionableItemButtons.tsx | 42 + .../ReportActionItem/MoneyReportView.tsx | 44 +- .../ReportActionItem/MoneyRequestPreview.js | 2 +- .../ReportActionItem/MoneyRequestView.js | 6 +- .../ReportActionItem/ReportPreview.js | 50 +- .../{TaskPreview.js => TaskPreview.tsx} | 159 +- src/components/RoomNameInput/index.js | 11 +- src/components/SelectionList/BaseListItem.js | 21 +- .../SelectionList/BaseSelectionList.js | 5 +- src/components/SelectionList/UserListItem.js | 8 +- .../SelectionList/selectionListPropTypes.js | 8 +- .../ValuePicker/ValueSelectorModal.js | 7 +- src/components/ValuePicker/index.js | 9 +- src/hooks/useDragAndDrop.ts | 7 +- src/languages/en.ts | 13 +- src/languages/es.ts | 13 +- src/languages/types.ts | 3 + src/libs/DoInteractionTask/index.desktop.ts | 10 + src/libs/DoInteractionTask/index.ts | 6 + src/libs/E2E/apiMocks/openApp.ts | 4 +- src/libs/GetPhysicalCardUtils.ts | 3 +- src/libs/ModifiedExpenseMessage.ts | 12 +- .../Navigation/AppNavigator/AuthScreens.tsx | 32 +- .../AppNavigator/ModalStackNavigators.tsx | 3 +- .../CustomRouter.ts | 4 +- .../index.native.tsx | 2 + .../createCustomStackNavigator/index.tsx | 2 + .../createCustomStackNavigator/types.ts | 4 +- src/libs/Navigation/linkingConfig.ts | 2 - src/libs/Navigation/types.ts | 16 +- src/libs/OptionsListUtils.js | 25 +- src/libs/Performance.tsx | 2 +- src/libs/ReportUtils.ts | 160 +- src/libs/UserUtils.ts | 2 +- src/libs/actions/App.ts | 2 +- src/libs/actions/IOU.js | 167 +- src/libs/actions/Link.ts | 2 +- src/libs/actions/Policy.js | 10 +- src/libs/actions/Report.ts | 63 +- src/libs/actions/Task.js | 12 +- src/libs/actions/Transaction.ts | 2 +- src/libs/actions/Wallet.js | 386 - src/libs/actions/Wallet.ts | 354 + src/libs/actions/Welcome.ts | 2 +- src/libs/getIsSmallScreenWidth.ts | 6 - .../{ConciergePage.js => ConciergePage.tsx} | 28 +- src/pages/EditRequestPage.js | 20 +- .../EnablePayments/AdditionalDetailsStep.js | 18 +- src/pages/EnablePayments/TermsStep.js | 2 +- .../ErrorBodyText/{index.js => index.tsx} | 18 +- .../{index.website.js => index.website.tsx} | 0 ...nericErrorPage.js => GenericErrorPage.tsx} | 17 +- .../{NotFoundPage.js => NotFoundPage.tsx} | 16 +- ...s => LogInWithShortLivedAuthTokenPage.tsx} | 58 +- src/pages/LogOutPreviousUserPage.js | 21 +- src/pages/NewChatPage.js | 12 +- src/pages/ReferralDetailsPage.tsx | 6 +- src/pages/SearchPage/SearchPageFooter.tsx | 44 +- src/pages/home/HeaderView.js | 6 +- src/pages/home/ReportScreen.js | 6 +- .../report/ContextMenu/ContextMenuActions.js | 33 +- .../ComposerWithSuggestions.js | 9 +- src/pages/home/report/ReportActionItem.js | 46 +- .../report/ReportActionItemBasicMessage.tsx | 3 +- .../home/report/ReportActionItemMessage.tsx | 2 +- .../report/ReportActionItemParentAction.js | 5 +- .../report/ReportActionsListItemRenderer.js | 1 + ...rtAttachments.js => ReportAttachments.tsx} | 43 +- src/pages/iou/MoneyRequestEditWaypointPage.js | 32 - ...torPage.js => MoneyRequestWaypointPage.js} | 14 +- src/pages/iou/WaypointEditor.js | 292 - ...yForRefactorRequestParticipantsSelector.js | 286 +- .../request/step/IOURequestStepDistance.js | 5 +- .../step/IOURequestStepParticipants.js | 3 - .../request/step/IOURequestStepWaypoint.js | 10 +- .../step/withFullTransactionOrNotFound.js | 3 +- .../MoneyRequestParticipantsPage.js | 26 +- .../MoneyRequestParticipantsSelector.js | 261 +- src/pages/reportPropTypes.js | 5 +- src/pages/settings/AboutPage/AboutPage.js | 122 +- src/pages/settings/InitialSettingsPage.js | 4 +- .../settings/Profile/TimezoneSelectPage.js | 1 + .../settings/Wallet/ExpensifyCardPage.js | 2 +- .../settings/Wallet/WalletPage/WalletPage.js | 1 + src/pages/tasks/TaskAssigneeSelectorModal.js | 42 +- src/pages/workspace/WorkspaceInvitePage.js | 16 +- src/pages/workspace/WorkspaceNewRoomPage.js | 20 +- src/styles/index.ts | 6 +- src/styles/theme/themes/dark.ts | 4 + src/styles/theme/themes/light.ts | 4 + src/types/modules/react-native.d.ts | 5 - src/types/onyx/OriginalMessage.ts | 21 + src/types/onyx/Report.ts | 5 +- src/types/onyx/ReportAction.ts | 11 +- src/types/onyx/WalletAdditionalDetails.ts | 14 +- src/types/onyx/WalletOnfido.ts | 4 +- src/types/onyx/WalletTerms.ts | 6 + src/types/onyx/index.ts | 2 + tests/actions/IOUTest.js | 20 +- tests/perf-test/OptionsSelector.perf-test.js | 6 +- .../perf-test/ReportActionsUtils.perf-test.ts | 205 +- tests/perf-test/ReportUtils.perf-test.ts | 287 +- tests/perf-test/SelectionList.perf-test.js | 2 + tests/perf-test/SidebarLinks.perf-test.js | 155 +- tests/perf-test/SidebarUtils.perf-test.ts | 99 +- tests/unit/MigrationTest.js | 4 +- tests/unit/ModifiedExpenseMessageTest.ts | 37 + tests/unit/ReportActionsUtilsTest.js | 2 +- tests/unit/ReportUtilsTest.js | 38 +- tests/unit/SidebarFilterTest.js | 28 +- tests/unit/SidebarOrderTest.js | 44 +- tests/unit/SidebarTest.js | 8 +- tests/utils/LHNTestUtils.js | 4 +- web/index.html | 5 + 208 files changed, 7612 insertions(+), 17037 deletions(-) create mode 100644 __mocks__/react-native-webview.js delete mode 100644 android/app/src/debug/java/com/expensify/chat/ReactNativeFlipper.java delete mode 100644 android/app/src/main/java/com/expensify/chat/MainActivity.java create mode 100644 android/app/src/main/java/com/expensify/chat/MainActivity.kt delete mode 100644 android/app/src/main/java/com/expensify/chat/MainApplication.java create mode 100644 android/app/src/main/java/com/expensify/chat/MainApplication.kt delete mode 100644 android/app/src/release/java/com/expensify/chat/ReactNativeFlipper.java create mode 100644 assets/animations/Coin.lottie delete mode 100644 patches/@react-native+virtualized-lists+0.72.8.patch create mode 100644 patches/expo-image+1.10.1+001+applyFill.patch create mode 100644 patches/expo-image+1.10.1+002+TintFix.patch delete mode 100644 patches/react-native+0.72.4+001+initial.patch delete mode 100644 patches/react-native+0.72.4+005+fix-boost-dependency.patch rename patches/{react-native+0.72.4+002+NumberOfLines.patch => react-native+0.73.2+001+NumberOfLines.patch} (88%) rename patches/{react-native+0.72.4+004+ModalKeyboardFlashing.patch => react-native+0.73.2+001+initial.patch} (93%) create mode 100644 patches/react-native-vision-camera+2.16.2.patch rename src/components/AnchorForAttachmentsOnly/{BaseAnchorForAttachmentsOnly.js => BaseAnchorForAttachmentsOnly.tsx} (52%) delete mode 100644 src/components/AnchorForAttachmentsOnly/anchorForAttachmentsOnlyPropTypes.js rename src/components/AnchorForAttachmentsOnly/{index.native.js => index.native.tsx} (62%) rename src/components/AnchorForAttachmentsOnly/{index.js => index.tsx} (68%) create mode 100644 src/components/AnchorForAttachmentsOnly/types.ts rename src/components/{ButtonWithDropdownMenu.js => ButtonWithDropdownMenu.tsx} (56%) delete mode 100755 src/components/ConfirmModal.js create mode 100755 src/components/ConfirmModal.tsx rename src/components/HTMLEngineProvider/{BaseHTMLEngineProvider.js => BaseHTMLEngineProvider.tsx} (55%) delete mode 100644 src/components/HTMLEngineProvider/htmlEnginePropTypes.js rename src/components/HTMLEngineProvider/{htmlEngineUtils.js => htmlEngineUtils.ts} (57%) delete mode 100755 src/components/HTMLEngineProvider/index.js delete mode 100755 src/components/HTMLEngineProvider/index.native.js create mode 100755 src/components/HTMLEngineProvider/index.native.tsx create mode 100755 src/components/HTMLEngineProvider/index.tsx create mode 100644 src/components/ReferralProgramCTA.tsx create mode 100644 src/components/ReportActionItem/ActionableItemButtons.tsx rename src/components/ReportActionItem/{TaskPreview.js => TaskPreview.tsx} (50%) create mode 100644 src/libs/DoInteractionTask/index.desktop.ts create mode 100644 src/libs/DoInteractionTask/index.ts delete mode 100644 src/libs/actions/Wallet.js create mode 100644 src/libs/actions/Wallet.ts delete mode 100644 src/libs/getIsSmallScreenWidth.ts rename src/pages/{ConciergePage.js => ConciergePage.tsx} (64%) rename src/pages/ErrorPage/ErrorBodyText/{index.js => index.tsx} (54%) rename src/pages/ErrorPage/ErrorBodyText/{index.website.js => index.website.tsx} (100%) rename src/pages/ErrorPage/{GenericErrorPage.js => GenericErrorPage.tsx} (91%) rename src/pages/ErrorPage/{NotFoundPage.js => NotFoundPage.tsx} (55%) rename src/pages/{LogInWithShortLivedAuthTokenPage.js => LogInWithShortLivedAuthTokenPage.tsx} (65%) rename src/pages/home/report/{ReportAttachments.js => ReportAttachments.tsx} (55%) delete mode 100644 src/pages/iou/MoneyRequestEditWaypointPage.js rename src/pages/iou/{NewDistanceRequestWaypointEditorPage.js => MoneyRequestWaypointPage.js} (77%) delete mode 100644 src/pages/iou/WaypointEditor.js diff --git a/.github/actions/javascript/authorChecklist/index.js b/.github/actions/javascript/authorChecklist/index.js index 44d3f203f786..e5f746f8001c 100644 --- a/.github/actions/javascript/authorChecklist/index.js +++ b/.github/actions/javascript/authorChecklist/index.js @@ -49929,8 +49929,7 @@ Object.defineProperty(exports, "__esModule", ({ })); exports["default"] = void 0; var _index = __nccwpck_require__(9380); -var _default = createTypeAnnotationBasedOnTypeof; -exports["default"] = _default; +var _default = exports["default"] = createTypeAnnotationBasedOnTypeof; function createTypeAnnotationBasedOnTypeof(type) { switch (type) { case "string": @@ -51553,12 +51552,11 @@ function tsConstructSignatureDeclaration(typeParameters = null, parameters, type typeAnnotation }); } -function tsPropertySignature(key, typeAnnotation = null, initializer = null) { +function tsPropertySignature(key, typeAnnotation = null) { return (0, _validateNode.default)({ type: "TSPropertySignature", key, typeAnnotation, - initializer, kind: null }); } @@ -53966,106 +53964,56 @@ Object.defineProperty(exports, "__esModule", ({ })); exports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0; var _index = __nccwpck_require__(5078); -const STANDARDIZED_TYPES = _index.FLIPPED_ALIAS_KEYS["Standardized"]; -exports.STANDARDIZED_TYPES = STANDARDIZED_TYPES; -const EXPRESSION_TYPES = _index.FLIPPED_ALIAS_KEYS["Expression"]; -exports.EXPRESSION_TYPES = EXPRESSION_TYPES; -const BINARY_TYPES = _index.FLIPPED_ALIAS_KEYS["Binary"]; -exports.BINARY_TYPES = BINARY_TYPES; -const SCOPABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["Scopable"]; -exports.SCOPABLE_TYPES = SCOPABLE_TYPES; -const BLOCKPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS["BlockParent"]; -exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES; -const BLOCK_TYPES = _index.FLIPPED_ALIAS_KEYS["Block"]; -exports.BLOCK_TYPES = BLOCK_TYPES; -const STATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["Statement"]; -exports.STATEMENT_TYPES = STATEMENT_TYPES; -const TERMINATORLESS_TYPES = _index.FLIPPED_ALIAS_KEYS["Terminatorless"]; -exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES; -const COMPLETIONSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["CompletionStatement"]; -exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES; -const CONDITIONAL_TYPES = _index.FLIPPED_ALIAS_KEYS["Conditional"]; -exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES; -const LOOP_TYPES = _index.FLIPPED_ALIAS_KEYS["Loop"]; -exports.LOOP_TYPES = LOOP_TYPES; -const WHILE_TYPES = _index.FLIPPED_ALIAS_KEYS["While"]; -exports.WHILE_TYPES = WHILE_TYPES; -const EXPRESSIONWRAPPER_TYPES = _index.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; -exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES; -const FOR_TYPES = _index.FLIPPED_ALIAS_KEYS["For"]; -exports.FOR_TYPES = FOR_TYPES; -const FORXSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["ForXStatement"]; -exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES; -const FUNCTION_TYPES = _index.FLIPPED_ALIAS_KEYS["Function"]; -exports.FUNCTION_TYPES = FUNCTION_TYPES; -const FUNCTIONPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS["FunctionParent"]; -exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES; -const PUREISH_TYPES = _index.FLIPPED_ALIAS_KEYS["Pureish"]; -exports.PUREISH_TYPES = PUREISH_TYPES; -const DECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["Declaration"]; -exports.DECLARATION_TYPES = DECLARATION_TYPES; -const PATTERNLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS["PatternLike"]; -exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES; -const LVAL_TYPES = _index.FLIPPED_ALIAS_KEYS["LVal"]; -exports.LVAL_TYPES = LVAL_TYPES; -const TSENTITYNAME_TYPES = _index.FLIPPED_ALIAS_KEYS["TSEntityName"]; -exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES; -const LITERAL_TYPES = _index.FLIPPED_ALIAS_KEYS["Literal"]; -exports.LITERAL_TYPES = LITERAL_TYPES; -const IMMUTABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["Immutable"]; -exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES; -const USERWHITESPACABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; -exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES; -const METHOD_TYPES = _index.FLIPPED_ALIAS_KEYS["Method"]; -exports.METHOD_TYPES = METHOD_TYPES; -const OBJECTMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS["ObjectMember"]; -exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES; -const PROPERTY_TYPES = _index.FLIPPED_ALIAS_KEYS["Property"]; -exports.PROPERTY_TYPES = PROPERTY_TYPES; -const UNARYLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS["UnaryLike"]; -exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES; -const PATTERN_TYPES = _index.FLIPPED_ALIAS_KEYS["Pattern"]; -exports.PATTERN_TYPES = PATTERN_TYPES; -const CLASS_TYPES = _index.FLIPPED_ALIAS_KEYS["Class"]; -exports.CLASS_TYPES = CLASS_TYPES; -const IMPORTOREXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["ImportOrExportDeclaration"]; -exports.IMPORTOREXPORTDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; -const EXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; -exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES; -const MODULESPECIFIER_TYPES = _index.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; -exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES; -const ACCESSOR_TYPES = _index.FLIPPED_ALIAS_KEYS["Accessor"]; -exports.ACCESSOR_TYPES = ACCESSOR_TYPES; -const PRIVATE_TYPES = _index.FLIPPED_ALIAS_KEYS["Private"]; -exports.PRIVATE_TYPES = PRIVATE_TYPES; -const FLOW_TYPES = _index.FLIPPED_ALIAS_KEYS["Flow"]; -exports.FLOW_TYPES = FLOW_TYPES; -const FLOWTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowType"]; -exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES; -const FLOWBASEANNOTATION_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; -exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES; -const FLOWDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; -exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES; -const FLOWPREDICATE_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowPredicate"]; -exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES; -const ENUMBODY_TYPES = _index.FLIPPED_ALIAS_KEYS["EnumBody"]; -exports.ENUMBODY_TYPES = ENUMBODY_TYPES; -const ENUMMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS["EnumMember"]; -exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES; -const JSX_TYPES = _index.FLIPPED_ALIAS_KEYS["JSX"]; -exports.JSX_TYPES = JSX_TYPES; -const MISCELLANEOUS_TYPES = _index.FLIPPED_ALIAS_KEYS["Miscellaneous"]; -exports.MISCELLANEOUS_TYPES = MISCELLANEOUS_TYPES; -const TYPESCRIPT_TYPES = _index.FLIPPED_ALIAS_KEYS["TypeScript"]; -exports.TYPESCRIPT_TYPES = TYPESCRIPT_TYPES; -const TSTYPEELEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["TSTypeElement"]; -exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES; -const TSTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["TSType"]; -exports.TSTYPE_TYPES = TSTYPE_TYPES; -const TSBASETYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["TSBaseType"]; -exports.TSBASETYPE_TYPES = TSBASETYPE_TYPES; -const MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; -exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES; +const STANDARDIZED_TYPES = exports.STANDARDIZED_TYPES = _index.FLIPPED_ALIAS_KEYS["Standardized"]; +const EXPRESSION_TYPES = exports.EXPRESSION_TYPES = _index.FLIPPED_ALIAS_KEYS["Expression"]; +const BINARY_TYPES = exports.BINARY_TYPES = _index.FLIPPED_ALIAS_KEYS["Binary"]; +const SCOPABLE_TYPES = exports.SCOPABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["Scopable"]; +const BLOCKPARENT_TYPES = exports.BLOCKPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS["BlockParent"]; +const BLOCK_TYPES = exports.BLOCK_TYPES = _index.FLIPPED_ALIAS_KEYS["Block"]; +const STATEMENT_TYPES = exports.STATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["Statement"]; +const TERMINATORLESS_TYPES = exports.TERMINATORLESS_TYPES = _index.FLIPPED_ALIAS_KEYS["Terminatorless"]; +const COMPLETIONSTATEMENT_TYPES = exports.COMPLETIONSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["CompletionStatement"]; +const CONDITIONAL_TYPES = exports.CONDITIONAL_TYPES = _index.FLIPPED_ALIAS_KEYS["Conditional"]; +const LOOP_TYPES = exports.LOOP_TYPES = _index.FLIPPED_ALIAS_KEYS["Loop"]; +const WHILE_TYPES = exports.WHILE_TYPES = _index.FLIPPED_ALIAS_KEYS["While"]; +const EXPRESSIONWRAPPER_TYPES = exports.EXPRESSIONWRAPPER_TYPES = _index.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; +const FOR_TYPES = exports.FOR_TYPES = _index.FLIPPED_ALIAS_KEYS["For"]; +const FORXSTATEMENT_TYPES = exports.FORXSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["ForXStatement"]; +const FUNCTION_TYPES = exports.FUNCTION_TYPES = _index.FLIPPED_ALIAS_KEYS["Function"]; +const FUNCTIONPARENT_TYPES = exports.FUNCTIONPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS["FunctionParent"]; +const PUREISH_TYPES = exports.PUREISH_TYPES = _index.FLIPPED_ALIAS_KEYS["Pureish"]; +const DECLARATION_TYPES = exports.DECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["Declaration"]; +const PATTERNLIKE_TYPES = exports.PATTERNLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS["PatternLike"]; +const LVAL_TYPES = exports.LVAL_TYPES = _index.FLIPPED_ALIAS_KEYS["LVal"]; +const TSENTITYNAME_TYPES = exports.TSENTITYNAME_TYPES = _index.FLIPPED_ALIAS_KEYS["TSEntityName"]; +const LITERAL_TYPES = exports.LITERAL_TYPES = _index.FLIPPED_ALIAS_KEYS["Literal"]; +const IMMUTABLE_TYPES = exports.IMMUTABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["Immutable"]; +const USERWHITESPACABLE_TYPES = exports.USERWHITESPACABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; +const METHOD_TYPES = exports.METHOD_TYPES = _index.FLIPPED_ALIAS_KEYS["Method"]; +const OBJECTMEMBER_TYPES = exports.OBJECTMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS["ObjectMember"]; +const PROPERTY_TYPES = exports.PROPERTY_TYPES = _index.FLIPPED_ALIAS_KEYS["Property"]; +const UNARYLIKE_TYPES = exports.UNARYLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS["UnaryLike"]; +const PATTERN_TYPES = exports.PATTERN_TYPES = _index.FLIPPED_ALIAS_KEYS["Pattern"]; +const CLASS_TYPES = exports.CLASS_TYPES = _index.FLIPPED_ALIAS_KEYS["Class"]; +const IMPORTOREXPORTDECLARATION_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["ImportOrExportDeclaration"]; +const EXPORTDECLARATION_TYPES = exports.EXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; +const MODULESPECIFIER_TYPES = exports.MODULESPECIFIER_TYPES = _index.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; +const ACCESSOR_TYPES = exports.ACCESSOR_TYPES = _index.FLIPPED_ALIAS_KEYS["Accessor"]; +const PRIVATE_TYPES = exports.PRIVATE_TYPES = _index.FLIPPED_ALIAS_KEYS["Private"]; +const FLOW_TYPES = exports.FLOW_TYPES = _index.FLIPPED_ALIAS_KEYS["Flow"]; +const FLOWTYPE_TYPES = exports.FLOWTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowType"]; +const FLOWBASEANNOTATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; +const FLOWDECLARATION_TYPES = exports.FLOWDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; +const FLOWPREDICATE_TYPES = exports.FLOWPREDICATE_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowPredicate"]; +const ENUMBODY_TYPES = exports.ENUMBODY_TYPES = _index.FLIPPED_ALIAS_KEYS["EnumBody"]; +const ENUMMEMBER_TYPES = exports.ENUMMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS["EnumMember"]; +const JSX_TYPES = exports.JSX_TYPES = _index.FLIPPED_ALIAS_KEYS["JSX"]; +const MISCELLANEOUS_TYPES = exports.MISCELLANEOUS_TYPES = _index.FLIPPED_ALIAS_KEYS["Miscellaneous"]; +const TYPESCRIPT_TYPES = exports.TYPESCRIPT_TYPES = _index.FLIPPED_ALIAS_KEYS["TypeScript"]; +const TSTYPEELEMENT_TYPES = exports.TSTYPEELEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["TSTypeElement"]; +const TSTYPE_TYPES = exports.TSTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["TSType"]; +const TSBASETYPE_TYPES = exports.TSBASETYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["TSBaseType"]; +const MODULEDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; //# sourceMappingURL=index.js.map @@ -54082,49 +54030,29 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.NOT_LOCAL_BINDING = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BLOCK_SCOPED_SYMBOL = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0; -const STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; -exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS; -const FLATTENABLE_KEYS = ["body", "expressions"]; -exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS; -const FOR_INIT_KEYS = ["left", "init"]; -exports.FOR_INIT_KEYS = FOR_INIT_KEYS; -const COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; -exports.COMMENT_KEYS = COMMENT_KEYS; -const LOGICAL_OPERATORS = ["||", "&&", "??"]; -exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS; -const UPDATE_OPERATORS = ["++", "--"]; -exports.UPDATE_OPERATORS = UPDATE_OPERATORS; -const BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; -exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS; -const EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; -exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS; -const COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"]; -exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS; -const BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS]; -exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS; -const NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; -exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS; -const BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"]; -exports.BINARY_OPERATORS = BINARY_OPERATORS; -const ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map(op => op + "="), ...LOGICAL_OPERATORS.map(op => op + "=")]; -exports.ASSIGNMENT_OPERATORS = ASSIGNMENT_OPERATORS; -const BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; -exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS; -const NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; -exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS; -const STRING_UNARY_OPERATORS = ["typeof"]; -exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS; -const UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS]; -exports.UNARY_OPERATORS = UNARY_OPERATORS; -const INHERIT_KEYS = { +const STATEMENT_OR_BLOCK_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; +const FLATTENABLE_KEYS = exports.FLATTENABLE_KEYS = ["body", "expressions"]; +const FOR_INIT_KEYS = exports.FOR_INIT_KEYS = ["left", "init"]; +const COMMENT_KEYS = exports.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; +const LOGICAL_OPERATORS = exports.LOGICAL_OPERATORS = ["||", "&&", "??"]; +const UPDATE_OPERATORS = exports.UPDATE_OPERATORS = ["++", "--"]; +const BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; +const EQUALITY_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; +const COMPARISON_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"]; +const BOOLEAN_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS]; +const NUMBER_BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; +const BINARY_OPERATORS = exports.BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"]; +const ASSIGNMENT_OPERATORS = exports.ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map(op => op + "="), ...LOGICAL_OPERATORS.map(op => op + "=")]; +const BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; +const NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; +const STRING_UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = ["typeof"]; +const UNARY_OPERATORS = exports.UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS]; +const INHERIT_KEYS = exports.INHERIT_KEYS = { optional: ["typeAnnotation", "typeParameters", "returnType"], force: ["start", "loc", "end"] }; -exports.INHERIT_KEYS = INHERIT_KEYS; -const BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); -exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL; -const NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); -exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING; +const BLOCK_SCOPED_SYMBOL = exports.BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); +const NOT_LOCAL_BINDING = exports.NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); //# sourceMappingURL=index.js.map @@ -54167,6 +54095,7 @@ var _getBindingIdentifiers = __nccwpck_require__(3331); var _index = __nccwpck_require__(2605); var _index2 = __nccwpck_require__(9380); var _cloneNode = __nccwpck_require__(5823); +; function gatherSequenceExpressions(nodes, scope, declars) { const exprs = []; let ensureLastUndefined = true; @@ -54317,8 +54246,7 @@ Object.defineProperty(exports, "__esModule", ({ })); exports["default"] = void 0; var _index = __nccwpck_require__(2605); -var _default = toExpression; -exports["default"] = _default; +var _default = exports["default"] = toExpression; function toExpression(node) { if ((0, _index.isExpressionStatement)(node)) { node = node.expression; @@ -54425,13 +54353,15 @@ toKeyAlias.increment = function () { /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; +var __webpack_unused_export__; -Object.defineProperty(exports, "__esModule", ({ +__webpack_unused_export__ = ({ value: true -})); +}); exports["default"] = toSequenceExpression; var _gatherSequenceExpressions = __nccwpck_require__(1022); +; function toSequenceExpression(nodes, scope) { if (!(nodes != null && nodes.length)) return; const declars = []; @@ -54460,8 +54390,7 @@ Object.defineProperty(exports, "__esModule", ({ exports["default"] = void 0; var _index = __nccwpck_require__(2605); var _index2 = __nccwpck_require__(9380); -var _default = toStatement; -exports["default"] = _default; +var _default = exports["default"] = toStatement; function toStatement(node, ignore) { if ((0, _index.isStatement)(node)) { return node; @@ -54508,8 +54437,7 @@ Object.defineProperty(exports, "__esModule", ({ exports["default"] = void 0; var _isValidIdentifier = __nccwpck_require__(1698); var _index = __nccwpck_require__(9380); -var _default = valueToNode; -exports["default"] = _default; +var _default = exports["default"] = valueToNode; const objectToString = Function.call.bind(Object.prototype.toString); function isRegExp(value) { return objectToString(value) === "[object RegExp]"; @@ -55881,7 +55809,7 @@ const classMethodOrPropertyCommon = () => ({ }, key: { validate: (0, _utils.chain)(function () { - const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"); const computed = (0, _utils.assertNodeType)("Expression"); return function (node, key, val) { const validator = node.computed ? computed : normal; @@ -56291,10 +56219,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DEPRECATED_ALIASES = void 0; -const DEPRECATED_ALIASES = { +const DEPRECATED_ALIASES = exports.DEPRECATED_ALIASES = { ModuleDeclaration: "ImportOrExportDeclaration" }; -exports.DEPRECATED_ALIASES = DEPRECATED_ALIASES; //# sourceMappingURL=deprecated-aliases.js.map @@ -57036,8 +56963,7 @@ _toFastProperties(_utils.BUILDER_KEYS); _toFastProperties(_utils.DEPRECATED_KEYS); _toFastProperties(_placeholders.PLACEHOLDERS_ALIAS); _toFastProperties(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); -const TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS)); -exports.TYPES = TYPES; +const TYPES = exports.TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS)); //# sourceMappingURL=index.js.map @@ -57261,19 +57187,16 @@ Object.defineProperty(exports, "__esModule", ({ })); exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; var _utils = __nccwpck_require__(4106); -const PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; -exports.PLACEHOLDERS = PLACEHOLDERS; -const PLACEHOLDERS_ALIAS = { +const PLACEHOLDERS = exports.PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; +const PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS_ALIAS = { Declaration: ["Statement"], Pattern: ["PatternLike", "LVal"] }; -exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; for (const type of PLACEHOLDERS) { const alias = _utils.ALIAS_KEYS[type]; if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias; } -const PLACEHOLDERS_FLIPPED_ALIAS = {}; -exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS; +const PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_FLIPPED_ALIAS = {}; Object.keys(PLACEHOLDERS_ALIAS).forEach(type => { PLACEHOLDERS_ALIAS[type].forEach(alias => { if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { @@ -57372,11 +57295,10 @@ const namedTypeElementCommon = () => ({ }); defineType("TSPropertySignature", { aliases: ["TSTypeElement"], - visitor: ["key", "typeAnnotation", "initializer"], + visitor: ["key", "typeAnnotation"], fields: Object.assign({}, namedTypeElementCommon(), { readonly: (0, _utils.validateOptional)(bool), typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), - initializer: (0, _utils.validateOptionalType)("Expression"), kind: { validate: (0, _utils.assertOneOf)("get", "set") } @@ -57816,20 +57738,13 @@ exports.validateOptionalType = validateOptionalType; exports.validateType = validateType; var _is = __nccwpck_require__(3860); var _validate = __nccwpck_require__(8036); -const VISITOR_KEYS = {}; -exports.VISITOR_KEYS = VISITOR_KEYS; -const ALIAS_KEYS = {}; -exports.ALIAS_KEYS = ALIAS_KEYS; -const FLIPPED_ALIAS_KEYS = {}; -exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS; -const NODE_FIELDS = {}; -exports.NODE_FIELDS = NODE_FIELDS; -const BUILDER_KEYS = {}; -exports.BUILDER_KEYS = BUILDER_KEYS; -const DEPRECATED_KEYS = {}; -exports.DEPRECATED_KEYS = DEPRECATED_KEYS; -const NODE_PARENT_VALIDATIONS = {}; -exports.NODE_PARENT_VALIDATIONS = NODE_PARENT_VALIDATIONS; +const VISITOR_KEYS = exports.VISITOR_KEYS = {}; +const ALIAS_KEYS = exports.ALIAS_KEYS = {}; +const FLIPPED_ALIAS_KEYS = exports.FLIPPED_ALIAS_KEYS = {}; +const NODE_FIELDS = exports.NODE_FIELDS = {}; +const BUILDER_KEYS = exports.BUILDER_KEYS = {}; +const DEPRECATED_KEYS = exports.DEPRECATED_KEYS = {}; +const NODE_PARENT_VALIDATIONS = exports.NODE_PARENT_VALIDATIONS = {}; function getType(val) { if (Array.isArray(val)) { return "array"; @@ -58109,7 +58024,6 @@ var _exportNames = { toExpression: true, toIdentifier: true, toKeyAlias: true, - toSequenceExpression: true, toStatement: true, valueToNode: true, appendToMemberExpression: true, @@ -58450,12 +58364,6 @@ Object.defineProperty(exports, "toKeyAlias", ({ return _toKeyAlias.default; } })); -Object.defineProperty(exports, "toSequenceExpression", ({ - enumerable: true, - get: function () { - return _toSequenceExpression.default; - } -})); Object.defineProperty(exports, "toStatement", ({ enumerable: true, get: function () { @@ -58584,7 +58492,6 @@ var _toComputedKey = __nccwpck_require__(2544); var _toExpression = __nccwpck_require__(5626); var _toIdentifier = __nccwpck_require__(5166); var _toKeyAlias = __nccwpck_require__(5640); -var _toSequenceExpression = __nccwpck_require__(8902); var _toStatement = __nccwpck_require__(1938); var _valueToNode = __nccwpck_require__(2129); var _index5 = __nccwpck_require__(5078); @@ -58652,12 +58559,14 @@ Object.keys(_index6).forEach(function (key) { }); }); var _deprecationWarning = __nccwpck_require__(496); -const react = { +const react = exports.react = { isReactComponent: _isReactComponent.default, isCompatTag: _isCompatTag.default, buildChildren: _buildChildren.default }; -exports.react = react; +{ + exports.toSequenceExpression = __nccwpck_require__(8902)["default"]; +} //# sourceMappingURL=index.js.map @@ -58959,12 +58868,15 @@ Object.defineProperty(exports, "__esModule", ({ })); exports["default"] = getBindingIdentifiers; var _index = __nccwpck_require__(2605); -function getBindingIdentifiers(node, duplicates, outerOnly) { +function getBindingIdentifiers(node, duplicates, outerOnly, newBindingsOnly) { const search = [].concat(node); const ids = Object.create(null); while (search.length) { const id = search.shift(); if (!id) continue; + if (newBindingsOnly && ((0, _index.isAssignmentExpression)(id) || (0, _index.isUnaryExpression)(id))) { + continue; + } const keys = getBindingIdentifiers.keys[id.type]; if ((0, _index.isIdentifier)(id)) { if (duplicates) { @@ -59060,8 +58972,7 @@ Object.defineProperty(exports, "__esModule", ({ })); exports["default"] = void 0; var _getBindingIdentifiers = __nccwpck_require__(3331); -var _default = getOuterBindingIdentifiers; -exports["default"] = _default; +var _default = exports["default"] = getOuterBindingIdentifiers; function getOuterBindingIdentifiers(node, duplicates) { return (0, _getBindingIdentifiers.default)(node, duplicates, true); } @@ -62670,8 +62581,7 @@ Object.defineProperty(exports, "__esModule", ({ exports["default"] = void 0; var _buildMatchMemberExpression = __nccwpck_require__(1941); const isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); -var _default = isReactComponent; -exports["default"] = _default; +var _default = exports["default"] = isReactComponent; //# sourceMappingURL=isReactComponent.js.map diff --git a/.github/workflows/createNewVersion.yml b/.github/workflows/createNewVersion.yml index f772bfb818f0..653495b5a01a 100644 --- a/.github/workflows/createNewVersion.yml +++ b/.github/workflows/createNewVersion.yml @@ -89,7 +89,8 @@ jobs: ./package-lock.json \ ./android/app/build.gradle \ ./ios/NewExpensify/Info.plist \ - ./ios/NewExpensifyTests/Info.plist + ./ios/NewExpensifyTests/Info.plist \ + ./ios/NotificationServiceExtension/Info.plist git commit -m "Update version to ${{ steps.bumpVersion.outputs.NEW_VERSION }}" - name: Update main branch diff --git a/Gemfile b/Gemfile index 33f0cd9333db..751e05d2d32b 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,8 @@ source "https://rubygems.org" # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version ruby ">= 2.6.10" -gem "cocoapods", "~> 1.12" +gem "cocoapods", "~> 1.13" +gem "activesupport", ">= 6.1.7.3", "< 7.1.0" gem "fastlane", "~> 2" gem "xcpretty", "~> 0" diff --git a/Gemfile.lock b/Gemfile.lock index fcf4f878e2de..ed190579d306 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,12 +3,11 @@ GEM specs: CFPropertyList (3.0.6) rexml - activesupport (6.1.7.3) + activesupport (7.0.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - zeitwerk (~> 2.3) addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) algoliasearch (1.27.5) @@ -36,10 +35,10 @@ GEM aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.1.0) - cocoapods (1.12.1) + cocoapods (1.13.0) addressable (~> 2.8) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.12.1) + cocoapods-core (= 1.13.0) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.6.0, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -53,8 +52,8 @@ GEM molinillo (~> 0.8.0) nap (~> 1.0) ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - cocoapods-core (1.12.1) + xcodeproj (>= 1.23.0, < 2.0) + cocoapods-core (1.13.0) activesupport (>= 5.0, < 8) addressable (~> 2.8) algoliasearch (~> 1.0) @@ -162,7 +161,7 @@ GEM apktools (~> 0.7) aws-sdk-s3 (~> 1) mime-types (~> 3.3) - ffi (1.15.5) + ffi (1.16.3) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) @@ -207,17 +206,17 @@ GEM http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.13.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) jmespath (1.6.2) json (2.6.3) jwt (2.7.1) - mime-types (3.4.1) + mime-types (3.5.1) mime-types-data (~> 3.2015) - mime-types-data (3.2023.0218.1) + mime-types-data (3.2023.1003) mini_magick (4.12.0) mini_mime (1.1.5) - minitest (5.18.0) + minitest (5.20.0) molinillo (0.8.0) multi_json (1.15.0) multipart-post (2.3.0) @@ -257,7 +256,7 @@ GEM tty-screen (0.8.1) tty-spinner (0.9.3) tty-cursor (~> 0.7) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -279,7 +278,6 @@ GEM rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) - zeitwerk (2.6.8) PLATFORMS arm64-darwin-21 @@ -289,7 +287,8 @@ PLATFORMS x86_64-linux DEPENDENCIES - cocoapods (~> 1.12) + activesupport (>= 6.1.7.3, < 7.1.0) + cocoapods (~> 1.13) fastlane (~> 2) fastlane-plugin-aws_s3 xcpretty (~> 0) diff --git a/__mocks__/react-native-webview.js b/__mocks__/react-native-webview.js new file mode 100644 index 000000000000..58875fd5288b --- /dev/null +++ b/__mocks__/react-native-webview.js @@ -0,0 +1,6 @@ +jest.mock('react-native-webview', () => { + const {View} = require('react-native'); + return { + WebView: () => View, + }; +}); diff --git a/android/app/build.gradle b/android/app/build.gradle index fea9cdad0a90..3d10b31e72f5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,4 +1,5 @@ apply plugin: "com.android.application" +apply plugin: "org.jetbrains.kotlin.android" apply plugin: "com.facebook.react" apply plugin: "com.google.firebase.firebase-perf" apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle" @@ -88,6 +89,7 @@ def jscFlavor = 'org.webkit:android-jsc:+' android { ndkVersion rootProject.ext.ndkVersion + buildToolsVersion rootProject.ext.buildToolsVersion compileSdkVersion rootProject.ext.compileSdkVersion namespace "com.expensify.chat" @@ -96,8 +98,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001042404 - versionName "1.4.24-4" + versionCode 1001042507 + versionName "1.4.25-7" } flavorDimensions "default" @@ -178,17 +180,8 @@ android { dependencies { // The version of react-native is set by the React Native Gradle Plugin implementation("com.facebook.react:react-android") - debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") + implementation("com.facebook.react:flipper-integration") - debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { - exclude group:'com.facebook.fbjni' - } - - debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { - exclude group:'com.squareup.okhttp3', module:'okhttp' - } - - debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") if (hermesEnabled.toBoolean()) { implementation("com.facebook.react:hermes-android") } else { diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 2eab8de1eb7b..f0600d3a680a 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -2,7 +2,6 @@ - @@ -10,6 +9,5 @@ android:name="firebase_performance_logcat_enabled" android:value="true" /> - diff --git a/android/app/src/debug/java/com/expensify/chat/ReactNativeFlipper.java b/android/app/src/debug/java/com/expensify/chat/ReactNativeFlipper.java deleted file mode 100644 index 6e859e27c54a..000000000000 --- a/android/app/src/debug/java/com/expensify/chat/ReactNativeFlipper.java +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - *

This source code is licensed under the MIT license found in the LICENSE file in the root - * directory of this source tree. - */ -package com.expensify.chat; - -import android.content.Context; -import com.facebook.flipper.android.AndroidFlipperClient; -import com.facebook.flipper.android.utils.FlipperUtils; -import com.facebook.flipper.core.FlipperClient; -import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; -import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; -import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin; -import com.facebook.flipper.plugins.inspector.DescriptorMapping; -import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; -import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; -import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; -import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; -import com.facebook.react.ReactInstanceEventListener; -import com.facebook.react.ReactInstanceManager; -import com.facebook.react.bridge.ReactContext; -import com.facebook.react.modules.network.NetworkingModule; -import okhttp3.OkHttpClient; - -/** - * Class responsible of loading Flipper inside your React Native application. This is the debug - * flavor of it. Here you can add your own plugins and customize the Flipper setup. - */ -public class ReactNativeFlipper { - public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { - if (FlipperUtils.shouldEnableFlipper(context)) { - final FlipperClient client = AndroidFlipperClient.getInstance(context); - - client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); - client.addPlugin(new DatabasesFlipperPlugin(context)); - client.addPlugin(new SharedPreferencesFlipperPlugin(context)); - client.addPlugin(CrashReporterPlugin.getInstance()); - - NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); - NetworkingModule.setCustomClientBuilder( - new NetworkingModule.CustomClientBuilder() { - @Override - public void apply(OkHttpClient.Builder builder) { - builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); - } - }); - client.addPlugin(networkFlipperPlugin); - client.start(); - - // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized - // Hence we run if after all native modules have been initialized - ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); - if (reactContext == null) { - reactInstanceManager.addReactInstanceEventListener( - new ReactInstanceEventListener() { - @Override - public void onReactContextInitialized(ReactContext reactContext) { - reactInstanceManager.removeReactInstanceEventListener(this); - reactContext.runOnNativeModulesQueueThread( - new Runnable() { - @Override - public void run() { - client.addPlugin(new FrescoFlipperPlugin()); - } - }); - } - }); - } else { - client.addPlugin(new FrescoFlipperPlugin()); - } - } - } -} diff --git a/android/app/src/main/java/com/expensify/chat/MainActivity.java b/android/app/src/main/java/com/expensify/chat/MainActivity.java deleted file mode 100644 index e9f84039cf8a..000000000000 --- a/android/app/src/main/java/com/expensify/chat/MainActivity.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.expensify.chat; -import expo.modules.ReactActivityDelegateWrapper; - -import android.os.Bundle; -import android.content.pm.ActivityInfo; -import android.view.KeyEvent; -import android.view.View; -import android.view.WindowInsets; - -import com.expensify.chat.bootsplash.BootSplash; -import com.expensify.reactnativekeycommand.KeyCommandModule; -import com.facebook.react.ReactActivity; -import com.facebook.react.ReactActivityDelegate; -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; -import com.facebook.react.defaults.DefaultReactActivityDelegate; - -public class MainActivity extends ReactActivity { - - /** - * Returns the name of the main component registered from JavaScript. This is used to schedule - * rendering of the component. - */ - @Override - protected String getMainComponentName() { - return "NewExpensify"; - } - - /** - * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link - * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React - * (aka React 18) with two boolean flags. - */ - @Override - protected ReactActivityDelegate createReactActivityDelegate() { - return new ReactActivityDelegateWrapper(this, BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, new DefaultReactActivityDelegate( - this, - getMainComponentName(), - // If you opted-in for the New Architecture, we enable the Fabric Renderer. - DefaultNewArchitectureEntryPoint.getFabricEnabled())); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - BootSplash.init(this); - super.onCreate(null); - if (getResources().getBoolean(R.bool.portrait_only)) { - setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - } - - // Sets translucent status bar. This code is based on what the react-native StatusBar - // module does, but we need to do it here to avoid the splash screen jumping on app start. - View decorView = getWindow().getDecorView(); - decorView.setOnApplyWindowInsetsListener( - (v, insets) -> { - WindowInsets defaultInsets = v.onApplyWindowInsets(insets); - return defaultInsets.replaceSystemWindowInsets( - defaultInsets.getSystemWindowInsetLeft(), - 0, - defaultInsets.getSystemWindowInsetRight(), - defaultInsets.getSystemWindowInsetBottom()); - }); - } - - /** - * This method is called when a key down event has occurred. - * Forwards the event to the KeyCommandModule - */ - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - // Disabling hardware ESCAPE support which is handled by Android - if (event.getKeyCode() == KeyEvent.KEYCODE_ESCAPE) { - return false; - } - KeyCommandModule.getInstance().onKeyDownEvent(keyCode, event); - return super.onKeyDown(keyCode, event); - } - - @Override - public boolean onKeyLongPress(int keyCode, KeyEvent event) { - // Disabling hardware ESCAPE support which is handled by Android - if (event.getKeyCode() == KeyEvent.KEYCODE_ESCAPE) { return false; } - KeyCommandModule.getInstance().onKeyDownEvent(keyCode, event); - return super.onKeyLongPress(keyCode, event); - } - - @Override - public boolean onKeyUp(int keyCode, KeyEvent event) { - // Disabling hardware ESCAPE support which is handled by Android - if (event.getKeyCode() == KeyEvent.KEYCODE_ESCAPE) { return false; } - KeyCommandModule.getInstance().onKeyDownEvent(keyCode, event); - return super.onKeyUp(keyCode, event); - } -} diff --git a/android/app/src/main/java/com/expensify/chat/MainActivity.kt b/android/app/src/main/java/com/expensify/chat/MainActivity.kt new file mode 100644 index 000000000000..935ba8c8825f --- /dev/null +++ b/android/app/src/main/java/com/expensify/chat/MainActivity.kt @@ -0,0 +1,85 @@ +package com.expensify.chat + +import expo.modules.ReactActivityDelegateWrapper + +import android.content.pm.ActivityInfo +import android.os.Bundle +import android.view.KeyEvent +import android.view.View +import android.view.WindowInsets +import com.expensify.chat.bootsplash.BootSplash +import com.expensify.reactnativekeycommand.KeyCommandModule +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +class MainActivity : ReactActivity() { + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName() = "NewExpensify" + + /** + * Returns the instance of the [ReactActivityDelegate]. Here we use a util class [ ] which allows you to easily enable Fabric and Concurrent React + * (aka React 18) with two boolean flags. + */ + override fun createReactActivityDelegate() = ReactActivityDelegateWrapper(this, BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, DefaultReactActivityDelegate( + this, + mainComponentName, // If you opted-in for the New Architecture, we enable the Fabric Renderer. + fabricEnabled + )) + + override fun onCreate(savedInstanceState: Bundle?) { + BootSplash.init(this) + super.onCreate(null) + if (resources.getBoolean(R.bool.portrait_only)) { + requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT + } + + // Sets translucent status bar. This code is based on what the react-native StatusBar + // module does, but we need to do it here to avoid the splash screen jumping on app start. + val decorView = window.decorView + decorView.setOnApplyWindowInsetsListener { v: View, insets: WindowInsets? -> + val defaultInsets = v.onApplyWindowInsets(insets) + defaultInsets.replaceSystemWindowInsets( + defaultInsets.systemWindowInsetLeft, + 0, + defaultInsets.systemWindowInsetRight, + defaultInsets.systemWindowInsetBottom + ) + } + } + + /** + * This method is called when a key down event has occurred. + * Forwards the event to the KeyCommandModule + */ + override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { + // Disabling hardware ESCAPE support which is handled by Android + if (event.keyCode == KeyEvent.KEYCODE_ESCAPE) { + return false + } + KeyCommandModule.getInstance().onKeyDownEvent(keyCode, event) + return super.onKeyDown(keyCode, event) + } + + override fun onKeyLongPress(keyCode: Int, event: KeyEvent): Boolean { + // Disabling hardware ESCAPE support which is handled by Android + if (event.keyCode == KeyEvent.KEYCODE_ESCAPE) { + return false + } + KeyCommandModule.getInstance().onKeyDownEvent(keyCode, event) + return super.onKeyLongPress(keyCode, event) + } + + override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean { + // Disabling hardware ESCAPE support which is handled by Android + if (event.keyCode == KeyEvent.KEYCODE_ESCAPE) { + return false + } + KeyCommandModule.getInstance().onKeyDownEvent(keyCode, event) + return super.onKeyUp(keyCode, event) + } +} diff --git a/android/app/src/main/java/com/expensify/chat/MainApplication.java b/android/app/src/main/java/com/expensify/chat/MainApplication.java deleted file mode 100644 index 6e5db5d14ab3..000000000000 --- a/android/app/src/main/java/com/expensify/chat/MainApplication.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.expensify.chat; -import android.content.res.Configuration; -import expo.modules.ApplicationLifecycleDispatcher; -import expo.modules.ReactNativeHostWrapper; - -import android.content.Context; -import android.database.CursorWindow; - -import androidx.multidex.MultiDexApplication; - -import com.expensify.chat.bootsplash.BootSplashPackage; -import com.facebook.react.PackageList; -import com.facebook.react.ReactApplication; -import com.facebook.react.ReactNativeHost; -import com.facebook.react.ReactPackage; -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; -import com.facebook.react.defaults.DefaultReactNativeHost; -import com.facebook.react.modules.i18nmanager.I18nUtil; -import com.facebook.soloader.SoLoader; -import com.google.firebase.crashlytics.FirebaseCrashlytics; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -public class MainApplication extends MultiDexApplication implements ReactApplication { - private final ReactNativeHost mReactNativeHost = - new ReactNativeHostWrapper(this, new DefaultReactNativeHost(this) { - @Override - public boolean getUseDeveloperSupport() { - return BuildConfig.DEBUG; - } - - @Override - protected List getPackages() { - @SuppressWarnings("UnnecessaryLocalVariable") - List packages = new PackageList(this).getPackages(); - // Packages that cannot be autolinked yet can be added manually here, for example: - // packages.add(new MyReactNativePackage()); - packages.add(new BootSplashPackage()); - packages.add(new ExpensifyAppPackage()); - packages.add(new RNTextInputResetPackage()); - - return packages; - } - - @Override - protected String getJSMainModuleName() { - return ".expo/.virtual-metro-entry"; - } - - @Override - protected boolean isNewArchEnabled() { - return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; - } - - @Override - protected Boolean isHermesEnabled() { - return BuildConfig.IS_HERMES_ENABLED; - } - }); - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } - - @Override - public void onCreate() { - super.onCreate(); - - SoLoader.init(this, /* native exopackage */ false); - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // If you opted-in for the New Architecture, we load the native entry point for this app. - DefaultNewArchitectureEntryPoint.load(); - } - ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); - - if (BuildConfig.DEBUG) { - FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false); - } - - // Force the app to LTR mode. - I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance(); - sharedI18nUtilInstance.allowRTL(getApplicationContext(), false); - - // Start the "js_load" custom performance tracing metric. This timer is stopped by a native - // module in the JS so we can measure total time starting in the native layer and ending in - // the JS layer. - StartupTimer.start(); - - // Increase SQLite DB write size - try { - Field field = CursorWindow.class.getDeclaredField("sCursorWindowSize"); - field.setAccessible(true); - field.set(null, 100 * 1024 * 1024); //the 100MB is the new size - } catch (Exception e) { - e.printStackTrace(); - } - ApplicationLifecycleDispatcher.onApplicationCreate(this); - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig); - } -} \ No newline at end of file diff --git a/android/app/src/main/java/com/expensify/chat/MainApplication.kt b/android/app/src/main/java/com/expensify/chat/MainApplication.kt new file mode 100644 index 000000000000..193333368991 --- /dev/null +++ b/android/app/src/main/java/com/expensify/chat/MainApplication.kt @@ -0,0 +1,76 @@ +package com.expensify.chat + +import android.content.res.Configuration +import android.database.CursorWindow +import androidx.multidex.MultiDexApplication +import com.expensify.chat.bootsplash.BootSplashPackage +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load +import com.facebook.react.defaults.DefaultReactNativeHost +import com.facebook.react.modules.i18nmanager.I18nUtil +import com.facebook.soloader.SoLoader +import com.google.firebase.crashlytics.FirebaseCrashlytics +import expo.modules.ApplicationLifecycleDispatcher +import expo.modules.ReactNativeHostWrapper + +class MainApplication : MultiDexApplication(), ReactApplication { + override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper(this, object : DefaultReactNativeHost(this) { + override fun getUseDeveloperSupport() = BuildConfig.DEBUG + + override fun getPackages(): List = + PackageList(this).packages.apply { + // Packages that cannot be autolinked yet can be added manually here, for example: + // add(MyReactNativePackage()); + add(BootSplashPackage()) + add(ExpensifyAppPackage()) + add(RNTextInputResetPackage()) + } + + override fun getJSMainModuleName() = ".expo/.virtual-metro-entry" + + override val isNewArchEnabled: Boolean + get() = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean + get() = BuildConfig.IS_HERMES_ENABLED + }) + + override fun onCreate() { + super.onCreate() + + SoLoader.init(this, /* native exopackage */false) + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + load() + } + if (BuildConfig.DEBUG) { + FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false) + } + + // Force the app to LTR mode. + val sharedI18nUtilInstance = I18nUtil.getInstance() + sharedI18nUtilInstance.allowRTL(applicationContext, false) + + // Start the "js_load" custom performance tracing metric. This timer is stopped by a native + // module in the JS so we can measure total time starting in the native layer and ending in + // the JS layer. + StartupTimer.start() + + // Increase SQLite DB write size + try { + val field = CursorWindow::class.java.getDeclaredField("sCursorWindowSize") + field.isAccessible = true + field[null] = 100 * 1024 * 1024 //the 100MB is the new size + } catch (e: Exception) { + e.printStackTrace() + } + ApplicationLifecycleDispatcher.onApplicationCreate(this); + } + + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig) + } +} diff --git a/android/app/src/main/res/drawable/ic_launcher_monochrome.png b/android/app/src/main/res/drawable/ic_launcher_monochrome.png index b1a286b6f8dd2be8cc1a884e9768b3322554812c..0af99b087923431eb40190d69a81686dfc364f51 100644 GIT binary patch delta 1540 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 diff --git a/android/app/src/release/java/com/expensify/chat/ReactNativeFlipper.java b/android/app/src/release/java/com/expensify/chat/ReactNativeFlipper.java deleted file mode 100644 index 0e3c02f072e6..000000000000 --- a/android/app/src/release/java/com/expensify/chat/ReactNativeFlipper.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - *

This source code is licensed under the MIT license found in the LICENSE file in the root - * directory of this source tree. - */ -package com.expensify.chat; - -import android.content.Context; -import com.facebook.react.ReactInstanceManager; - -/** - * Class responsible of loading Flipper inside your React Native application. This is the release - * flavor of it so it's empty as we don't want to load Flipper. - */ -public class ReactNativeFlipper { - public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { - // Do nothing as we don't want to initialize Flipper on Release. - } -} \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index 789104556b1b..c4e25dde9e2b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,13 +2,11 @@ buildscript { ext { - buildToolsVersion = "33.0.0" + buildToolsVersion = "34.0.0" minSdkVersion = 21 - compileSdkVersion = 33 - targetSdkVersion = 33 - - // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. - ndkVersion = "23.1.7779620" + compileSdkVersion = 34 + targetSdkVersion = 34 + ndkVersion = "25.1.8937393" androidXCore = "1.0.2" multiDexEnabled = true @@ -72,3 +70,5 @@ allprojects { } } } + +apply plugin: "com.facebook.react.rootproject" diff --git a/android/gradle.properties b/android/gradle.properties index 0de47ef7d184..c77d6b16f1b3 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -28,9 +28,6 @@ android.enableJetifier=true AsyncStorage_db_size_in_MB=10 AsyncStorage_useNextStorage=true -# Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.182.0 - # Use this property to specify which architecture you want to build. # You can also override it from the CLI using # ./gradlew -PreactNativeArchitectures=x86_64 @@ -55,3 +52,5 @@ MYAPP_UPLOAD_KEY_ALIAS=ReactNativeChat-Key-Alias # Disable Frame Processors for VisionCamera. # We might want to re-enable them if we need QR code scanning or other frame processing features (maybe in VisionCamera V3) disableFrameProcessors=true + +android.nonTransitiveRClass=false diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 6ec1567a0f88..d11cdd907dd9 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew index 5bb05716bd7f..0adc8e1a5321 100755 --- a/android/gradlew +++ b/android/gradlew @@ -83,10 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,6 +198,10 @@ if "$cygwin" || "$msys" ; then done fi + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in @@ -241,4 +246,4 @@ eval "set -- $( tr '\n' ' ' )" '"$@"' -exec "$JAVACMD" "$@" \ No newline at end of file +exec "$JAVACMD" "$@" diff --git a/assets/animations/Coin.lottie b/assets/animations/Coin.lottie new file mode 100644 index 0000000000000000000000000000000000000000..e426f7efdc3ca74b507bcab94579a7a9eb548118 GIT binary patch literal 569260 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

g#ZUE(3L(m@{@(iY+j9MK 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%0Dy9`xM|ib1EA5ub4zdqknX(d|A#rStF-XE* zX;X$~&R9WZB|Sr`jjdykrNLIlT-$o(3m96Ja3#Q#(|VPKZIr@B3OGsybfuCsb(EUw zXs;vDQOHLLs|s>IY9^sJ3S>M+X*{Bp8MT$M=EyNy(YVdRxJ45<3lr!W%3x1tu&1Z` ze=n^{IrGxjH=%%~Rf$N#gc@EjVrf-6rm<0v42v*4)Zv8v^8V2 zWg@Z|wap@GTj@dot1{7_6C&z(sYy}QETXCydd(Pm=>YA~G4;h&Jux*V&{Qna-Z6kv znG~8$vr(REbPoZX%A~xUyjcF7dkk<@DjWCc*Hw+;okY6LwyS)+OxGJ+mB{qVc>py@ z02%g1XWwmdUZ?L(f?v%6l&{s!hS=#6Ih~^CTl9pCnXs`_I?lXLnKx;iSrswmqNZcy zWR0B6DW5;h4UCOsR_Pf8XPUv8jPRx`deTE+R++gEJ3kUl-PlNG)lB{xGOO%7gfm;= zPHL#hkJB;oiJJ~6P8~lkP7T9w!&Mk|r9AV3k(HF!M!3wXRAL8~>dW;|dc{<#Cf(+B zWxU{OmKT7vWxO)PrB=oJ%QgDEAS@j?SXqYc;AZ05GSLooBiRbm$eUascPq>1fLbNr zg<5@Q-h}RH{U+c|t+jU{*AjwQwwk3fw|w`4tlFqlQbAVj;u)Obf~=axAF2n|;t7DP zikHX$6uQR|u_~M~HIi7h#d=tPtWtNm>1NzaL-SP-3&Z#NGOI4DXh*g5KZ(eqRl&$c zMc%|-BsnPUxYZ-u41J>wMm%atzv7Gy3e>U8qWBdFwau{hq$YD>1CmtiBc(OXG%rNk zlZwv6CM5Yf&SX|v#3G?qAB}`M#405^HEnVftRixVtkOzp)l>_vR%ET%M$vu6|01hC zRUhNzg;?m@rTMtD>X-=eKnU5=2&)jQl7s@aC0}FWAoOK^@olATVg;y1SEJ#r? zdswAaan7#Ls%B1%3PcJ)h9$8|wIZM5w1OY9POREk2D5&v3*?>_yej=JR6pfsDe#$; zp{!G@IPYB29Qut?hhHF8t*K5*Ay!R>SQWMi2uMoUbiYEui+n~QR!xRj#kV>nR;|3< z0f<$TC05Nnt$!{+7S*0|3KFX(ORQScHjOW_>guBD_45`@8)eWVUnz^DeVJFKN2(pn zaX9!%qp#4O5jlcz~$7&!m%gDuEh5(3F z(wtd)CoCekoK_mGep-=riB(dIYLewCTUGslSY>6@imef3quGwGTkXf@Jlg?{FY*0} zRUaslk4({lZ?etlYb?a7ws}`#)tts^CRWWqP>}E8=DrA6m780DRcqSm_MX5hZgDP- zwK4_nJ%Lp-)bge74gb@;E3hgxH&<;7I}4jPC021`bE&;4ZaaNPUKO`Am3-UUnEZK5 zTvZZ;Oy!7k>hB4wN^Q-^kU5U6H>Fi&sV%gsF8}lK*1p(|$-1Bu9(%ma*LYPu7nm=& zs;P5|WD8u?N-M?+u4)_TA{kgU_k>U=z^bi*8jbO6{|^hgw-RCRe$N&c7ja4GAl8%Q zQqAF$0xne_R;y(G$GVRyD7w7|1B9_ESgKHz`!biRr(&zQd^j3BZByvq$bbf?LmBqa zQZA(m+#zsPjWekIt%j=RDkxQpkx)pN=rR%e|81#GM5aR<*boXng~FiH-<|4# zbL0Bm^K@FkcHyGapPX-zYG~E+&`q=!*BIqf698J9Q=%C{wU3KML#S3BmV!4m^Lg&U z-+)j_BNVJuAlBRgq3WVPDOgHAh~t22rJPPPwf~eYG z15wR!7113as%^3{_BBn)5|Tkw!I?JDsdSci>e#f|vH6@8O!)noIRD%N_bQ`w z&!^q-+-e3s^yNJaDtmrxDN8sy+beOQ0bh4NjjW$(Ef}e zv5Fijo9Viv)AG!Jj!|u(>Bggnq3kbks4#Wob(Bd7o^-_dL;BDCWMAWoFVKp-;N5ho zrMZ(WRZWt>1XseM(!W(IYUUKfUt~+IA-KGQEwxUY7fL$a;-sL&ETuRwk6a7+ud=0N zlDPjFf+u#JEhVNUoOz3SUzto?WwN}nDaw$+%$Iny-zu}HPCh&M*~{=4TFT6_TzM}z z6T_=Vxbti#b>v#QPKMMT0_np1>lZEczm%B^@9Mu9C`D+g;BF9Fs*`A`U_ZZTsi&f) zMg^8y)b629>`v-CsZ*86(wknV7tFAe1@~*N7R@tq}mJ zjf+9ectT+!&@})Z74L%dh0s?S8%2!-Y7{>RK%?T5z6Kc;3sxa=^A?ssp2B8{Iajr_^slc2T~9dJ|kfs!EJ9FU!6Q_1epr<7;KE!15yr$z3$k zV$QQ$2_sRk0^1L6`=LMQzw!kNCyH)Sd@btMf?J>xD?o_SSGdJnfaiKsO~@wziNQVx z-|35ndgdDU`Q7}w-vC1y4?q^~Ft+>56VZ-{F`(MQR@|Wig%Z|V8Fyv+wP#>m2lOpK zT74$~3wH>g?$`mjsYbf30AI^`Ke}j#^5k?M>o=g^kmFD)uM9UmyeI27)V-fF-mH)2dUBq}=XoK<32}UoiX$XjYhI0dUh9HkXL+whI-26Olrd+# z5^L~{bEBLe=@8Vs2FJIkcpt|30K}7Wa-ge}z| zlwhY+W0y-f#_x`?PFza2V4djR1?&{%NuZtLwqt-hjnrTPccN-D0`A0ZC~&7#IyloD z8i97A*|StTa?N#pNhe92B-&~B3Z}4@9MDcHtu6<&(@5JE0PVD^&DJ-fPU1vAL$uQn zuFxp7Q#^ubr!>=pXs1}^x{+w7c@IV6F{pw#gv!qn?ZlTuwA21Z;vs={n&Rxz7wz;H zo5jna_{#yb6CXj26E8M(4k5>hf9M^O7^nDoxyOLxG=&<>?jgx>qHon6`VF+xAZlLc z3aX`IHdWA0lEPY5&`w-(qQIRtj*2ado}S8R3%rAT+T=AK;zF zGrSZ1zHAGmih*!ok*_Pf?A8H1rBXN<@HD1OO+mylVWa?_HU)TM5ix+LISkPlp%%bX z-WXcA6*G-`q+7JST>=14Bac@EJcS@HS~3JYjpPGK^hVf^#+ZW)cv{HKLcmiT<%0MT z7PyDA5b(6n9R%QMq#Fpp(-IocNWjxXPMZKc&E%sAz|%y(6@aHTS?Mp}>8XXYLq~sD z;cPi(-C=D;z7+>YK`KI{<;WNJfI_T7K zDGX01c5y-+ClK<&B^y-P$je4&HiENJo{a>Za8bujjUQn-VVDZm9vxF(%+nLoWCH1A zQ(#V}%%;<9%1!62@DMgL;yaICh%Hn+wV_DUCPJBBx=* z6pfz1!3mx+1iZNdJEP!CJ2;aQ-V}zJ=dg1jcD_W^Fs7?Z7F7Rpd-M|{v4>`67#T`|VX;xg>XzKyOqUNy#Wz$%9%zpJ(WF3JkQB9?R= zKz{VG92AnCg5`*rj6!-^Xn6{tp7KHvaYiA7&_xRCiEdNSA~c?Wgc7lXNO}qeacTtV zX$j{b=}ERCoq?PbzKS3{5#jI)db+Bi(I$Tu$i&%+B1OZMHn}fI3`ad)^>}uMd}Uuy zBX$M3DlafkdOuEGWTo&G0reZA?TIgP{?;J*%oU|oO?6%gT9b;(}d$fQG~zbSoeS7WzRtwMoHnT!)DtZ7jlm_No+v0cn56^Q(}duUo4v%1T3}F5 z(29IQr41A3I;*HB)kwD$+~a_I((gp|)Xnr|dfF=N$-Xh?y;7$u+*4~9BTJVK724Cv z6>os{v~n4fj5JyMP>iqWdOD-fp7<(-3X*P>$sw(QJq4b!1VY8@7}(P)@gg_foN@}n zp7=^YPD%Is!k(_nYAm?%Sxc#nHrSCb)WuOhfIaDvdL+OVJ#a+B=t|8P2-uU>uR|pU z*VDGywJpW~`DzHrC)*&Q{7RHfbDb9>jgMmz1oBDts1cCWv)zoONk!2&?j<{O`fUSA9GaBXP-H}fpDV2{**Og&(+hQ5W2I}mLRC)AG zp-fPoWT$X0G=2hX|z?5uZ|fp*Y!E4m{l2 z>7}jBCFNGCY5Qjsr5Ev@xUHF@)I+tihugZmRuNJy&~;2~#%sm>e;4|cTAQI4Bh_7g zPwZ1_ZANlz>~y^+_bD5PjF6x$^Y6)hO0C86oD(HOe+B!rdy+lzmkRS|lmvqQC(dDO zG*n0H#%gG&(B}Y#n&yr!k-<>Qz~4{-L(%GqOor-5s#eLh)wiFn!=~=Pm?Rl$;13hX zP*b1=2r|?<$KNcQSseGj^8ex8v}1gVmTQ;pq0&GZbOb{!tt_e=O6si!4Ar-^2&I6b z#)aRvE>~PW?CGbQdx-%GwM8@dV*jo>g@u|YUSNrfcMh;n16N2WSg384Sg2Slw@{(x zVQi2JwfwZx+-NFP{86St@p3^yg_;8S9G#*HfU@2p2VleC5I^MaBE{x-5yiRM< ztxIBEDzK~oh%%v=V}N}thsRvQhkaSqUnI* zgii~oC#HG8k(F%yUxh!-TrK@7{7D5UN8N$&Cq9Jmriy=*74QO@udNh z;ZHdfyAFSn;TjA#9$FIqv?W()QlFK3tPHl1y|G_`KdBJsOzzz%`kE$X2`TWWkr5{d zdP-+`$G-5VYkm!j)d$0$!nU{JF5uBPEq)5&{L7xVG#6WlM+?V_UYOw=`ZMCu1rNof zH_km0okY85tm{D7gvv+Z+8@!dF43Q4<{+dNmL5_IXMMB&%%2l*e}qZWQxY?s^G>hnE5;Diu1?xpZv-0#uay<6$!xC^Pj3Y5O;E}vB@TP z8ss|18$ z!n^u!W>;fY7a%>z4swI+j$%Ebx|wuU2t!ob7?k4C=@QuXt^|N{82J! zeM@E7lS@l~F7@F@#igNJ)VVbJ@3(M?p%Gjfaf_R3!A-X?T|q!;#FIX1hmXQW+^amL zZGQa5CZ=wbt$cC$bJ<y#ZSqC)_a@ ze%|4R#-3|_WbT@JiW|4%jJu{AE89})X!KlSE^n|@?dc*p12$ON_Nab0@1?Yt-wJN9 zq<&BAHGCuKedW!Sx-(UWm+{uk1L8iqsild_0$-aH?PLD|6%wnV*An9d*lQDS$OQP> zL==mH6`9li%e3~L&H(xvT?O!K3`42$*J48vzcvZ-oC(Sl{ox9K4tB zy!5onE|Uuv?IWY@}yKkiHMRIt3g(#w2swu7iw8>i6eETGrha1w%Vp>iT5N| z*a&MzY-j72pQn0k3Y1WgLLq{@=s8&=LaZgsf zjl^s46`F`AyE4)Nwhpp(p(}pABtl8=)cCL3!L=^1>nK}y+6#Y>2PJ)V?aiaNUk05Q zANkEO(U$N18|UBn{&gM{v{pZkj<9U#gW;L;0LO6$3_Rs+J0XJ!D^%EVGbea1yK(C) ze!q760S9#)dze3);6>d58}I~==HKK&eV&ifbMaQegG#jrfd|FKYim3xE^AnLP^oTX z+8aIQYPW?5HE1H#O2+bt2}Ok)6Odq{ZNr%g#m#`gY$Y8zCPUFVi48>saqDcT&9I^3 zc4onb8dZ(T^!UhzN(CGX8;YA%*ih+=Oo!q=EPSX`z%lWmXx+WwL+#gD2f>Hh=t97U zntw(x?i})=mV^a_(us@; zL_XB+mW9h9A8MnwBKc79T3 zCSXu;Y&eG`3@ZN6IrJNRD4M6qbSSRZ{U9BR3Qireq2dx@AVbYOqo0qoNj@|GsHK>w zkfBnXg=^x03`N$#AwzAX?}ZH2H>zBDG(&YN)SL>1WhxXMC|oGoO;o5*Np#tgan0Pq zh2qK-qP7IGq2}g@3^g~$WT=UR7sya6sVtD87(4-FsEvPB>Wa4{*Fc5}1$b9#JD-!v z!IvWD`_JNqu+;g;XO)8J(FV|IfQDLr208|4sD-;5&``tfphnYDYLf50AC4dzYNF=9 z3=Op=cE=GKY9<#a!y@>@&tRy&5m=}&-<-nn^@l5j6etvZR{{$a%R?g+id&GeP@HZk zlnnm*q@$IY8lAvG(cc6XYG@P`YBo@)Skc=ep-4v3SKYD5Kd!ZvBMC5@V~dd4nV(`n7CvB1(mE90$gyR!Wb21+>);KFIGs)?Gbey&Wqdg|z| zBhQYAJ5ui$1lMr57RE6}j>&Qin`8bwBdKlasrKKCfl?m4cJWONpkf3aLYNrCi$W&( zHK{PhhB-10!gx@|6cz-P!Vw(NCStQuoeKL521><^4?v(q+$y75d_EZ*Ha2?H(WMMO zVPJX@iWA8=0go3J+2F~EuuK%@L~16Qvk{*Y7U~eG@dGI*+EOvuqr>S-fO=vgOwpcn zlFP}3*@T%*s_Cp09umAKmEdx+U|zD!ORDMI+oNAsHE?$l=Qg`;GVnS{?+~CwmS4^R zSO!$esy9x~-6Z98+TJAgRqnrhwRTR#PMg@N6+Qdnk)Xu%jh*1}W`SVtr1580av!05e)NL@Dn2gS|^NQTd^(;n(5jD}MPx{Mbn8c9` zh7qM&!OcvZD5nhzr$eipD4O4aIgQw(*beSx`)WXH<-+ zq2oRLz=+y!HY-MyY)&}^5Gv_P$cWLGC)XV`;qO^J$fkOoZ@6(zM$F>;r<11k%L|IW6s;|UY84Tx@Xrogx2f&EZ zhRxbOVI9Huv97w0AOpL?Ttoxd4ERK z2TJ856MAJB-9mDmd1M6=h4p#Tm-Hr(sNCLM;48eTwH$f4y|1A}mGAO*9_>Fvo4p1TmD`Kun z^YP}s+M;1C&y^CX0JcC$zrO{G+Nk0=z@lj31HhuDxb{xKqWYCqm{nm>veJLB_GAHGLTuHEdMeGUK8KHuf18MdYVKiy9_csGMn0%g{AQi<*Dhf$lOb z*UA{b;s5WgUnhF>w&QSb@6U~2Q^7^8v9zqfMGb9yy#g0CuZ_e-&D~6wI>JT8pCK-4 zMpDKeJhf{ha8XP61n$5^#q2iXqQ+6uhFe)xXx(tkB zk}o2oCKkX9Z~~`Od(773k4IQT`M&5}X~z(5nC~YHuyG)?1JuM?xm-Lq^P+T7(~w2c zyr{T0A!>T6cahz~Tqnbc$Q+N%b9)@u!aB*;6Ln%LCv0(I1GKaS!sIv%o=NuYo;>K< zLhM`QM~!&(^nQ>Zwd%_9&ZlS}>D=^w_fVZzs%2==C#PnlWwe&_(1{E#*sg4Sz3tUv_{O#cAuTZ3f{RswY8}6b=Xi|W zq_`?Sa-&K&x(AUaHT)7ysy=#_h;56J(fOBE3%_gM7LuaM!3>#l4sA1dfLHqD|o|=gYQMgkZ7a7aN*XM|DNbVE;xm2N#zt3}Ue1j@> z%KZJNuW(a$xTyx*bOUep8E*19A2rQau~V_SgxH-fw`neVo90-))RtiixJfhZ1WeZ- z(#x)4r{d=!HmCPuJ7N5--k>?E4VsfcPW8B-@y2a9Lr&?2%9fPM=2N3~Xo|L&9`o8G zdfdE`(pu_K@$1y*1vxds=grmd%Fax=FOw^YSl|>7z{EW1<39^;YSFlnxPviXx<;Hz z#i0stYNmT2Z>pntc>qpL^s`Jpp)&wD6|Vxksd%3%ZiY(qplZ9}BA zJ7Oy>gEb!7zUY^rUy`w4*2uYxvhvRg<~N~(;QY1WjILMxV5PAhtgs3{}c zTG};eN|=TxdoSAewcfGxo?Ry&IaAgdy%2GDp0Dd6TR+;5f(mcSy6Q)PM;UispyW5n zgk3e~-}wHH>tCl%i8kBElF#i#K%(262RREqU?eJ++j`t4uuy@=&79!5?Z&mQ`2O1U zFTuk}{9*pAFQ9IK_kV(K^N*6JKF?d}yO;wK;3=+3dl5X<)A-2PDK4!luv3GopBQVS zAarUYvv~xaqFRv|Iz>B?6Ld-yMeKfDs40FGsjB4`Kdu6rn)&YnHPzE5;ZjI(|FYxeUO-JPlcmG<6NAsg0X4PJ<)Fah zoSsOarsB1}sHwl%tXyF?emMd)6^|fSYNqKD=aA$|ZM8!ZE441QW5AW-UG2^x$(33c z|In|Xrr7(*s?Z#vrs$sssHuV7wIkRR)r>vDO?8ceO{K`Hj+>%?18{1Cn&RafPRe)) zoT9rSa*AvB7U2ADsALW<=Pm)onqw{ z+^LmUBOrIGr(pw?&_^0>$erTx{6g*&7u)+I?i82K=YLbVltP}GQZ<*%o*EiSo?6IH zx{o|XUJiO%g*(L~Jx8IP22T+!SfHn(LjmZiAr5Q@Jw+0czV2Rur=%|y6Ci+{BCn(n zQDPQFK&KY26qB%1RHG2FQ_=}*NlgTJiZrVnSQ`bN8cn#HJT5>_v1S$Y6eTz^dTQo$ zPk~Pj4ti=!%e(+R)$uVw)gXfe=&6C%7y^1~=0g%aHSrQdKu;}vq5y-m$-)(a$kvjN zhUlq{Wd+bv1DAj))RMT!VVM+rikC$S_EaiNgY2n|H3HdFsiP!&ip{iOPc6L6^2?rj zW+CsmKIO9tdE=0E$Fv&sS`!@EsHlrnAR|#)#Ei-r9kf!ZwbW5tDaT5zrIdrtgFhyW zf^RoG-^-s;4!!jEO*rrXeM*HRlm3`YOylsU zL|BADq7E-?0D=(;j%^jlxeO{94LTGm6;iq!DixPX4i$#9I^f0UlrdxDg_RzO3S(0k zrC!wHL^nDn~Ct8FwhMaW!%*G(UlW|sX*<~vGs*fJuy`#z*9C2 z=48ukO3kL-blwUN0eZ@$z??jpmrnE2ZaO>n=+{+^=AG2K&A*!*y-wp>7!}R};QWA` zIKZ5HV>0q4VXssAE`|!`10B#i@~ zf@z*I1ibkIJFDPKJvb8-{xpV~>#*}7cFsi4Cp7-7gEKeb%wV_^9cn`4bew$Rc7acg zS#M%l(akP9au+v^6p&WXQyGU^7Wc|4=mk`2fmK?4HOrruC2Y;)B)EVC>2o{yz zTu{;EBCg78IL&a3kFSURE(iI&UXv zqpEPZ3Rl-bgi;wvb%fWbvsG|=A;%Jk7M+UgKV6>XLzOd3KTL{A64V0#Ra7_;5Fpbj zplVICD+SNOSDARUPX_upjCiWC5nw2qS2@5_Z4ys4@}vvksiwq-0moFe15R>V z!5G~-o@%mqsX=r%zjGZAQNy+e$qu8V3j}IVSC}mBZSMdPf)>_3#B>AgH8584*L3 z1Gm!}2FH3R^HNhgKu~Gn7Rs&!*O&$KO0;3A2);m2q3N==O;|s0JdF@)sWf7$)mDm7 zMX0Qp`DzEqDI=IlQ|AAB(y*@uT8u8A*@gb<~0$wb8m2phs_VU+c+ly?5LG0CjdKYr4_x%j-rK2g&j36w6MCc zqqb1G64+7W{@rj*hU+CT-{b!mD)`^h*WJ(i^T%{l=0&Zc&yW{2hKC1UR9wpgyr`wS z3m3&uXT(Ltz&q2M&?;-or>#r;cTX#%+Vt19xJ}@Ulw0LH3D??quf{`cA_!z|5ECV$ zpg7_hQIU?lIKhZgv6Jyjty^uP0_}8ZchT5n<4_oHs8~kCC#l%UnorL{i9?HLwMu6p z^9c=c?rh0?!pN=pkM}+4=QuZz-*a%UB+{5oF(-Eq?n${#%CS1t?joV< zLODeNd)ktMX4cc1M+N9kTRHX{m?vpA;{Gk<5T12m&oll4^Q2vuJGyaPe;mrwlJq7q zo`xhyz3N5p*x#i)fqPW?t@Z=!ao3`cRFBDY_fuUelf=7zNI>kU0=kCpyPDL_a(2jE@I6&2g*kC*zwU z-tHcJ(=z&D{x*<9Vaqe~K?A9G!0+A~_ToBt1>fxP3 z{JR&r6FS;A>43BTS@$nx6bU6K>2!}*7B@@36HuAiu zHi8+Qu$xNiNF|&?da2K8tw|ig%-0_bl|N%Qsq`)8cdvX#l>J9`lb%7Sc2`KF$qy;` z>`R`27ym9v#6CqpW4^?rJy)6WbW+VG9etwFW{#uQgE05e^X8rZmm87Nnkg<$8B8as zDGw#7I_;QG++B%zwf9M^g;(|8Okg4wQ_wkLF^!VN6o&kl#q_5vrcPBM&jq)E#uPmx zQS>|J!wyMIwD=K8Or0vQPQPatHy)6!NsR#(QzwguQ$r3&Oq=8|b&aAht+~E=Q7zqy zlGK^1t)TV2bq*7>@@6k^(@$#Oi|#6Z8ueB-(dEutk+02rC+Y(zQp{I_8ssZZq0m%` zm@|ogYmmXT{J{Et`YRS=PaN*0+~5eoB>sFe7a+$SCf#nb0r~He!K5DICLZ)r8+(<( zv}gj8-kPWxOyzO`8=9E+ed)XL`O%=YhHHy6y zgMh+bq9^^rm!9LN#2tzsx3JuiiTYk_GYq|Pst2;Gw*|Z;1VZVDQWp=rgxX}qt0uE9 zcu6+oNajF~on~k)_cT^l!%(#_WEblfpskT(vaDTm#n!_vDY3MI>I*J{mxNAfA+y{i zp@LQ?jgVH97O_i4ueGLI>{2laPxe=|r)ynV?JZYadP!c=PUvZTVSQc4AGSVoE!siq zl6KAOAx0T;HXw3>CNH$Ax%tY=H%@+?wghc;UXFTR8|lan^IwgQ?8M7~0jRux$G6ro zgbFck`tPoPZoT-5n{T{)!CN|rHS}N2?^P%R_kV&j^DoktKGHquQ#s~i-cl6rtF$G` zt^#W*)h8^hrEsKF5{zlFXR?-}ud7%~T<-RM+ES-jOHqylYbiDcNK0e$$DF0DQIsWq zNr|(x_?)GUs{tm?Qb(0m1ZQdCx`KtX#5D^`fkLk8EICV?qTg?-FHc=4kFk zoFx|CdpJw{lR9UK3)oA}Qe4U}I7_qQEU}tHrS4u=%nud6C(T)!G-s*j+F*jSG#k!R z&jrPiv$UmBR`151R z5`A!ooF)DUALJ~>1A??f>nNZOU;Io3XNgc0PvtBvhO;y(&eF=|P@c+JV%-4J(xf6p zpR|T8o~b=6VcXE2wFf$(jJH8aK(-N#&#M$l(2 zDO>7Lm!v_~7TZ#ngu%bUToOJ7xOG~zYU<|7psSazuzCXQ2(_c6y<1NW~5^pL+Otzf!mT)4+r!DE(pgfz>cylfH@s?nsr+ob0 ztbv_da3&y}X$o&L!_0WtSrI#PQlTyBxd&&4!kNdYOm~QBk<$_KiTeRQHDrtBBC|ZDfFtR(Jp(=EB##-__C zsL~A2eePL&eBLjnI6jLDVzfYxb)_Q}wUe6`)MEK_o|4i6chiE<6JPWNO-XJQP=Z$U zt_Y|x45k^5aq)G}+p{2__A*P!>{<}U#T9+rw;*1`q2?9=b(GM`rPWlcyIO!MGUbU` zP4JMPq-4`7s}^4)&qlzl#A8EF1@xb;it>@_cq8NlXib{S0B+JmY4pOan44p2lB9Xi zPw5&HkLsE4QK(7S3i_?0CdF_PnId(T2eoqJ6y%hjgQre_oHQp!2RNFlE!v9jASW%2A}4K)1SgRc0y#-EAfF)7NgF-`-{wnB z`mUO;>!%w0RvnalRD=%ENoq(QQR*rK-%$rgLTbt{07_D-l$N2?fuE`EgJVLBm8nS{ z;FGj^D}h(KYwUybYP6N9D8ED~2}@ST)hUFMl0&VRT2Qs%N-gr`%8|5+=m~<76iy|r zN_mwo8{O8r4)=eyZy9Ce{qaffr-^M2F^ zA>8gbbBa6tCYo}^vL?N$Ytp7=HhIV2Obe279)-`q&5ykC z6L?VNginM0kFqu86j|wnYu<}eC;0g1F8Py-ortWV#EM%A`)Koq4elGyi^uLMb<(Gm zEcLwMC_ZI|lP}@|kT)DSZ+KYlL^o8n1WKOh)S+mLk78Ht5q)mnNNFwgs0Oi*bbarQ zXkfib9zth><2Fxe0bJUH-@{src%)m>2*k1{bP{fYX9PQxKH=qnQ2b<06bD)UgiaI% zP-smB?#quSK@AkXmZ*Y4bI({HfavR`5=v~htcB8x%j6#TRzrEBo4CB4pZFW)P>hJ2 ziK15$Mb2D{L0(biQW8Z7h|(9OK3+)_sa{s#d^vVYqBPeFqKH=7W=PFiE30x^ z6h*xvW7@3stBA2z6h&*PqqtR3#>yyCwXCvf?Q`VO6H!NL>uQX3QXFZwCcu~pWl5gw z@@RM3ddt!wuS5>AT8j2>F9b54GwnLv)-|t%S6DMeM*v6hOc|A41m;F+UPM=mDNIP= zL=^SvDWcWR%Tmwo1Xm&u^k0?^DaFfzv1+0WFBY*8iwSD9TVHkmoiL#uO4vw3lv6p0 zZR{B~LNY;=Xv`BFqkpur$_KhSedMS=v#<({TTxo2QH52)FfI#*d0WI?rBz5fs-;!9 zHj^r@(mYmLB|eZWuA)k-aB3cktB@n|?D8s&D6Y~trB$MmLur+kXquw5%EafC(ke3% zH?g!zOKOd!RcL#kD6JBICrhhzAv3E=tB^6k(kkn&35!~5Jdq8MrBz}t$V7P&vJ!hp z6joWe6S1&LPXkpHRv9C;NEB9S`4L}MSf%;TQ_HIKxJi4zeqPFOR9J=X`NF~~x~vK< zCXj_yR9TgdAH)<^A?GK3-5m=~9*`%cRcIjxmR1?qlS@}vS=63fT&2;aRa6|z4=f6+ zG*~>L<4(u2Dl=z_N?Db`EvpjUCskI3muHl1;wzgjQC5WpohYk9hg4aWj$&g`R%M6> zRaup>OLAPws>GKl%c{f=4ma2jo&1f zbfXrFvMLL8=(nuOQ@5zaQS@0`)NshUW7-URtqYEHxcVX$=t%`tq*Pipbrkocq>2=D z(0lOAlzH$hh-YM!A$opM6=g@AqAJ=PYm5DivMR-+0GCcnR!!Sn5p>nkl~qrE9hr92 z+|zt(8C(nEn;L7A9NXnsIL8ip)>0eQQyXx1Q5EUfo1!W*EO?}-iVREst&%E@EU0o< zITaby9u-uPv18+fmtIK~j8S2Xda;WW<2a#^7ckkd%89*9eCEV(CeCw$K{sTS(Np8c zSWY0O!nH?7*0-d}6Vqj?e2PwmITtkkn}1gsdY!_*tE>u48kC%SWAgD&EvO>rN9+WOnqqlIL6t_8Q^_+ZjW@$0Ct%JB zs)z}m^6`7K1$IusnRsxfC%j1vGt*&bL+p%+o=s@{IR|HE!kNEtr#aMg$mt0A*pezA z7_Z*cYNVT8ujH`>ktA%le8n45H@+#tuP)iTjs8KX?SAms2IjuwKZnwNjZ|bY?vMeaDGE)U8 zRbgf9O^KDUS2b4R0VuMXV8JcqLba0vL^Pl~8P+kYo2s(G{f+mF*La+&tl#1yOdzY@m>0SG2GQ ztT7!1K)o-0D>UpsQ3N7WGD{!_UjGP>rfmhb0}sLM-7&r4Y*=EyG4o`g1A7 zLcbT4SmJ?$QY`rASW!S+;HGYIQ!TjZ7N$$cLM-JmzfR|cMb@9U#@Z>w(#SF_C>@Tt zVF?yB810CaBiamjM-v?3@O564U(xb(SoI1#PHPWbvtewDFLqFbMXR=ub)~q*CfEm3 zcEweDS$+lj^p4^yLIRCQ8XeU_D;3BWDXU|?(23$JQYw|0Dy`L0Y{gouIW*weo@5k{ z_bg|~JTE;`^JGy)Q=sgSnuQzw0;{S2Y#-!Ry#~yC* zJyWmO8@w(*ad+B~;=R;fI`VL9D^q!Y+Py8+wC}o6x0eq++~Dyg4IXJH_5Pn(wl*Gl zxUthq8r!u4?}qDGuv2s6frnc=zofO>8mrAty=rSb@Nip~*Nn1_us2~@)hJ~l9(lOA z>ub7}D&~!|ZfrdAaAUU@eYIoadIhs8+8d8NZX#Y|(q^h?H>X@<)&x5AcylkAv~lWa z!7C3*QCd~fc8hqff8hW7uu!jy1p)dlK7Ob@v3Jn4 zcLMKa+CQx!E`Xgno-!CFT9q>MTJ3&~_Wq~sqdbkYz9Uo$Sa~LVY~wGsiKexG#w`Z2 ze2brUrNRgBsfXpRBfo%-R^qgCS~|0YB@0D=`Z*^F9)!ivFjT&OfmS!fLCP*QE6uEd-nTEsdz2H#=Zr;?P2o zw-PNq7zwJhWbNYRA$-Y4JM<5BVgyHJ8j7cK z-hZykT{M+(-umX$g;^`hF7mr%MbIB>MOYyY2Vk>V1xWiBpHpFB_X!MVry za;IJS{JjYOQ_H@BlQU;0=X2J5U9!z0-EhSai)>d#B7ZZrPDB<>rP(fYj?VG6 zA_aWZQzl3LU~Z2M8?I9afgV{+0?Av4wI-#ywJ z_e?MA-Y_}by^-6J)4b>Xvqzv^nOe{@4@aG4^NKmS7Lsk^fJw)#Tu)rC(zv(hE=+bi z8Ffs%kE`j@GLzU_EvC*~e?lMUIUhSKBzqgDEHAjrGgns6IZ>N66{*!q`cg{%l{& zLVN$S8$YFebwE-}g;!)RXndpKoX&RMhkj+LEs~rzme&s^snv{uC8f9koHmk8LU7tXWEKG!=-W|()6yA*dB7*+ z`M-24m@{lOIW3&C$aCz4Zsuk;-JF|k@y&a%e8XQNr{!I!d8cWIJ59SdEs2|d`|=I9 zyss2D|8{xvZ@NRDK7|@PEtU=w)eyQyZvCBcJ8Sr9FFxb;XAtDHPHg+_c~~5B({v-T z6=^ud+sIwNq8+NQY)j@tVp?e@_oUeG+tc=D`xfY~u-CV|0eHh6FKwi`g@Wekc&@nc z(&mKAL0;M!2 zFO7TP%S(HXV-xmute>~B!x4`&8C1j68_9B@yGmSWX&@d-S(NT*S<sqkCP_s zh%q#_8KRZC8B*gt&IRQP&}vEajmuUT??5C9nE_9 zN0CYyi(XXaMqgf(=En>wWN;#eIvGv0*glku&UDZu!#dNeXYmS*OyiDw-nb1$Y`~&D z_Nr&^L;&?D!3GH>+HhhL9k(oMjn=aSAsdYfkeAY)qa>rPrEq5RA6r^8m65KJ(YWvt26bDi>{%33vC+6XyH7{M zqV+31qF|%NI|@2l{Fs4_);Efb#-*_j$Y|+|R5LnNFiquF*Hj}k)6r-tf}*2!ijCF@ zGTI#XWJ9^oxQky_6pex+sAxgF1rx22M6@MdRRGaKN%KbY(As!NloJhykcJksrjmu$ zYZ6-Yb-p09zu2r?*?CeJv`G`sI`@d=ow)}T>dZYNIA^VMKrzmo1HXbii~pYn`n|w2 zCQKCMSqiG|fu0R4CIx%evH$`2jAElY_N@7jgq}4Qk!Otpo<)0dggeWn?5e;suCD^f zvvd&_bjdczdY_?Z$@CTI8P^9-^NSAjtT{%WMSe)BUcYTo0s(gxEng{uAC{U-qE3F8 zNtdXz?uV8L@(F#sBy!H$cnz%DPa8-Oa+b~k##wa11>uaKFvvISeil(we~6X=;bw7+ zy%22{4U0l~~ZhnfI2J2-^fG!D0WXV-^SG!RJXF`;j5k^Qs%ar9(rcIeX&pKKg>KIySiH)7s$TDT- zU1%Bj3gDDUsj3K?r+c0}IwI;Qt<__r*+$ik?t8|;F(KB_7;9wgm9c29(L=*{s_^%M z$&~Z0y>kyuhVH%f|2;UF2_hUknTSMeq;iZVYmUKWIiA4rYr-xYnq7gDsSwaaiT4A_ zAVkII#3-+^L7;~wD^VnjLmP0|sKi7rPHU)9e~FmeSXaliW7hZ=D}^VPlYFFJGmeaM1G+cE&hTGbRP+(i3_+USWmS! zk{hNjax?e2sfOHaQ*X`#@x8vhu*;g+6X*GpcsE7?YkWX19gNY`ZeFA7gD)Nqd1w{8BDr}KV zNBgXvSQWKOt2C#kOrC&MG!9Wx8^!84TTcc=R!JPPT19D$M3hR{`H_Rp$%3%l)6+@5O867#M)sk zhrOcaS$k7!UhE#spOigFuE! zGpFsKu#@19TA8$3Y6aI(Wvxp!`SMh*s)PU$vyy6s*NC&xZ%5;;9l+*1+cAwI^Zr1w z4;0Kt=G?$f3DHf6C9tgg{)tfuzqe$H?Zb~642A1*i{FzfHt%}ZiyBwl;J3tz%^USF z7WU`%zAaX)4FzVQ;96?$dxFJwc@K!6Qaz8G`<7s_V4`~@L2zT=lq}XoaVYeQBn@v# z7F&Oo5J*75$<*BUWQ*;tMn^touax&q*`cAhJ|MRTdXY^mKH4J6t@;_ zl-5HfMLo%Vr!`MCg5US8#@}{Vnf+lzW=igj_f}Q z7u)@$_@x6}Yz@m15H2=YxLEY;3tTLc4iGLD3cq8i|6z+gTHs>KCg5W8+}uYO8?kPF zSTH#Dji!r*)hR$1>*rO{#pba7L*T{QLE*)QVLQf)t^3Ctw7Kxb_Ro3aQUrxB*3-iA zynV0j{#Cx%w7+zE*uocErnOOgv0<}(u}0#>hEe0iT1pE5UaX~6Sb!Ic#2CRB8@P7I z9e^?V2>`~1#URGwlJGt(T9}H^f z;{B58Kw*r<_aGQ!%B#4I1HC>$8IvK26II!`FcdOg;*ks*Q{J}?9&YqtINNO8H0x+u zPdVQkSYtNScJc-J=_PMWeb4%HJNE^?+rmx@?*=qZ=;m+6OaH%CZK3ML##fD<@hP;| zQE}SWM$*Q3u>-Qk23pu4P-6=%fRLmy%5VQo(3rMj($Zb%M&oB0SL~o41!jy70Z?q= zr6rOvM#m&#jE?LZR}B5p3j->w?(drut{9CKpo-A}WQx%SK0y@2Up?9v7ZRp6 z9rzVFOWUy{L)>)RSP?N6izHI6B9JCt&!X?`sD19FGuXM^D?E`y3biY zcFFRJtilyDEAm94HVZVY38`uS1u!n#NHc&wVJg{Lhqi3h~Zvnz+ozZnb zn9P{hyF@0iL}F;(cnvzT!P-gBXa6!9Oyyr?j`qB3)YO2UIjDD(Oa~$ujCQ3KE*NcW zEm*KQdKkY!1=D$OOqRP;up#+mHIt@iYvO!PkMlXQqhYS`g3~)^=M~KvAi-jp5Of!4 z7>YEr24!u{ucN@+8P@AvEj8-k;o#{{pY0R36US8K+pWC|uj;=U{6z?`@QD!uY>^1C zux8?m0Q*w}7%n&-Q}q`C0Gk~ESS+7#g#Y4gYKZ@uRGI#M{7D{O{O2N;Klc-TSs4H} z$rAL`hy(l=ZO{Y!m%6}>?r#BLq7@?*_<>^fwjJV5PD`MjH!5HyTd@g*fO#j_NjIk- zZ%%hRZ$!Q_?|sA`zl8r<6H&O}zxqU#0Q}d)K#EekzN54F>GBz+ygy&2;J^4*hxjkX ziwgXgzR=Cw?53M@vn{@P50-EEOZcxbZ8gmWPd2fim-ox2{k&YvB=zyedLICQdHj63;R}Ysu^)JF12$J7l3`e1fw~Dfa#{nmXt~go8I7S z+avqUYmw@C^JYqmsb9tKQ_m+Ln0YU05Avwq3cPg>3D%{LkE4-sVYp3>^Y83*eBe6AVI^Ek~49%+Negd9_ST)PFOG{B1&VF0$GW&DrSYQ zCe0QQCM?aF9Ntu0-KGc|;4}nHh_x}cv-Qi+FUuG^YY!{JY%yV0RUPfE%5%YlY5lSq zr&Z7qN>5H5&8_P)V!|Aex5mI23}sWE>;`Ga+PdD_Id>xni3-y`?`bIGIoGZet{rth zv_eprj05WNOc{?h@^a%dFOKt~3KLW~F-08_2Ca2ojfmcCP=#IPzm~&@21ccE**%Zl z1}q*TOnUWI@85|M>XC#EBmfa+;}#v;*zm_*$J|S_<_Yf5zlaF?Oa~{GtQ3f_g)4Ic zB8;mw*AQV`ma`zj7FBR_U;#o%Slnrjn6SANyKMer%V9d0u;>Q!KN!V|kTBW_fytcY zF64Tpq(Te{Bj==w35$0Zn6S8^USPtwbQ6HW+D3uG8i@(h#1pE&ULawOM1)NZ0>Zk~ ztDu0p!_kE)tWv0R4n}+xn6N3VOB2ODW0mGc6$EYRP(g)-nV4`0VPWmGH5wPzhRIsN z3mf?u0>kD|O}UY!KZo$Y5*fBzi?I_`M5irWSYyNDwZ7c2zu7D<$UM<}8j!>I2$I4k zdaceOgoW`By+e{07GJ-644`3Czy!F5Bsh$|C41;MXkw}2MpA@@tHtL+?<9*!P^dEe z5l^g@#pG}K5``zm(g!>-u6GPPF;=Q%7KT*BABke=2ulOIqQDf3>#H56SR;sHN!RXS ziseYK&J^R{6sB0JFwJ(1!XgEE%0#iKXoV+69xm|28c7qI*s#`Dn~z~Ju^@^q^koB5 zEY`snP_dQ1*HZ63RvlRdRxH3JT3UpWtLCpXjB;W9fTW0rMD=|-3rh5Fv>-yj#b(lc zfft*|ejs41-vVz!6wMFb)hZcdBOQ7fWo+TK=tq>X zDWAd_Ycyqy1DFHKSZqTkvy3DI(#vuwW2x?sz>HDqMPSC_6$NH2J;$Gc#uzD+F3V9k zfN@6h?F49y3J)dB7?mcv12jfOrQksFS^+keb3XtZYb0uHvZyhxXH-yQ9jAv9YK#@x zz{VCH0e~A@!U%}Vr3!jwCT9$ZV;v1(WR8vGXesJgPxcJ4V^gqEjRKD?$?^etEI4tU zWRJ~3R3v?DSDtV=VAB|f5WX34 zY>hEU!d_`pCJmjkgAR~P8&Yj-9eb=zwle72-W!j=0g?%~0=zn{T3OyYDQ~V0x`Ii{ z+DT<~6xb2!DCeC-lLgW5B%I8e2G@kRw#G3^(RgjbcsVA{GlY)0)K>M>3f#*o6K=is z`c+V%LIxXCc$_j5n4ELUZ2W@(5{8R9(9nSh#wj?mO*m&mJ`)w{xY34|E~iYzrx?EK z;8q8}_@o#+HePV4!%rQd!XR}b7$?w);m{_+p%^r6GH7b~EMS(I_{+v=dlIBSP0p+=F2d9o0QqsNMxB!hdEiZ^hzlN{ zm=`GDs+}dV6DfAGMbF20bTcubW2bz)d7(U?()jZ&I306NHiOBYG6=kx13SMECm}X5 z2@$6%HZfJZk zvaA1_LV3}W0nuls9qLB99jclB3N>1dmjP(@eTe0J{wg)q+xC6r_qEpFhhCIdg`xFC z@dXxIs##N5XyZ!I)Ph2zEo5zCq0tF|LL0c+Mna**yBw0xdJRi67rE)%+;lr`rlmLM zanilMD6~6Pyu_77AI1JLg5a#tALQN%D|=$+gdC)H9P5$ph=IR%LW)Yw3IG+&**{Se z;i9I-QuvM07N;hH{^kk!5*wYi3odu+z3n*P&;Zaz~gIiU_~gcAfiE5)3a6(fR%vWQ2Z zw7C(WG`I?_+V0~o3MNgqqvvR~VAA*k2nZUEA!#&u0+6(}QINFOAks`L+5$*(S}-32 z(qb?5Vp>C8BKJ2S((D@%J;hIgfHWqMR{?4AT{&+wb+^K!(RBcL)5YR!h(>E^QFjKT z&08$y09-VZpjQ69P|?~1HQ(?S8L30V2{=F<;m84pMyCJ_ZQkN0cVMB3HslkKgvO6r zIB0aAF9z+7rPUv|vRVm%9o|AfDiW6&Xm(iYkt@fwGw_Wz81bm-JrK~WNEszVsRK9D z+6C8q7#rhD9uUx4)f^%1N_UlAa9@hFEw1VV{Y={~ZQO+M11HmHp;k+yr&@584Ea*! z$XP}30C=WFQ|qeIT`kK-w~eqv6Q1o@MiF^;%GoFCVRiQFGUSY^F+pAXo(i*XJAWQ+KjZ1^Tw21*?08Hz7{aOa5b+O|8bzs`EHz*Tf;zipO9%W#fmF11U{F{J) zNl}gm_a5l(QFJK#E(1$1a5!LIXEtZxR*qb=3}10rd}WB zUNY49)j(kqQ7vMZs+d9cT3xO;o_e3>6=i~|F4BS?OwS9q84qvfT#)2q!Ja3 zNIv85p6e}1kXmaFuKVc8wUiS1Y2B?0Trmxs-({(31GgK&VarDFLT?6Fp`9g5O?qvI z-6?2l`JmvbaXmH!stsJ4N)Xk8>Bmbx+M$1jR1?n3dH)5Z+GafMN^c=ljSmT|S{D#c z609~;1*pGDR_i0n_BvV3#47b35o|R+hIF-wz6ps}>+qM4cFCXd)%v^nY9hQk98y47 zONWrLw$Mi+DQoh#kM_xhoUIc_*kGgTWoOWu2zR}J_;Qvc_&8Kx5=m<;Fo;@PXe0@= zTKWpTV_)FfWltv#$S-k?4Z;+d4<$9>4gfU3B3*X!wMSoF6olMpsU`+WTRH&YBpmuB zN5x6o>@HihuGg7sft)>Ha#3d=@9D3x(m^4Rlod6Xw9WxTq;lk?o=Hkw^|b`qE$&}G z&7Wc?3^D&w`6QnDk^F(D5vn1Sgw6%48VZx1aplr`lPQwyW+u;5qUQD(V6-#hzvyA8 zbl8Qy2uZ0C^R-94AyPppg!w-l)QEqF>_q;>3*Cyt|CeOB=CxcoUI&Aju&EIsxjqqX z(}6+AdB_4y&7Yy={sgHe(z@q;6jDp)Xt^FZanLOiE+-E>g)Mi_RJR=xI#n&x+2?(u zW>xg0%Rx`cJn4jVxj81bkuKLETy83Cx<@|N z+0Wy&G}qB`OYAma%aPFrw%iaIN@H#ii6Ra)&{09NTp!I8x7EA*;Fu?Bcm#{mhltHyZa0za7+ zT8f|fDDecKR(0%$$1<^s*Utm6ijNdtReaiOw5t132BAzId>;KspNk?o z_Km1unD#jz0v&lj2Lc^+Da3wAuRj4P8fw}h+%L~5(j|I?duRJuz6blB96wVzqo}IFF)@yd z@)naED%z{;T=DcDl;#pWxg4o9MSs^j2D` zh$P8xjpDvVy{}Q<8p(VcRTtr5&Ox__a*&7xpztacxM4%D|H)d(2M5h}lc+_#mB#}@KiswAE{ zPw9+Q3p-V1E%Z04Rlc#iL4QS8W7=p*7_i?KDp(Edw}A@t0{d;IBUmam)RdM5Rma|x zT^*=;s$jo`di0w8)^q)OWWSC3|Hflb2(_m|sK|bsxP&UO-?&=+m;Lr;&Ei7VyIa^w z_8T8T(A!8P0p}2c-uQ>!A<228UwX#?^fq$2b9+dF-r^6PL%+g)o z(jRi)NZF35Z(Mv|a!Mrit&z;PTvo3z-{{|5ta(yJ`DeBQ4)cwRZ3FeKk@$gyt5gH^ zO(^D&G!&R`&0WMdewxC3W7EKG;J6W~Z}Ef!>f6{HGv7LrT426SL1@Wy@ytlUTXm2CQO8TTV?G4>8uCSl$H4W60KzeKG zVp(Js9z%uo79&1nz0m=ry^&A>KZ#yQIWV(Ojm0fnO~lPeB;>sf2?$bnZ*5Fjq+p4! zjI_6&7B(r`+w`-NH38b&!s7w(H51`F0CF?)@J8C(kj?_yTT2d-q`eKySrD|hi7KND z+8g^#NP8PC_-7+$4QX%ezX{sgKz^B^y-k)$)NzS+L3^7V+S_h+M}q}!Tb6wA$b^0H42WZ6 zj3H8%N*Xa~;EV-ySZ~sVS~Kg|Vr{OCIhWR6`2xyQP_6`catot!1?MdYo5EPS3g}8D zX{sV!g+HIrL?D~ z`hQ;#Z(Mop>ziQU66+1Z4KEy-;Ur4Sctm_KpZn_c95Vw~hTMKwKr?ts|)czMB(M#lTC#wpDoc=!p9A-JX~h6D&8I z@^Ug`HhpGOY&u7Uhk)ibG7`%iQ7ku|I`dL&IurNk*Hw+-og})=w3}?aPT1>=zRdT_ zxd1g$02%g1XWwmdUZ?L(f?v%6lrPrKi+EEfdU{39zj%zdrcB=GsU2_jC(oQT{>+M; zdQlTI4&e=^cFHiI`GH={57=3RIMuLVH5yokYfer!TjfJ_)f5bVGbHbaQ zWpL&qoEeKav7rfXJv(+^!rM1mbr+6djdQ!I{nlk)2-cL7?^7kbF^5>mn1;P^pf=4(PU}-Unz{EgLr_1krsCwp=!bu7CAr(d%P~fJ-z$qA>t~qAFjg4Z!41t>z_-NT;0iag?J+p%N z3WX-bH>pzK!rvQ&!1ct4LI~XSGa>OvHX;2Tm`OdOvocqSZt^9-eOFl5byE#~JGg~- zR0IwPaC%VMkt;{GGxUu*82RwEUJ&54L@5 zJlmU$^6~!cx6f0;M<(pbXt|9WRUO58{4H;od`t9OLN`Joywu+J1i$V25IPttX;FLM zll!)Wy5NnVA+)^x^)0b)yB4ORxwB~QJ5t}an1m@c`KYOHNqigQw#Wa^-kYVluH)*q z9g^cyT{LDlAfIjvPT#Lc)CFZnHN%Crxy;emufmq-ThyVixA+0acB>099lNbx>yj~{w^h6ptMT&;s0x`Zj{9%? zcY%3tP=A5>Y_$Nl@Y(v0V}MNr!e^UmCt<<*73+Q|KHGV2XZdVo>zm*+0g8aeTHCkSIP|!4oa__-sq%L1;c( zKLd+M_-ykwb%xJ2FL#QZ{}=tc7O|)USwq;SLZ#6Vwy}H-orAF9Xd-yRj`KeX!ZyrM zUsyrdI*VXikE3%4HrTmh5NzEwfUQb@1z;O@SV*k^Y-0`Pg}}Bix~XLeKEw|~U>i1A zEKdZsQpV%61UAKxsnhBzih z3PFrVf2{8ko=}qklq-aus}pb_@_W?l*0<`L24{0 zy=86b!p2#gbJJr5G2rDwLtW22p2WJrF#}B-kdJ1dX$u0WL6=uiY%(RDf&h+BUG@B7P|JsF`CZB!GKe+@|!z#Gw&j*MlhD?%fzfVN- ziIV+eISlMR9s1fTmVjo|2|J(DyEFE)-m$%r#N0?39#3iof2T!0$uSfVA!{GhDmgN z0T}i)x^m3BjE-CN@D3m!b z>|*kcClbuOOPrapJ-y8{PZK_%al@RZOLZPlAi~TX>TGE{!}?8J*k>ll!-F?u!6)ZR z8xLr@;O^tS;&$NY%utqB^&iHBRbW`u)we)THnC19|eZ>4i`4)4RHhR0+X$M zJ=Bn(&`0)=$>zSAPE)Y3*5*F+;XQ9Nlda9YA##+ha%N*+udC`8HUhM9GpDOfeXvLF z5*20}Y1<(Cs}I~@xJlIq+mg|2gp6&$$Gw1sQCp!e&DpZivhglPz5kKkrP|TgOGhi) zTDG*+bUczUpe7K5GS0XFD)KXgV!;@q#R)tAKP)y z{6c^ka1|kH;Eh^T4rr&sgyEwoOjv!^-@$|}@Ul4grRpmh6vnmIG?8MZifnCESUn)1 zFzj4`Kmg{KF&(xkBNjtpOxT9&_7$XKZBa4cJ=6mX34^zyD)?blKaU7=&A^H;%%X6Y zv3K!ppfY)k2n&tC{uV%(e<56ZkZ~NoA8(_PzVMPHbb-{fG~H9n`^=?w2?1j z=A_|PZ%EirZiU#MPTu_s>_#F6Y^9gr%CAL=S^{%#|iUbj6+_>@a&i_Y&5H*CA z8OpxqdO+8CG2+f?Ki?A5%(N9oc7^xg>bp2e7j>U~2mTEOUFoE!wy8#qc(Ib`nIL&m zMZ|0{uOht6aA>d~QlgHDN~a-(lvs+2%F3=E)-%={dvEJ~c|&n%G+1<#(U*E}8~t(O zv!h>cNihL~dGX-Xg%%$&-V&*nD!NShwZw?iB0-8Yv0z59MMdW|U({k+FosUO)kG*n0sAqorT)s9s|UMqPm6||OW!4K$}|4lI13o4Z2#5#)w zqhgc-2HUVyGR^!@sY^yz>{vZg@L)X_^AtST7;9YGGMHFY@){2Y#fyngfg8pN4@MQ7 zEkE7k!6sexbNr|oP=tfw<=c3$dP9W=!@eSLS>Bx z!&Qm~4c0?V9fJlNVU@71pt&9}W1-Pt6D-KnXs{I)+gLOhtjBtz!TzvWSOa;2&qSfY z@QCJsjqrIThcpKaPs|Q!3|Nn6X2%o0b!lRgLSrY{6U6uqODRJMV`C|g-f&}Agt096dr6=Mc?HMrh5w< ztPgeTQKmNWU{s^IjRzz5Ab7A&!@(e=VO&7%eYpEx<*velOtCU=u7F?73R~N_E|Y3^wBy4^{Xc*RpCd z*hGgE8LY?s8j1{7!aNv@iVTKkU6H|Nu;5a~{_KPeJK=Z0U@Lu(Z8X?S+J;uF_o!2N z344ztk9i}5=8X)<$yRW%-cd`+aHwCNf`d`{@YUQ!S~GD;E$z7_i_qAk3<+1Q0e@ zs}M4Z(vg=%5t!WCWR{ z@n9PcM1=>Va+DSiw&Fezg$JWjmImB1;5{@RYy#P(@n9pIt9dai_&|*Zn?N%v_RMj> zST}UA0Zf;ngY|IC(816q7&_QQ1vCvE3~O}0>0mz>-=Z;pv3l!v$flz@418}H662BD z7;lGyp-R|b*471U=*?xcr-{wAM%kI{zy>30ujH6>4!H*jPR4m5=cKF$^ZqS3z~CaI z7mc1aIAiavgE#l?J_v$92y>c3oItQzE%TPz!PH=8mNhZJiJ4A}d1msXV@MrH?rEY+ zN?cds;1V~OIZN+T?>d3cBEpQQw~F6|11406k%UKsC85Y-KcW!LWD$=JiF9!2!;2Vz z=mlnhtAkV~r2^`FYkr^J$$D%q^^?|GpboF!EXt9goqz^ZJM5@MS61F7KO%elT zky4DOlAtRDW=ZfC0=yUmCV`@jnz}T!%Hl5e@Ou$cHt@?$ZH787kg zQ>70n99T$tC7H1-ftDrOd_L~0Usp4hPZH@q*B-L*K4Bm6U^e5gX9L_sfy%OXF$W)$ z^frkflKf^CK)%*EE0Rr|_{kMN{}QKY!X!>I&Esc+WcH*>XII?xi<_KD5MgS1M+QPR zPY`Dlk|~E|Vj`cuaC01S9wg3{_<4jbpKVCyB$AnnY=Xm2gxno1uec}RRYTUBTP$^p zE7_ApOB-pQ1|p1rC}u&uy@p*FHDa{d^OCK@BEtN_F;s>rBn2 zG1n4zE8h~=&~*72u90I%SbQTRzLC}VB^V-uH?b_5azG$CORb8oxnS-ZH-D3xZ^bRN^A?{4 zZ}f(NePVgbu)G@0CfTIoHVj1zXSNI3(HIA;AJWOF&$kR&>(Mg!h6WZk4qez=YXilS z=8f^rrDg5%y+iiNn=~-j+~n10_mY}?wR_0Fn0vO?x<|33(XvEK8m+CfJ`EF<*s+GG zQ^wGn%V1Ew$qh!?Um{rb-0HunUoUGW>ndQi-k0V>6!Z(noA6f%Xn2MF8XS?PTn7dr zfxmjZilD!AOU41_ZZ!A{j0U%3FG1@S_G|Fiuc0%@Eo^}Uf0Y#zEv1O0`4 zWqCO6LAciy{>#3V&{z008vo^cT;2(HmW6-$_ex#v;9tT+6dcS(^8^9_!|4P~0OLxB zi~yVAN4@)nK)~=SiULM;P?__E&C!IM4PtT40-G?iplM+4Za3eaTWqpiNkhRlDiHX_ zf<3&x`uTSF|2`MY*@kF7oP9|xpdy3$5$gxF9rB4y2xcR(EV)B4WH4{Pf|1i!P$|&p zI8y%-oKS8J6(7tRc4zsWNp@}{K2C5wsY@_)Fzec`Y_Xj-jwUkN(P(TFi|lPu%XDQH zu4x4oE-aeUXmo>N4z@e7@6iY7=KQoGtp?`#$zd;OEWa|9r!>mEQ?Xxo=Ol-%gutF%bDx$R1{80q?#9i1N^)3bM^bq{YU)#x!-l%E zk}ADXQ=gI?Hq$aIOx>_KcuH~@Ep4MBmfYHBB!?YP7?JBma$}#A8&+wzRAP@!!9T%< z?FW{{8+C=8TMw1B;dtI|wgWwL4UQ!#efPWAFwmj6yrJ*gHEgE|B)zNeE6=kd=|$J{ z-SE3H)&10=Z+%SEtPuX>z}{* z-~M+QWCJV!6EIm{4W$8-%?Hd=DKJ@`P10bpbq9pSN;tV=g-XT(CYv^>04r#+1=wXm zCW9eu$Ykpd%VnEvvR;uQ>X$nXkxd56#F$OC%|oZzWW$QpID}2sSu)u&f0j%poR)ft zosdveW+Su1w1!@4&)>7mxv@4;7d62Jj!9$|)L9TfL1cKL?A2)JBdQp)gs>or1AUkH zh|*h&t;)M&o<=jw@I4rcnb9R>c`61iiehHNm?RMMab($t0FTWOGb`F%xN)PWVVCH{ zUDT#gTk}m7!>kYQI7uq-LtBd3*7$(l5VIdE5xhYH@|_g(|MphensIUPP45;2g;N}v z*53f-CkQh-VgP16%r$6y*;Ef{c-hRXgFi!;d8eh_+5;U}Tz}Dx8eC=-*hLpAY#ARi z(6Zehnz00%CYHfO(BJaP@U!~_udKhvE5jZUS{WYDV6wXHPahccIbZFH&*UY2S6ESZ zzbDF`h1EtGt)5VrGCZOoWn(!{Bg!gA zoAwlPq0q|94ot%A7>nOzkwG5oBysmIijnYi|KIhix&DHFsNLUC4lcp+fV=d$zwA*j zk{2qjjiIiOi2p!8xFppB9TM`VS3MF^HIg3)83UVD_(l0}`ELVZgKek3g<)%@t5l+8 zgZ+-`NX*T|x#52aATtTq`+XE90519^=HL{GEvCI}ZtSal@tL{jI5b=yxv0yb`xJ|9 zG$=MR6>`y4A)_g|y#YQUVX^saU`ZFobtb=n2TOALD(|1t*l1349zzGvq{_HWmd57h zsBB*!csoDK+7R|wUPa;9Le|!#b~*WLv%xxJY(D7kA=y4Nmmi+Kp@c5`JkCQmp3n5a z-N$>y?blD5Z!PcYKTKi+CR@?xmB}{tmdREG)yZ5UW8EE|?Z6ENG#b;pFv#x=kco2{S{HhssM2FECsmc7%D6rT;R zr3h_!M@>hmtrAEZwp(M`@acrpMm_L5q_#P*I5tNsDSICdUyAU+9mZ{52?Ig|)waS8 zRsnNR-9tvF%%04#X>bQzKtofeHmI#qV};Y^PA&UC4u+1%IP@*36UmGQ3HJw5N)yut z#TFUU7TVyRFTM?`s3vF>--qy=mz1{2yr=jU+$&e&uUF{`*k(P@Kx0hXcwkmcf!bCo z1;%)gQ(8}ES04U?e?XTJS{vRMC^u{R)D3psYMY6~Y#b4yg1Q)@pgdz|C;j@f$shA7cIH}6ut&-FezIPJu*N8jJlYJzg}0>dc~ zEl^|(CR#3)e3>+C2^ObUyj*FL+?1XRFU37=qSTC*OkRo?q~^8AXiVfwq6MN9igL;8 zg{H2^^hZ;pM2VuXZc!0=)f9zQyiU|-x-~x_d;S*zZ!arkdaM>LjJL%X|NPL!K@-9o z6=NsD8`UL{BBbL76hKvFN>v@xiXk;t<_k!4eu{tH|#Wq%^*WmYL3%;psKN0T%OTx zI~JjJaJQuttTu4B0x#TkQPXwDBLa6D$|}1~S4UlsvQV$nHB@Wiqq_P^!QHlco`$T0o`V2 zFGmu-ZKNBvUyyE8W*glW2x7sy!BQbA0s|Gi8S7RZh{n3%--2};u;_PlQT!=-i>;Ju z{d)NXgp z8=^K6q#H7Wco7i%DNr}Sg|PgpNk&zPsRn9{7aEBf#D-=?fhABkD88hiZV>2dsGCK) zA(uxEES*8R4Kd(loC#BzR-&tGs2jXnhPqKDQG!1m@FD`ztw$H6k!~Z5N=>Ob$0HmP zq}zgrgm|;;A3H3(F-W%&e3wGHtvfn21==Y~tg6e@K%S%64g>Dl%6iZ-;C;%O8Ul1i zlI4&lx~;{eSfX1IqSZetqFcYB>sElG?Ep5Y782W$niy|}f}OHD>G4JA>2MiuEI#KUtGf(WCwRPpe(+4e(@Z5}?5DyS+R?E1hRxmY}nO#lHZ(^hq zQ=S<7#4TjrBl9wuJ4)PE;@lD!m^(`APw#qw&*I#Sn72wl1OhHlh>=7@x`j~0MJpkm z$s!&b6zQPQ2NyB?(D8{H*)fRA0zDH6+BngNkuJ&%F{p&6HgNS}t$sQiCw4KAOi*qr z5|u%jL@G%YEaGx;*;mKW8{_taX)uFq ziz%)o6Bg5DF{S2nQu>gBwuSUok^{?9Wm!tiXWqX0bv2{+BysL@>mmE@6ZAHJ@3Z?l z^Y11FOg_Df`SzHQ_bL03)OUG*`C{D!NSGgqGbnzNCC9jRGEbAtUMnl)s$9qvZH9fTm(YwztUG9*oMoax_2wwBDk z3*XoAZ7}_PZ@rDyYBDL^E)bs$;F5;lHqmxmA-EM-Calh4h8q-cs1Ij}nN z?JQQP{zNg3;*a8$Zt-@v(40Y~WB*CG~$-7e0gSb zj%PpO6QdC9Mz-%L^#jT_S>qL~n=yXYG>U!wA~#N1a8wU0LGbFWOs>*8H_t zcNJgBJtJ&=rWn}Fv?LZbvBSXtH7!+Y(%Obk6W)RieZ(Bc-^2?groZVO-nh5dwVue{ zQOkmRj6Hd2{vwHY0sLUbvq^m0DT0-$nT71C5Z`)B&KYZ9j4h#t2=NUspm|62K%4o7 ztq|s0xI}s0J}}>0J9>o|%347;X)@njGr3P~JM80TZ>H}I^Ue3@E%v&+7u8{!`=+iT z5GwfsGN~#+A2J}qeH*B5kZ|9Y8MjO@)M(vc<#X?T!OS1JisHWEtuDE5;Wx>JZsBe> z-=14+@-2C=n|u7XKz%Q}&ZncCeTXK+*_hN0GWRWx*ei3~unURt2==Ar8Wj62+ObQU ztYm6zbLwe=JIbvhv)`hDcRs)w=g{2r<=Dqg-Gk!4`JTP9%66JLn#yQ)qR~zHZ}C@| z3Ck>9(;AAwOw8&720HvCxlZ&2x;Z~BQLCYOcK+K-8qMZp+k*tHt<)*4pE?!opK+tu zQ}W-|9Tvz)O+Ie!Q_|nIiXxXnUUOEJ>sjb;^J#xNjZMJTJ}LZd^zb)o?o-0wCaS=_ z>9#&2{cXoRnGD##wmv2PZNM}W^F+uVJSG0Em-5=Cu}?{Vn?FpIN^a~^(%&M`g{;9p z;J*z})3MfK*7Y*$x>LyEDZG$vIa`8$BizH$OYy;f3xL~`hp<0~g$ZvkRh2!QZBjX|6eSfxk_gB4wX{?pRYXuFLyh`uFL6rU42N zU}4Qtt$wiZw_)}4x1oO1On;lJ{#W$3ajNT46#Z?ffgsc0#$h+~w|aq3(BI}|?hO5H z9pH|N{x&-N+cpiF*0O=)(D=8ZAQTk-tq?JmYy8{UUA0iI;NOOidGq+UX><6uX@3R$ z+w?Ik@ZiLMJG;NsU)TJ%vZ@=V{}lgi1Zyh%w^Eo~1ujVt7C<~^udB|(|ofNjxf0-TR!Vld`I$x>BiHlGjPci01l66+S@sz0s!uOk2LBCTQyX<{-*>u@3yRKd!Q4G`=1;G&dRWh zUepY@IRfAIkI^5R2QY930tZWK{uTmfq{;n$JGDfSl-CfrnRuYbttRq6#t2P$%p@ZdqGmzto$i+oW9pmYz=0XjAh>F>HTDfZ zxp?Faf_qrHtfX9CXPudGuqID%{&h%FNglrjPOW(#O86Z{PiE=;v_$Nzl&C|?$@-qX39>{;%2JW zEws4t?`d&9@7%*=(Uk}vtJHMu0}((-;l?zt$pz=>Vv}ROnxp;&VqE)?r4!p7eaCdk z^ISdh8yWZCl%g%~>OTyM17uv$lz@yIEHbW$u{SdAN0D*0=7!q0J|cu*;VK+@A7X(_ z*j<97+q?;7!Za|hr)_{OWZcAC38jKJT?GDKaltlk-NfQ&Y`O6{7*8@{?GV|z+2el5 zOK@E8_L=g93_1>PruT39_N-9XL+#(JkEGf&(e6#RmDKba1LWNEP`?vz#=VvL&Uo+U zNGuHAy9v!t0CGKr2vk|?zykyvIp~1m$IXOfxZualymONlqnGMq?n<{(q{K2=YWy;5 zD2x1vNhx$GMUR_lLuQj6hpm=h(4z@Fj-LK^;Bk}Mvruc9!FOiRaRUt4X%kv8{9Mcw_!Wz7JBd&d)dE-_@?4}a4%g(V((!n61)pLZlVFC*m1pwuWU2# zF*d&tItyNg*9g$9L~`~X9T$Ici`Th@d)<6%Zn43)?7434@qa+yz50ZGt^PAUof`c8 z;y(@Lpq+W*^P@Dd+QIqM%r(lb$;3>$IOP(BOG7!i#)jA8o;IpB-BqD4?}#QDiHVL$R6*24K{k2e&=eS%5NV2) zs8vMt+*eQW7x6Mtrs>A~fc*L2M996Upc!0MQK%xS0di3Mx($%)EIzKsDzJi&gK2*$ zk6OzDD1h7uUcHTw>ombc*EHqg-8#RrX9&5$BIH0p!voaI=K#44=G7EHuFf?peB20{ z!T{uk0FdKavve0~4ufqLTa6ac0R|vP^M zmOy%d9L%x30djxXEcgT`M4C!zYdWH6aj=XvJ*28@(}~$33yT9kogGuOxSoo=g+rDW z*EbIR3xHgY5f$5oP6Onix(OrXdib*ek?XmPpP&!$0s@l5n$Uuh>my+RO_QMHW{OP( zCI^2bO0MWKApk5@*d-u2tnRHqa_-KE@zx+YXE)ijHbHVz0LgU44SSVES z;}#rn1}9X{)cm*wm)0nL+yJ)0@Z(T?8GhV=?a=(Vg`Qqm8O3))dlf$pb>^EN_p{OL z2E|WbsyM$Lu=$ww!`|D4U^o)nlGq<_qP!6cR?b<$XePZKO)RZ7#l}o0>^QRVT7p@Z zka~^iSc3O4&PjW%=+TVBbM7$nn9;9h&ewWp=erZfUuq~b zi<%hT#5^ZPJTvvtA!L3d^)Jy6CGIM5YMJXx9HjT7cTNB2!geR#y|xeH--HG+a`51| zB=m66NfN=t7{>-dIvDifgbz1#G@=J}2-vcq&c%H`GK|4vgva^lQwOIuaP?uWeo7r3 zb}@Lgp{0*KWn?B1N)pE;(M}Q*C6QB%u0jBo1Zg3Vi@{zD2wi;Cr9o5{X}NgptE1_S zkNd$Sm`24V39cj$7L#Q$q2@DE`jCRfh2&O}0m~9)SwhX{-M;#DHKX<LTJKS6oZn2TK@E~}fHxTY&t67!8YXOa{C5VP1H)iRMqHLV{ zaU2GEVhg;nXxMaRZQA>Zaul4HJ29DALlW*}n(dl|uVJ{YFRb0d)_j7)9FlWFum^laD#?vetXgAn| zz-TvYfqIZK0Ta+}t`+qzgmw#;zz4lTySZlG{DWYBE38|5A46xbZoV(+Sue0|{*8sV zN*(T?Zk);yNY4n7vu3)DnB5en+q`0OooY#O(=5Bk)LR!+epbRLAs69A#bGHdl_`os0OoAZ5z-qa%s1L>gzrowXLjI0DnQ{D{EW72^ae%Y}@MVEkawr#}?au$710( zAe0Yi>-W%NzXNTf-Q2+7OMp{dQsPVAEhKIN?zh>i7=pZwp& za`hW5A`*nzR46YNVK!F|ib0t5xa^KurLuOjH9nbOyoZ51N#%cx| z^w_|{iT9w7odR_po}H)sxkO*u)m5!^U6tm5RhMKaU`|D#*;NcMuZt61AH$N;SIeR) zU@pW8(cujqhd%Kj#iEdmGMMhFC}8gGe%)#ON{r;)ApQ-n`0H(bAVMn3-AAwm{c63o z`}cr$o&G2wo}m5sM{&J(>#n?%5uqrpKH4|#lR0*h{TrbN{*3dpqysQA8cOWF1?|fz zvT?8Z+IND?|2w*^>Dbt>Js?s}QB(Y_0lFF4liQV%EhD=n+ykVMZVTnL)xqWiTZQJ~@xz~J231jRPzuKAKW4nzYuRg(c8;>C1 z^S)AWH$0;0Znz{{ zr~jqTDxsF-H*?;40rd*#ZDk>EKeg=88}|0Ns9^}g>nu8ZFi?vOW)}`-&LV6OKh{4BR&sZlu8nGTDFFX>o!T=_yK>~%1wq(;j`JUEoMXhDb%f>Hp%ln&=F+^xK8`F zd%`8;BrAlAs0Hx0LfZ3*Xl~svvfPq{q@uPB@QvsLIuBQiB>Wk|ZNswY4>R0gnqOB;2H=^wa5p63tOtU+D(3=s@ z|GF)eTp9w#c^!miL*?N3CMy+EYC+nt5f0Ke7{Ey_fYzyPl^g6-WJ|pUNZX+CA~$Ts zHKZ*z)wV=-tp~1)Z;$V{tVOQx!@H3dW6$dIq34O|;@-*<_ErvNbExZbv9ZH6;A(c} ziwsc4LNIL;PKPN>+d$NV3rt&27Zyz0NafNrrfqP@lUr#MKt%*IGFa#dUrJ%x@O~GV zHf*)Rv`v&rWlS4B{qJDfM);06+=mil8q>DGswR#6sPC-_9@+5|R){u#jp6v9n5rrk z+X`p|1KJj}2a0_%T_M`={(@+$ch{9y>)kz~&9>qE4Y5ELc?8`CbCcKx)xcYPgqwZF z@E%+TrEkIaa(oYygRW3JEG$pGa2bVtK(x)Ye}oZj!%Blf5N*qV>lYa9vCfd`Wy65K z;2+Rs1kr}Kxd=8vOkd zI}P1nOY8)Xe^0|i2@_my@X48w5=5Kv^-c;np%9fs6dP8Lh~aGr2VH8%=)rrU<>s22 zw8Sg5sGN+@3raBdwSO1>T_vK_=vHlbJ*F)vn?(LZjntM=jA`>yBdU>zX$z7j(LGTc zUFau;X-l-2lWadMf1DHdKHh79RHkT1TXe6{2YWA_IP%2Xdp(frHo>$-!C@4MmMbz6 zgR)B+5(Q!|U7T`>!lj95Gukdbh<(zi+H^OC=HC%bG71wNlc=4jiGpnM!l5ZJG9l6w zD^aT`L|c$XUOh#96*X9tX}U2#Ab^LRZ4e4z$!=^6qFZC8x)KdP6${I0<}@iQk7%b>#7(XC4#x2 zBCS2h2E?>M8TuxuZFHEn(O}vJVogqRWcKxDrK&64BVgKQk7=7aT^DxYcSZE`4AM5A z+G!pPr0ujb^@u>)&K4hofwZ0fDo1n?)UzRQNFZ$soM#|y_1Xr~R@ODu>gWp6cAE92 zF6mQ{w)6e=WwDYjaf;_^NZaz!ms3@})Va(kA0E=S)P+xPNZTJa3+q#FA5&Q^s~~N7 zL=)LIc&*7HO=QCpvqK8VcEH=u4oT(dafgwS98x?sJTD&keL&m5_4U{yU?F|3f)8eq zOiFJ`er!Qx2pB@!sH^1HTW=H~p-sTQ6{QWVU&3j_ z76_+pTQ}E&`2kW}-(7Lqr~q}&X7TGR#M(Ic-pVMw8lbGht(V>U0p_@8lE4fnX-?bO{Bo9N5-f0g&1oCp z+L~{$mgaVr(>CHU#cAu$t5ttP^nd~tFV_;nz}W)>KHcwN+GcvGZA{zfF>M=u`n=+Q zS3`sO)&zo?=_6N|wzad6wuzj+g0#_aTGd@NrVYP6Ev^{Twi!%Y{iVXR9rd#ubZO8U zGAZ89UO)WEXd8j9!ApKTqiuvidXSN*EtFbKNd9Ja5MO}}&5X1W1`r|6TansO@+nfA z<+Sad(>B`oRdm@#xf{{0So(@dZJZAhRvVPWXI2~OD&ab9Bv>7*Z9-3^S#2|pE`_2Q zVLT{cO{oE2&s3~7{*`964GVC~6{~FkC8b$9``N7v)<0!d+xh6lZE0590RB}2e9FqB z!?N1yt_uSL+N)WxthWAq&>lWGCJUV&0m>ODRNDYj&7j&gJf=}?Gdbrss_iFBN!7Re zVx{oyc+H2jANA2N1ly4sn8XZuOJyxtFm%BbCe|_<)L?YIRkk)eBHP&HYc;0*L+(Pn zlL>Cfcq#3^qH8mrFL=hxeR>z0d13FUjT=wAywd@J*XE>znEzn1*tYG~wxvceGnScA zO>A#sp%XivS^MY{GS`v0n8Xz&9xL%{iTBHVq<5uv&Hra{Z9&6ZksqP}4{UQGLE63IyM^8!J&;RV$>l)i5}1)ddng_7X!V!#kTy>2 zvQW|on?4?u@mb@Q!Ne;`RFlL$S%ehhs2FR7a4ZSgVpvx~zd?t7F+6nPQkR8PG36p6%rM6 zkN02@^1VpTtfXGRAl|Iux;DYuENZP8TuJmc4Fi~OL()&&u)?9C*)}BWZE_!=w<5V$ za&3UEzZBz|SeC@NCMG!8pO&4Fs zi|ThAM7%72B3z^(cQyzen;uZX&lvWzK(PVEg6mf-5kn-nscwf>9JpRp|G@vt7$7)XKtT%?GZ5NP zr}1wK?6ns7TfcsI_S<=jc`@iW-2(pq3XOypQ2-^l&l~#o_`>St<%#p zEsnxCRP9g>BR!ac#9Firy~4ajyW~ulvuxJ#Y5ke_jNn*W7LHMG-dr1N9-87@LGoI> zLunX#g?jT&EBZC>`K)Uc3mOb$FrnVYTI16&P>B`G&77FQXeymGb;j1);sC!uK)+zD zy)n-$J+$wq6=pRg&rW!IMVt7QSvwgkw|RyypQ_81(yf~uq0i_^Aa5(;$hlmeH20fq zfZsvAl|?2}wv8J5J$zncZtuG-9k_h6Y3ug@dcT8tE7Sg}uo*S=n*hD#SK7M3)=#cP zM~(e1K<{@zZ#5q8q_7^h_Im`q?RP!{*vd*3A=wmskD&KUq_{6+HYd?9znE?AM*eZCt3)EvV8oQ_PTI%*jlw; z*&Xy7)eSs^_Vb;F|B5p!qEiD`y1MLZ7}cS#xA+04cFO%yf?cuy$}-IwQ&1h|vN%^q zIUnPI3jyPjxc~Nlm$lM0xKJ#(ieFPOxS^D~)-~%-{a)9_K-JkZk~*q$qDrgh8$PDa z^5BO06=Rjr0eW0&knZapAe_a)jRP!UVH{lDs%~&_(_R*XC>&g6TnIU3ElXNdQRTYw za#Z|}x}01SLXuCt47jpDhpT`Og-TFmBozuTdH+LyJmqUz|NOQ8#=px*0y2!S=y1wP zv*`Nr4m!)C!!8mO-O@w8g;{ii5IOJ#Phc>GMK|C%!lE0-0bYi%=$5_w=z>Kz;d)kN z(G37Av@p80Mh`-x8;4P~cEL)t0)`wu_6q(1JWU-_z2(>3cTR&NigKkIW{O6`x@}N4 zL5gO0Q>(pla)@u|;<+Sb3eqXalb`^6EaT&aAj+fg4dOC7ZhaSak@`sDGod>t3(TXU zK2jLXONO%Eavxq*fp@t+o^75o)g&H1IW*JWYP^*{%D)f9A9y8{(fjgBaO+VK%EYts&9 z%@Eb*n$7=Po|@4e_dD(U0JeKPHRutcslneGoVFs`fe+NJb$`lH8^)=7oTD~<)RA_D zQG=&e5H&cU5o%NMZ0f-2Z};wx@o8F9J}`#P59nCCOMn^<5XPtB-x{7aRdM2ZYTdsf zr#V4itis%Vikqf+<4Fj5r{ATgiUQkFfe|$g4TpxN9RT(a>w=$JIPm7BJuFg4qP))9 zEd4FoK;Py8esouCXTg}Rgw@Y8KTi1Dp{mBf%-4$YcaiAG}_!f4jv0he>*2|(ODt+ zCz&vx8Vkv@4VT$}4?y<7%yW|JF8T1X4YmOwyPVtO35J4aYzY&k=7HI9Hp7x**#?Nj2XZ0=0+4Nhcm)F`V^}~7 zN;W&nL`iwtZGaW0Cz}9mGZ+KFpbJ1R$`(MV%zud^8%+~+3uGs@d)U|x-(RsMuE)b0 zAqv1jy=gXO>ZkPY0`JYc|MZ(sZ#w~zo%i20w4zj<7z||N6n`FBF>e%7C=eO$|059D zOmVP)$j&Rx0Yo;8hy)N2SpgnckOuvTVHN=w8GuSw*vc0kYwQkH~XCajrdN&=degJ-`oCu zU{`4*S@J&2%a`%kd$z_If~+>MBp#@2Xq;pA*WkiAj#rS zZt*&|aIc$h%`Gy9#lctS zvWgtNQ2|aOH~|qAhL#{=bQ9&4%L$QwP8;5nGD>wNLMSM+VxUqRC^? zi$+)LopIu?6Q>>>e?Fx7ie73LbnNtCEi8Y0OFx#XpoXH5i} z>8RwT+*e3m)XI3wG(c29K_q#Z(3BII>}X1ps7yrS+}BF+7x6Mtl(keFwD$+(&;KHl z>_r95g2m4@l5D`5#Ztw%u74IJ85Yju(&AJQbfgl-AWo#vWi85X3Srjat(atkDW(bY zQ-(;^c_IeU$f{Y;NfxRqYM2{4Rc3}3L;e_B-)R;ZR&J+KAuCuJ;gQvK5DG`uQxzvw z#dP(hPPsm{;K(|IN11F%Re1+gbajUMri>$7(1to3*$QPp6^?AgBU~eM*`O4kDh^Ze0XOL;0B*;FcucNRxhtA}bF*=eB1vJ*q&$V#2gqwWZiTA@_CT-Ovme>c=! z912G^z~wZKY&j#L(c{Q!mC-kj>@S;zm6vDuaukjXk7)MTTuN)FhctT(Ps|P}_SlXk z?~_A{J+?xv|KyN@kKuXo$iKjmfk0!6V9K~V7+H^K=L;Me1$h@ZGO83WD2>jQs(0n= zan-X%kx@v5_5jQJD->DXm=Hl^SX)^@WNRptk0Mcn$c)kKu@t?+0H9}5D6-Cg$R;XO zjh5d+2+%EH3u>`DjW8et0Ii^aYI_<)M%07W((>&96RJ>TGn7o0dh}~q-?;0V^<|LM zv$(GPddlP8kR|pqp${L>L6@lqR0;j_I!CQ6t_tlJF;)*rIsOIfk1G^e4+Vo&Y5&ti zS15)ekrli|IV2#m5!x+P^UL$&v;7W;Y_jwa85!Ew4i-TopPrQEhL2OqqQNP|IGO0P zS1_`fVo1i??_?9@ti=otzb5@Hl#W!dSFP{?qoD_YA; zoEJqQ+tCeb3fZZ~MxbUW3fVwDPN8I0IHrg*D{3mmr8!MQy@jUNAY4aN$a=V^BHYTTnfkC4<3v z-ZFaB%^yhk+MV+c@*rpkG5x__wG3No0W(Wk4eDSGYBalvaZXHlHS~iu^wAw; zUL*A`(F-NcDsgGm@g2tTRrh#U_gK8>p}go_)Bnk70x#{I^!JfL2pzKEVz%E&h)=Q@ z#)dgM-t*x?3@BX0;o=b$tmu*LgSv*4)YU5V@ggW-?vf$8%k0HKH zLQox~%FwKF%wgh~B-*Jl(P3hu8aEv}Zrb6?lrfWpUk6b96jm&RaY?9Gf}g`+#X^8| z;OLPUYQeE1aaIzI`Izmiqv?$v`@sa5!HmV^R+0mYiL#hXa|tPRM1jUaVk^mhB{{Mr zljienU;VNg5xYracQMT!^WZ*H?lS2y)t=_#L(<-5^?lagPYc*d13R4{GY#4BALBN<~Zt1$l+%~{B%i}QgPERcL&KUZXkHo$n?<_ zVisG&E5sVuvAHwYF}u3y;niWQK3&#jjkuVjfgGDHa*R)wl`(4Jm)O8Z)`ywZVOO}Z zu`{qSx3ugQ9ErkgMq0D7=WoHjXEBnPRbZIRykRDS2sir*2ZS*;V8tgv zjFpDK;tBH$hRwh=m_`Hl5L^w6A>r)!|6kT|txKn|V*U;{--cUkCS69OdhFxg7Zfj_ z(Hm>!kJqB&JhV?p4YoKM{df%nI@=@UOhR*)(AqLQ&N3OZpRn*YU5|-%;LT08_`NXn0cG{4@z_5`HF*2+qne;+p`UR0@=pu?6 zhBwkIoB9hy)tO-sP;{6x?@2bVAvfEeEGjSzb;gudq2I!obA zNpA9(A?AnXmE~;=|HMXQhNR&Ilr{1O>z?_wMp0|e;83E^X_!7{h($~8jD2W~Ypj2q z=xuTzpxl-3*XZ=TTlAh&jB7NU(YQtf?Cns)S|v8EZTHwTCiXKJ*AkISzY_iH266IV?#v_aZ#^qdxHE)^5M^(Gr!O$rz(P z@a5M24rOdZLMd0cq{coaWeg$kf)t_FJ}G4kYC8&>gudH>`*>cIAg2jj7`VU8P3=;t(_qTj7MEu z$egjdJV{E9ZUtQSIA^S1#?ElY`dTF3aK@Ipwvjkv6Rx~foUyr#EX^6)N^yVTjFqr- zz2=OSGWB&OFmuMXk7KBu3k4b*W(OL>r5w-l3H;Q*%SZwQm*$L3B@<>jV}0!+!x>vG zm*6yIJGhFKIB{Fugrh-Y^}+%gJ8k6#Re`Az?(lJJ$Ou!QvFhEMoU!Ssdx8{aY+F^a zYWU4uUommU#*gEeRAc9l13v-AjIBGaO$W?a@#A&H-X}O?z{_FG7*&Gc5*L|S?N!P2 z#L#M|oE(xG>NcuN!ls~{f;tHTz=tzFXb8GIO5dO^qubVZ5eF%Uq$t1kn58@GDs7D! z!yY%7F{c@B6BXnU&Y0K3QP9VLq%3u=g+HWRvWc#ITzI1gqLCQHSI~}8`tnVs8cGr{ zhmfD2+2Y3b#uxOajr~*|-(!ZC^G;a#e|v*$Ew;GtrXve#q3DUZyQYnejP4U7LqkXE z7as1=Iq0U&!p2H1ukJ5tW6?dGcBY@%gFVoL=Ytm2qj6(aUbTBrfa&A;H-}nZfr#4q@s&0i#bxhqd(=1o!V^` zO6>i9NWzCkKWO0C==fr%Q=KhvYz4T~UlPZRx_n?5mE93bcTF6FF(Sk<_*>z{%08vV z9x^9=wI?3PcP7$4>i?$prOvV8W)hFy>3Zob*!|L3=opv}3mw}#gBXLaEgX0=#~zj{ z$BQ$^RLpNP0`j33eNwqxy+V%ZOjPng7g(u_-(u9~L&HCi6iH&_9BzdY_BG~MOxpRp z-W^Mj1indMCP8(Kyl)3h|KACB{-OG?Ifw^3v}|<0gB-hv`4w_(grHa*@=@d;XpmEV zLO}Wnp`f6W%2RRlKtu`5Zzk3Fl){^|cogTR8tdI&6!Wf!r zIpA|>HqG|co_k;-I?H;W_gSAKvzlK$HWLNP58{Wu;)Ph@T8zG*r=p0z7 zp^Y1>O)#)AeGxb^VU-2mO1PAA3n~zqU`aCLE8KJ3YIU+}BvklTBO z9GeJ!%*e6rpm;?g$Ikmfj3>ykl5g8oo8(8#(4b2xbc9W)A)XFSPs>TL;MFlvh`(sylhAn|t;j&~~prX+51$!0>!Z@b`E8M$g>P5!$^cD!@wxt0cUj z2~Ie8=}c6SgLmHFi32Acyt1&;Lm6GK+j1EpvM;paO28)*1>*DqYAa(Oh1d{jl_j&OEsL zT$5G-zxZ!EK2dvu0dZ2g>{Hty+5ZD+LRu-PMA3)#7*5T?RB}F=JFOo)4^@ zE0T{EODG!~g+9E`Wi^%JCo1>Hwd7~C{0VBT-d#Xri@W>i%J?f(0QnFsYR8l@`2Ru~ z0}CsZu}(3@h!VhzF+$-&16J%F#TlCs13=3rR-^z3XKcV4*-g$ET4yOfzwTJqPdH;} z*cE4Nz_X;#{RsX|is6^~`mlhC>g7)uswmFbc~%_(s`CDfuT<6NM-qYJjBOM8BB^Y@ zZ_p;q8N6o|E!}n!KW0o^k6sr33(C_R< zU#tO*%~ZvSQDY;Ss)cH{<69uu*o<&%fsJ9&%K#gjK~rhi*s|a)6-{Nr^pP-E&aqGx zlZK5g_)RL<*oKnUz{W;e*(ErbGFQw7m>@SOk2Gwo2mPfPG)V2yq?#QLDV|MPA5niL z)SLalA)?qgPnLAY%3&{6(%lZ%bVU0xAFV=SI&uSJ zZIClj)_?{37A#;ilEI2bI~z=~HPzmfD@(6+m~{-9?}*+dcp&GZy#Mmv&AGqeATuu- zeQj{Z&Rct5?p?i;0ts`>=n1j^!DzLtTWSU~bD3Dx#P%i@I~oeA?9!~NfNij$VLY~Is)_&M2s<95MqNA zJ*Y!0=Yl;O42EDagOB-uQ=(BHsrpD(KckHYyDVh%L1hwmy5LksW)i(*F-{T*#ds;k zR3Yq2LbDjYg%B@>fi5uWvfwGkS1|_jk=j=W(;GPUgNZN$7mG=*Bo`JFW-+Pe5>x7k z!i$9jSCR!wa%D+I&F9^|`eijjcbD7_xo@8xk9aYcUQbf+AxrPF_&&?;rvdCFfuBIo za|=E<&sI51RQQ>U(Fr&;3*sk9>=a6vVF`0EVU{LNGRqL>B9aMAR|~+z7RHv?1$D6{?q?gWsU7b73U&ry7aSfKGWq~qFbz#rM=tawzn9pEiqa6;{iT7$7 zd}(y@Y~I1#HLm~DMQvWxa#nDR8mEkqz9|$SCV+($v(}Vm8(s#GJcTY(*I3Xx5Uz%_ zYhCC|)}pS;7my5|E-hHWnzX@XI9Vd#GUR`2WX?jo8UrqK?ckp@+Ob_h%W6N3W>&*p zfcslvg5n!-eZ@~BKq8tPYC+3Zn$(hPMtrZ(?Gaj5ek6PvJix%Rb7WU5!o0Gf1a_Um zm7OuVI3xPs%qoNP6{-wIkOJg%8dEkOfE{8;Sr1G|#V9-PFf1BTW*Wf%U-8L$1XMEc zXU5WwZ#db*OQ&CL;dElLm^v26RvdtKfF>h28RnTSXc%y1P@>gwhRNA2XVv2Qx#?_L zE@qBJBkb&SXoxfOX;X}=$jrC$GTsq+Pvt#XaCNCaG)}W^I;~a74No*q4eKS8v0wn5 ziF6j!+1Fryy@AfnH@7d?f8!v2T2xjO^6cob7c_>=sjvsZV+Ao#2Nji>J3H}Mxqk3B zAR@og-lfdE!_GA-o+k}{O7vKr%$}rd8#VVS*<)usTWU#C?JsKUQ_{!EGMZggGNZ;m zCw=T})KI6WX4l*&#gCotx2jhvs>jWJM*LW*s5Vg5cw-Zu5WvhrGrkjsz0{;Z#I zj2HhN&XG9zI?F>XMj7iY|Cj!|)Bsoj5U?zWEbGhq1+I-*N@G?RrI2M)RsL8*zN`q| zJA*76OLa|yEZb_9gpp-iZ;@rSj(i(g25YStT6PA3$IvNg*@$g4(6X_v2^VPDS^_u0 zkepHDuv=)^8Piy3*&y7FJJ!ejyTqrMd8eA%1;9PrtEv58^zQ;WpAKO8P4j@yxRw{A zYPFtySO5bSP&VW8EC!U#1NagKlucM5SO{ffWtM3|**ZhgM+jwmjomGwth)r1)!Mrn zP_|BZ2?3P#HPjG5S^ZcQplq3ti^hbqWx-|1Kqxy$P>WC&Ex!~#=OfB!IultAMblcQ z;9#}Ces|R|}sG>|awR=#}$mobdj}6EZH8?WpLqj9$ zg_-zgG_vj3MQPmcv|Qn4eIzt8_*=8b)|&g*N5;yb{8Jp6R%-V<;tUPu-G&B@j!-x< zIG}N4OUdzT92p=-{}@L$ik5s}9G!A?o4ZRK84eQ0k>TGOM>bW3tB>e&zS5!~4aAd^4|+U;^3tF{!iu zKy{n~Xc;9-^FU{W{NP1z=tKsI_5UOFuKzBfHlOe(lEY-POtR~NKIvhb=2#D zSxo8yqZ@tTP}2!Tzy2w8Y&tk}yx%_|tKIGqla^Xc)~5(lbD+o+KY{vhd1F3pTD;TH zeTFwy_b@Bon91$8yU8T@7MjZRDRI6w zvwN@Ylb$+FpZ3ib`+pZ|{@K!wB0~(czjENU z?=>iG;xJaMWusVORNh7rAQl`U40+g~&I)}Z1fuDA?*xHq2HH(Fw`pP62BC$8({I!Q z&kGCf7&^g+;DhK^m>b1*s75wgVV*O4C$^*bD)ycDK96t3zP02k{`Je)!;6t%nU4<( z!>GFm%=GIpKxTr`6Q$US#9a8l>Hp&SJadgV5V;8b$~ca>R=H8r;d`yXrto0)`Zss` zn{OUoK+hk;J>FEXpW6VjfzEg)4fp#SX`Op*2?6Dy6F+_}NQ}cw9IAD!giF;3^?GKhg+Ryzc3VWmfuCQ-e3dDGHA3i4%D)DMf6=z^V#&UJ()d_~W9Ptqj* zHFd*@vu;Q%@%K>^Tqzr^H)Nb8DlOG=4Q&ymMN}3Ifn%B)&kiasiYqGuqforBY^)%a zu@^;2&@E2aSf8KEf}k84(!wbVktSZdSZNcKkC#U7^0}^h^Ss_N#LAEfN4h4xY`%;m z)iZAsy+&IraN2WnO8#wRO!jK3 zhGG@jy(In((Q7I-C`~QO?PEFyQ?K%Xvs6*b^G9`ZL6yE7@jOHHTIR8{M6c;%>T7jY zA$pxgYN^LmP0msybE(G^t80aGHPP$*sLIb&A<$`qGcD1pUhDUXUbQ}VuQn3Fm&0-p zIzEdfS3-VI+w&KU>c@{J-pemULU@EjDk3f@`My!HP)5Z%H zL6`2?@s!pA+I4|1U6Gdt7$H)Yd%*!BrMpYL`g(-RdoSzx9S^1i_-W-1SQmBBW%@FN zR3-8AtiI0cNxku9he2$slH(z%UB1F_ROF@ef9|CPs_OSXph2L@;2Yjgiie-=o#)~E z48m`d3hA(aQrJb&EbW&c*aWg}O>i!F8WyA27 z(ZMSQ>I7dx{)LAxoo)su$rXI5R6MDJLckI;4KM{?nu{;#41B4F(QDyL{Q@hU1io}S z&+4=^8RLxXs}D2;jq|0HV+yoU;{9@}!f`AccsC90IQyZTsL>uP+*8AsdbpOwgj5f! zX(FYhbv>r2BV&1H@Dc)F8o<6i4qy8DrBwgy-+JUdS+n57KHtz*K4PipPe&9b^E`CE z<@AtZ3ebt!Aw|igk2*P|D4FN@sVBxm3X_TF#Uqb`Gv9gj`vL6)GWo?yr~mm7{janl znlMr=#E~BpLlUh`v`B7Lrz1aFhs1;=h9)sb-e`T*KebZKMq;EY#Hy62ViKv73nH(Y zg0S+^D`>Nz-lD)uG@w_BUPd~Z>1C)=sq*Q2QJV^1uZ)9sHqzRwZm-FWWOsr-D*hN1 zB%woyE`0Ri!;=uegb*jhK{76b)@q5eRJ~;?FA;-@WK4u*B0n>c8l`Necr#_3DCk6J zXL7uV_Q8twRNC7J;Hze#5zU4Sgilep42H{Z`1D7}k0c3{h>`PYm@HMJb2-{A_=HGI zndqE~9@ioBlxC+oLz1)Ut&jlASaLpzrgLmQ184Jd`Y~;mtBYwcnF90_)NV}7yZPApV=_;9(Gp5 zPMP=#m1M@n%*ccpo0RTlr+t!%p=9>R%)QWJhnTQW()wBQKc6EAa|y|u!w6$k%}gZI z7s(_?J{98UOC}r>Jf{-pT|PZ0@sbPpUo=R)nH5j>R(qjM8YoO?0KP_tMDdr1>%G*X z4_O+unzPlaFI-;Jz;~H@M85BM*{vWsQyXT zewp5l{m<`bZ}z`_%gR9Z0Xb84uR7w)Hk2*@HM}G!%W>MFdPs0yr==W5kU-`qLi57Q zFd~L-bxHF|eiSZrJMT3(n3r!3|3ah7~irc+4P- z!_*JtFw(PKJe}RclkMPH8)oR*k_Iamch4k-G__>O<{kZnO>~!QUb211JYZ_X)g~U- z{oYF@-ESRTbcLTWq`{K3EKXvW+SW^vyMh&b#Gc0AgzE&u-8Air+ZCVd(}whayZp;* zTFJWV*R1fJt4ULEyp__Ol<8dvKYhXN>M55^VP#K?i;3Jd;Z=mGf=hqNTGWOJkOeOw z?Z9SSvAcT9?h2PE#&HkiF4qohD6zZ3Met$U^sdlQ?p56q`?&GF)Rt;qkMB`>-X^;% zzBhdhdQtNJ#d^YZ1pPA4R4E4mH2dKAGeZw+teM?aa%F1OG5l{r!{F({j=>wW;a#(Z zckQ(}fM$2~P}@b=UA6)I1L5PqH8i_xezUvY%cSoCW24PtdRH7>SEjQuhLeFFZ9!_p zl`)C-=AQKoRxKJnZ5g%TOf46)yP^?xcG@*0G&E_5a}~J(SDwcAX!KX!qa{u+^^Fgi zPit9H+Y`-G%YdD;f=N#b?}ELms^%QE_9@9-YhUe!)UFzmVpLB;?kem*Q+^B^`(3)!@36a0 zled}TY1r8Bv86s!A@1?EZaqZ(T>B2%`aOKx??Ag&TU-rW`aO8t_B$;dY=K2G1kZ@; zS~sq|teg6jtgaqXG6LYh#y%&i3l_8p#{;dvKj3uLiid~!a{|VU#a)$+_(NyP&K~o6 z^;G9*t1?sy$S%tVkzC;K9W$%nW?g-wsI30?=^{4T$BxyCmye|{vi!e}byZef*3H~p zWAPN>+hmwleP@YQL(K#*(Q2Me?a%QXQgdgCR`3Zh(W)kjr6}gQK$-i8iB{{;8KBjC zzzqdxRX5aVpw+l+7HCx$B50u1T%bt;wAw$$asMjNs;p$HqeaS3_XP&?Uk9`*kFwNi zAR1iNkFchRN`K-KAPcS<$4(c#KLg#xfUC|ZaE3@$fvXl^WC^$mCJ;2ZYK2(_4X&y+ z6)wnCwYi#HRljgUt{P#YLdaEftz|0Ys(#1%!b_M=nes#8mBb+P3oxrzilmjuTH z%KSNVR}KXmx#DG{)c61sh5ownK!|)obm2vY_vFr5I-%#(l#d3Y;`XA}`!{g}lP%B+ zKUV-M=O2q~uB-bQKILR|i~>RoQs%h_LZenPJ=5+&4VuCu8ZyvI9r2Bg%1&C{?}tRPH~K-7rs@Gr znyP!7G-;|X8~m+@QXcUPWoy`JdmzSba&9^>9gyu zvGH99|L%0V^i;7EduJ(AU^xtCYJlouiYf(PS~&2=Og$`ANT+^MPK;rgN~D3;H)C+KT#Vd?{w>7-~4Y^B+>COiJ*6|Ab6)yGKG!Nl~VHf5c>kzS{?!7Vd=`(HR zRsDy7N`O`>A26VmR*P0D6YFoZ(hs7QW>`-tTX*(43Ta;uu9FnF5|&jV^GNkjcx%=U zbuoBb(o6*xT7V^NfCendHNY;>nor)GHG)6qZ~+n~ADf)bCqp-1!j)!Fd9ugUKLg%C zgOz*>d_RR&xLyu#VaAFX2Xx|~@d(t*gjWjhfC?7P_6?}_8xc$ULEEZuAHaxzQ*Hls z{5T-pESRO!p~E>sIDq|CinKKI-XvP$e_jdmhr(LgDW}LNfl>lSH;8}2I0Cwk!Y$3T z`2v{!%?|1G_}4yBWKL_tzz_CcL7T@tiQlsAb6 z3OcDJq)4^|y%8me7cGgdNyJakM@fWiayi3Rqu8a&zw5& z#LYM4nJ9&*CY<1KdPKB}jK5UjrAn}&OM)zks-z*0jD(8{FKEE-jh@((3gcuUPCb>P5F-KIsjoQQHtFtUrE%aU!e3ASamXAhXf?BFYEWAf|cQ>LpbNE!`EusZ^~l zU!WAbT_zX^3gOhl_a{Yj=NDlFJR_f%Xkw1ILK)ODYYL9;T7 z2?bQuoFbjsaKTod}y)t`A){9|;YiK8`+*g0wM!-JQP0G+56GEa$V{mg=; zrYUFl2nPc zSuxq-(=k3@qu;+xeE778&YCDk;j>FI`{dG7HhmS+TOk3Kq{t+H=5uR4^Ck~xGgw`g zm??_cq?mC^vQjZ~Wpg=QmhXuvA(uA#>Og9Q z=`M*Ka@;lt9uZA0g&vaZAqyY!^gfdxAx(NBz)lg^*#n<}=TQ?TBm8VduN9n~=kOCD zexfAIqnKHiFbm_SX~Hy4GSQRF2D#Z3TJR7P@kzQqN$NLp|6z_GnM;T>4#~7cGI^0t zakzPqI9C$qQ$9V{@RIugUNjoLxm8bBE5FbhEf933aHg47HrTcE53l>e!OqMLx8`c; znqVfpvtKf=SFBg=VL&r|a@Ci;iEo2xU}M!6$J)Nxl_2qgt_C3Ctu9ZD5JO zWfZbw#zH2H5n0E&phZ|4rw`w&NFW}^8EftJLG=G-pa+~U945GdAVFZnD3VDHo)uQa zUEt<#aI^Qnh4$UTBj8Qm*rkWKf9;rj(K#RD|Ec}du{9J>_%=|qW#GY zlo&8?;k*fSCNh{%cfP-VYM-Tf;R&1%xN9B%w`-idr0L_exIFSlp!VJruFUa37-`mK zDIs%?$rQ{yBaqUFmk_)~B;S?WG9QDmZHh`VTyc~Z#A*{q=_moSW?oVZ95`^%2nqhJrk?^3|8*zOF4S+a4>HwK%~z1~=*_k!im(L1#%jl<3lOgn6oaqUNbVjEfpT?|Y#Lcvfu zOXlocu!FfVZCWzIDtVjiY<6gbG5A>{?1MIpx%8FyO5SUEua-Ez%soDAOub!cSf6O3 znpTYMTw)7@!3;JvSlwutz3Fb5c5Z8Q56*@BwCb!T<@q5?FK8Z{^S%!PYZls(NM*`a z4AP#Fvo!Cxtx4*xQFEUXv;^hxxONk?^(iq+Gp-Pka$C^YC&et`dJ`@mhK+qj%+lGk zUP`|~L!XkdMD>$ZJD-uTw5)Z&Q!zmt|4+$R8gQW$RYt_NJ|kdhg$y4RAjFnFCtYd8 zDPSq>2BZHU;FUh#+<5{Trc^|ocXQGRt+P}B(Jn6Vb}3Q`4dVS zCW~+WTmD_vdX`fCQaZ4fxaQJ=Ygx3@nR3~~UTfcCHSJSqAJzQ{EomtURzph~szhg6 z(ljr+wBu4H?5}7^riN%)NwPa!(r`?j!zF>zCS1~3lhMLsD8Aa!lE#{TWm?j9wt7?i zf#icO8|%yW$)%Rd0-m{IOSl|!@{#C|=ovnN&;GlNjAaB?8WEIE`L@rUE^2x9-*R-8 zpfnuN6+%$zCx}#;pfoRFP8C6EfLjScsow$RECi)_oT1khL8-d}D2>3`RRE>&z!xU~ zr5RQPF+gcpbz`UVyFK6(1}H(PdIeCzHTDsp)Hd0;{+McCPp&w2VkTFBS4d%m-Twr= zR5-wQF|kYt7Myx;4%&G^tKFc=ZLx|>wgNW!}$K*dKj)j7iVWxj;_F800U z=x%ytz>o5sU2*^R7Sx(p@vBY8GlK6lSS91<6O+2)EVFQx=!k|W%~*n7vzC@xdtG6b z%CJA|Cqcl@_`&H;&{qo0XrFlBK&!ClpzHfDfVk_Yh%~D$Gx1o;A zD}ZzU60c;0;RC~|kRrzJlCMOAg#k-+Kogb*20e`Ysi?EQ+7}OG>JnXEH!yXdA}ql~ z2gZa+(0HfsrMHUB*inu#WC_fOfh>){T@qtM-&{QM#wzCC`t|W~)gjFQC&a>k zpgzhz<4}PhIrgU*eVe3Rim&uQYue!_-~lmGXR(Bz}q}H3z1V z5RiX`R`TgjnKfbq1`o;vwD$ zbnqT8+=6ABal>{{^?vsd=PmZ`4qR!1-8QmMG(O2KJZ;hr+gOmESK zsPH!QV}^HO`bf85z3B*8+G@C8^UC1U4_AzTnP>?p!v#iO6{;Wwkh)~R(nvKR1hBMl zO>_Y)tyCL`YyY1O8g+yCCkzmv>j-0jZe~~o^#HL7sLApRdM>^SJ^AkdmPRO1#gX6e zVR-`ZS#_p(*eqqO8c2beM$aPKA8i5u!Yec|fnmgrXZU|rS^avhoQk(^k(Kb?yaL{x zeWN>jtdhGw)I-C@g%+4w#1@zaW-U-pm%RhWS@4~Ai~SqlfPY8H8&I!WNuJ(Q1J0mx zv(SKb#i}tfE4i;wmxAXvOIZoEs+;~l{cpMi&*9Qt)WmP^IZDZI!gX%`PB+(*TWIPn zd7hhl>K_nqFF&ce9bo>ROY8mm{>b2e8$v<3@Wju1EnuaBbEJu@b)GoaOz6a&hj;$p zse>pVjKB~R8y+*)3fxbj6;2h#cI?u~Ah(wS76IF#=3-txZYNt|+Y z+|jq^3XH{p*ACa>M+*}fcbSHZLa!x5tO|)Dq@jXbL*vU(PZ_kA>7w{5?uj3-P-WyL zjy|fJsDQi}XlaJ1ELz$lNDsA^?YJk;3|C!Izg`Ew{lg!iG<4FcuD;wEeY>075oQVfe=>jN_u3~<^2ejG+-@3tbT}> z!2B{^Uw}y#msFQ;2`&i{a#DtIh0340P$N9D)N-UwVq6l{HWZu#)??(NtdlJ#xx-DU z+~k2ZR&5!>(*&;Zu%jWYU0#rq>3XqC0!+g5Hy#N`XMjmV=a5BI!;=eQ?xbOP>H17Zu;e6`idD#@ zu}gqSJSYU1)Z+&y_s6@by1pZ}h+`5|&`o60h9?LzspC?^Vt5#sR72XHQXV6Y2p%)5 z118mnH^`)+yFw<-sGOwm?7YC(km9uS`3lQ8P{^e7|CMo|kV!Z)q!4Z?vb)0^4F05a zQknWv$Rv7yQg!#d*}T_7Qk!>$ai}Wz&S>;>o!=eWt&mA8mdWD!xXTJpD!rI9r(saK{}0Te(ylND9Cq@^>kq>U_@h9z|dl|;pgnJE|B`M>Z}vg6p6s3?E;qsL|+kGwTV(Z*)u(`!m@a+9qy`l zNvq{0t)7m*R7dz}3H@Or#EL*7%1W&|o)j!;!Xc($Nj)xjP_U$h<6nU#o$?6Au!bd_rwl7P zbD?1jb@(e-()kL@K+|Xq4D~gDV}%nHrlYuldZNHQ*5YhoqbS2X2r{l=NySsw6-f%U zFi@2nL5=KWIo_0!w}@$tkogFS5tlegk}GKf#^h-9`?sl%mPEiO~mClAZ(cGbCXOB}}roNtl32@^d(T zj>pddxmgri#;}19(2%5ZHcxCpG-c#|W}cW=G-- z%BN=+UUF6c%Z8yn3IiNA$-*wbtcaHlrJN+a>?kfP0s};p;KstP@_(6?5tnv#O;VCt zab?$~ndRqwf=UVtyPyrtgbkVk*#Qc!Qc+M3X?tPPKu6% z%~6b!5f^2tAB78*m0NX0aA&S)8%7A&5&h)P7}dwZN^Gy8g+bq*HXHNzPHxUa`}j@+nU z?Cf!VD|rdl^;zdAW;C&xiDeDOrDcQ?Th+8@V)CL{Ol)T`u+a#I>jX>QGWF74|5SI) z=>K-flh?G7w_%_#wLLr;fSSDKsRG-E0p}x_ zpMmE~8?Xs&=u&L~BbUPYH)w%FE`?T1ObAI@uv`I`LId+QYzDU!--PLMOaFG z32%u6&t z_pGS1ap3})5p7s80xe~YP?kD0z%?*yf^`+C5tm-_-PpFEoZ|IwDszd-Xx1;TW5 zpAorqHm)zNrD|~0*k{BpE%V1*zFR6ZMs0mc^wKE}YLzysGRQXJ8SzWY@-fubQprSa z?K1+H&c@9XR=~6N_E{lJN9kOt1IHHODKSi^fE#znZ*z&&{bLzMIrQ}wKLTQ!%cQgc zF_m?PReTDFY3o(AafSo6YIpx%4Pq))mpj8@>I*=JixDnRr_qp@*1GqdNlcS1cUhJ) zEuE>k`@dTOhR3Nm@0cf zgP7n|8W0n#1tt(vSt~bo8pKpJi~%wA^V%s8(}E@LKLKJYpSh_cUAqA02C`CH^AS;6B4$jd_JTId{G!XT6khIaG>AP?@6!SIef?U|07S`lk zWs%c8$Z0Nd;RSXQBE%S{D6*maNXpVWIT^I@tv-Vk7m30n3a2Ri_{Iv}6hp=&?Bz!{ z_@?kxx)0~RYku#8x|_HuX}@WICvFmv;!Ll#&Ek-o9_w`L{pbizMj<4&xQsgh&@;k` z4;hBjgd8=c^PL{oHC!+MbyhpsuhItn z+qiZq;mKu`T*@i=xJ#VJmH#9dbmfq-lHR|DJjHa#e1_mh_f^PKvFW?c$oZt*C#*u& zaju)tl!5jT(9=Y6L?ZC>%JLv-SUMgIR$Y`)ne3w~73!+z5FvIlym|1AB9x<#jd#>FHxHndv$ z$TF&RC`I-1HGWaPG@sh!EARJGNQ__fi^*v*jZ~zpJ5&^noc7he_zn*$reSTW_I~$- zSpYjpaM4*NM~FcW=FVo0o;DhMHK3F%*a2Gb_rXvxCm!PG=lqXq#` zkqO*-w0%r!SJZBHEp51UewUs0EAKg?i`O(%n+ydLLA;G=`M@eSRQV6C59(z9kb9s1 zYk?hAo1Cb2j1Apg9F%RDx;2*_TfgNLI$q@Xz=SUE9Wwg|p#)7&OYM8yFgft1>$-%ziFxW3>*yy?q0|e|`UB2dOudy@8qTVku8}F;XJq zfsloP>1v0WwcMbh5h=fIRohVE|Iz<~Q+cizt}LnudXguQ&;Pv|)pT>`-|W?I=FT_Q ztXpU|-QZ1e`Y}Pa*PR*9CC7e!vt{PTm6r{U_*z7G4dMNwahj=sL0{_}v2oJQfqVb% zyuXqLVlWd|&gvoD`bs_AOv}QpjVy|ah1HakTD}{7C)-yLm7W!Y+BjMP5fnzyAWoxX z0)~`>bNoRVIN=b4MNl4InKYD(NSmmBj6nKf{SjQFal5%FP}(H=wCMM|XAG`0I@jQS z8!CzYcl7X112~Bw@gMA}w4@nrj61s)XQ7tVM-c!urbk?oyxdu+|Gw1?=L@9uc-|9!*Bf}!QGTatGmf=rv_&kH6@Q0EEcJD{?yn=3uvBF) zOa7ruq$(JzAxpEXCTptA&R7lIK$a|G2}{Duu)zHW@&hXV$%Q>4DwkoU?>!1sWXVB1s^~P^3t&2fvF1_?|IhwnRmKs?^Fgu`IXf6oi-SEx&m+y!(7)1-p*lK4hdvw-r-TWzV5t0 zE2RYQbl{V`AxnSREch6Qtr%@xww#VAqS8>N_K)HH+?iOC^FRGMIn zB!?7I3D1j1ehIR)5?5A1mZFaZ4a1d{JA;VN!Mnj-Uvr39VOS{4>P5A!=v{We-iduoCr3GwJXWkOV5|%kPOFlGbX|eU7kJ>^m zzg*uvaZC=PfRNi-tCrk!F=tI!S}b1)3#X3hhaO3l0(;!Xi9k+BtQMv*gch~XONGxya>3xebPQmS#)fTeSI z!0=Llr6SSl)0Cn^BP z4kv0%$BdRm(LBypRC%YVAEgvv4=bb@4|0wluo`c`(oa^lUQ0i}SY>N#z|7Fi#WbuZ6+2vG-Q1W!+LUn3>DOswTEKv(SkhPpp0P37P9i zT}*UEiO0(PTJ(P2M}Af9z2Qnf7)NN3QW7I1p+t-~Voc(6y*i>$N+CW-f`}y4NCFZc zwtV%=YDB32KYMSIBsJ!Hx8x|0NVv<6|x#=AhY+4Br|FDHvb5C?+!*VA~Ne{ zRp#j4K(YbRxF2ueC-@Y+(;@gIjK?CnG@Q>PI7E!Qr0Y@FJHy0N7QJZR%O)Ray;ZlKL(99oyjM&%M#pW^ajx`SFdaut zbmv5uPw)zLJV(*H6g^PUOJ)5wx1Mh&x__LD=+&)sW|Diy`RF|B-tTUG^2TAW{oOa` z3lE<1;7bplfas9#IPINR-+2AC%y+Sm4!@BOoy5?J5592t;?|9Bgz$$2fhKU`BP%xU z62dY%Y$Lm*6Ab8w418Q6#vVd^!u#%TeGh*x4$z4f^nwbV;6o=!5knb1-tlmA{K$m( zA8LReCREntiSH$0wV#~-bHb~X90SOsBrNrEPQqGFa-ksE>4a1%IZ`FghGOB=PsK7F zxSNXQ-Vi#Vdv}(MMYduX_PYsLeo#BZemhIbQX_kbO6dRujuvF%)1*xIF)w&Lkl8bq z5l(=O$ge?HFaZZWMW~eUP4}sk;zbh{;1JG`@UFr4W{4f;=NKv__w|o~#E*B}C8%%x zvuHxXVVEe!`iEh9yVdXJ&W3+<9HuA3Hx*6k9f|2vC^;dgg`kMd?unQv&^l*g>=&Lg zD48Cfor_ueqpwD$Gx854snc(I+!cRDOwwi(>GKK#kV~xg1_~ zCfcRHUPC+-oB!@=B0p0m4w&^yB4ESKCp=^mxW38nUrkXlj1e;IfH-I;JPw|z7Fww2KUjwpz=!UGM8ieF#@zBx=48X-F8oOo^0s2 z>7!ieOK=e^Uh+JWph36=@z)igCjyK}lcE@Qf;#lV_0oNYRT5q4Eo0O!q7?+Q>aOin~jluKuli$z;U{9TZv;ga|m|E3dh&Rvb4^Q-{<7g8quOp$mR557z} zQ=lj`Rr#9gJ}=xtE9sk1CY9}DYZcL@cA0eedr~G9sNv4_j;O!ik}|2(j3raBox1xy zDU;fnziQD^=`HT=cce_Jb*pM`sel@F_B&E0)rfJ$u~dbN`uZIylcov!%GLQ;CVWTA zq-n!K{8Vm`d;1+Jla9`9STHYJdHX#nlMX;s#jR9GV~OxBDU9~} zUKYsh#KMq=448V zhNXdpF)3rh+!NN4|oYm7YD*~zriaY2=kMKN-3dTT$+X2x= zg{I%a!*DFbq#I~BHDglHl+~ND0-EOP6dqr9EQDy{)RsogCKX#9nha2QXy2g9W(3?3 zaZ|*7{9-A_(XkjiRxf|LVN43E(k-0Fn)&x&(?h>aNwCCz{WkvpUi4P^ome)DLOxYl zUj2J~&=JLTg=>BzT=an(scx&#Sa+W%OqwQDOa0FfCiV1@R#_KD(!-(vobC;!B21Dt zO_(%kGJ-6!I1(nIkMoZbCQ+X96O2hcq}v}Xp-iF{#g9aFzjf344JeaJLqu08lRAdN z>2N5@Bx=(9NJVO?6VKKPE9B2oCZ$PW<|R30O`Ch0i7At~MbRTwh~R0I+?}ru$OVsJ z2kZxf;1mfnWs|4s3orWs)`fwO2qE zeRL@~pHpXXAM1GWw%~3o!RezzJO0I}BYHxDv*e)wFfIq@iu2C8C!|3fFf%~-bX)4M zou2XbPq*REQ6xEk#072RonR;0hQY1{O2t}Mb=aS}~>R8;RN1{*H zP7VU}e-Xqtzc*Mm--j7V`^7Gd$_Quat}`RykZ3Q@Y+M)n$L@ctOp}Uh=i8s-L^3YP z$K!M0x>h^*9w!ohp>bNx#%olOs%@!wh3|QF9NyzYie6UjiG4gYBhaTRJ|q_cI2$PA z0Gzd>Z2d4l3tX-U!DpXK@JU2S9shQPfa~oM`B7i9g^39^lt+mrqrv>OV|-)CiCo&k+zH?Un$kqPJfHq)#M3$~7xf&IUCE zNk@lf$ou3YO$!_)!i_w0r6xYF-aPAk;wht&J|#eE@74rJ@`Uyi-_K{h7BI$1wqpmV z+P~@gfG@vKgA{u>_>UOEXU1;WQ3@R~10055x*3OGf1e+GGcc6wu2w z%>g9i63+p3S+1b(;-}D;e+f&{`eDulVx{|0os#B7M@1y^Ln4Aql_X|4VVU8{{Fnu8 z6{@kX4+uiB{*g$x+O2YDzR!@%t*Xe-! zK05_=ScW)m@O^j42jcX^hq#HBT{q%R5I07qP20slsG^PbcADMkeGdy9XfT*UglZQ9Fz|4% zzXv-8*Sqj~gRJ_1hhdpRZGJfYVEf7N^JQn$2vQ3?A~xv&m;iFlP!M5`02U&i@Q9-W zN;=3TfSXhJBM7O7qa57&WcU&ROVo9b;Yv`cJ+nqp9x52R{@a9accS{kn$9}7_sIc z*HoTu5yFC%W+plMyi*ne6^U3OoUzjd;{yt&847?>{=cn3h_4ryM~8w5D~v*iS5xc} zpM6HblY57=Mlcrv3Vbi~bdg%}UU$5kE)-7Cu$MUQz zN72P#i{^&OFw>nT%?*P$_L>woObx_L{U)j5T(hH>UW=lJ!MkG1n`AMUQV14TY`7u; z#n}a7kiS2K!2>jlDC714$nAYa++ zX}!jqCiTi#!diwWFRJQwXKU2T{&mSo!Q^@-q_#*=<$7)euR-b74os}NIP-B$lk%#7 za|KonPmO%ZQX5nq=%WcnP^v}eg_?MS)q=Kdqe$iHyhE3Ced-z1gQE2+%g5YQ57l)( z{?r~WrJvRJzeVeHl7=$0xYd2?C9MA;{*&cq85+#CSdpRvy%a6MeU)-4SQ~m$bRF$= zigzjFid*#i6bVIJaTY!?gThCJqb&9Cfv)6Yc;-$x-V=w=JOfml8ft@h^=4krYqG0cqOq)%;7C z_htE)4uMh;k|xI}SW4fJXw;J6li}Jpn&#T17&)4iJsIAPnr~a*s@OehMeTN#;s99) zTnPurp@dt{6ro6cC7cLROb!`vpJpf_A@s|?^r_{qfwSjlmA|%P%xvA>-u9b6iiaRU zdNRg~p^l`|lB^@>oG1*!GDy=PZ-Yb*61&gBzoe zAijg~jSUcugkVPmGsBr79YdvK${1@$8-Ctwh=zsO9cm{>>#S?Rc_Yu7fzC_}W@N|E z)OM)1QN0B#A8GBtTQn5CA?a;RwKaF#nqrJJlV!CgOUJP3m_OA>T8)v^45`%`Qf=YO zHtO1Atxw8kqcYxN*X=Nt%J!3%`OIQ!M%Ai~Drb1Tx}AQRkw4MZW!TFy$m?F4;x7v> zvFJ8y&Zp9A5eL-{D?c=7@-n=s*QEH&oL}wLb#-Ezdq=zS!HXOF<{aG4`5j#2&UGHW z>m3h#aM3##zIE}BfhtNx2#hrLkrE$EnJt@=4^+4~hKq677>Es#!~jZ&u(%jZh|n^(VBBBc@bh$d1>2Z;a4mFe`>Ui;LEc7}fC*ph6WC4i__aJP;4bOsak+PdF6jOZuKO^w zo2tR=2L3@Nmmk>9(BEt>mz}vgxm?XKpC!#44yrP1$YJ_5i&*Kc!O2U}G|sQtQ9!etWrP0r4Hk%mC7P`Ff8+3CAYuAc24Vq+lAUcgXK`pz{{+-x3 z=n0BFiL!`SIp*lell&z$6wwl16?;g1lVKQfJ>d(4q=cTL$&>6i{{qF|)Z?DG)bgP# zx&}U0?028vpLX|lwzn4mUOx0Bw+I(6dxCUw;>!s)EBq8vvuZSqF_1`T`b!=^6#-64Oc{A?8Wto zH0Pc=h49(Pu?dauPL=c{1>k9*=_1w4if5LjL^#?c-;*h+w3<@7gc)`BTk<58wG|DM zI!Msl@5z#s5Ak%~>d;u)u zzl9g+*vIwDgcoW3NKngGc#)>842b#@bHieC)<5O{%dsTjAp1&%A*wuPTBK5;?ak66 zjm?0^g4O9`U$>i~MJiRV8(O4x1D8ZxHp7aPcewnN6$w%?h!$zYYU+v>39}0{EmAE7 zr)iO z8_3IHa~5`o z-6chW`oW46X~Dc?MT(T#HA0G%#$9zb)dUi_g-MaXWM)#Nf{DCOkRr{k{-WYUT7eXq z$_(^mB$VRi3J6|iDlHXTq^h$qY@+GlA%s`cUKctf=g^V|`vFgT%o=o;dOm;n1jQ@4 ze$@(jxI%vv^kD_c#a5Vb$Ta*!gxp$O*ijf(LoSbiPb zl|I(+9r*=k7sg|K`+JP&q3dOWs^Pz$mou5TOj(P~2got#<)FDANZBb7kC7(inb`-b z2zh4W-cf`+^@LI2_~A#sNz(I1sRXZ}Dg;_sgZ0PKjB9{M9z@+6OT`_PIy6yLK&_#% z-E%YCQAeA3;Hv}q9^26h90=Fhj(P~TKT?YA2wOC@QHpFwBa}S)gKS3@mOUPh4*owK z4$XFiO_tiIeY|cuw)r1tJ2Lq3!q)N@%e|c>Y)90hnT3 z)|O}3j*Rixu`VA>fDBm!Yk}L^M#OLo+C0?68~R@?(SulxbFqv+oVE|7-;z&H}pT(pDDyWpOX2AvTzBh;~`ADKVV zbp8Wy#5o!+Xq(DTxIJJyI<@W%KW;G%&dU4)P{jFZE{sL`FnsBEhQhlsw6VSE-^M=w zBk;p`vy8Lr5*B%u>8R_+QT__=zXr+TyZ+XJSf6W3JIiPFw%WE@Mc zj>CIQN6~SrovV+B2JIrnbY#8yXXE63eBu}zn>p?jg z_y<+Zad_0^ln+1jW{O4T;-gd`Y1C#yo&oSl+~h#Qi5!>h_o7|g@JIR^-pwH|#Dfz$a8Cpdu75$8J6YcozpNyJ7V(4Xhulwzn>Uf2 zQPz2B7{p}|s9xaq#4*W1C&Yq~b3!mm$tXy@pzX?GC8w<@|70}M#n%esdx#i8q=%Uu zB-+EP4$<~Z4Ti!IEE_QGkhVeL;np6;?_g~YwIk9#!THVzaVCoUvW{^vIO}3?=EXhQ zB5!>4$Nd_{cOdu#DSI&8gW4Wx3r-JE-a>tE2>AP*9nrHf24`fbz8fRv6A;P2k&ozy zVvKgM)esWRH%mtZwOvo?h_H+a6}ltJzDW)b!vmS;x!u6E^x8(hOGZ>|p}uJ`W&9?5 zy%d#{45swp(M&s%-7U2g!8;oQU)BzLPTf;E#P2;Hu5Sg_3suu^ z{8&9B(Sit05fVWK?3=A3Nb5~i8%$W2UlS75fpCOGBNTi#ghZn*gZRl{;Yt|gZ~MPq z%ipY9umCrxO(bPhu|aVUZBT7Ewx}wucvq)I@eXB}_g<5fUtM7N#}-9Agm=Z3zk`Zs z!V&;#|7$8DO+=I}4G~r%U<#dtri>yYvNS}+SE$Cc6kCAWl(}AYVQA=)sU1BcG}bgk zS(Trb1uO3t8lv!itRF5#W*w&tv&1qD5r|KrA7@!*QtRFhtcYOC-6 z5*i}F;)aIEYgDXuE}oBq^@A;IMDmq4h}xIPR23N!)`J%^BIZ|JT={lQN7O8G0Zh2^ zEP!Gv2lz!rGg6==qWvDIA{JHQ4#px<5@mRm$^FojL>6dS`U|w!h#q5Vl+i3@3Rct? zGNQ#&5oLInFmzy*`$wA5mCZzr-+CU-54UGiq4t}Qxp-$mu62Tas0OtGb+Z3 z_O+IX=$NJA*emKXZXPq?xH$G`tMjaxFpzaf^JQQ)Xick;sIa7>-`I#=NoYC>?ZICj zqR*@X-7v}zs{(Chm)W^-W7}OHr9u!KC&I-^pdg~G2Ok9+HrcxD=n|moW^q+v8y$`YK`jG>1VILJNi8!0F4pu3w$rSNWv8> z;kuHrCowaU6Dh&k5x+el-4W$;AR=mNp;)!h(;giylbP9Fh=|bVp_EonwRIHWL<~k> zLPQi$x&`qaly9tnXeISL}bi{XjW*uLv8Awg?92%MMI=yOE40H z85zt>u|U0T>Md9KJZl5qdS;?GB)zSvcI8HlLu`sPgJrb_%YsW)nKd)rsEwcONQj~t zg|{h7D_UdGVp}mvD^^{!{H!f>>)A`uq{^s&eo2V_WVeiaOY;py=T-D@1t(Z=lR1x* zY7wv0f}|?GL6Z$d2Uy2V=6q?duBa1}+`H9{&t06>H|NfFuI}Inj|4={mma+B9e2EQ z*n5}$7$}HTOu)!t8ykty6OKOIy1|JMy>PJ&8~d=K5g#}SaTOPL36YsD1rY^zl-xxU z9~C(W(FN~&zx6%z39-fQy#2*``};wG5Il%6h7r_(3Ph~HET@7M33EAAM57<~XfyLm zK=f;RJ~;Hew=<8&CRxw3vNmPv_}om&JnAuCaN3ed$5Po?CLv6}xiUMz$;-0Y*ymmk z3?9NZ+x*U@mt<=)o6a*leJWYZHrw^b4?eHTWVW`0Naw1zLi34EV&mbZ4GJSD{+$)i zc{AHY!Q%^Y9Gm^eYU=gz>T8J05#6_Mw4n*>PaR<343r0|asgG%%zv6feS zR^n67^Gv5ntK|v?LEh+?U?Q-e>bXO{4w5^jL=!nvP@H8eM*Ea(CGunzXFJ9SM7Hh( z2T`_GLf;mpVA;AtjDln_6cN zM6+udfNVF^CH+pU_c(w;A3L3BL#>HA%tVAy8vHoYcb+l<#i@$(iKG3H3+NDKRN4)h zERMHkMg4GVROH3*Sd^-PrCoS`}3$Uy5fsOXxwr41n9}Oj$1!Uhn^f4;S#0KBPr?xTzEiN zgq{d7Vgl;*;vN@J=wo<*R~B6vE~Dhf(W@%2$~xMvrxQhK-V>o-o}5UXD4NcM7fZK} z1Po#_NYWr{qd4{g`$V2|Poqk3YU8sZW)mdeoge5&3dL7KQ?hw#g{)mlozA%U7S%#a z>ANrljo@M7iahlkku<#A+b`k=Dk!nC>Fb+h8>g|X_xhSYxK^j>?0Y08UqcUcEQ8q; z6zAT)M-MZ9O>YypV5v+Lb@n~pov)z?D%C$CwbH1o@39%JU((g;pyr~eW`n&;5A!uF zK{cJ~CN-&&(PGM&ID z@o=Agk)D#VytCZDhFz$oegf*ldX_Bo-X-&UGT)~9x@Sx%o9ELnNDJg(b&BHKDLF?U z<|FH*yhT#=C5jUZo~t6Q1w(LeQ$AhLoz=24j89Wd*J{CdW_-%arl&4r#_2zp@#*aU z6XvGW)C3CaRBt?&HB4|)$Q0|In~R^RpfZ%bl;W9Norn5JTE;M(Tr_ej*_4#rZ+DrX z(rTHYrb^HyOi(p`1WynqsBvqKdt!pBaiK-i92{R$O)|{{HDyf%l@9}QxlaUjJY%}4 zBFGc(I^luJ%VJkfYxqX<|5^V(cG0?FvML90+PtU=n>9nKaoA{rs4DVQarv6n3#Db5 zAPQKSG(pt3KvEPDMAc{+)}!S`F)c6`!Vd*3BjY5?q;D}lRKg4fMG+MwYR2pYt~}vHtX319CVrVy zm{z--Dx6?m1ncPLZ99*gJ?OuA!!>{p-4O9fz>om~^H70Vr^<#U-5sP`W_F%BBvRT;%3j9-6gsoP*8vZFQ4?EiH zk5N)-2qWWre)FNS0+Q|zo-k4=rAyQ~1@j+ulPIAtV5G7Ri+f`dz+h+nosUnjOHSM& zalGnUa|5RNsm9P`bbXG_ldom5>fq{ty&uTOI5)O$1A!K@5DxX4nGZrU*`ln%?>yV>OLuRLjV~^ z;XM5NARzqg2R@Td(2))y7@z|NS5}9MQ27AX>G}w+Y4O?yH*RqB8ej0MBX=RWp%a;* zqB|o+Zyu~1A0-T7#3#^C&zT-w?isd{#526t{v?y-_iXp~cO2Kb`VUi|0SQ{gn?Qn= zED2ggQ@M5A` z3+?cmf$;<9##TgbJvt1i9|=Y%v!5tBR!FB;3?mbnnzK#YSDa1Zk^{S9j=gX;)mLTx zsw(S8Ll;7qFrNrMM)*eXO@_0iH4te@xBx#$SWobauaP%B=YSZJK4wjaW)#UFA8*}5 zE#`9)k`YdXsKbo@A#@~!=r)p};z(3}h1OTb<;Dlh;lRrY)nI$QItk?Nrt>I{hQxP4 zt~u$#IoY7=U$+b93;i_M!8w@(GsK-KaFf)V1T)>T=V-q$V41x?XQ$mFgdTKAg+O90 z#G}r+(BJ9L_ykTtm_3TZPDpM;xMJ|n82n2H*NGwYa)@6t*suKrboS$u0JaH+^m}2s zFFzI@)NI58MneZR{s@vpMB?>oP`eHgv8Glk+^Kh`{3ALr_(2O)2e<+lP&my1kVp7q za6JqFCIBrv@D8Cl2p0#nKj<6nE-jtFcF~;k02gmkcd(ukO@%d z6buPoa-iyy!ApcIQO7+7D?yd^)NMy4N8F^ex!3pi5sLv6;pPBE7^lcy8{9?xE}SA3 z*S$^`93bmJrNLpP!GWcF)M;^+`jgOsr+e_x1hCT6@ev4|K?RQ#1Z_NoEa3wG2>*@~ z%rrRAq&_5kti^7h0ABu$%xXUpjyS(+$r~ie%;Z=|=vNhqk(zWrC0e5@>QY~s<&u1v{2Drn9xQDlh^7@XFNEyo6?z;WFF-Drd&Q2eAA&kr&cn2 zZ%wp6zw`k1+5crip1zIY&0J3ml=UMe`s7?cIkp^71IPBbYpG*^EiVtjXVj7Yj3H?D zRE-Smh0Oi^q^ZUV5)HzvT3#N6XHLC+T#D%@ z1T98Da#`}V*a5E!eV^b4^MAZ`mkV(IwjZ|mRjHt8rF8p@$iHV?HNlZ{ZNyhcKFbZQcUX= zwN@avw0mk5ml2lx@mbKq8{p8K?J?W2=OM8*LtiR;K-$<;YjJUw9fzQ(*DQx}#rS1= zZp}r7-pMB~?}*b2sUS5fjdhu1&ES+ycGWA-fg)Of4Te_3xU?L!X_^c)z+JeNNi7-0 zsY2^`vJEGkD$u2EgG}sgJUc*M8DKzYr)p--prWM8r9+V&D1eaZFraEu10 zm3+>|H7cf5s6BsdC^Wx%pvt3236t!35QPFq7zzJYDqY*NiIqGh$+$~TE z7^s7jEReE5D?qUT)=t3O#|aMfI8kFrjkmgh%mOxx=rl}$1yvRQib+FLYpLLXTE?~x zq3$?>jJ8(SRt*h-NNcG;WTnH?J5XEUGem#A9Nbua?`vK4{`^Z3WXiB zS(81lEtB9_BI+>`%wIJ5#z>)j-Nl&9sG{*XH<2@?d$xOmj!zump0?K4`eZ^ZrP)L) z5XDRk~p=(I7+Q~ptbH?spm z&a&M;Bi6{{D_I=w9y}s99V%(>ZlGSauib;PMP-u*VbT*ghqA3D zH!5K?v+_Zr&eF4{&@5ZTL~O@YD;ssfFV9n9i4!GKOd_@d%?Lb^7ZX+xXHk$Th|bcY ze%(47ks`S~W8wq=XelE%v{QPA6*N*RVM~z#8fP3Mqyd|x1rCF-T*2;oWTw-*>R* z;&TY{vmq6?B`0#6dl^3DN%8q_B%1k=0`ZlofNYw!In{ag zTO%>rq=6RFH=&uKdTv|+0ekx`S!QYw7mY#F*>{;5o{1Yh(OVK)RD6Vb`yLI(*YM0> z-?(gy`TcTVFXU0Z*4LFQ*hpXBV{Z8xl9{TSbv+U6>U(@R>sKw;R?dk^YtagLlXByW z7-rgG7gZ38d;2Dt*B6n@w36anu!=hS9);6W{4!51+1XU!qTaqokM%`VG4=e@%@*8i zf!OysNiL|c3a=+aN>bCUS}0IRNz#~|msb-@biVGJ|G&D`;dI?L)5(^a(aA-HM#!l# zHD`0fw^)?+5Hu?krRB<9r2^p8a@@=vT)HVOi>>T5-%iO#+!Upn|EGCJ@(le~yd$M$ zRSEA%sb8RLUC+yIc}EgN>xp=zo_N{r6OYt!T5hUrWo074GknZEau@)1fuuh^;qUyv zx%e@4ZW5Ceato-6RUNy)FOq?kgz6xVkP9OGBDHQjRE|^pB6ySVi{u$O6?pQ~0*XTs zjEqed8-5Y_6iD2t1%oN;1FL%rw@6taE<>f&^Q?PX<5CH3;WCGLl+%z=R4P#)Tlhs57DUbK)tgr!9$Py6<}i{sNCM{fusYaV>iPP+ zXIoDLMo%+^1T(Hh`^=fw0Pv%M678$nvZ<4_9w7#FOVFHllpnpQusz(sS1OhekDdbf zqmMPmgu|khK>mY0E>RYGX?YhgR&BB*OAump^+Ubo1TC-dJjboE z#{H9{oXl~%d`0HGS3E&8UHEVwMT?0pDSLyP)F>+XBP1&%p>og}Ia+iy%t~;*k?#3? z;&ea(cMX*WGt#X?8_-{7T0ttI9-Bz;uii)V`Q#q{d**Cl(}VSM{Mu4L=odF#{Vqde zQg!64*-r!_*ap1k)uFgZ(Gj5O*7n^K6dhAB=1{bku8$SKS548OaLS@oH-Q>YRE_t? zIfuIV!&_)wBTm_QpN=WcoIufaF}E{YFOhO|+-BCX_7rC8jhQ!vgSD)IUI1&l;m;9r zI8VZ3`563Gcd$ptl`bS3-a51fb(p8mIuJqx%ZyZrrvN?C`=EH|7{%kUwmSV z4*;EctR8C5uA}q{DD!Ry@0RF?ny3{S&JwI>-dT#vu94yZc@phYKOoj$=C2v-a9~ z{cvbn2`ELv9zrEgyB@RyGB_#6c8M?`J4a_f^W^uu+;?}l)tUMa(Q#-ie#gwY=QlFUkbN-YK7@ZF#xB0F^*$zh9OPRy^Z* zXnVQOUz8Qb{gaqMXnVQOUz8d~{Zo+-*Yvvf_*#Xhf)l>!^)7!#G1uS!zxMwJOW^na zpFi9|a;ZQwH#V1}6KB1)4g&3q?~Zuvh@Z~(4&WfF->Bds%|ez+N@IItK4m5d7qo z&{4*nrVEatKfwn7X`|4EF1@zLF38^$mS461=NI(Q1MU6BD|q*_)qdwY??9KwsQVwG zbNkjtxAB5|?VqiA@3^-5Mst8>{|fEfvuI<}Ll^u%TK9Hr|4!4xP}&z{Zv2h=;Z7W@ z@74*>?A392Cc5$UIIQPZ>a=y7bJX+)aM(W}3*(!DuR2-(;q(hg#Ha!q5;2NR#Hdp1 zHxc7)EUIfVJL=<5E!Hz9&%B8P;j-tGencltaim9%{K?XTNW2_M%`$JZ6Hu`e zu_&~r#_sWF+m2Z3?QTa-8KxbaK4E>N@I$YrSsSSVit4j04zUeYGTMFSoH2jz}+A|u*heTFn%bDy5 zl^x;oeZJ_ya5;Clo;4e^?6WRyvtw;`q|GOM(Sz$>w+o&V+e|~C)9y`z8RE_qxJl|w zf|+jFbE9ENzIAw%Bh_+XV?JSPc4W}FEVgaL}gBpJXNg^V7z)}$a5o>Ct!kv0|%0Hq5gCDd&b$}~? z0fo~XDaL*LF}NNE026?g9e9V(9E6L5+8=b86gP7sNF&Y&P$XOt@l1d`XPAgkh({0) zF-Sxy5y%9na|(t8FF8>4$>1fzm8jz$gO#94d+N5Mk|SJHQz|%c=r~+8&>G%i)&Y*%v3W7Es zLY8oWe}sR>31%7`Xi^^%KGtHlPXI4(`j*hIRFTO1U3^PF6ONpDH{0=1I0U)n?c6n* z+g96Fd%{#U9_o-oKOixO(2qLJKO=x)~^SMHgovgEpkT zYh@zV4THX9#-U-_V5BX)GSdc4W zId*58nnJWKE$7lx{UpTpUcg4Gx|%ooVWVhT8$iHyrxxXKTjU z;wxzSc(&XGPe_+h$-LjF4t^=ROANThIy+}{*YWrP9j|y(nn^JkGsJ5Ou(YeaTF@3k zQ@gMrqA;(KAYXIf4XXpo5=b)5BwkkZ-I}kSlx>w2=gM2}5MBu*^2a}!MC zdbVn&X5W@--{MvPp2;#v3ko~6UC@-{yXK}Vk9C&P8~f+V3BM|QQnSVq(_oINnQN)c zc90TS1_wIEk53@Im>2pC4_7YxWi#JenY{VyS8RC;R9-n8*b4MDg;)|73vVuOT~K?m zpN%D|4^c{wK<%xdPg`eaRg~hIh@%3lWU4!K{Y&hGVLD{#J6q^VrTSLDX%wn*5Z${k zPgd}=1<(Nxcrvb8FF{Z>OtjcXTmZ`<8w$t7peeoit=H28)9m+uTiB;x(FFgohY>kS z!&`77UCQT62^V0(ZC0ADrPY{-*mf}un*j)iRJ1^DU?+4z+&>!K(Vo+GN=gQKCQC@Y zsjB3lTVyfR2QO+@%t{hxK$GcY#1EZ?-s90>Mm7R67Mz|-TQzM~cJz0V5s*EzCrlpk%FFJ*B6Zd)-K&6x7^Xtzblh z10F>XL$818wK`G=P1!01C-P!eOICOckxCEI3@RD~X6C|N%kW#1+$CJ^XAn5SjBkfV zqTSu#>oHQBStRpDwqybeWSYsHm0+PAGX6bx*0qGjyfxIODs1JCD1pTW+*&=pk4bi0 zT|`~@WQQiVZJ5TDb_Whk8gu(lY1vnDXwm4cO<2A@6qi8p1RrKx7UM^7^T8gPgQ607 zIQ9%%T0FDtQ8Qc(I&6%lp{B8nYobX>0K>^YQ*SGkd+}rj&gyYrHNDjblTKKn2U)x~ zjQa-^L&X{iv!bzVu(@i8#V)K|<$JOlZIsz?l5XgH89b!)$G7k20N~X|m){IhVNuR3 zP>G|FCWDTq6NuaThPf9r-M>CL9fu5Bt=LNZjBE|Mi5x`ie8UE^|5nfm%>Vvasv%MP z&O!{Ww0$SvG9hDuldj7=ISwi6-)@G%R?$**PXt`x|75Fu#Zqrs) z+f+WXyXw#&8*>6J6wg}-8G}>v7&>-1fT>uCO$*@{aD46paTYvcvt9(Fze!4uGtO~u z-rJuwbe+Ob^|@l2~DzpBfhMK29f9PVc*4(2`;9jj`6YKh!ci5T-WudDW9*!v4Vf*meT6NR=|}_a12F8rV}10*lNqTl63{w zj6?=9qFrCb5w(B^HYYk2LeEL+F7T0TRpg;$$QTpBmy;1)Et$_h{1_q$V{kQ}MjwWF zkhM?r1kFC z(}Wetf2K#V^uXU!TJ-=7Oh}>vF?ml{*XQV3Mn3;Jf;rykz6kL&48&L9hE7v8%JCiu zSFR#n8a@c}MjFTpO(G`RYYsTH7}1gobss%hX`%O0M594HXlMYV&@)F2w$b@M{ClF4 zpZFU_;kUBDL#ToN@0x(L{iF<}RJ|Anp5 z5TO`^=DB z28Lgf!*F_)d(^ALe;T(ui_6}6;a3-;HQP5tYR$9ki#pHYbWjf6S{&O#w`{7qi*yY5 z^J|~@@Yubenvz`@J@Yc|ewfWYOT9`4Nk`t``*q|E%RZ>c+uFP4)iF8`I#!1CW3q^; zB>0b=e>wV}?LM>a>*(IT1_9xnq(ewzppLZ|Io*Yjr5_U)us2Cp4t~#?+S!8^PoU z#Z2vcCaTYNQL5La$(SUX!DrbFAqyvEo1~Mb=E0wnn-LzurBOE@(>?ku6O8h*!!5*t zU7Xm&kVAx7;?GwGX?zso?mWo{(ruVs0`P+m&Fi>*Z`Yp0`|l?ToaPtUqy(3-@Co@W zMjb?TVYEp{+uWHC$trOfC(A~sJZT$b+F41mB;_F4eSsQ|XYG62mJ_jyr>TzGdWgnH zesAqpAB@x8-LwLdoAzBzk~xv_f?U6@C?2KhCs-z|IN@1&=3Vb2X(rT0a&O#w2iOXp zFu0n}n)LQFs^U>baDDbfoQei~Ov)Dz&f<;p2g(S>$++p1TjGBsiET}r82!onzqng2cy1AJti5&?`V>3P00Y_ueyvegRXiS0uRxwmr2po^( zOa&9IXxR*GQcKDM+mDhM;hJjt#Oj)Iyee}bMkj1=lcaUz(4?;7m@Hovd;~h(gqt`g z#a@(F71-h278A9p=`SWoye>4ngUX?yOE}Gj9>R$@CPG|ObJTEoyiQkN;@Y|Z0Iew;&p3yCQIE`Mr+6HyNjXs7>z|jRGxB(~n%?Ier zw^n=CH}DmFtc#w(2fwm@NyQ$gSA=JTx9s*7bu^5I2e(xwe+jn~+A{ip3{MOnqM;T! zXu~bA)74#a@M1N0O(VTsAG|ofCO$`wwQ!&LSj%eennpMA!#v7zfWZ-T{Tl8wpdAhK&%POb z>wUi;qd1OntZ6l@lgt@ba^}pNOjUZua;=E#(}zpJ@*fK)W%+Yg0f%)ko=%ujhWg}F zK8yk1HSvS{z^8o}Cgda;f3UeOcO6I3tWbuB zjC;r=x|?X@j%-WT(O=37O$xy(zk%0!M?(Z1qLj?5WB3f0BQCGCJc*! z*uY{$$5HSo^3{6v1=Y@lI8Ic%RsOGz$jPDBwnw2%&K4GdAEGNYTJ-UEAomv^H#06R#stiV^7O9ni7pa08c#$f)VXtA8rfX%`cg=q)tLvXor(9=^ zf1f(#e{V6VeJL%Cu{sf8;bZ+cUA0n`uwJ0JqZGb`+Kv3%R)-ug8~c##i$22J0@2N7 zlILBXq$@ct00*^;b_jK>PbxX$p4>5sYdJe~gT9hhz>$$wjlAZThu9hpTMo?s9Z#qn zdu?tpt4&`}L+V*SW2j^acv1&1IWQT$2Ocuen`wjIId=Ec&v?|Tn>7=5X-ABH%wEkH zG-1cRUDRjA*n4GXOMh$mt#_>B5z4<}`awl5Q`_d792Kd4;(E-9bFHceGi8-#J=R3V ziHZVM(AOee>uN$JMJe+JCAqRqTYhbo%{mZNK5XEG9i|(ECaHrE7n1M>IHk*qsK5CL zl2l%7Qcs^z#6+g#jKLW8x&5EunegqX?8xQUmsfby39PoWX1rsWu_3nvLha8yw(stMz-1t|c-L zT5fM0M_x%_o_{EXGMHdr^&KZYDTf4JHgdGBI>HO3 zvf;xQE*1Jg1!(Bt52scauMEhnc~X2ndkn5gyWH^QGOgnRM&^MfLE?Rfvu{6BAa+9{A|g)zOdj`wHdSTugq67B z;)NDkNnca9{`LMQIx(8*d^fbb+}|%LFVFq0Y`D(6zE*a0+*?AI{`ZuRexbLG)SjfQ;<ZjaLsBXj7 zK4ha9Ukw*b&C{JWsxS%}TjNwZUH(4**Nbkej?)^cpz1_39y-&J-(yfF9E4Kmr8;}r z+mCrvIBK=_SZXT+pSMme1eE$ivVIgk5il+r2mu~ftWQPcLcSw~%{rnWF%*B8$i67c^Wd^p{M zzZ(iok|0+W{Zh}eO&@tgKgGFIt8(2M(2!&IdwjaFPcyTgm%eq)udxuaA+zkugOK;RIWLTr8E=tW_G=N7?t zWSY}Js~e(~Ptq9xkt4{+9aHQpN+PAI49-#MJ-~cv#Tn~G#wlky@hC+jje_@WI~|{N zEw2v91-DvD@<|$qKO7Rw?$?J!u7cH!2XE#~Ny-^dsHwDN1(SRe-uLQwoYy0YRstO0 zDa-Xw6!sx!NnY8;+S-gltIDi}p?u2{s$g_pBR~ypBE<|senVb8<5-NFr5cgh$Zu#)qTv)61S3Nb{p|#V9zM=)2$MfvV7AwTcDy^r)d zeuYzKdH}~?iD1tEubh*Y1|&_!Eq!-9qBn-UVjA`RyCg+ zUctNI|2uPUg%%z84581z7ocdT@|7`K>N>k*FLm67#-F+BhLb#i&pV=S6pwecr)d{o z{Nv>_B^zyt@t7w}1V&}XVpNV|vLUP&H8j|ygwHxk?&Ad^qVUwlb3vsmOEi6Kv`aS)7b*}zXyIZQd_+RaRRT%!C|J&Ny?f)OC)+!m= z&`kW||JGjIM(#tw;ZGX0v~4YfGtPQgI>T1WzK?ZmAC2GfNpq`IGV>s|EC1jB@xT9P zz5Ks_xoH3=xeAg{LcS>ViRx!jPSP&3y5LvXr=W1&<5I<%J9~`@4N2}8r zH{4-5q_e%r&|hk&!VHlgLO04He+yT3M+LrNj_a~Ope1KA8*0IL5Vd@OO3tm}DYbgo z6~2>iqiZVh)b5^C>z>W#b+umFs5``$)N&Z+IjJ7(G%rhY`Y5_Xsn!D5U6w28yZ9;e zfbY3s~OJ2(lVKF9i@?1TYY%J z@d@cXY)7UKNN3p9&2lgHAnQ`6_3gY(p#UP~@rV0sy}AXGAGCGnyU;pF{RF8gm7y$j@6kIBY5^UB9UDL10b zc&d>AX4&9eB#8t3JLAulfI1}};9CTDQBNeRpmR-l&fwoPxSkB5t3&5|2KUvUfZu+6 zG zzyc3Z=)!%BGPphlkmCSZA0siE3ve$Et{;3qIc^4(c#SwDV3i1GI+!QmqBGz`FeTuN z2thnZ>EM_S*a>*(6fp^?^3dy(;f>L4UG4W6%yiUjPZ!#4k7*p(2w=p4 z74>e}c?R|LanXHD_u>j!8& zDp-S_vJDH;q58NQj$qckIk{v?zt7IhAo}rt?oX+Q~i5>0q+(a9OWk*Cg)|3AS$V-?RFaa!VBeu5e>=pIT0)JcJ z#%4Vu9N%hw1mWVAJ1oa21v# zEDBAAqRH8iicKoY;bIojKC=`Gt`(s`BRZ|^bl1a5m1h9KiXlu%V%E@vOFdR(eW7Y^ zYHg0RShiC&0AoJWirCt0%`-s7sc{EUS+7zz--JcON?k}5=)iRggeOp!Osz&b%<)p6 zUl!O+Ag7Pp_Afo}TlYhv0&Zs1r&{l?uGF*fSegh;NKw3DvDsp{55MNnFIup;QJbI} zKO7Ha(OkC)raqF$$=3|)2OLzR>OEUaIe;^ZsU1|x`^Wair(HTD41_L;Q`LpotLo)r zlIF8alp5@9;}4_K#L&^>{hcG&7mf;Z8Re0^1Ew5$q}ozl&TR=5w5?NV%#8V+gV;|T z7dC{Ttz@PhaboovM>@EQ_FkYfKmVfK_CCq`RPCZ>jlMG}*UlHCy|{#q>K!tSce%2R z?312@b}Ws|q0FDS`7a(sCW<3M1c)GHR!Gr1Jp#uf)J;MyhwRV!d}8M&?h}q^^@UZl zmJMHU=@tA%8}ap#IDybj*lBuO1dvj}e6sb+sp$E}l5oP|Vj8PiOHSP#x4V8`@d)9 zG{uz59XeF)mJ(SRom2x`CyHrU>32%qKE%e>@1;V%`^8=vFv0jv4gML?E5Rlm+EYKL zo2?do{(6~jn3JKL%dTdvXM*bhRwy;*qd|WPSwKbd#2gt@vtc+)0_Y8k8!ycsqe{oK z{%@74EgcmUyZJRem6ZmpjA>mw}Pf8(zwM+>UrTs+bQZq|y+4r}~ z30|^8+tSa9$2z-!2D2?d4v*XOfSD!>e6#XY15gvH^&}4I&bVwJP*$}lr!LHN`D9an=&lx8Gp9IUzKa{oo~Dpt3m&^b}o;$STXHP6(L90>Z#y?1DPA) z5s*ZMjWpb}@2H1-!MsW?@HFA+9o~0yV}q>SrB9gw6UvGI8R^YOFMF+frnZd6iN7oj zps&I)GC^c(7XI-a^83!b{Fqqyr>BZrVFy@`%Q-&aB>|gd2DmWEmTlnS_3yd_;er$Q^v{UQ z_BI<6AH!(cahl!<8s@L59@>rpO$@WQrkE>v{2M*JfWQDRXoigu;4aQAMvdHY8&<&? z#Ac$)$uZ3uy6%&O{Q(&9ENrwFOx4szOwDMsA$@W(gN$=tZ52}&e$Cdf%7#Y&p{|m@ zH~ugig{MJDlz*nO)^rda;`cQL)#5T`)i+7DD7`l;e_PAoE9{By#8Aj40t*R_S5x{I zVAnj81%=yj8PT`30wkEp9EXyF!_02pW~bHPXrD}Q!!*Pf*_SZ^T4u4j=?&ZZ>E@0~feyWx1+zAc3-CGZv%gV?cd-q-#wIi1%)+oGveAI-4 z3}Xmle=cu9lX3|TZ;;i242dHJ>CGo*{PvM`Ddw?Gr(k&pEjHq;Z!qZ_B^0A)JHG{< z%cV@H8Dmk#VbR$9+*bmalx*9CSv+^5+RYC!P*O`3AGbz(zR*&JIt1HW__Q*BkhLjcHhy&_35Or z87m(mraVAa4S7E+fnvLU!LMj;@5Cnx@b+<`Y9O#!-vZa=X``X>m{zT_u~+Hb-K-`? z7Ld-v+;BH{EwRg}xpk)*%0z@p={4~|i^inQ|Hjum8Tg6oNaq#ZTAopY5IMpz$>D)t z3naMVwJQWo;8K|EiGW)IwrVsF)>(1<4pUm2UZfqIqNfqc-9Ar&E^S$mt)~`Gb1Eir<^VJnZa&KR<}nOdt=-< zbmmTMtnMPxIoam6LS9?ZNH8pmIA{x)u%pqPgQhm7?Xh)-JzyLASCX^$mYljyM;zrR z&#pSv!L`kF6i{+%5bw)c!Lwdudrx*XWH__Mk%^YpJE@#Pw2wQw1wD6k<>pg%+NbFp zlID<*fX58+`_8=Lqd5<5nc%<+v4oE!_*L_16x{;F4YHlaRV4(C&@gkugqOg;gYCN$ zopDX0t!e8_{o00kpZS5gy^vEiz|qKHqt)yaC{nG?R@P}`Qy#+Wd1ju@sdcDu>=7;) z5})}@X!5A6rWqWubeb$J;L^0{y{khv3y&F`pT)U3pPgMV}#HoU>N_X}pvf z{9C=?;bFjaf)v&5M;!%BU62-2%L<)`xQ5q_qBbT$GJ5;jFgVKWek@qOYwo=GT5rbh*x?PHL0ZWp~IkXXorGYrTFGu2)$)C^Q#70=>2H0E$63F=ool zWcq2&BW2aYk1wbk-ruz}CV0@S|JQs6wz&V_Nr4{|P(zfCmnok_2D(nP{sC8+Bexm( zXU6T`eqfq$OOM~Vsz#pezSY~-Zerfx4=3u=%lEusnLoD0b$>p&&~!6ya%t8KjnKc| zc+UojY_@912n>_eYM6SKuOtD+UGOPMn4-sJ3mUWfnh!zQ?#8a~-lJfN?RD+i*nXDW z<&^2?JJSE(&L9o$59c1aG8!E>jC0eRjv`h0NTpa?Z$pPGQTSn|NT~~hS|GJ^S1p+O zxl03DXGj@1%yde2TFrAez5-u8F;5_Pdg+;%;l|fz^iYo+Wc@IIZyQtUM7|3E!Lz#L5YX;w)5bVi;@gv(n6&xC%tqd@7q!AoeceNafph8TYgf0xtt%$t!Xi<5@83C#ANS_1I4n89YM)8) zKt^IK&5HVWpY`vtP3%Gw+dOhL+_tKpD@*IP*fO)Z!o#b3&q(}ga`FXWkS4xhX~%>2 z&*zkk2T|P#_ux|%BQMv;tugXEg89dvc9*3-;`xM=v+q63q|U*&$l(d<`d6KTAN;9l zeX9DdsASQ|KSj^CBRdmsm>u)+`0l+Sq#6;=bi>#zJ^@wDuG1(hyWh$D#xwT}UaErt zJfj=S1hb1lBxGjGrA?nTw#lsQAPIM+4#UrxC_m{ZKMTrVD*4k~t9jMpDZM2hPCW{U zk#k&6_L#a|2XT??JC;hB?j6VPFI(@ZJQEt$^BMf2>?G9hWO26ONy>P7jUHiY0CWU} z6(T34>SULmCE9t<^nFE!FSAZ?>mg^K@lBZ`*Va0@-udB9LtrD)51;yo{1#iNz>oYC&9P z2Bv!h=9R#X#;N(hHyO7TTx)NP%t;RG5E6);Sg>E`f(!GxSLCexpT#qN*j?DhhIKj{ zP;FtIo-IS&G*@QAbU(5uBfrx1P<)g3Roj#D6RUAHGJuyS=9#0D`u}HxdUC0*&Z$3W zg}m)me&SzW{hreUmM4WD?Q)5SZF}E%Uwpfjr^KoG@VPsc=@X~+ye8whZW>gQ>3PzH z1Q7)VAsTQCer3>TtV3JeC&xuH;8E zWR^FwAI>w<{85c-G#%!ut3(~2=L9b1An!>>x|+38`PK}TDO_ux9^UVY=bqQZ)jIoLWm_Chdx5Wwd$)M* zt3!V3Dzatz?pF7Mk5*;;%&s!evDd}t*!QU6d#VJWzu?uux#IzFTHvH|*Nr_gnH_6f zz)SM2ypFM2XuMa%Pd_uOC?p+`gq)NT-06r5^A584qUmdWd$%=`9;xwTqqQX$=ZWch%D|8qB7;n|E z%3-cMg)ZY?-MtpfJyCeD_h)xA{vD_eB?FJGO=h=YfPjKb5@%apo$qPCIy`>UgK;`(EwZI(TL zQtk+L>3ZX;MrLFl)jzTiQZJEFd7>VY`}3=Va^gQ^DbIH7y#h(_wYn0L85r}VSTZR* z%e+i2nP=)K`3qhhpEIW-2iQ0Qc&D@ye74k3GNW_1)RKRUd5sLsGv$~3-(Mb?Q?6Wn z4BsEp52yIUDSuZ3VD^TMEh4}m%92Nl2S)jDJ3g5cZ}0O(6Jo&yTa&>TZQuuTS%*;h z!NIx{|IKi}&cwa?6t=DfVP0MN;`LHm>J5W|pM&D%ZEKckz|Y6`WR?iU+L}zEWRouF zgm9R9aEIPgFqo8FbS$5pN>X#r>2FvMEhVBSO!S0`?$b>P$Vk%|i5w%@qdPem=^_oG zXX|Not=gf|tE;@_4=&~Xd~4nj!QknR`?!$I>KUi0kVrlsUJzZ?y zYJRzzV4-H1ttp1xv2*+AT-|AM0*j}<&`}d1rPXKzQ@<#iso3V_!)cYbJEh^uX+1ez zgsxMg?!B6#7F|X3Wx!bnyxrMo5(t3ZgZ>FyqtjOKbmcuGI5HII7FT)PE+~npYah2>N#$Xs&(2#a&D0GF$g|wrh zVnRKTc5aAjd|`8CE-l2_@8i|I$mAdqmFhi-#P)swF+x(=m?Y%$y+x^4ii!pH2tI%yK zc)J4MuKu?#5AMr{w~CZ$q{>(sPdgyGc7OFZ``YBObh)Z)zPHidXgRc`VRlkOLgvQE zt$xx7Ha|zmFX!s{ zxt%+h@K?fP2=KLQJA<&n4>*v3f0^2k1V7rTkwjzOVSi<2Sj!q~8D&Qyo3%W&Oi_z- zrRi%ewXLVURgAcfE!R=$GSMzxT7-kw((@YHRLiJp*;fBHCf3_OoOKA~Km1y)Hpupm z-CGq+Sm&?)y{=oX)8V7SXS;Fn23W3%2JW1Tg@mt$Q$)(sTAM9zz3`e>X_9p@DL zuJn>nPw-#mKl_2#gon`&vh{oDcwaXn=t71urWoUnJ~BC(Aq__Uq>Mll54F)!9ZHoY z-y_RmCY>f8RuW~PN>@@iBmB%HTI^rltv!YwMu!$UT3l%{r^TZdt6CiEK(2$p79U&e ztbz5*yZJub)-=(P+jVOarHB`3RkbB>yKFk6UT0szZ}Q_$O>4+9!i`JL-JB;lvT9P( zYdd6(?AhFC$`9*)4VVe5d!=)o)LUJj>i6OyJyjaDK7Q7TT(yQ~lfoe5CY`REv2+lr z+YFh1_}7|&SZ`d^-xBF^xV2!p5_qiq5#G6KcGssTeLfZ86Xv=4K~nLUd-Kjm_Me@3 zGtr%=Je+9L&!?tZiU%qES}WDeGDFoPg6?5Vh|HMuDRqLO=Bivli(@f==ZU08&^*&C z;DU!!`}t=R)4q)BKIVOGsnPS;8n&sVR=s!p1_u&c9wrmS17JcHcfDUKx zCjx>4TkFh$!-Cipj>%#kwrE9`0&MDjY$*VC#5X)aX zDfo^74SVXvK%YS!9kNX$Ya7buNXV!9hhP_KX*L2+Q|V*`DPf<1-8@Yz6}74k;np-0 zUf61-jas#bou9~wE|*l_@7$Vd-~qm{@vj`RVq#%|FB@4{;3d@rn(cFj`k-RoHq_T` zx<`X_=@}_Kgx`vOe5sOgN0o$#d#sS4!!xWiIxH7?fB$?1_E4@nNm55EDTe zWoeMNMjQuW?S#4i_Q{?7c8Wqp#n+7-85npC1A=E7vOdp}_;eO#Fb{_o9$77@EKSOe@vXf<&MZ6ez$pemCQfq92pMNHx~N|NG}MB38(L?mOU zl!z?QZ*|G>r`A%XKeeo>wP1o$s!86h0V6auXx6Ss)SCkX=GwAxDgFf-$n&1(!!lmL z>$X1zf&cFE6NeGJ)`|LAf_Ip}7d4_#sVjaL?;VK8Rb@JEAXOJ5WjVtv(UH zCv+dXozNfYr@)QR;74$XgDlg)gQO-Y&ZEq;2+x`t0Z#pG7q9vTO@}G8pu`vf;1x`z zD~KJ374zlF3@~-He_t_Em7b6|lYrh*UoxZi0HQ$d$PllI&l&uy2G^A#^mT~eGq{g_ zC>4JZYpJ!?YJI`CJ^go4aC#wfB5I;MI+Iu|(mG=Ag8U4Z z#K-tIorrPnYW$pM1?RJDE=|tm1}c~7fR#iN(QK*y38%KlJ0nop0A_z3H_b$v`TX_aKp>Jy+rN!a&Lzn1Cq6&CL=(@%e_5` z%YRaDXUuRp#7^Gm_se~~A9Z}UuNhM}O3kfb@%PJpJqeb5)|wUP!1|FkX?eN7C)Juh zslOX#A(ru@)Kv=&FZXu++C5ftSPKpBuA5%&@iWDRU+D3KIpVd#&9+j*%e_4<9sD`H zUD2yni>_|m@Vb7upwOx-Gc};OxPr3dglRL&<8@KU9aw#q2`bL*SYGzEu0NyOo*4DV zU$T?0+0{qGhjs#NurS@r3ZDE_I7e_=;I29I zp_vg~_ImNRLSpFMPk8t#%~Z1r9+76epgFTE1W6Q(SRr9$pU`uk_Pt%Pu4o-LYlC_^ z3O^X7_RnoY9@2IrbFx;VtGpyorJx!tuw~OH93lJz|G%HM?^3 z){+-ffru>TC|09xTlM?u840*%S}?2IsgMqk0__jo+%TGG;Xpt$!RWz;BEBnw-M!tR zUa8)w;An)?H*XcH&uw2zBcjY)HEMOx5)Jm8THJPZlN4LzInhS#SO5`Z2lFe~IMJMp zP%^@`9zZ?;M;(;mR;gP@k9GFr+_fL?!rzxeGnAj_w=()Is=t?Xa|et)E3T`qODlsn z5!yLZe$~Weh`{1O`$28WJB@`oNo!+TU1R3NE^MPs_L+t3ACHGa6AEoSMnYXAYr*cB zQiLHIHzK2y#wyP;sh}-3L4w>i5&;O%3#+HSI*z9Xkq1M$zrf8QHG#Ci%ZEQjcnzW3>?pM4edTJ%piVr*hc zpU3Q@e48WHVjEup9@f)-WpuSSUd9JUV`LB5?Ap^+W(C^>%Ykl0=rzLM)+Us8b*tQo@6VGu z7+2rT-Gh?Mlqw$XuVj&}Wi;H1z6%px(eFb0Kzc{)g6Uzm3+fB~6fn2Sd_Dz`yq#xL zj@(RvpQPRtsL57peZ=f+mZZl+(Bn;(<5ViAvk64bD_%s3ZOM@DOrjqDPJgCHaBz>_ zqC$Dt6A|g1Yiec3te-Q?=qaN&4X!7A0e6)jqP}NvU;V1?z30)F!?q1q%R$>#LXeJ< z&QPI<&#EpkllV0Y&NLr~o#chg%1VJGpQ>u0bLNC@tvVCIG^#g@2_Pq z7dVbfT34Tg9ooy&{t?`zx&yXIzM z*VMxic+i5MR13~QsES@U938?!1^6VoWT85=^qiDtsse;BOLO8nNpJv8K(W6*Vj*4( z?6O=z-^EX%FK_Sp1c>(IqteIN|G?7}aqIUbl#(4C0drqSdKqbVx)TFk0ljhMUM*aV z;Bi99%Pb|)M3e^c-xW|iG)5@imx+VvTafEc?DwUystaLMiXTot*mf%1Y$>P`WnPer zQFM0XYmmWbLYhQkkY!Qad4brGnH|9zWbdhT76I427v6fE>QP4J;L-8Gr{$*(*yN=9qVLp=E)H3lRNf7$BOIE zz(o_mqvbPD9ijIbI1kud0R9C_Azl*f4R4T~*eioKSakB`lP1EKdzsL~RPo6CUA#;` z6O?q~3Bc_o;$*~>h$(Pi$xhpF3zb5S63|oATgUq@WSJ!>#>BK9$eosLjiqF@e&VvV zF{31~C6@KOOF$s=q z-DWs4&c$vQJW|f(Zm~QZ6ufH(y#*mHY)lU{#!1R}xOZQk8s>QLf;*+FHhL z+_72}rzB9>D=N^84-|4SE@G_~;>goSaew#H8ve2cl%ZIyluzDur-#H9nWcR4dRjht z28tY}*cnanWL>uqDw3b3Y;1`BcCJ~~V5rbxOxPf78BIV4m&T6QBlAJaJLJ;F8M2>L zapR14Q+4Bl>yyeG@0eglZ)@w7OB~l)h3x{a%(d|fPOq=m3z2cE$_+rq>`%Z^u56kb zU8h!sXmE5#ZIIS$*Y+@f8ko^nVCfk zjq(LR3b{14(-E;VeQT^eZBOKl>f)npFU+^}DP!_A2hbC`B!o+40Zq}^R9^1v#q;Mg z;%YkgNZb;drM1s_ufH%GqSpfOh|BhY>F?-7QFt2mn;Ba5hxTiEp3@(yU@{gV+N*IuM z%eqLH&?e!otoNs)zsfCdJNJ%jvg@XBRsSg}_&fg}kgM8L9-rM~)FhYE04GzQkv_W9 zcBRg}bB#J693=~bv-$&$N-~X?dlRcLc0N4pQ*W(VE~^eAzHw^vpvS~FEGRO&bocK6 zGT{Stq}6137as>oI%;t*32;$P~0g~!~<(2GSlIL02PX5!^4Or5p6vAIqRP@ zNC!6J&@EVSJ+9DCqHV-T8gV-A=wU{_#~r*F%m&F8KL#tc2VnLM_#2~puwXXq`g?%n zTHbOp{!^TIW|mGY(6#)={gC(?;l>-$L3s*G4-;$!e=DYFPZ+nHB$5K56|Pw%rrYa- zam^IVdLIC0Xe}aTR`SxJ6l-5QIgb#P-lt0a_br^z;tM$B(GxX5nnsL>Oox{s#!$OzExid-;N$RzF~a1-vpJt^O;q zB_e&&Y^;uoE*AAsTzmk{GbsU|D(QcSqG4$-^fux&K1%t+I^>x#K~(}f&Et_YDfgx{ ze=~{=j$D+YnR$02%eD`UDVe2B05AzMI*e8m=TS`VD+)E?dQXT5m=1oT1|c*>ZO4rA z11UVkIX_Z)Eas)ht;eps4b4O1wWkn;5Z{|v&+E(hf>Dzw4QZo%o0ejq{AyXn=}|-7 zZKBtYGc7_1!V9Nw!@#XO4ID;ghy6V;UoIIfJ8ZX=jMaqebn{>eIsa(;{kfein;{rGOv`J75;^%{f!%?`ALU|GZm`p5-m4#FI zbL$EIKv&V?TnIa;1c6@o-F}HGR5iwA3(%{zC!KG@JiF+6pV8&V?@mo6Gl;{e3nw3> zo66R?$fvG%9!9dLNhq=V%$MV)Y4x968Vn{n7Fd#jdQzTgL%<%KOZ`R~DD~b~{OXx^GQW3LCD|khrPyAk}YPfQ0GxopRtp zX7rBi)%BPZqGLG0kjcAzsA}-l*VX(N0y>Ob(7_mP85b%{!#O33I<)ZoI=g1}b23;b z`IpTFwK60JH*v~ICvo`UD#}`DM|efnO!E=)RZqtGqD$1Jt>pyTxS&0hi^Rmh(#2Y| z6CwK=!)gsw&3gvWekgb;_>IYvoEMgCHl<0ge0_f3C^ppjKdB1RpGre>#ceRGCUV+R zj&EWI#%>(?1KI<#;&52>4KoL|DLe!#s-`FCRIs(D_yODH&$PQ+3CE{A5 zz^jkDDd00mGOc_0-MSt@| zN`PJDD}4AQSYv@hqMa~1hS?;c4s?dfvjnj&8TqNL4e?!pq1_P;vsq*b;88F3MFA|U zdPy6v*dz*iBELLocCyTcTrhLcW1_>ZxTOa%nYn4E0}Gj)$t%Ul5*~ETPPn(2i+CRGxU5@GCOX^3@g)L-gDw(b1I!&BO^+YnBSy zSkNOO#=$6k$Mdmcw!w_oBf47gc@mg@EX97y13Wy5x1z%_m+eQL#8bh&ASzPVIPE1* z-L7WfD0E|?CWaifNq8kd+1Cjw)aU~wC>|Zky$W(~DpIZwaPi;X3W_SJJ3`gaLU>m- zpm_z#hw_Q)6EWOIXT_QWOe)XpU{H|=ha+B_h{g=c3iCAE!*@=-hKFyY7^fM1OyrnG zn~uyM^3Y<>+w$1I;PgGJ(D5w99LGCMiJP(kSG_m@lFNs=vO;FCs(em?-)lC^?$@~8 z0WNf&C@=p>NIvM`868Nal-KjMCo>o)*iFA*9e8+#t%^(@7x=l&unrgdbDQ;Vj>=OtTZAmMD;~#7tH}mQkJ6v=6~p;mV*4pW{yydm)zlrJ%#3 z3x$wu+6qNDmy-{xNd*!wy{WKm#EC1$f&K#Q)r>6i7A2VW#0YY&;)rIwtrhJ`YL8+` zHnrsja}J`bu@f=OY(EzXM~p2vy5W;X=+vu=<7t3lJeg}2Ojz)nv4}b8}q75hr`W1XQrit(lBIu|f8p5K) zu<{-%^)U#p()1&S&*CeqyOPZn3=k*QP$pz`EyYl*jIB{^^O-S@7P=5nG(^5YDR(4J zB8rm`)diLm;sV`)IfO!J0jd_U>XKLsZ%LAY7s0s*J1)dqgL77nxPbm66$9)>E_Io* zU4C|TYOuVHKJaMI7)R#0Gf$qE%{XcvR(LNMY)zY6tiMXhQXM_j;>ilHE(llXG;qlwZjhO@Q@6I= z>UaAC6I3A$q+D1rEnuMo8nap;_pDsl`3T20Hll##eLC|-ZLK2E)A5GpH>$c5l3Ro^ z!Dkr`UQVF5uFLvtRm>_V!C6n80t1e8qUUHK>j(10m-u|g%?!V&(xmzkdU@`Wje=m; zw2&62&yIsB?g&XQMmM-X?9zBruy#+`Bk!s5!y3DX`;r8dr>^W;FAtj%3PT%H+G(ln z8-(Z*R{|b`fe)j0WqxB!h828ASN@of@PAFB0Ida$ULP$53fT*_iC~-6I3(V)Aka&Ev-lVs!(C$Q@qmF;IwbVU8{;(L zSgR&F$8E{;vB$W^-yt+Z3oL>EmImo>9-Xmzvo@onDHc+|GIIl-Sw-CkgL~M+OvE(0 z@eT}!DBVo@KMw7nv27UaoQ7kvb=)i_q~th&lpX3{peQ{O<8b}X57xxjB;i-vMEf_Ri)q-qY4$8~uy8fQ4<1)_r zfvT54(r>$+g<-ul{}5FzG5o3h8->YQ_)C zP-=2u?VuZ7?o|-M3lLuYdwe?!mDmgNoP)9`R&#|jOvM#yct?C559oY*2SpAF!yjVE zb#AZ?T*O@bklSujU^@@+d2WAbC>|wrMH3dUM>nBf&=%3F2tMwXtD`b-+=(5;-rq;C zKCn+EdXE~Or$9fhHT61q$iIsI&f^a#$#!XQl@pd?M4V~BMu?~Z2Wq4qCP{hXg30TE;IV>G%9YOCxr z7*c5BM#I%czFEVi*@3mmy$GS86qH;4nzq$*()tj~`L)+cMf1E?INyp(WRjV0<9Ce^ z`TNqRd!S5j@gr~pe=Stl$75wdcp0kqtg!FEx8`OzYus0f32OjjEtssunl)gw8miV~ z**dseX|%WEWr2s|(Q-7Jj)mK?a6Fy;xT_Qbhpl9wmpaf)2E56DJ2~(t2@Tc6iqCL8 zDL9i}3K^tg=wE1wCo^Fc=$MP{)Tzmt%-bjjY)L-gLT-(1g6A zWL2pT(H}nizeEMJn1L2iP{9p)UCHo{YgJ1tV#&Cq6w09y26FHxJ`~tdK^fwFgW|H* zA8RxsN0Y5tv@OH7q2JEx3oLW@2|4#C5&&CetD}rrO-X--Q0crL ztWcc9QpK3&LBbmTErWG8Z;#KjK)5aA3`dg$Y0ok}hx15fqK0hhy^^ovLZa3`os@E7 z9m;|TTP>j|D|Hp(YsFUHl@-Tg>TmC zpw}0jN~si1r;ciE)u^&s&oxT0QIR{qj^O*pGt7ZPD$vNuAWABu>Ly?)El}kz;pw($ zejf3!g9_-813kK+MH=MMeIN)b^#VUFpPmN;nL5o?lsUAhq&CqW$s}& zQ>_VKF%ZxWCE5c?d#q^(N9_@-J*c$@zV4u7cQCXa&bH%=_LS0|cKY+o)as6v0=Qi) zVgp!gF^wJSvByPr(8J+N^}8LcXxwt!y`013}*}Sj0b@vh7@P7S87PZ=< zS~qB6B=ID=ffb>L39%20nipIW88dBnXkJvBQB_I(of={c6rN#{1kK6)`J?xD`@C)6 zyxw%q_T7G)|9Eks{nuK0W3^zWH!7U(N> z%rZY{okLPR22Y8gE@IXhC0s@1UgeBxl)nKNbqqX93swRVn$Li36>Vip*Xr0@71yg_ zf)zZmIOm#2*3is45?V!3YZ+`E!!2&`Ku3=u$Tjr2*Lg8Jf3{D5iiH$@|D7m^@I+&7 zEqB2kdObd_ezPkK^RiG^+#RlOw)ghyIs@QG$&I8NY(F2JIrH<{nR>N0EQqs5d3HF^ z9xB?QNqfL)g-QMEYMgkS%ezUh-N-@jOiF2V{&J-)&e~B;yU2is3i#Dx>j-tQayBst zB{Hv`l5(?1x;$>8nN*=8vD@r_@oEWxd*lHQ2G^}+tE2D z&73QbX4mJ*PEol*v=iI-#%yrdMUQoG*#@6`;b|Ga?s&-;YwVNTK^9n29KEfd5sM4! z%TA%T8n@BNjlypAd8_YRd%)TY#+-2GhBinpuh%?SuaT9M zo1exj8Jz69DIwIIz#ekEz;!~s#daaf{=v}k$l=g7pS~IT%rSsPet;Z$J-B}GF&4x< zuub3yw8=ng5bnksXb?;OBFhYo_@lx!lf{UCzyEoaEtCcp z@s9F}qbXml59KqG{QHz3{gfJ*>>DQ2gUNLfn-E`tZ=o-JehU70CLo{?C^hTbkCBpA zD0JmklbLqg`Hg9}uG`yw_gnGM7u-#{XyIc-lagCTrb&q>)F^*4^yOEJw0a5rNP0T) zZX~Zg9lBzhM#s;m$IQcl`#-_W0Puro2*M3hK&k*3foF650g7LaKr!VY(cX3(t$ zE}w&T?)KF>fqgj0RKtf`7qADW12GG9!`gv}s1TEDVZsg^3T9n)Lfp{r0=;1wb;0zp z(+T^bb~4;3O?Dh7Kh$k9#88RJ@-r&uyotq<4}-O_N8^cvphLLtl{zjZObJ&K=1b;C z@dHeY%qzi}s=sfTmrN}L&JCfrl$XFqVozE}CV!7_XR@!FOjjn?*U5j+WIp;IRq~k} zT?uex2|viug!N9w(}L6rm4WE-@@XW&Sj2V2;0bx^Zt>07Hx0x( zch!H+tAg}Z0-q}PV%0g<<*s#BxmWZ{kbT>4pkn?^(Kw9BK7h*<+h-{;#>#%UHu#Ud z#NqJ@t)!O;?Z+TxpXl#h3?LZqUBK)cUAWxaQxu+;dz&#YW(nf=<-VRsA9$m$5fe8` zUQSsD_4nnzK4R|sz^YxaV(osK)Z`JkaJjdG(Cepq8`!TKagV{3%l$opK=np{cgplk z+t;2px^TI-+xJR@1yk$qn=IEvqI%(SZ-*$+pXu#}Zlw~wti7!lF8B5okmU=#Et%Vi zLgaJpFJ8KSK78+ic2|uk>v#JK(BpdLdWXN~L@WN&y;h#h8)s>5UlDTQ;M(;*zjCgb z|JQohMg4?4Ai{*WcXEN1@D(`)b=^w(Q2xpXWvwlt`h|n2OsWB)l)I_+_+(9*Hf zrC1O3mFk_t0vxR&G0RO1@JxA zDgOa=B2ZOP0L-;x!3v2Z!X4X27F3j-Egpj72DNRNJz5+GrJiah!>@LI`3igOMj?Et z4}`Z1EC00rKUv}R|4TOYl5#=a50zXgC-aI}ZAYr8d-p|;qXv-?Vv~q#O_WVIhU>gk ztCxV=a)HL%zqU+ecuRGBhlEvXF+deHV`uDPhfGe1rBMLU8Vb;MS1T9-yv$KqZ8LKY zl{XY>A6k8(Cb%6LBMx_a1RmM+e*Ghx+LXcPezu5GvT$q*es^=eK>3T2UY3Z&6~p^r}`*o$2TcokeLD&GX~< zc{bQj_hc{kb+Z@2_S4)o`WP!>WmCu8>0`H}TAftu)@@<+s|n+n$(6b=cO+Hqz`_?> zEsigygZM$>hSe-|jW*8b0PjznI#v%@NlSRH!Ia}UE=ujxdgc+D0T8SP78s1E=+UQMyYp=DP_!+s{?YT z3I}<{n%4JpNUS~af;O}u)^U!+!o6T&cw}B~9*)i>eD3OayyB{}v#eF!=S$>nLoHd_ zP>(j!o`@ukF9j&hCzZ!u+CXaIgI5P+REXhJ^n1ULAe8u*_K>j^&kT2|ui4n3^b))X zaN=>#h-|JXjJx~=tUV1u=Kb)JWYBU^x`Z-xna%EZ@-rD%Ds5iy%jmnqg z9ZnbR&a$+#RPamXue1`YDXHzvSlf|T%AU#nOWIEOn7X4KaQY+JwbGZq-hF2tAr>?D znSLmW>CJ}s$MuotGg|7I$@OzWiMt;*yK*j$4jWcg^;|07x4KXiT<2K+20dhajK+Ad zQ|rV~+-2yzD5vS8u~3FHsb#;=u_1mYSPv?K@k#B2y>N5SNB4rVDm}qx1V_ZOw&E=o zdK!!d9mc7)tQ--!b3w*cO;q(mipeQWt(3zDc0oR0GNnN8IAQT*=hMk1J}Z6}oy|o* zzlnZF`(%yN_PKUueg7^xaQe_GT4|QPy1mF%a^)4}KO2`<=eG{Qeu`Gax|GY=yR5?L z{K7_a!HqM^QU*ZUh{37c+>oJCD;WP`?p+Z+;X2AEkE)+o#97tW-!5&cOx1ss-lnq6 z|FizDtlt0rpL(r6{=am9mQZ~inT22cFZIQB;J$?3`k^rk`(A5<<}8P$Gi+(Acf{q{ z_!R^tz)|8statvufBUb0FSq~e_v-K!xldvI669=X=&&2Gyc`UIz2E^E7ez@{$&#oZ z2@AhD+jD~wB+*QmQL92aTfv3b<;&q$25i zK=-u%%O0p#_#UVZ_IjYcuQwBNczUy7$Joz;ohRFfoo;cs&**Gpk(wd{K%%vj2?Dc4 z&^AO^D-Ae0H%SZTVl*}_WS88yUi z0$Nw=K&pp#0Q~JvfEb=O{5+>Lwrzi{%+(31@k*S+E5dj#8v&NxRT(VeA(+;X8NwGY ztQ!Ve3(l&(XIcn^wzX7H!;qtlP(xQl*A*HziQWRc z-0q<7;#TO(>w7++s{Ql`Yg!58@VC9KdTXm)-;u~Wq2MYh zVq}bwKvqCG0k-v#IXd!4l;B7C`bPqAGQD%JH?rOhx;!S_DPo7y4z`^PdyvU2va9;M-rLjpA%eOwpr=d5s)1z>ICgj6gO$zlj%nEe^^x+=;y*vu*&6gGohoy zdOg=F!XuM~HEFAAKeiQ&9`E%0uBkB4*0r+kb@hR>@H$i339_O2-Jk@UG5OD>j#1504Ac5bg)H;!46^L|<={PpxeG(!u zeo1-A)G2xNJ((B?hzj5!+Jar<+ykA! zVIUfW7$Dq&>VtK_I}Syi>xPhvh^GLddwD2Mgd7ozRvBO9;5_&y0YJj}rp!q7ZPCLBL&L`8L801mI;#j)=hN71HbU?#E3aij0h_pti?6A}G)+kI3aYKNaIfSZM69u<;!& zO!V}I5^$mhIWTbm)Yu^Hufa!_!!n_mw}i!V3|4d+5G3+_sVtbsi;N@4uM-ams`))- z%RqFkdlcH#TDoQEN89!N}|#rmez^*Z|)0|h`=`76SIWS{#3zp0wPs5 zR*Chrp-k@@mmKd9K-39Oemhd$$DTs?StwIm^J2Z$m)C2fqDn0_pFpb%R_BRmTF=awF|!hlIIfAoB(xfizUR z>i=_tcAihYME-w46~S}acU!?fwvV(I2;{y?GGhMUm~fcHBaK&Iq3p&eXz@AC^=OTY@hSlp}jSsXMBoQQ1utMdAdeMx(K~F+Tv4D;_rW|9nXy*!4 zR+F;5fWKGp5uipKu)}X1m1n>aiWn&sxA(=AmE@fjCR?cv2ilZL~}7~LN2u};Bc0%bH=Hj4$)h8@rD zL|6cATyfK<*PsP1w)5; z|ClQCGv9d5vQaX1syU$3ESxp;&BWY?2ltYaUCwi3ls;gkWY)gWWd-tY!M{FP`;BXm z*Z!^8*8zkR8_Z2u!Pw#5Zy~$9f~F+YB2T#8KTE+YGCd~p9*;;e{D~{kEe1TTa0s?{ zhTw#)Q^dp$dUJLa5~Y`6R0T0p>~(`rDpDGvWp62Mr+}J5({yga&#_yvMv{;KNXT#< zn`jiiO2jybNRtzJZ?Il)TEbgcU-5+E&V*BRgcJrq{XrqrfK?!8uky?VidHhiAI)tR zUZDgb3&Qf5!FLyS!tw!6ufoP`zqZ{Rqi z7=Jw8+6?i8H8AnY5;b5jJf`ZQjuEU{g^*-ICNghz-oyjR>J#)@?XT5vY{pUS|^p1K5&F{%ILR z+|%Of*|K8$MyBpc2!6f0C-iAJ(zA_OQD!z)brRoO~;LH!)tE zn3#G)nk8v@wdEP{;9CeVUxp6UI>)@bW|A!^VpzY};52It&PO?-R~AuG<|-!6%?WH< z1N1-FVuX_6%jYr5(X7mpRanVcNX^ANT-th2Ht?<12Op@$Y|7)%xYHv+Q8j+`jGLG_ z*pV;3(X>xQbk0of6Vdhxx_5Fn3QqWdoav1>KEMKIV)?MJmvm!|2u6* zw1$KIT8eIvKo7V(9%RyC<~Js)lY+P%v{+Wu|Bm;p;dH`iiS%7~+SScBWy{PPD3yen zGJ@2JyRw%c#4>x9$?RBJ77(UZPH(xT(h0*MvLermaA)6J&q2^7X%A$pcS19eaFbmY zsv>KXkWSoYC2`4WT1c zR>uwUA~vu!HW5{w=~CuP2VF`^_#Qh;>;r7+ol02Z0y6#nE@~OAXHGJ?A2QW)*_%*D zTZc&L%TB31&NDL&Moa@@O2gt7moDFW3+T{X|B*0lO2mp28TY{E0@pB`t9~+HLaX%6 zz4`{?8-+HJer5r!h!-LB#hYrOybfB%2_KD zrZ8bjZqc2r%R8{%Mu7zv-|n57ly!#-(&cVuv$9B^ISxwGbBWM&K!s8%g~}n+FGLD1 z6h)=3`*63;R?=oxYUiLUxTjVMHFA2@`i}OU&IGAA#MVi>qY-a&FSCSq6oOq>+Y@s{ z$zy3yDqTK+OmDA$F<-zh0~-uPyCj>`?C_oF60WFs#zZ>EsiV@s@ui{@5UXlx0^Q% zcqCHEVKuELWu$EK?ukWGisVo=(wG))#j;WD;G9@cEtI9+UDsjkt;r%YuA@gVboqMSvWfGdPa9;oS^Wi$Fpi;0o6(NV-Tr4eJvTqKh$kp_R) zZf3lIrJ)NE7zcdUil0$57ts0xm7AdCD5XO)KC_Zbd_(yKUyivw&TwBj3nb(HkR5?2 z9?f%{v$=34ap0dS|EGm?8zpO`{YMqj$%KubW-2nTD1vz=3$KY_MbysWENQKMF8F0E zJX1VUkGym6@X(nmfAIvACBh#Kv5CKtr;?rP31i}vk~8CPs^~f}s7BBR87&;bT7{#G zNgDDOVTfb4F+nV*EMKrwC*kh7#puz_BI|@4i})E7zB?!lp@PFEQp3fC{To1CtFK@% z-hM{Rl({Kw6&cNH4=UH`+#1>-*km&+>`K<_-0lLsN6bostn8OM1@=J;)uEEY!FsMk zcN3_m*en6FKcFYovb}=!qhT~Eh5}) zwbnPT=z&^VqonhecT$or_E=*%K-T0_>l3$EOQI+*lWioLR7q?seIkTgI!wJXN%3+)t=k|Z@|EZ6M@4fXg8z$1mnxv- zN(|ja+Q$uz)8h-H(F^`e^;hOs(~nS3fw;BIm$f3)Z20S_!5At;-CNiATfc`Jg6+j5 z9I7+zr)(UoXEHVL{_=P)Q%Ghk22rL8&QIM{1WQu$fcpmujA@BBeXKT-afXyuUgjSQ7YtwnID6uXkYDuK@g8-&k}wN~@< zP71XErkZG`ExVd2F~`n%W$b+81&~Wgu62t2aVQYn9{bWW9kqj_=K_&iQ*Yh2vfKn7 zYQ8s!E*-RJR``3-edxjhZi2l(<#I(_ouGl~57q$3&4qUVpj>jAspMTNAI26TA5_O9 zfZ^0h7{65Zdg!5@s}>Mv+AJmaK37v9M#?c;t4e_+e<72qh>I$~{)^l9kp6Y5)n~bO zY(~A(!fsqB%h7J@5(N`^ZbFGJ9CQJ!sQDb%+G`e&Gb<*GDWuLoYY{Ya!I&W0%y3qS zuu!^Uzm2Ce%j9cTF*VwxvWl&+!>pAiEw~5zG+TpW?m*kEG4N}vnt~OzJ8mcjLU()Q4m5_u+2{W#P)TWjVK$mr@$` zL1)$hIL)3@JCbwMQ7(u(YW zLyNSuNY?L0s!^!>eW9PR{*3$+^9V^=tROBzl)qUTwBPji1hMrdjH*r_HzBIRTcTo+ z6J-5Z*0ru2?}3YQIb7Ngklt)9zFkgswT)riP*~Va@z9SyIv+VKAP=yh%{>)u;asCA zbx_iLJ3Un(1|7lU#F9rUYI}Z^BCP^APtQbtQH>L|ty=uO)eo0gkt=#JZ^V+`S~7)j zpH?Swy`$+cDHUwfp@? z>kVu`Zg7FaHq!H{ss`_no1ZNYQ=v6Z-s-1f>k1|qMc9*Sz5J32Ev{dY-qlY!PFyxcy(4}i*Twjl7eSg-(ieeA1fBI zWGAWgsObyN=(JX;Gh4y;{ianqhPfM$!PGQ54`K4!aH@GzhjM>w2VM8ePw8gGyg~Iy^s|Pd)9JN07iRN@MhQ4{|tn zzS*iW>F#DRYfJ#6Am|{B)85YV4(`#-g$ZO3VI)#y4yJ+QF)d)%6`W6?e6a$}smD+8y5%VtJv4>ma9WD&IdwcT9hC6@vu=$K?TcZl!zw) z*`^)&7CAUCLuUJXu8z;Z?K>N2I7W4#uS-rvaK=x3N?I#eL z2RG@KuFk>8pEk3J6UABE#{`ttKs3wLHe_z>G^JkEM)O7FKzqa0@fmnWChlbi%I+r9 z2~^4~RbA=San_4sFDXPDo-Por0@eCnmrv2y8LZ}`Q3`Vl5_B*U)nvYakT^0D%}AM% zbR(@R7F4CcgOPJd0w#&TxIfKj7^PO}ux?1yfIS3*)VlFGFi5qQ+V*&gczFAxcaMjY zBebo^)x6AWxi^}fz*Tzg3cV^SAVG^8Xn_R{@L&i1R4c(2`0@-g=6leXez>m6l!1GX z@FW3l9Di(?GN8}{9HQGF4sJ+|(Q{}b z+njh=8>iR7irg(%M``4=n+y`sLjWU~w1!lq#^@oSk!?o3M#!aCL5|!lm&a#dus#Ah zy8Yo0jTGXM7#?$*X~n+8wbD@Z9wQ;${^;GLA(bwV(7-shwf4Rm-<0c{Vt!ZZZ=e7) zQUGtpMFc0G;t$xfJ;NXAXrJL^jk^m<@^RhNO${^Tk%%UTR^$MUwBj|yL3#w9G=^NV zP)#1nNt0kXnk>tsWqG!ycj&vGDP1B)FlmGv1%9J}aZp|5w-1Rwac{}xXBj{p8c*&q zw*A%UCU5M7oKREN^p2YP(Go+NF3b&du}3zk=_q@Im8v|+(p@S#%+XrWv+?IKD8lwo z=e$l$R9uK1u0+THXn>>!ORG;U!WgS%g>gAn7>y05zQ;~_=C zEX*hspO>wuh`x#Tt6V;p>Gd=@%;lVPgK%d@x|8na$@Orl56O8RzH7vV;pOL$1cQU7 zmxxKYfxjj!ZEwt``I!%3ILr<$HaA;egUo6OT7yvQ@oO!>twF%m__!86*Wv4O0$D5i z(O5+u%gCY~SvVvMm*jTrt`a01bwWl*>zLKk*I&t@-a1zb;*KemHx z3%&GU7$hF(hO0>`O6VhUD!5Lw{YDU!kfIWYv;$IVlrE)`d5z8LbRXna?fpM0 zAOr*{vsjB7iP69`J|S+G8lTk%HTZD$mMi1?1 zs#=xRYOd3PwTf&N=o51HPot@}8edl@G)kjUDYeR}HPWuWdQr{m!%iyo+hSJsHHUt7 z7JUpH<=bQRqX?m;zWn~LJWs@epKZ3MIazy|qJ7nknzDrkTrtrrr%+!jbF*{?)rrL@ zOF?X%h|w?sL+3fyqVMK&PP5xn{ZNj=D@1Z$efY~E_}_%>a8cQFilk9AXRU^MJ=LkQ zM%8tyu-25FB5gHoqlgu6YOj+#{qDbTf6Q9fo3|^o7nXzM0OO27Ot{ zaoL5Mws_PQv)aL0d*o}6j*YCuVJ57#Oc&6Wa5wli90<3E>9#oD*w>Z9v&15{riO7; z7Zhp;_s_2jY(?A}1V~*Y0YLMg30)@Q;~9T1m>iby{`&mhUI&XawBRt@K#M*iQ3z|T`>E<4k$*Mq?*cOd2-=G-HpJFs+*r>-E^e_f6F5Aw7-{!(es8k5&y2avyH z)fpr*8sefQ9;iW~IJmrbD=>^W>4+OR_Bp$}PJWV{6fck72;fAMaavZ-4woj{Y`aWj zZz+(5tCL33vw22UMQf=^WjifYs=6}SzPc~LOi{ToB)4fN<9@^mN?EF&(bIB%jyOSw ztfHEB^z!uPtJ7Ns>CyBWpMwUu`HiL*?f-|%dIV-M=z;{s))Rm=NCmU>&W%!i;-Q~I65;X6`ct9SE`T0}_7c1zWNWr8U=Cv=O(J42?D9ByP~s3fF@ zi}BK;?aN}BnEvKq<-McLhkEQN=heN>l{pcUy_^Tbvq_=ND8e`2pvF~@-WW`B7O3fd zX~h-N2obA*$y)O$)`4AdQZ#{zUc{NxgU2oGFFjtzIQkYtG*4@GEXDdNZ=~NMln#VM z86dtPuVFO42*(YMzGc3AeSwGCd6;ycFP#W(A9=kEteCN~0U{ z+EAT3yep37tJv@Nei|Rc$QsRA3|rPE$l!3zENp)i@6#@)?0OLf2xR#={V};VmecS9kO&!_2xDJ9~LU(ls*idXAQSH%C-}tN_+ly zHqjIunPG zj^dF*(DyE1=vJ_XeJk|}>qpm?W=yO^obM7?*gfwf(qX{<%ljWba*j&W@XjP1ExyqP z`}*m>QvqI?^o>r_ar@R?75?;XucgGg+|g?OW!KK-I==#&>dgz7@vUeL{0CwAoiY4l zkMIp>eam`zO`Yi@yZ&Ez^x%D)Y4iJS;CLq|K+3PQ756>q2DYU}=RdjxDwe45)KZjY zc9YVlfM1NXXr*r32V}||VTe%Jm z^QCbaT~<6=JTJOUIj+{O`(H95je>rIJ{v`^#EKTbt5VOUnYp%{|={X6Vxuh{Nm!BE(j8|DWC2ytwx34Z-^k%1Subvjo4 zIybIixGmAL6eiaC;hApzBto(ZZ`vqBpf{8>e2!H@)fjGP64-*2iYz%w;OMW8UAVEL^SG z2VZy28{TePkAyJpwHE|oUOk4g-EDYX$O(4^ zrgxiNvc`7Qoj4ZAiP5}+8cf(lB6el%aA#y3u~~i7s^KuoG(`o08*8; z@Y>j{VEiJXjjn_C{a{eIhp}rVO}|^c-G{)+OVI z%Q_@*PmS;H%;oW`A(BwGrK|>=$xHC&H!EBeDsvEK*hPAF!r?1)w>U^lwYk3a^$u9n zk5;Ju#9Ccna3RQoltOpczLz6M$uZg+H{q$a^`WWRhIp-}m5u1M^I%c>Sc>1m{#p9S zfs>*Zg_`-q6@TA_gS03I+^v=xGtGnegBAH9^Z-|LAGezcC zAjYc^I9vAf5c%9)1Vo`ccPHq9kcmY5TS8(7-%mNDHWUp>6sPWq2OJ(y-Mu?dvu2VZ z8r^E6o~zzTrsg0VBAz~Kfhc3EMxUG(ag8Ti+PoSa1_wrRe9>M+KTvw+E{ZoMs<$ZK zQ9H<*9iY`C3}@tLwx@tDKf2afI`126&vqbj>!0?S5&qJL!PMWWViGB8RFK-;8FhmU zt$^)E`B!J4%#669(#rWuMb0I>3=8nDpT4Xf9(2;(ZeFAG<=ZKbzOf#LlH3EPLi8&7_ zr<{ACD`bOvj(e#$N4%-vxXAV5Os&bqv7hf} zc-n3-MtxoaN^zh$3O;Bz8SpAOLW=#7nn9UJ_BxJwO{pHF{<3|W>ZEpZAt>V>x$^e? zY5u7ne)9eDy=47#|6L5)0yc9wNB8f*znrm#^o4wB8xdZ6?WGn+e8TCcGI&KK|1I#k2-@PFyh%vq8ZjFzo^q3!_=c#v1XV@%3G({GYNX zl5U+Znr>dh+d6vqx!;+i({>r5qJCXQS{O&=yB4|MZ`Fpa*D}oU9p~i!(4kj@q-_kp1e)sU2-27Qdc?E#xq3bZJ zQzQ;_lc&8Pg4+$Q?_jOZr;j+PMp7hBF_qw(NwK}ogpOC_Lta^Y1n&^hbbs~n#^Xg! ztu2vCMQ|XrM&!EP;TN3$xV+pXc<8opfBMMRJNn4)Sik-AIvLB~U1|ZQ6u!u)IvXW^8PCD_P@bO`S zlP3F-==Wj5%h`UT@D3}Om-zVzWTPF({o1;)+tZ8J=)D)2xR$*#+l1iEVy-sFc_6_g3ir*;wInK zV!&E*Z1+-unZ0z8zO_S=+#j=u}oZwf=o zvEITTdRBiI#PDSrLe(jr|H>DX^ivN0qL&y!`8z`>je`pdyP!5NaR(=47siDLx{7y=J-zKO1ojk(xtLZ zG*xm>>;wZA+svGMNGHh6Vm&p@G1WpJpaRw$K%sAd{fI3kJcl&nY^V+;DY=hQElEsN?omhRu-Ksfwvvog_tOqPI_uS(~8T z>^IBSxB81uA*g1B-E0UfFC8Y0p5}h77zdKoJWL`oU2;cjJbh7B8-^2x7$lK(nq_{G zvs6K-j@%&KUOsCBosM2HqeQXeag?VvCK;$zshMX>ycM+}J8Nd#p5-um9isbJQgm2M z*A^)XbAkF{cHIFj69b)ApP4AIpbky+JCIpm88S%R3z9R)nD&7h*TgQsnOHUFVB}44 zoe%eL@Hx~35;|4Kvg|LvPR^yu^0>7C5&P7<0dwb}-B4dx!6tZQplUe`&aZ&w5mt4F zq_#qnm^|jKZ!L}upI`8n1(jwWAa_Y`??PErJ~@g5P(fENDvxW>)Oi4OOzxZptyXDf zrkWssWbs$*uVD`D*M7QmJA@`BQ4*Ks=E?gO;QswiAIdV*!E>k+H0Ggfi=|@L8S-B{d$ql^2VL zgOlV?{~<+U1J@nFGA%`p^7oFosF4-;X+3!~LLRAR8QnM(IPGW@bMoor79Sfp%&2Q@ zQm{O*Af_-dR3}~$GMUP(KhM zi50(*V?a#u{%J(R9gsh%M_^vL=6!l?>;rb9FqCi@W#RAx>G8xkq=Hyd!-(}38J#`mTYsFBSreR>0HaMkOywp|_hBK^7( z9E@@Xz38^&ZZ?dnv}U^EmucDryeQ#t`5-&2*r|KZe-ZA(0{+dQ9?|PV9x7klI29rc z!`%XUIRdCjO7(dz@+grF{d}Qjs8gU9+)<3o^BI^v8VLgj%*b@aSYs`>6nvaOe53eQ z7i`@>X-BWTY9UmZwP8yih>*M}l4wV+p8{y`p_bq=XUJpM76a@uAyMO#kr)3uL%>F9 z-uDd|F7Tm8hYBi}VdUD>>mXkgL;JStJ%)_P=*?ghz=?=7ptQkwGolf`rbVC zQK(6?Gt z%ywRNPHm5~5lW4Ih!W@`G&*m-Mt15}U}IT_A1S5Ujpz9xXlHQK*cHp15EaKPhb=S$ z%uEuIgkw;{sx-fPkaDZmFYU8;r@jnXFFAEz);hu?Bx3yPenp$X{v-5oXxzL9!>q2O z&qH2KionBuBx9Y-SkqF_@IZBth=`$BgPEoY70e6D*XOiRpBV>oKJ7R>)?VSh_L4Ej zxX+qmv9>sF6KH8y-1vBnbFZs^V$-l2j?r8qR9Qui7tam)#)_#T*wELgBb&O_ok~~A*QgggU4_Z zLnm44B_p06$EhAC6(Z)*@C#F>w``^U*}&C1 z##5Yp&(IoHD)LOc$0TIUtf!;NUk>$f^-8XC&vB#Aqxl_85mX~&O~w2K32t;7aWL*a z8Ktc&bUjNild_VB*^XmHfk$Hcz`&O0!lM29xm7i(Li)@UbrXnhm}U%o(C~Ose4 zGud#O1m>dVif{ZLcLD1oR@W?B{w+V$y&$4#Y8)KR`JkLqV>k0!s2WoV zqin^6@cw|%D;yzYbc54_1=N(Y=y8Sa3nmJQD^nG*8RNhF>=MK$!xw7RfH@O&cg3G7 z@Qs!ySp5}b)RFc~sQQWC6ZbbL+tPmM*v_PBYJf<1c=6pP)FxXO4Olohq-Cq zTzmBxff(>bs7)6tpV23sXTlN)Nf*x$eoW||jT#~zfF;Ol#?i!Y_64}O==a8~Q&n^y zSW@^anxvn`7q3{N*p}d@;=irR?t%8fz0`?=yr&X z60D?*ThPY(kWmUS$k3d7G$4_xiN&R{jz=>Yqq+P`XPmdN6hT{JnBUTRZXlCT@oyBwH>oQVcJd=l;`OxJf77W(WG?gme8lbYp&}s4QXd#M!@5jZoi)vZEE0wJo&X`zu{x63TWkPQ_uQQ{d{~!)Teq{6Q}2pP2r8 z6TOOBu`c_gqAYaUW*xhJjCsW<1+T`L(22M48SRn7vUCj+f$8C)WKJkGAJzjejw{(W z%P6pQq24q5W!UDP;H>ws;CVaM&iGK*t^ThZ?Tze7%A3jQ#c`fsKp=nnu+6fH>P@Hk zHE%cUF$O!XN998!a>9bdu=<_B)Z@|eI?w(NX(-UD2Z`X6F|e(50<$TlldNaSTDWNT z$?x@jN49QVeDX?9(Wgg&=j(n8)T{0)kkYN9c&fAnDCNq3g*l8QV2baG^T4pZ$Dw=j z#**SdpXp83a8u1`AZ(Ouh4|{w?_QX9l+KD^{?2HfD_K=XKCqf%cmBXP-u)o{cFvPu zJ}Xj!d1WLe6_N``pVQSY#s*Qt&0GE?uDKjY!*t&L{fX3fMAREpx4l8FaPUdzr#*bUlm2i5tNSxFu0rSP0CQ@a=uUE%1 zb~j{GT-yoU4o0*?a_$!yFhCs0l5R+tlz#jW3SmGgfQf0vw z5y{nrWK!A`E5X+dLG3}t`$ArrAPpUX4prK~WwIIPqyQ=ToOB?+toY8l+C&FqwisOY zcWO6!i@WOdGy}GbOB;)eME6K@&3VX-a~>3u0(WXv`aOXjhS2?`6oRUvnCZc4bo5_e zyOC?;f1{YTk(y0Dy!JUP1y*VRx`Nk<2Z8_6fa_sEr}jT%=pXU^16ZsL_MR3TK({RO z$$%nIO`$USYeu=!ZLokhNO=}BxcgjOXu?&WK)(Hv!+*w8>7EzzC=yoTq#0Wv8Hxtr z7q;*Ob^e_Jz%|HJdAr^rf7yH8#%Z{5sh>_vS5f{H2`@91$RTDBYW9wANnF{eo1pqR zlOjY2XXp*fXkE}+%9vpjh3xcm`imd0_vx~8Zu?Ol)E?E~+0#`BGl$r@B=bWltg~gSM55Zk6rXQ(QFc)=@WrIZboV5jVa^V8`6ALRInTL(Z*qbgHax zfI7XB9kOviX@zCA=%&p*8PjM%>1EYjTk9glp)Of0Sxo}uF~k01GbYtnTi%3yCfp8* z0KqZTNL{qdqK+Y;6UBeG2i;v%)eK3Gzel45#+gxAc5$#Z%Y-2IzH1$NW!_^V;2W7d zi236&ia(f>1n>r+A87xR1G2eBQN*e35`+N(A`qZUn5QJ>X99k1a+|=q&!#p0VGBdJGkdx%A-bdM=v zjk9C*GS$W+5Ka8tBI5zPsfvQZnIC>7Xd^{H%q-#^2bNjkRGs|J>44pEx|T(RbEVk0 zPu2uI2Wa+ZVt8I@G|_o(bAhVOz8#NapTJ`~vZM^~JCgpqJTGL(NoS6&Lx4QmmRtJO zSvT*`kv<*N|2EyW(V=p=TE=~y5aW^R$Z}}mh}&^hiwv^F@7OT6+fi)ogAkL*lejDV znq;k0%I1JONfLo~HkuL3;$beQbWnC*7vr{K;(%xxF_6F(qlV`!j!#9hg4VLy2(Hlj z*`25JQ4{>Af0TwC@yBS|-Et>r`^J5pBP3qmrBm#NsJ~saja9snn|vM?jYQ&(Rv_JT z|FR*#SbNuybi0CIe(gh440TKuvGtU%?T5<@JF*^He}%cLd;3@p#OC25uebvxGD?z1 zO52PY@&?G-Xvg2iiT;IAukYNyD1+0@#_@XP^I?Yigpj2Zjywi*gVw-PH<;J<_ADRZ(Sz1Ie)X9()!rv@G_R`BSW z^#6VcgGLh$Wac`5hf()3V)QN!EwX3OvAub)B>0txE|EAtmxjXO{7zspBZ(Dhbv4y? z!9t+Md$=r`T|vYObJbn3${;*Om7gvA6GJ&&R>)W&=XP5sXE5BGCsOWYQ`*Z|ByYE5 z@CJqWv9=^V@M|G2SM+r&Gg#r%%wbt!7!=NB73&5TBYo&;AtTae7&IU~Wyt!d{Vxnj zTKE1%9~|FiBIpY?3CQ-BL!Y3PMNTl-`N&Y@P>m-z+t|Oii@7K~R~*DMVgS+<%076w zp(hZv39cfe1?gX$skqMlzj<(UgOZA(t%5vhA~3E}QBj@qO(yzB81S;5(Ddb9OGlKh!${;k@Go2yAdQ+k%ft$RNqf!j~P5%`8<`NLT{h-svatjH ze4oZOj({Xk3BP0iuq64R4C>DEOpg%b8d&tq^+FJ*zuf2pD*ODtxrnBM;eIc=$6M~G z3tj?k+kl=@)J}HPr1F5WgM#1i)ZgC$%Hr&Td?3CNi`F`fYhYB3{^Uq&J05ZmjSbz9 zqE`-D&W%&-d6i+_>=tzxv@5~mI89oS5|_Z%_$Bm|zgsehqgjrW0Ce*4;4BS7l4i3h zz1K9N^TO)bVwDI7$^AntX<7&>zewy1-GesXNmb*Yzj0D1E?$^c`SQ@b0z znet)X<{k3?F5y|5&j%R}SedeR!26$WXq-CF$uaPCP6rOp_Il2bYogn5&Q! zXkRu?zc!3k=X7`$jmvGLDK1bFtel^lP$t5;T78Z;X=I{S60+!|;X{?Ix^^yB9H2k* z*NXlV&wsF2CTweI&N8!PQz%T;ZeBibmbhitu2)abmZ(OzD~{xq>jvGS&f~|wDh&kB zhO;W;fxM{BoErNRt}BO~3hCZ-7fV36KrE#Vkp3fVDNN%{m4a}(KxD{MC5u=Z&Rii@ zneJFwkBP9hVW{uzU<03Xz1Ix?uSNW{aXS2_r*Tn&n@CImv9;|(s%Drnh1#64t zkAISu&X+IwX%S>_i^DvG!p5E)FP~McCceWK6p%xx5=oNJhxuy2@DNAbI*vl8!$Jx& za{v6_y9};(t;Ui&KEycRI+8tUpsjXx6bfhTYuDlVF!T=O%@rNOZNL_&@}`^DEJS2v z0dqaXt($fi`gu*Y+JnYNo!v&)>Z6SNx?kL<9zTv*)s^CNz$AMaH>jfItAJ4?lv@96 z$O$BB*B%Z(4bZ|2Yn_bzf!7%Nm<>)^#(Y#cX`AxREJ1f~hPmtHMRkX0N$bh)snnL- z*I)Y%)=753``5@l=s<1YP@H%BVDtzPFs%K|%vrDC=0m>I_)WPqtr!w0#^}Sy52rUM zCjq(8{zjHYeYwf_Tz7!g?#}xH1F8}xiWLC4&6iM}(uk6-D&&wiHTGHRXH-fY)6 zw>*43TtTG~vyfUqu1yDIlW>N51+n9__Fr%)?qHm60tLD|3{0k~VcqL%6z*H53B`-= z=hDEi^@v)ZOaH!GtyY_vS+FdY6H13Q4~A}#f6$o3*Szei&8pQgg#hneKG87BmyVhw zeGai!A)}FQnL>~xH!S7t;1@*r%VqAA(xCwsC zwNL-=oFpKVaeKwbXVh}=h*;tX*5HU8x0q8KH1x3}kU*QN!^&bobbW~uMZ4`Ipm;xt&TA~$W%wqPS(kxc z;n#r|J0>~D{kAzQ{I6?*I9WSmm-SD^v8;_Rqd6m(<{D!K*mc@B1AnUj0s?G*h?0U^ z&{JiLyzd}P^O!hR{y|i8YthO){-p>dVv914)=}m}B!UwOsN%}T+CJ1&!S??ll`wi^ zdcNL>UlAE$12|J6_OC|)vw=X?2a9&XKTk0XH}9=qz_b+aC|%Ilv|$9&N~F6}g(7S+ zrWKSw-{ymp`;sC{E;BBD_(=Tga-fHQzUm*@ATtR)oVf(ha^-`f$mAr6;6v3Dt@WN= z!HNr+5<2}LQ9j$^vd zNld_J1cejqQ*bpYZ zTCPEN=DY>bKqMhBxLy~AW3?_0|lRW6y95(*^TM=L{H>nZe5+2L_kUE0D^}sjO;mEu*BQ7{;lC5gxx(FZ+wr8Kq(Sh-;LFfU$-x%_Q+IeM)-9Qi zU!4x!y}QmS^w`QNr_qUN<^lEnzgBtwO*oo;>5J@d7Wji;fDV4|(C-$iKcFcvw{xU) zw}sy3x+oSuVgTwh7a>5vuAPhcIHme?dSkMk=FN)Qwaewnl#4-&*Fx~?G;gLAt$cMZ zi-SZMAOE@BQU-yOPZ>aA!&a$q<;8cRBWT262}MJlF~)$W<>H zA;w6K3L!AjT(cJfJnAqnT>hdNBxN5d#m*dRijG}%0W=Rua3<2n(ncy*FEEe|aX^RG zR%hIFn#v9nbwIx}#)!6&wo0DOLMPDVM;Q}RcQ<5^Tt7fJ1P=VYiPgw_SOW;lvf5Gd z?+!bULNw?09Gt!M)9bxBXToRCZ$w)*^7KOxR5*S=w>u-Z!^-_o+QD{qLeBtptm$@G za(gUS+0Zduk*acGzsHrPQ7i8YRU!V%fwXzmKRm>i8h%D~j$@k{YZ#o%ZGJVce|V9H z!?*gotHttZeqI*p;jA>W2 z3OAOP-lpqP=ZKH#$;2|S=dk@rugpcj?4Kgl{hEnBk0vLQM68EmymRGwNDkj)p$-|3 ztDlr4(M(MXMo`+e+0j94h1jsdGjKCz)$72>jjQ4)I?>m?Wnk>rZ=RpVz-|2vu@MFu>k98`=_e$>D-;7i{s^J`p0X;=+8^=aH*Ri8CqwPY z?zHD$C?%h?H1f>ug-#@{I&zrPa@t!18!i||?4;h$=4`88ZWZ;!0yY0^Am^9dVr-vl z9?2aY4=f3DJjFc7u3Ozk#eVM*t|-n--GLDB-vMVUUZLcFHB>sf0Kv<4 zt9fR8i@}TYw#!EWUJ3>9knNRUL>XF@R1X!Fna>HgvPU+6YZzwo&{a$tEuCB~Y$XaB~dSpOwG7GQJ4A(TB zao1YC>!Uwsgr;n8@)W@D&DHFA%k;XR(D{@+x1$OC_^$e<6~6!f;*V;Q%>VxgDQV|F zghUG}lh%lrGE=u59quHllM_v7R8Kc|73H`25%bmh{r=+g(fb7rAyj!@j$~MUbXum8 zi7jm^C!ItSTGaOh3Z&pfy(;fu1Jcq4VZ}SFQx{#CtCv(Xfgx0;GQha%M6Na&npX(G zQOV&<){&%7ang&CUMjj^P{uu=ePu5=TYVgiLGy)v8H#F54_#5fl2BVvlT3GToPtA| z-j+X;YQ*Aa?~*$sz?HbEpF03@Km>c!b_a}v)>${j#&N^8s0UW#LWD0sn7*Y)LIkjt zH7mx6BzTOv80az7BlqoU4EP5_h>V3GDefXU8K6}j2x~%9d;bytgIXuchlO4{@dP1Z5ifv1C7P~V8%&%Cvfo+Z_lSOdX1N0lYA{}djmZLG@3$*u1E0F$i#@81#MqFEKp#&Z_$RCR-qOZxa%cOe2- zv|*kyR&+r*S*#k)hsHybWmoMl;oYAMsIGG^ky533-oN$-T<`G{qac!chql9m8b$}= z(Ev$bGXNVe`P-_Z_sFd-y-6at5CE!E)$ zd~@KcR$yL=!yE9aF55mI7){3sAf@eqH?|fM_P#Nnxv$K#2*fS@tGt+K>~eVS{U^p4 z;j(C`AUln;SDq`tS4WqcqdQ3nPPh}#f>T=HHrd7d{m>Dbs~D-03>MbXvp6$S0DqF zsVd$B21^@xt)4nXigDNVGXvaAR1q$KWW%BJL@Pn23O;TBu?vtTq%*fAL4lkTw=0IE z$g6iyT`g^;61XbBM54F03`!QwA)t$N?;i{py$4846#xWd7_|W|}> zif>&!7?7(ZIdoeWj{;bJJY2>7^1#tgA+$`EY#7s!X5)HI9xmrw2lWiAat%6tfjJ-Q zsmj*H6zjb>I~O=J1kgO}Nt70mGSsg z<8P3Vq}Nt2lP>W6VZI3&jos}n70Aq(OR6U;2aFZSS7!QpjwvVLv2WAY_=M*`1x|nP zF**&nBr_Sh2Gpn}P2>&ejUQ}?u$PI^*3Vc-ehE9V8CM#j8mdPQ?77NOl|6*p|1PO9 zEAG9q|4A5Z7MVRkTyd|;;Gp**zH}l{7@KTJm_nUIAAu0wV#tne#9Zoy(AQL_m#7xv znc3#j(m1|z`PR4a^<9>k71?bXPC+iQrSG0AgTx@iLKcbjj!ozG3OYH39|ztKO6bZv zB((@F0ZnHL_>Hd`v`vJ385cqAPq}RgaR@GXqD8K?U7A&dLx!p{oQ1^TA1x!5+=fn~-EcF( z_03qTgZbD1I;J4)KT>KJv*1!{04LKwpkYv20aSo>?PnNs8C3?y6fwrvNcofJhgsUZ zToBf_=kT2HvUm)8vrtvVxP%BEre7e7fo|zwnDyKkB#KiLMXe@rMvh=69^&?!z>R_4 zu+*(wEE*a@1`QeQ^`jwPMNGa^+Vg*R7qBJB2u}{@VZN7_{%Ylmu^d|)aEn$!k~+Hu zF4l4J3G+i7hM|WWY3yKr{1$>QZP1B#jx+cD)4qMZ4mE+2T*O$$5ycLa_7G$>$tHOx z4fv%qJ939{H3`TwYKkYB(pAmi!G?)HVoP^btG4}(^olw-SF`#uYDO;e&0!tCmi+u8 zUWfeBO;{wmRq@?DAUPK^aYico8jei^ZUEcA3lm@9!(xa=MN;Av+T1OGY~CNFe3&K1 z6LUf#(u(}A89{=Lj~n}s%{-1bn#swKf7Tn!I^!uD*B*L7ePmz1`W1T`JHZtH<-E5w zb}xuN7-48;3%X9#Ug$03^oT)}1S9g5rk4&ggOlzWW9Y70w?e$U9MOR+dE;kvz6UsN zxm_U?1EHq{IWxoFpM4di!sW0rt*pj2ADmj&?5+=wL-S#CerAo9t=FLWv=l1Xe0Y6f z%N?0f@z`~NEb2!PQ(brNB+`64KF-$lvZpco9(TixfGeA6^mL+jXUu)mLnRF9Temo9qmIzJwV%Hlxg86-o zAP(_Iz@)56@Ll6cGiAnC@j)nt`xGvy!@yMLoN?dPAXVKXBR`muxA7SByvN|-;A_BZ z)9>iEm3E2oUK=2pAWv-AgqEJ*Q%nVmd+~(5N9gwlFt;~8NY{@1ly#Xq6qB~1c;MQV zhw76*cy%ZS-xJA>pR5WNV}Y$k>Z1-Qdi7@a3PU#89XZJugfxZqapCdN8QT8r6UohdXcJ4+7Bq6ElnbR)6rnMzpjeXoK3IP77y7meQU*r>1(oS&!su?xKD^|Z?@Bk z(DT$i{Rc(P+#G6I4)3t5x#D3{|JYRWl%V3rPgi(T=LeaZVE@MJN=4)w5#zg(#?5^W zF@7&(0^3Tt*~Eq_Xj}5!vzJ0IWDJ{#SIFMMHVvme%KCmSC2E$-PHHx>NO+nMkhRsH z=)q$dw62`+9qRseK&vF2`s|Ss#8WUaSDwa)il!zQeCCHY3~FT4 zqvE9q;c?e#PGLQ`^tI?Mk3g}Vbi6^VWn-_S;ISm^A++_RaDN_S34}#P$wv~7AhSJ> z6ttQB6|5Xm$G*i3+s*6u4F3GBQbug@L26)H&6+3xs>p{yJak>Pn@WCl)A!!wY zX`jbJq2BMpPWBcJ<=LH>v7GT4@@-e9P1AFuI7d%-&$TRExEuzT3~*r-NM3 zV;{{3bi8|0Aa!pmC7d%vJ!=v$Jlg>LMd4!~*xvQ%27U)T_o(N6Y5KX7EA0*x-Z!&KY&C|_o9tE-Rp9ewZZD(Hlrwg}1lZ+19 zXRoL!IvXn%9TSF5aHm0((VbStkPlI%Mm$vzVe~7aHPZHftaupp@$L{}CscF{w^SPE z!$rK^V5B7?BEun6FyTH}Hy+9n(b0eCZWFvB*m!x}9_vx5Ttj4V_EmROT|yekWg@Uo z|0PqWHNPNTBGy%>7d8#XxsGB3U}wz${R(;#4q^C^o(Q&KnteqsCBvke z>Nhercjquxc)J4!*G_fqVx&c6)&lI zv=SQawe6~{*;Vt$VX2(AUPM7o_e}`y6sbP2lrs@SDyXsgOQ->#E7PDeXAGnVrLB!F zoqXHN15pD?2@16~Z;b0Upk<|zt}^IwMN)PMSTxM32nmxbx@&BeO=-U?2Xh|qEjDKy zAz0H7+7CIC+(cs_9-?f>D)jM>993m5l?rB`4 zojc;iO;!DuEm)1ym31ws?P2x4b(K-xN(&kx2U79rq4!73>@30>i8_GeH55VObsUcqyoegLHy3~I%&3D-5-_iBirZ@fZ4M0cp;R&@hf_f;Sm)@ z)ybRld!w=iXB?7{IG(S-8{*&Y3%*GhJVrVm6oLYbZPJFwSO%b- z_1R1BD(ek88Y;N2w+3>b@GV>$X&S&lF^NjF0)`Ci{L`;8wa*=|mc->*v}5A)oikzQQ8q4}Id{MORi@MiZ_r zF*)JQ?m%4cw=d(G{~4YgBu8DHjG(LIx=hzbC^e`E$z(dKsnsVVmmtl@2^oWgqDogl zlHIpZmPEuPeMB=MEt&tS6G>;_T;*bxb^+@-59CiWlGlY*00U_qvGEPi&vaVWWT@5A}q2;2RztjvNK1V z3w&wig4AdTm~O(0pvqb&lBe7@P{#db`YDbK=&-LnsKvaT7?SWEsuhFt9GmBxlK~Ae zeuhYO0$yo=(ux0M@`CXcjew zE8)ULGH{;|qw!?ydC+VJEB19Y|bs!;#eggC8c@7d9jPfmU$FN)geCR@3vpS;VQ!%*Shosg_ zF|N1s(Ew?D$hOj@|7pXPA-~$VI@_$&2PEK%B)lW8t`atK3eJ~4AjkvUn=t)ft;yED zN?YK8tO-KFG0h?92oOYRYB84h_f%tcZO2ceW5 zd5sv7dbzS!2JJykwQf6)9Vo2c`)C;9@pp^USE)+{{HP;SLisrA*&0PK-uFa^9MW)0T`v8;q6q>m?S(0g2rG z*yE5EG8r|o`tXNga$9PiOIK*8nXh~JWf@CxMH5(XT?Jm;%3SNA5->0dW~xkeP8~=) z5F8dHGVn16(o$oz&Hh4hP{lNBGd@m^&KRBOfYMuAo6C$>O5`p-XD8niPzyi{e1VP6rm&EX zlL&+uAK9>LROIj`evZa5e~uG^-FlNWU*V-(l7?&7BCK}_kUoO(#%Myq3DTRwS5e33 zXTpJcIOiM5maq7gRIt~mWzY=6s zC;D;&$7Er=49J&80IPBODI%{6->Ms;x-JHeR~7Rg1Gjg`^=A?8&3!MR+_sPL*A=Cv9w4O?y6H}6-l*|z=maxs>V5v}VC z**iQe_7mjnt7AU!a%zn0hrrnI)dB-sNiNZfL&`R-=(otV_!@e)yW{HE48dFm5U6mN zDy-8YjI}8N>u~$1X5Ku zq+TRM{Arj~{l}|=GWK^WUCAnS&~=Abd222#fkvs&DpjIB>wK}7%OivIHy6V1-1#aJ zZ2!!D2Cu0;*A0d);ShBbeiU`Kg-(mGcYg?twk@>x5J9^)*cO0ZFfx+m!9_Z&zQ76L z0QTeo_l0KrCPwbneKPRmP7ccJF$fq;WyAXF3e*88m}^PBN}e{aAceU*u8z>iFEu$R zupxff?GFbNrUvLaq?m3@yht27uRx5MKVKf3A)&X%4|@PQ2Jk<+k|+5 zICEYBC9{9OJR}3V>=7E#?T-%ZkOC$WP^kPs>e6A`lgcK7Wz*H2tYWIhu{GZ0!{OdckWa-IVehDT}hz)7$6{v6f_wmAqO?2 zm4hKd(Ia4^F&vTwQSvZLnnB7jOlbltOHVajWxRSa9};)Q;nG;#8VPEH+7yE^JYWR8 zi7+LVtT}4H4w_E(!~EByrMs~iG@*8=Dc~$YoTiU6ODs2(ydEK)C9U(sc82-R65|=- zyoUiv9``>Jo&6?q-&o<%Nf-)gy@SM#qEN-OT5^uYc|S7%5C6~MWsL@;k%IJ77`RF5 zTe|_~b?}$)CGGeqPI?=4lh3F)or>Y<`+U&)Nu1j_&2Rm1*7^13qV}GaPHYF}WSS&n z)2Q_)3^}U#PxAGkNR+h}e@W2L-iS@}vr@g`Ab0RQb2D!>5U2zRbr_-=VbsEp8gx>N zUTWb@9scQL08$OqkOd;LKt&eGNaGxtU0UwknE*>bC;gJzzre6^_*M%2%3xzT>@1C~ zg?+K5sL!fs_j*?hk!Py24K=8x2D~I4GxVS`6^f?WqiKM=`4F)45z?my2sP-TM(*JK_@R!3@zezpd+U9a9q*5@A@@aKbqq-W! z)+xSPFLr9P)vJx#ZIp6{(WwwT4Z5d8|C}5=s6PufnR9Hc{x zbeNJ3b<)C8_HZj5vZV#TboiJ7VYkTaApGe>OWEL4I{<4BaqTg%v%<(W7}^$N+hK59 zjBbPBZ85$b2)Kg@cR=DEYuurcTcUW!ByXwaKgdKc|Gtv<(Lp|YRA>zwZDFM??6iZW zrePzbv^tMrCOCZiXZyTCy>_731~a=J=_|)1D{!JSrZ#dL0q)cn;vtJ>AC)ZHJaU6p{(s42=>KRQwGHdHnl9-Mo6oUdD}L9X8fM#oa2tqj1K@4(y)FE= z#s;rzB%vYLIOJCRxyzpr_)RmdzNP92=yQO8f5Zg3SjAyP2JQ$j!4VIQSbG!$4>=Hm z(}GVo$GD9)yy5EhOx}v;+pvH)j&KS~Dh_c)Fs`V_H7mJhEVp##mhD_op=*|OO?7Q} zur*2ccQa_;9Qg8In*Rn*I^uNV-$?0X{@i_BuvPUMH}5uGvpx5p=DyyHj~PBUymtKE z{Mh+Zv#VjZEhx9e>^6|z4)WVVf@{QZ11bLNYJ7V{m1wK_Ox2(9BUfNqMGi3U?iZdO`WN?1rqa(UDS*{+V&QBf|op|X^WE%DB=I!>)# z`3W&(RAphF>r%GV0yL^SqAAs#&iBZPw{)2%2fRlxN$G=@BhpYv_6a5j?39wa^770M za&^&?dN@sblI#?TaqBG;HSB6$e#tO{n;z57xxb#utt)M zwxGw39ZuK*dKh0{On2e8iwzyWzCAW@HGF$$-m!qYcsI3Ox*ym{cG-z`#An7?x$a|A zpiMU?^Bp+S&9CNWf@BSj(qxBm@*{2MLd?~!MzhTY4mZxY5KuFMyoHr5dW4&}KOE_( z*%5d!+%+^%Aol|i0awak{5tyj=cnV3XKqP|jFM_*{tpqUU1`vsIBC%r>`mNQ zar9WOI%#L5p_Z0X+Zsr<776k4`LSqq9W`I#4v?-`r*X0a`CO*D1JECl>JWV>Qk_&8 zNuQ388Va%|>%2Vd2u&whz4UeMxL1v2eCu!LtL%aDRHXjBQ5Jrtye!*BGfpK;!l3-N65Yf@13LqzJ(H>bU#Wr%FlysKdO)8epDmP^dYw7 z#|)9umx4h635d%`yj`mxv7ETeva#T%QhSw~d&V}n<)we4rcjMwDGl)iW} zeW~-p114rowy?0YhFJKa@Qk6Iupi_mOt>Z%7?f>?m}Ie@94*EjlrS0ZtYpwV1jlK!);94Ow?#usQEy-XoKgq-?FcT4IV7+7}`Y)y3Ga&KP&nYz&11+(?;cA>a% zxwq+id%K~%oA1VJh;-p{Zy&L~z2DoNQi1aJH5ZE(E?n;IAVB+}-e$~xSW9|)#NU_u zI)n%MNM9pn@U83p7~b&r<-Ts;E4~&idn&*?)vr-6T<+}vR_9Z_4dg*uwo+fuS1$MW z1W@%m5+Ni^Wh~G1UZ8j>w?55vR7OY14gZ3m)(Eto?PGL}*2 zyg?&(+qhhbY#+oxC3y>$>ny~;yjS3ouWdu4B&SVuwiGH-r3dKKUq=K#ciQm@@U<@Y zF@=8IjSj3`TV7!l{jL6AhG;(YPspoa{O1Kr3+{tVUaANcXZe6zRw|AQqTnU`XV+*5~s~Su)FVR7zVyYm2E`BuB=y_^*8q^^tw&RL|O}LZU&<#<|+7Y2A55 z;FcW70FAj4E@ynveO&XpKwt9lXV3fR{(sD>mgasThyp|)1uelKgyY(dwN@I>8}70) zxFwo}1%peh*|1B(O;;MbZ_>qO>~)0Ta-YR2151fOB2{jyB5+6UVXcWeMcUZ`aG~CT zFIGy7Rlvk6`Hf1O^e44bHOhs6rqjJs+b?HI;Swv~5sp9!hq=^(7C+2Po+j46+!fi7 zReU7O zZVH>#>7E`5O&Dj2S8p3}XWS*>4m7JXF$vsv2eD)BMDJ6#$M`0;M|yE>LH0;(IuQ>tQZ z^hQ4@3^j{V`+H^(eQsnzVZN0k-CB`iSKL{VpaFh%bv$12rrGhhAEW!idgk--a3;;8 z;n)+gqwuYIxJOb*fX%1f%9xLWKfF31qsk7i9~X4MO{mZ>>^Et(k+YJ9=>|J@7Nk|i z-#s0WAI=<8lp5f?Tq@1fPt@m|oB!GI>%B}bs4Xj$ype%Yv>0QZq|UVp!hDQU zrFGQW&Bd->S7BJcqMkVajdSt5R@AOnhEa3>&H|T z@Jh`++#KP{=u6J29@ffTCj4naUUt5-GZ=s!0#@l?pn^ze%ZZcXi9@fQ6v-OyNm;|i zK+ft;0^n*L82FItae8U9(-6UsibL`Fs5o!+Y`xjTA(CE_q+@1TTuRWk;;PCvV*Mv7 z7seI(e0YlcbLrWWZaB2>DVexj7S~Iy{x)H+kI|!?vSf_Q7+J!rPx;J}iR&VR6`gR# zXq2S$Etv>**4M%#xdL2*iWq;2LdCnao$LFBv&scsPN}>qFeAsTf?~156wzyxCp2|# z2sdG@19wtF|HLxT1*n^r9ARK|6A|XpZ_178$}(fBeU>} z|E0dT4&0Z}SU)soVFz5KIm=<`4BOpwDo@1a+4!Xj+y(!|L99>y$G`pezn91V^-s{= zWku@_)krOQQ{ z{%bM7lZh&{Hr0TrCarx4lshVfzU+tX=+yZfewnBv?(`?hGO$j6)Tp~TX}uL=DrN=C z%m#B3WDyu;(sB)$80;o~OA6`&?q#gQ2!K(yBEnc#6rf^N3I!guhm z={whVNQZ{3G5eQX6dQ5z@#-RI!~$TGC|r*$iHoAzs+?*oI=>O`y)jMTP;)C`C8`d@ zv<$lf?kp%zbw$mL@dfJ*e~+Dr%U9EjO9!xz*aJ?iw?8jX3>mZxS@>i6fPLgHnnuh^ zY#&S)c`Riw033+%@APb}fbvP8pKc5%KhAb0{9O5&z>%hDZ#xbfBlRUC;A0DDBC%i# zUxtVTP^2mbKo_C`#Xr+uu>p=!;~Sca1w-2OC;RuwwlLXOOu7e?>*3_TV$xsw0Y&Yn z2Ukl%{Pw$Pb$cg%F}5>cXUNWD6RJ+@Fj|RKTAWtn^q!Go zMEZ!)C#<@ml@X__cx}e%J421ADNRPR`mh>f4`z38_jL=Q=(tnyxsua4eLF|AJH$H* zS3Cc`hVWR=ks3(bZC$OcquX_~4Wn#$U1Ol^m~OfWvD#c;(VDcTH91x5fu>{C(zfIL z0q-;!qv=fUfu5G&Rf&PFVO5Q$tvpe9+@Ea&_6>b?3p)4#HRer!6Z)EpPLh8Uf76dt zOfoo#8$E0Q0DFmNLZR32v%l!t6Jis0J7a8eMBVOs5NKV zWu~i<>{BaDwacss#4<7y+F)&+8K@Qo{WUWK*RcE{pcEqze$3%(ApH?ia+&1d{)W0p z2;n~hfD-c@ERYq+`~WrAO;a7jtjP{=(ZSzW*o{nhkf4K&@?gOS2s-P&Y-?U?Wj(mO zYEMP9GtLu3JktWwh|xgRLtMEtXxx_1NNiM0BxPiJlu)TL2hmS?X8uL2<)XOPXZi-q|372I^8vW^YaQR;=~kQg{rBOqoa% z0eqgB)8K6^0g2_gHN$5P_imHu@x#`o(F61&xd&IKQ>i z&y+SJndubil-tk}$zRb9Ltqzb)g~9^IqoE?f6>QGD-$7S4U=T_DYvQVsH_2qY+r;WItsSHA(Y5l(2pMH@o>#H?U2t>S2^ zP>pAS14=}EN8F4kBzpZ7^vo-6LBS@9(-icv(!TS?2&#hWj}+MlU#y8+_=|7VbzUz8 zOBPs~?@6a~N)TF>znX$MYdA2pJ{8UJj5~N_sAXKE#kmK19txqv!VBfp`W`I7DK&^~ z=X!-I5wp9 z&7M-^^^JxYWy25ViZzncjlh~Ha5LXY(snu{u8IkQHEKwf6+nF|denvj4Fp(ZnzxPa z9PbU|D;m^|iFY-9Y!aE?84Ww$7&x@Ml;%Rk#U<9LZ9$3Mhi(EgYg-!-r5UmD(gd+a zOU5YWm5Rn@A}HO5>hFSc(|Fr9m^~(L!;Rgj+wd2HD6O8#%%g^mi$=4ygZkMR+!DNk zDctb1s3dOJr~VaG8`wW&9(G2jGg0k;e?%!eJ`z?eG2__840Z;ygaz0GmDB3-FvJro z>zRKiCRP?7>$P&w+-A_=lieljU@V7TwyY`12^F%>3|wbJa04$8-WoRpzxJeHHs($OLTwBjWe*YlGSS>4V1o_>w|m-3n}optwy*Xq+<;Z zOk8%6TxWxoJLgz+Zg%LQS%sRFkT8lOZn}tG+69fcMCVE2 zuS23oNUm7$f$$C_TRdki1QEbMM(FURue6y!0SsQ?wZKa-v_Fe**zw2-S1@W=8J#r& zb4xO6Q(=BO~IoTy6KnytSX1_!9<0 zh!n!ezogomgx{r|B-6rw?iuYI=-OaN7UoDx+AP5kU!&xM>v1W38@wgb(Xn{@@m9V1 zpj+U+wr<{1-VPQ={n~VQ%$OV; zW2$+4d5Q8!y_=nM?(Yj((&{7WvjU1mbYw3&4&OTorAy~llX1YYMFgicW~~<^=iWF0&t~ftDaa@2F4EyuMs; zeZu5QU^l?3ohhYE+rv`@E}t^*-4%Cxcoc_AcwS7~jAAijYCuWcfbb{`Y(-*!$EZpt zj4G5+Z2MOZYFJJ>+=1*#yy6zTlOBaU64;6p1%AttgpbdZ&=Lc=iTAfQYdT?Kq_VCP zt?~l|9t6bIw`Tk@f=sM1a9=|yIO9jHjrI^GbUT=N8UxbP@t(siodY%k%*T-RYMs#! zFjDeLP;o~m37&5FY0H}n@ubrpk_=iHG}T-cSe6NrBwAe^9#%8ameo}ZdIDxj%#^+n zFhYwKF!{R@lPW`sw)Cj9bzK+DgnDhlwGmBdfqZV02$5`9Z_kmIU?@8#OifRmo)ckH z(U4TGbfMU0_(-bQn<4R>{i2XY+f3%F7q3F6&wQ>#%0U@L2CVM3L;_92gZQrZ!oF?v z-v>hIG=laOWgSz92NLO$q&y9sm9_vi-9}6!GlmikXE9Y!w6va`GkNk*?<&I)U|`8hlPGq&vQuh7kyC87cfR(7 z5ti5nV>`k-S8%V*E!)W{+UN$hb~&mvARcT|;SFP&ajFW+QJ> zvv=c7q`X0h7j#3{IJpF75mT9WK!b?GaH7g5xj~8pn0PZMp(GRvlKd`CvmV`MmdlLXF9B3OI2KQZZV4#3Nq!ZkUOy!s(rb>~3 zx<7)MyIjkXS0X{=bcT%JbydZIJ3GZ6nWHi9K;T_Q?yV#CMVyd;ryA7pD5Esusk8IB z%KLMJt;5>|t(oRMi5)Fz;7BJ--v};+O$9VLqXKMK&Oj~lKdazIa|@DfJ`m?@!VbsZBriDOgV{u=%VkiJ+UryAd^q)DoOtWH z-7tcJ`d}$gqW}wdG0@UoNUvEj>v=)wsEmG#`)Rz9`?HF@Ow+lv8_=eXU|yf!7bC|H z{;k6y%`(Cx6?OA^xxu6?6x1hQBgza)2TQEx;?XTI_~At6^7R0YN_>0bS zFLiP7Y#&v%@y$lD#_EqkH>yogb^55p(-TaNn8bm)QrZTAC1HqqY7};Bz^95khVE>1 zXXA(9n9r1hzmTtSqwsg)I|LkGoSF4kJ4^Q&we^G51@;FNiC=$L0DjTJA;(ajsigx( zEaOp9xR>EWGJVI2-;q%VDxJrQ42Xfy5(f4}+91pA_cu#$0CE#5P~EkSO9d z452xxKS^gkI)s~DCvx0K1O^U{h|IWIWzAtfT0R?nYbUVLz^gWeMnQ_#X*BYg zQi^HI$fS(-5;Mio?$=tt^N|xSO0$%zOM2o$H?Z&(&$TF^&|rNw)V(Py|OuBYBoqa#+J0<)&#rP*@YLDcblZ z+3IQ1gY8v zYWnn=0x8$8CFF<+pe*neKR0&*Q53htI&cb0&)|H*MY*EOEirZv<*;Eq1yU`@1CMMd z5zE}Ld^>Jv&IYVgPb}#(8qtKikvSL)M@PUkQi>-;>_9{p5;^bhn~KUu7TMv5yYBd+ z9J~cC->7*XhN;YSO*2_UHf@vs&DQ9G3t4zz8`h)CyK1Z8mryWb-)B63sU-#3KYLq2 zH&OU)_mJFQa`TDBG?SR8IKS8644iG=sZ?ranzvS{UN%a($Y^u#MA1g}%K^=72qN%NoW?vZw&mJuPpgifcYnTD+Y ze#}hnW-arXVivpE48}vDycg%xBjq8{9+bA6^B39gM0N*jHwAX^lq-ub5v|3B(0o^66{d z1u}8QO5n58PK+Bp-put}hYPP!N8g+Ou09@VJ79!p#gVyT56 zxSay<3B}AeYGO)clE0EOnCmYN?$B11&DLVB*ekfZ0HZX&#WFhZ7f?i$lVOAb|DcqO zQrx1kBAvJ4L2+ATN7177n!uTdn1)`F;Y#@y&-Yd*Ao6mU!D6Ht%;kX;Xa-AaFsk=& zNT(OMuqHITr`h@3hUaR6qjMe`_hM62;JUys>@60ZZgRifS!O-ZH9z-(= zqY6g9I;87yG)7~AW0tFR+bXxNlPzMLKw5|!W;MCx)>)4qSZ>24xrZW`0NEaAm33V{ zgGL|BrW!>vXmYi|Ag*9>2YaJ8%vT3(kU}m3bySWZT(*{umWlCv7ju2!j#Bn;5RDbrH}Ly}oL z6lJzdHPE6tm3L`%+|3vb5{^oNRrQy(gyg7uogh0p348V5xfShna6q08+h$Ky2gRv= z`2>-o2Vybqgs_N=!KA>yU?X9cGta4kJ0sC4MWc|F&AcwQWfoe0$+AB{O(v@p6veRe zCW@eWAI$>KaM~-Ie0O(Nb))hZrnVEIXDPJzR_nKI@2W*NeSb#vKhoub-e{5@=xU~u zk?oDmT+`pRePZnw6kdV*E03kCg5wNMql{c}dL>5bQq8o;=l>3BATJARII4-gJTW70v z*FC7DvU!PUL?y%We%bo_#qTJ&<(`hr52v?JN351$0tX%q(ce6}Vg!jvEYsi-&#)(~ z5+YpI)}1ZA-Ex=6jJyt%Mh^<3>+UuIf=&RTQ(-3r)=D6eq-{G?3I|-_kSz@I1r?A* zq%jiDn+B;;tT862TI`P{M>@`iv)m5mxtI7IKIF_ED!&it4{m>GZUaSppbkc{V)1Cs)?(EJn(A%u9OM2EyX~f=?N@(fh9LE28ZNC=#VB@S_MzMU~)^; zM^A>-VMtNY7GUQMe;Kud8+bc0e&*E7>W-KN;g*bDQ+mC*#VF}L^tjqlce9c@LjU(> zpy)l|nlP`hJ+M8rU*JB`j)5H`%i`f^K3?MixhlT~F@+(jKkE`%0OksGf3X+!W2y<$ zyl;XqRvv@?-~Q-4qL>4&4$C0S@BsV&_6L`8lH6^W|C$b<(Fusr(yRcgUGrAOMld28 z5QF%XDWKkR4|O;Po--3%9q(bRLGlMYBprb9->4d1DkTp%2uut54Pp#m=OysZTpgQ1 zNMQ*3eiQNc$Y})<|6MFQ2Lmsg(XZ$T-3j}oh zO$3yj_%h9y2RluP7qzi@8D8E!admhe0k^fXJFT))7TwL{*O{lh@%Zfsk2emPNsvVa z!e}Z8r3COULe7blsf$*@{p;`})rY%bvGts)-c#($Bq{`9Bc^6rqeGGK^m@c2w?BSU zl*;}yuARHQN#r?rL(q&|&tu%f+aEoE!%1Qw3Q6Oibgju(xn@uae}arCCz~J9_==YY zXq>QWkPsgsD8i1DK#BUC(k*#RMbnmgl{m^@hgtLwT^^`Wf}w#?e1N?OON&4j)d)R6 zVzf<&7l;+~IyR$!={O7>f6jqxDbDIp@n}vgu zjSnH@#;9|Tu<9(vokzj542Fi`P}3h;aztwX66fNR3Bhk#uw7UhXkRE~F%3J03L*0~ zZlYLOFbIQArAv1em2em9ET6B&|1*hyYV(?j$MW&V2sE ze{-&fh76NnV){3Aws9K9iF#DE*~{%ZgsmFYVWgwv@;4@~uA=VdNtZqHB;mw--Y^(_ zc33||rt{zpV>Tl%a~{wb`Lx1^1bVP7b-q5i+5eH?ho8y1n?ieLOz5-cR|g|FH$zc_ z3v1|MhfS=Ji!H3NK|Qvp$R0S^VJmZzt|S9&sACq9%p#U)Kr;(>rWb5xh%}9#_Dia* z3f|7a-x+v31D@x=^)&b%%M4oq{z~!sUVjk-dXo&&t&~A(9wc%uIg>&kbyq?1nw>lb z@_m8;JcbUIc*72i*ysmFd+_RoRX{$(-rW0lR1hbTO7}F*s>EPb;H+A?Fq((fOSI0S z0bdms>?zUkC$j%pous3+7^NoJ-)p5v>r7pZ>Y^IbM?)2X+8&r{6WF<(&X0-?D4AyJ zZ22;Y^^NURqa+@Q)1&eOjm$T>g+Bk#^yLz(n#r7VDQ_p1;5TsYd4Y3=I`Q^Yjd_Kn z*B4Lz9e4%&zojg8Un9G|SaR?M$iL(2vxqUnkX%DW{W14#0Q;&`6@l*RCs~(Bf!nJllUHj0l zk#4PYXC};86dN9ty@TA|!FTUqz+0Gj2PN;&<~<<2!>sqP_73^J1CH+j^gAf~9*f`M z^)u=?btht$$=ZH{-*Eq2!pFnBw1wjA{*g{I?oGqKtP~6HqNH0Wbqlxd5ZOIwy9ahB zJftuaVkX8J!c068?g`(DLy&hE^CJ-Y--g(@^LN*Pe}(OX?W6q&`;~4O(8%{SN9&U4Vd;Z9*Iu}yi9GUDZa}e zz^R1C0h5Ng8~n&4qOpFncutpH*MGwI&3E5^U}q3IL*>TPkGY>0KX-n9{SvTi#9*^K z@OBUH?h)V}NW909w@~vIj{eux$X*_Xher-#XPz1JO_zcG>gU9aDo0ys=S`HU$&%b( zBFzvFLb6kgurZ>jBdY4-?_@lMK^CFm|FkrsmcUc7dph>dDQJ4osY4%%%}Y0@VL_#* z6#jXS%v5#+u7l|3h(xtfthNanQIJxOmnRUl6r&>w(jkedW;wk)t%C%}$q&h2GO^L5 zZvFXFJFN&X%4gb!+80e-u|?5JYXFjnGR)7|6~a&O1amVq!~CL?Q~dc#$#AUmcFghE zYFIMQ^~S!W0J(d=L3!j4WvB@3yu(u_fw#KgzR^yg61jqyTkmA>wjGqLP(8G<6%inK zMvG6_7D7Tt5FvFRveYF(h??C*^mF=kM*sKGqWW_+DahSdJx8&DR>}tGR_(!ViUEC3 z_@Qn;0LDa4 z1v`k=nIj!Oh$0v&SQ#`P>f%^gmk$ULKFhz~|Gdf;N&`!KMR~)~{GP1`ll}W-8<@%) zO5r%aVlrLeCt4>b{~?q9*yrcsKPi3y4JXx<;U6MD2coMF50=+8$Eo*Lo;$1>{x>A%hG3EicL9Y85-$B}^$qhk~akZ13cbGGmrg@K=Q=V zjvD+L9#Q(<$@HYoiWo34Yi?d?(Cf@A0SWf*evo(Ypj+Dl!?Ke*FeFUq2?6*ZdxZPT4YiNr zx8axnQ{j9jQ`a4f%9rqiEOsXq?5?*`r7!(R1iPK;H?!XC9cj=J89li&I1GevvhvFa zI4S>x&S{T~&Z*)Lo`D=ZD1+IHbR+eRFm{JVXIjj$(?1Nvxup*_fAXobu?bZ#9=!m;(1*XNt*gmR%DX!#@+!Z^DJOt!UsN007>gh4eDL{Sd9}Bi$|3pJ0w58ArXo+}T&a z$u4wu!9=@lCM2~LA>A+aHhphzH?)jb05ON_%bk6NCg8%d4P>|HfC)8l=W>4sLGKUs zcc;Xwl`;dHx~+Q%iQia-dXm zhT-yZUmxMBd_We2geiAvht!UGef?1Q-a~AvhZY=SJ6~S!?f0Bv>-q&w?~U}&mCgmc zcfH3a4zg0oyo3I|5=4AF0IVV;s%y+gRmn@oC>=hnNQ1SemiSYW)epp3T6U;z2pPdx zw(WpM?uK%?6YtH!Ssf@#o~mvZO!$olbZy(v+KBru`g;Gxf~BySH}Z8H04tDoawb&@ zvE?i5(2cz?$iQ!wS1Rp(tACf0hPbNB1dvFK6<%^*6O4CUDKdL(fXYu@y#(e#{slIAh7^^&9=MIR zisg3~Nx0842DlIvc@4Fca!HWO__fb`!rFyoIvd5CMkM8ugqNUXxR zJEA40JajZ*uVgw!&go0upz>CWw+zIA%hT7<89L{3yCsi5e;{Jr!qf)Eo{@5Vr!v6N zp8H~sraDQK$iK)=c2=VMyyxff^Gvdz?!{gftQ`5t?iqbVx)b!FT3HUSJt{TLYI08x zf+m3P!ZqNIjwF5~3SUe;Cz{iFCt|0%G5WW#A=)V)!nU`k%>5Kv4{-{e`d}PBulbzR zyK>3oM(wB#;9ayd$wFkyI}5w02dr}|F%@(XNm<;wI*2bq?5oeb>syr+6!fh&Y-4?5 zgEROj2WAhQFZ)yU@q;Y^nCIP8gta_~ky zySdOKsvBzsKEa<{9f*PRt)upqvXVt;#xLwFX_K9X!_sz}+g4>);fhGWNLe(WtX5Iy zPTOWx5uod59balO3F$) z%FoGPk}I)*<80D!e|D~VU(pL{h_mU6(HHx+hQFi2C?BKKX&tsku(Oh1(LeHCcZtdu z)A87x5iOlz+{uPvJIk9!T?=X@f+TUTXQCNP?!y|&ecLbLHUPE}j*7k&5Ysh-|QVk=%V5|d_Fi( zFUnr&*?O%XjFa<;$S_mX*T(Y%T4#`XDpkk+p>=bk0m8J3R6NyfC2x-kgL zevFahlxbr;#dqVP?3U_EKC^yIkithX#$)9iZ-W5vt>ckA5I5r;*0oWws&{HT$M*|o zn~S-e(vWprMhu>Jn|jyk10SjI87gP%(=q&s<)FW*TdvI2f0phpbv=0IWv)nsDB!FpLq~xD;w7+`CR` z7;Id~bQOiIvJtpbJJHI*bSEb0#ZH;(2n));Ua_`{vh>9fAbSx^1sgXcK4!8X?EA7n zMysd}Gb1{g5qI-Z$1Ai{X7x4dTkUM9VRFN$2D*vhP+*Hdlv@g-BQ^4Es(GtppKAP1Q79^}dh; zbLYX0l>nl#*X;@VG;W2zzP{+{Sv;a8iHuZ^%VkF=ds}tHE)os~N!}o4wkYbP%3-yl ztGr$};C9I#~OF+eq|5d|_`U^Z<2d!j80^2|H8$nGjRn_8}SZtkPrxCStR`Kmu+i z#u*lZh9qUO6eljSZit@X2dEhiXVa^i7KXiP`c+0AIuYOY?M&`nlkLsqJ3RHii(iPJ z{{fBer-x-r)_nSTS@Ye4+@JSaA+TDBJ59}D+tZ8alr~4WIpNLuZ`A{@KXg=#u0kX# zx3N;wwDedJQF>EXu`+s>*MyYP=CnFH#C8I#-q=wto&MQVh;~Da*wJRZ$}`rANC9!0 zgI6xB`q9x)I%hTAEShKCJNgLtG#7T`feYL!I;UnKIqj;nfHC?6czfnhw1~}48oMK}2l7VWZy4jr&@tqx&Obt`#6Q1crT77N% zuy^WvoyVy~RxubV5Isd>sEl}Bq$xFC^|9KK*PnbdUJV=RY0%#fC_Hbvu+V)~w3qyw zxUhbx3X=gKuu)J(VB2mmfA!eg1i(L$R?;JxF$QO%8sSIk>O;i*t&zb63pto;#-(T> z$XD1-;0s(A{%g zWL=YFH1mlM;;x7mC zH8pa~8_|~_^$An9q%X+3WUx` zQ3XwF()2Y%U>5|ZCV{!OpAgFo=|2eXY8N<-*U~sj4qzckL_xDE#wF%R9W0X)hpqAq z`GxOCB-jyzlwa`N(Xap@`W1APEieT)z_6}(CLmb$8nFTT{mKT;g1^sr4eb#~H-h`` z^u7$+mKl7Bo@8ePuMGRRQgK{fwi8&_bNVF86vPf9bpe zaP6?02`LLLMWLMS$jm-CbBXAi7bdX@7$l#i((xU&&OkYpiJFe!)|nd&W_Gh@8ytCo zB_I*;p@>W{D8nS2gt7a&^wDz>9No{d6Oc4*jFK*a=}T`7%&EfabZcagfq-_%qU8f6 z)bXOSML5*PvmfXKQfx#W;C3P!mjlOP32%W1oU6trZ3b(4k%PNI71fS)Ss&p5C*hNc zEbVm7;xrRiVI!N%&_<71k3fc4tV%*VLwDDGrJA&?TMKl9DsQ48B{1!=6sv>q_`UAm zEG_9rtG%IqiK@kjTR1S^+7p)T?l#2i5R$HN_)~=ZK-w(f4?{zU!CE6^>5vJAvc zu9=ia-1w7l1yC;`^|2#1yfqQNs2<~SVHuguC~+E`hg_W$5}GX^?}e->13I&cCxg23T=-->U+Q=Bj!r$p*A8BdEkIHt%H z7r~p;6KfoawX=ip;ZyJY5eF~1khd=?fsZ&U5bYr-xr8y8gr-i>O1F20<&16OzQ>Hq zNF*#oOsq%siA)%c1+ta#P>{%o6jWN?!HODD<_r${j`SN^P-d=R_HcfW_q3=}$VNMO zgy=*jdA?a)5%rtKj~t<3c%&`f*J8w6b<;YQGG|n?JZQl6ZTE>Dt1a&(bbmhCf#6ddk$}~?!2BZj#{MSjp&Cg z0d@=~zyiofb9Yx_Ar^ly&*B>}Vey2@IkBfA(t?K6kgsOw2cu>YDLM<@AkOAnb8bEG zKl+SZiYaHFVt$+=S)>0gNw_fCB zrkimDTl+&(e?qYg)kFUs*v5b*WP=Y>|%!W?2PaCH-bEM`O7d+wmY zz->g`xp@8iRz21LuZw$H8Ev=f@rFn}TB%z6Tp#B%$}MlHb`oxQqZ81Z$r4@*l@iBr3`DG>-sQ`2_jusKAZ{4-~Q+&1(<;Qle7S_ zi7$objobgF)BsLjXcOk5`p05O0BtmWPm%)ge#1ue=>cY%bXfuPj`{>m@5`mmC(Htj zBxYR8p^TT+XD8A@Gs_Hs%L?oQ=`Hk)isomOk_qD?B`0u)my@47zGc0}6Q)4|DVKQe zQPr4@4PW&8x`HT5yJ7L}Fs&h>kXr@C9+*D|^C#1nAMd%#WgJ&Kd_I3L8rgU}aSra>+A8gNAHZ)t<+gnhwTEBvVtQa-fC zkvO_Y8pYAry~oKB_n8L)PhORx;BLIm;LMz94W+kS*y)6pzpx9Q&7VbtBE8Eb_abwN ze1W~tYGq8xF5j>I8w?66!9ewaGYMwQ_5RvK&laUxvar$ZM(xEpYKSGyD*AwHdKJM3 zRNt+x0vaD>%DE4W)RoRBCXp(rM_F$roMmu;i6pZ{ICE%9^b%bC3ABkOBPcO(l{sN^V4$oKOn7FtC^*eT#ypWzwOL;%vA*YI<17r!?|tiTUzJ2 zfD;9wJMnZ8nGoe$Fw|>Q zkP^i-R(xO~ovzelRJ99HrdITq+>hstT)1_|XPV9h)i92e=)lSK`8^ez8~$4#+Rb3a zbG2>M9j199*HiJ43Wp}etl9rr?A!8d0m0uM4zy@c^_~(ahHLYd9%MCiRf8E9BuS!r z$+W>3HlFt8Q3C}Nmk{SscNe=lvDr5PKDP%FP5!&3u}~~m-8pnELm+1dIf-=o;ew`D zps}bb0EHVe^A$&SJfH>;nXhgK$<4UFSKX!3&BAV}m)0d9gzW61M<9AYg$(o-G}N1Y)517SzCRATME-^NkZ#}j zJm~*HMlDG0Z)$vcVWB1^BLpC*79Z$D!olJkz38B;;$K;iC|5!K4oNXo~MxSJh)k6Ce`%J5v+bLgo~3D)u;= zUkqcCI>rjPOr#=Vwt?R%ok*jko1LgYp|kp_#HU?WHS9EqIcK)u;L3bF8_h(kO0Pk^ zK=rcdE*xOWi&P2DP%*2Gz?0-WCN6+JT1lLY~!xE16Db7_LCUh^>}HQF0l+ zVE+<|BkZ87i+JECA?rmMP7pk_EOcJ{)ASC%S}J?T&LS7pw1a1u&B-Bf&QUHF<$sCm%`=<3NF$GeJUrqZFgHL5JoBBJ& z{V3A~qrY3-5ES^X&BcrxVKS`cGSMke zj4TKy!zFZpE@O?wM2c_36<&m%o!VxNEl}d++^5x zAuh+?Oip*|BBF4#OZsbp%3WK6w2Uf$Y3K;jnoyJ-E7S2V2K+eYn6j49<924)!TN{m%G@+W>1S9e|5qJUggLd zKu^;KeIS?JsOL(DbIbl2 zNscMWtRqepYHOg_<*}8Qg{pnfRdEwQ{GSV+SJ>bj6JF{efNtbW$G{<5W92B+iom9% zua&(iaQFqUIploQ>-8@|;kjU;Kex$ce?E&TJ>zaoRd1vr`up4PGx`H%aY0ueJCoR$ z%nzzXZq0TIHhb!k~50c@j7VLd8|MdnF}WsrE$c2AR#m0wzNBqSYG_P34+= z@C&rM6%FrwBgwymU2zbX6T0Y-XKjJ&if#9+>U(qh`&E%XLg&>c;sZ-igr~Vui>6`4 z3GBs`PZxIiS#h&wO;Bl`p0vu*0`4CfWc z0lw2F$vJ4(>EkC$HAKCX9}3}%8E?hr*lGJN)|HrPofo^VIt7S5GuDN^l#G>nosm{G zbDd{`=hu}-a@&%bpdvmeX$0Kcv1p+)XHeZ#JOay!(ks*n@B2=?8F1+pb+J1pK z!Un798kxecr z%}R!@T=*rGIpbc`?#Ht`PtKVbRyS&itf5Wrvc&5iJtpFY99KK;SI7B8x>j{5Wb}fJ z*@k{e1t!%UKF_bRB;P+e)^9pkb|gD0i@8qxgR6ruOiFqvUkM}TadKBrr(1`4ro%O> zhA2NCk{!mZ5`pO(y_Ixz&<2@4(`=A@G&D$m;~CJA-VrscK;r}pWo9+6`iSeGwi~s$ z=N%C~D6}zt95rXAB5T%O7%hH{_r^MRn%n1r^}rsa{#vsRGU220t4%t#yyGjKRP>Fb zt-0aE?A5u6v>d1ES8A8@7nF~Y{s9EVE9(`?N0sb5 zZIGg4&v4)~Y<1l-`7OPASiYnXzIx^t2M;pkrTq=izPh@t)_pZlkb)8FuWzuQ9Y|Ow zm9GB#9~LA`*gwWR5^zknKYDOYN*+rIDg-16%<79E>pDd!_o8idS7AUa-rEh_nY52m zpr`?x-=IrNgB*@4bt9@9H9s)5&6vNiN}pd$@r8}dV5Q)r{jrj&1@eLIbTBA3>NMLI zo4zFBqpcBZt$^$b+*f%nU6mVWU;<@mimh`@#O!J-sydH>S>}$FsdgGJ9hIutP1p#$ zZD&|l%M*LOEk!p2pLosCJFA4fea_~1Y43CJtKS%-2uFVDxwRrx@G4rPRtB66h7 zgGLs+SBZw?rfyqh>u(jmndEMJIzm63u09>$^ecgu{pVy$8d0Lejz)QNzI8agmR{J^ zxU0Q0TY9_YRuO84#-{7E@)(BAgb7?AA@t7Vw%y7(w~=$XHsCCGrPJYW?7hJV^@`2ah>HT$uZ=Z+7W+DL?Jfl@6F%P zd%!heUSWG+duYGFeWD!$J4TiR!;xgX#-edmhK+&@mM7r>y8@^j%%ULn;}fz4(};XU zTU#&FFStjp4$Uwwpt%(uQZm4nnW=(W=?bb9!_Z*b(C-j~^EzvTf9C4=jO&=;h)4N) zp2`7)pd@LK6b?$^P;Yof^q}70deHhO$MrKz5dDWtOIOE#9DNYv4-fbvZX92U9uxQh ze}rvByrPZZ%Zw84iL1jhga#Ynn8P`z;L0ZrXs#rh!8Mo7=vQP;8WMwVFFrf5MP{ zJ*e;7A0DOMqPV{acz<&s>bDcHqy1<4VCF<2W2 z9fQiIaNEQXxd%;4_C>B8)QX-0y50WhJ*0r)E)UWunalyWJpz8a{bBLl#4w$Jf-`NY zSBZhTfDY#$x;#>&(k_of;;>2-l1T^W#2}$)pp?l0sfZArEl_xx_!DNx-V8exDpSFN zM{esNs40jwkHI!MoHmQ(rnQ*?`r9MOxJOWP7NX9B*ja`~!{BHM9xVan^bW7&KfCkekSQW3j8LJr2FT9WMwZL9`AT zViChUa%K=7{+n|{B;1#T0n@)Aej0S>KlNb?F;55qTA_*H8L< zlP4)ECRR3#WSMj3;sPSU|KX6-j&#CiSTGIWeGH%^=fC zAp_?MkG({@rQd!5u#PtdkCIX%80c0=i=4{8AItOerp^^D23DKu1ntsTvVV_g{u)12O z+I2GIPOQdkU6&%I+Guz;!MfaGWxk?ooK{}47=_2=sqO?kX@531gQUhl!P8w7Wc z^6r4(J6Q1!PTnETJ5YL$Tko;$I{^3{n0yDN&p6=Jol>}1Q#JTE#E6;~UJA%lzEBj{ zKjNG5ZyNRmb0xdDCaMSbgm1-Rx_i|30WAD) z!*JUByKTU|!u7%S(SC&eN;eGhM!mKO=MDqip`<$)b&Ip^kk}nmJ24}oiY^!?SGtb! z8dEdxUx%q%5u#2J4a9_@nTYv6DZHH_CYUPG!^KxTPlQjZuu4;v?sF*RdWH_+;e z)BzF-P)bp6?0CIm58)WuaV=nvXw@fj?3YqHHTNqFd%}srY*f0;Fb8xwwGl+82PQ}p zpmezbd!CNa12#MbAF#p53W{Qy$IQ3Dc%OkD$Jb#hM;tw18@SG7f9s%O|NR)A@Hk*j zGrG|z&Fm9{MigsX_X*z<-&yxL{*yZc<3`Vqu%87#Q=Qp#6K+<7#ZPwt>kfk5qqI99 z_YT&(g@d<{@xQLd=khQfo*%iCq^XsqDW;1)e{~b{jsMvBmtCE$ti%0v6V+89$tc=u zM2itT9l^9?Ve|FjdqQE#+0266vkjuA{%l!JhBwp}vD5Hr;!*HD$#Ox@qiVQLMO%&z zRd%NPC2}!nDpr#;JESnBR4q?HYAH%b6sAKGRLzold3Hxxjebn@n7ux~G%J6`{D$kZ z+xjWCp`D$nOpl!4$-mrI6Yows9-#|Cbmx!%~9 z6rir*H>i>Pp^OsurACGJu)Zp)RLKaUoq>+#@)vYk5HjyUi3ru*8_5y15*R;+Ap-mB zGUN2F^(|mF={`Ug*c(J0px@R~_4~Vb;Z=)tnBlu)1F)1or(5;yyD0^7L)qp*&UTYk7|mF@Gzaj_?>~!l^kCC> z{SAw00>b>QtiHz@Zzipg9#|JTonRu13s=0Oyy9r?&DMv>JusOTCijZT^kMS7oZOd8 z=4+oHi~l6!sptl&X8ZmS!P%8rO>DZIX1Ai5R$!!EhBD&B$JqkcK|a~#HW;Alv{_w z#9qerzGyWzXSNiJ7^rp@Z51N>} z&J5Gg*HxgTCDtw-ixG149>BWXER~GPKXp)-LQTnB=lO&=7|kc;i!?oVODxk zc@Ig;dd*!a9?+m3nGOu{wq~aCsvuuA+0L{_xWC*``zU@Je)&I@&S&Cv#h_GN!Vj|7 z{WiD4q%ZVH{&qH}-M@NwceZ~=M)U;9;3N>z$cro|*NouPf>ElVonytHJp=J~P$III z=SJka?x^#kGdb?e>7NAR(6Z;6Kl<$9XwT0kV7>740@e#*D~kpat0ULOvX8}MM}|5< z>twN$)?T1HnLj)fpu3+|POF#+v8t%+a#vETJS^%c$i(e8&`5u#$n2)qHPJErGr8@L zibZ&zRWy4x1oB-a5X8%r^N(0rIfl3&aLghKB&tx|)PR0y{RXn@@4|GA?at-y4npD| z>h6NIAILxe*O&V`#=ZGKUn6GDZJ2RUuP=9X5KR3{S2L!rY`LZ|$9Fn91a0|_fYR%Ik5`vUH{M%$6f(; zTj~k>b?lg8eE(Nn5i3=)qy(T+AyKI&LuKVissHJ~%(FGMJg5SWb|9EnhSac-5l-fS zll^`Jax?EH5wM5HfU$stKmx~tsm|L9R?@aXy4d|Mhv;f4DuWqGm^^bIaEJn=oh`@W zt-jkDJ9Oi~JEi(64`=aj@b5Bziz*ch370Pg#0!a3fJuofMX=X;D}Ut!p1Rvyxjqz{ ziT$;1K$MZ=q2AkeOGy?6BO8`^NlGfwn=PX?n=+CWLN4&vT(sM=JQjvM*ejMGt&UoK zHLs1T(?J|MwMA+U(M)19_3`LFm&Y8C>5I4`f#N%2G$+S|n z>ar~LksK&ww9Yk&F5`RdL%Qzp9Wfk#_LTpb|1PUbuBLJ=%Y|c-7mgx3|hlm+JLO&UImI)^(L?li>)I&RO7(Hni-BDdv&&*E0vj9q}%! zi+fwbSwdFPv^uiWLYxleG{BB=*ly9RdyS!c=!#p*_#EDdv64s2p3Gtj|mLIJ5PD}6>Se0nA{;k*(u z;IV%kD%Lq@x*Y^s&XWFh>tWTqM8QS9Ao`)tG9e7tjY z7*F_Gy_xh>&iCy0bK;1l2h-OQMC;yC{XsIQs;;yz&PA|3$B6P=UoQ@xz@Fmg_ER!$&NJHyfPac+y?XvP>G^ljf#Fa- zPVM6Q@XE`jLVM`#;;___#3Z4<58u1|3C;#K${`=p{H~igG^!EyN>EcLeF- zcd7x2wY08PU9MPl>D+p20vwPP;qi|2g_wmq74HPRlR04={NVRP9zqs5 z;K*_54x&VI8@0l66|b2}H|Ew2dSE4lMQ9=fWZJ=ZgiKJ1(21}jZVq;`{T;u98^G_Z z?O#0*M>IWA0}R(O2TPXMR;IexgVDoxDvezfkys@$gP-lVNL%qir=9!1kc0#QT}^Ky z!b}siVIVAUZUH+Im#=0wlumFzw_1hKzC{1L?jZ;(i2Y`IQF@s$_#i(-_M(0)y~y`M zb+XqF75W#bJl4kGRrP3fVTIrIZ|xO;*~y$0ycT57Do&HJn$AEIYO0dgrj)|TQD=^TpBwHt2(nm&D?{^HH2McqSc%jDERd%!ko0=_RTLfZCna zQ|(2zD-3pPI@0?Z`7H_!wDq*fh^d@=8bP!0>Fx@N^H?!QTp)1<$Qa{iwjDBF8W1Nw z(SSIq83y9yH@%6t`oOu?qAEaeq7^kFrd}K=RU4s5Ji`f55127_d8=UXO!XD9nU$V7pjh#pElN!=P|LnFCNWv4E4zu+~qiySDMi2@Z9(Kpoc;tCS&{sSTt zfg>Se14svP|2x@K8GoPgddJ0cFZk4UxGLnhSIU_{@v1g!YN{t64H}Z_jU-xoSLQ$dxm^iFNdjOgr zH;Dd;XvWg1b0*_NtAmI5fCAdi#iIb=`}-RMaiY{7mke;Hm@u-e&+!NS+F7|YL!mhx9_CvmzWcHATxe^cxG1sZvSh*uYvgf}Y$Dprc|%04 zcSq(-?kO{8&gRQkP=!Vxml5-d3F*Nwc<0m&Cp2d2uOQ^!nCi4?RK#6Ql-wX;>jO$K zw@+y%`34zi7~lV&o&(9jY_K>VYljUZrncC$MA%rJt5&` zQ#i9^^^CYXs(arhR`6~}C@mss1{lK_%k)5Xb=wz~tb^r$KZf8?r((Q>9`o{lc%p*+ zULTZG`rKND+^?o7&kAgIn!)AS9MtS<87&B+O)5TC&`yylGX?VU!1vvc^S37bghoe` z-sVfq`sjp4#Rn%lK4heRKGVcIM-xqFdql%yddsg6PC+LL|4p3%q{iN@;tpmbp<9qb zFh27FYGCzy{h>Lpv+ljH8Dy= z@JJT=f};}m_wWr*sH0OvH7p2n@fk}{=UFPH>2RlBX7Ws(ne5^lhbV>0-qLLyuPL#Ou zE#)A-=%*bE*+a0`*S~m65cMm;Hdw~UD;sBCNMs-FfIra9(j%p*Kwn2-Q?wjeAkVtH6z{e))EW@#%wU5WJU?iT&-+kT%X+&`mkQ$sM7JU zXltW)3DsdPpH_e zM$KxMw7>3^O;e3zUEiIj$*n&+$CNC;RZ`P{UkTUf$xd|GugJ$5C5rXy!*E6upCQYK zbFA6c0{xU76LK699Cv}AA>b!=&&1(IzJD4~6gW zt`FltrF|=l<;IS6m3yMIQ=Vkf2mx^^k45?TujkPSoyjJ_)XWq`BYR-zhRK2h6GOuT zHUWknpbQympe51pOX?#u%`YProXX2si+%=cIzl{CTl{c#RbM+v4&q7)k7A!oAl8c+ z-6w?xzTVj}p_b`0=Jz!IbVB1_$YnzFKSM6SY@DK{D7$_xB?;^(5x1|A0E`*GV{JUG zNb`PBY~((+;3+!Z^Ax2s?qIYIvW!1s=1EnRVERPiA8Bzjk4?=Y0>cz@7x>^Hza!ZN z>^w@8295saU0Ia{wF?@+shCh(S@cfr=-=efnuL0A)G1*tBN5LIA?_wnK35hVi!`k^ zJQBz)v62^&Y78rHBE!$2;Gx<}SP`pm6K5gMQ0aZH`l|rJtp*Hm*`RiiSzpMwjuwg} ztuqRjq7T;}<;EwA;v{p%9U6Y+4z9IL-;BU?@-4l$Oswi_I4UBeZX+UuO zB`qFG{r}p87}BjOzb(ME#92kC>VjTHfC`0}J#}xGY&TgyFi4~gPQK2kC6Sb;$0JcR zd}DJVqS&8}&`r&08!_LY`9@aQfnE1NL^VD0F%@P|dg2iGMWwjhAm8GE-`9&nrb116LyzWEL<6IMraq9#4_6u?`gVk=egjLK2MC4e-WR zeKAT!8afi8?dk|l=HEsNPu*CE1CnC$9mdK%)5NipTCky4{8b(t-er_w8Oaw0p}N`8ewgXPV9& z_(q`gSrH_?KEJQf*F65W@RheK_5zA6dqA#MPQ)KZ$spA6{7X( zd_swwXhW|e2^Q>$u4(|1ijFw6ZC27U=?43W$c2JSiGn!Rp9^hMn4L_gIe{`74lP_B z$hhA5J#%n9@KJ2<1h&IAI?;Es>r>MyLQAJ2-EpN+BeM*{N$~eJ6oGybndtK}*fOL4G9!A^;C9xQm!ppFsAYjfB5LC3hOMKj(&8+5@Bxoa;l04sjSUFCt_ ztbxcu*xtl5cExPDiNc4OoF*8?a@KLepauo^Hw^e7UPe_YDts%6#ug)aF8BV4T=BFr zbPKRHV%mRDX=vai(dJ8gBf4;-ILs_;q@=P`tsGY=twxrCU&^L+UJqM{s;8N2mOA|c z{j6hulj7F={ZV9=2|*ev#@&=i#l)IjI@Zgem4i*A$VvcfG!Mdj~9a1kj-7LeCQoqKF!IhPRXELAkvhkH=6u2nOr` z^r4{q3aPCiv1Zyb>uiKsHroE&S-MlCyfw}%0)6c?Edl3w(k7F*7Iw?IO{sRRSe0fG z`c(?)B%EYWoGZ7Q{!5AJ0WJ~$1AvSL+}(k;IWdTXe~$T@ipGR4Sh%s*{X`LOY=5V$ zX0;3S7Lohs>M|Zg2?N#g>eyNvdK3l*f7gZFsBeU)^K_PEeO9_#T7}Hg zB)uq?Q8_C%p+%oZ3t)JMg}fm23Uj2oeV>|YpvUFdqLm$|*3uI?@7`qPc_dH0H_1Pl52S|GSV`6Q|J zucZFw3f4?l<%0ec>Yv_#Dj39SPv;ildWI=CIecW^ zo^NvJ27QSeyT7m7uD?2KgJ^nU?ZgjWQ!auz-yX~LDN$Z9X+W58vhvEn#8OA=gt%+iOr#hD@+I*0qY08$>%Hjf1q{5D;E-2t3qe)b%exg1TVWKeyy% ze?E&yKCfS3`Bz1hhUjl@`I8E|sGQWkXm+NuGNd2o#NL`c7Hlrk{J{Emegp4Uc$i@u zIHp3?pAd1;1p^C39Fa>gU>vpD85>nqZB*}!yt;)ejiQ(PM(4nW$zCN4Qf^VY?oOnP zRAXM9knqGVp13OHN8rzPM9he3n^N1GC#`I0)Ebj_Y}d+~I#H8LD*)!K7f`=Y5NcMY z^8^@A!8v`zcqGQ9DSp6gh(gsd&lDx@w{oJg)n}u_LU${%vszbjsM9kD{4gEF&pMH( zJVaW+1Q<{bD+;*cyJDo4xp=l_`^tAErskxKoKoA?9A+Fmz_t@TwJ?8app3D*qBN5e zDN{iz2^BQR?;V49bu+qjU$ zS>&VDs||eb0MPz{W;owCl=cXPN24Cx406v69f|_iXZBzgu-e9HP{s>0-s8%tV_ZJk zA7s5n7*CDjV3MX_+myw=gK|M!w-Kw(XF5}ewJ#F6W<+|{xx}MD7(lvWCSJ`z#Z!?s zWFT7jg*P@)NoKwi5WM=P_RM=mBo9v{Mq*gtHnpHw+2 zy_AstP4EBI{?QYvr_HaBk%NgAFs;pLr}QDZfoV)D>tdKvyH>?Y+}PM~LUhx+8c6mK zz9z9yVWTPLW=Eky3GknA3r)^uDl(ozwWzK;I|kmYKK|Q{FatTjv<__~14m)dDxL}# zJ~kVyn*>ws9VoMiY#EFNjlnQ}`4H*!X5ruzSX_U(1N_O%{+z{T(#S3_R!9d&e*GBY)gkbCj6R1uNTpLsR-*I-ONm_>iR;X07p1m8_I7K>4NAKx zVFD#o{=*dQ4dkTl$j#qkq$idS8)j?MhQx%#g6$S5{UUB^x8s*IyAbm}<4P(Vi468> zl1j0$g6(w-qlGxL))~Ge-2!)BA7huL$;fv)*vW$h+k;Xz4=G__n&$>oCT^RZZ7@5X z8Pv1r<2j(|J6et{P)r{x3EqOlnShcCGr&=XlAKl{%~`qX}B z=ax2SmC19{u$c~36C~}@3l~cdciSjBBA|t~I1@F>=gm6LEkvkpM+Fsh(4lR)2Ion& zWsL!YfFDz&1a|sqK`m^k1)C%%dPG_+@%%SXgE-!gv-}|DxtBOXKIAVSDqat% zC~l5tLeWt4b)hFr748kT3q7OrJt~Xd6RL@;gFWz-{*ELTH^&MgD;X`Bgr=G>rk~`e z=n`01k_$_Np*S);g@z&77?6du#pl}pi)c37fZGZ2^QGof8|i8pxMgD3kzQkF`DM|p z9LrbeOvGmVy_rCI54a}GD{K#J5A7GYPqbrT$H=m&IJ%YB_*kyWt8uVl*4yKhL-2gj zVKdT=1t@tQ>T>f`5E!mmsJcr%^Xc$`V|sYN4}pplNC)j2cup8$8j`P(Wl|&PbghGwo zX_^Ytx_iIupB&fEa9Q*pGA&&l{~7an)nG5!t+J05KgN!v5bp zFMuWvxH=xAfPuoce+YY%rB6r01;ZN*tm)$3sPc{Q$i(pmdsp+^& zo7LH^_UWFJV(2V+L{ZXK;8U2@+X;x${xiOvtvM%Hh1)6TZ#8$Q?1+&Nd&sr74xfhM z+jxz5-u}=a zlWK$>Vo|zw)Qj2>T>z-`4_zLlf&1hUSYOp4G%BA$?Gr;}9&_#J*SJyI?u^L!(9i$nDMq|)wI%qaY z>dh7m$HV1FgW6U1Jz~i4CuW#|h9m4;9_eZ;+tUV9&w%cET)xR+_j!Cjt$XBtM;}26 zjsXZQY@vlU)a;m!J=4-_TKdiDDx>G)DNz`24g*dj#A*0ARMi-|=mGOJ{8({ZdkX9h za$PF$ z-F)VVRue8rb%5*qNa=%C*^Vj`Qa@+2J)We8xX(20ROHQnu{ z!HG3+F`a;+4|;4ck>H3_R}>;?fwq4AzlO#eiJN3TV6G!3tcXjR23Gg{Z_YC;!Phdv^$ zh(-4RZF@sJtN@~9psBO*OIV}6t({3a?(M2MjI5W{88>CO^efG;Q=XaBK$qEfVikT1 zEuNP>&zTKxPqdIX*r)x;_76;PadT>iQA&);;&mFQ_87IusZC0$aw?bA$&AY8R5}OR zYe0P+=&yqXo(yWR&H30w*@FcmmT<+tn&ZWzwe~PwJ@BgshxGum9%QzMMC;*dJD9c| z6gOc#;86M9^U? z=x`c1-U9}1r|wY6>&m|&g1o%&>Oc(gg(9{75#Nk|)37fqIbpg$^A?TXBGx-ldyjkX zvGJj(ro3ur_ALC>Oq3k%5#NkM;rBTG10et3hJU*EciVt_h3kXuqx}f`m2Md1jVdfH zCcQ(gcewTr_}(JpJM4T5uAedFkx&B{+|clMtfJ@Znd`+d+iYc4RX~+RWbBAZItgD8 zBXlt>SdxJv^?pqWIxsW%31Q=Wx9{YA6{|jx5B_)J|Aouz?9jajYy+l!JkaoIs3NL0 zkhIm{>j@Y52auMNmkh!M{6t&sn>>y()$#TYD-Ly~Rr!`(&Q#snIN`EyC7FDW50aYUp zthngO6XfE2BS&bE)MuGWJN%%SnzD0lr?hZ1`{>kVCj}D=9#HhAZNMk@p2_yak*Zpz zRQ;wNWvfhfHJq<)x-<#tt;bVpnM_Aar$eq(&!(ygS1-@STEBbq<0J7yMoW6FzSM9~u)lg_V@t*_4zbvh z81=93|KHJv1BTB=$yGDzi%W5st@6k8+ZAD{juru*t0_RfwgZr8TEDA%Ei{Kzz)Z&7 z)EU}dU?8NVJifw(rNdvGFG6~Pu1Q(5Mg1PO zyWEL^j->Fyq$}%%EYiZt$TB79q!1M9mOU(b=Sf%KiJ*j++m9r!I~B}Cm=mQh>G?Ra z)9_f-%CoQu(vB4A2-1$Yb+Tq8lX|l2frM*f(96n>Ky^~rOJ>)Of7kd3z)n9Eq=oUU(vd<= za_9zHFSg=rF+GSaKW)Q|mPCFQELazxL47zhGN$VXKQ!paQD3u+`ccQKb#(Gg@Tecn zoc8l##*4p*$CSQ#GQFwu!b2uztuwbU?30$D&`Q`3@+9t%S-&kfC`grX?-C~3gmgf} z7mGMT2BL~t{dr4N(gD8@98rZglozznd3*nK|8sqw{$8WQn`~ezuP9_-^p44Nfgj*L zQX}mv=sozQ|5P=f3DFe^h?ek!Om@GYjm+puHWIL%J!rS7-o%|<-Vp^Ic`*|8P3Uwa zlM`P?zDemP_0G-Qk}5%aL)B~Q4Jzs)3y=~K#`<$A|oK|gzaobNIZzUh8rUirr5-lp&E?Sff-_t6gR z#^v4)icvq++YPPqtz=>Ijmy2w-`d-Z$wQ?8df)N-a$irN@W0X5h`Db2@|EhQ3-9!G z5G4PUBwMi5C6%hijc#1-?GPvCGrbMuI4XIwWgXz1%l#eTxO}L;JLUQnShCVxxN-fM z_}*h}Dp{F{vijzb+O6wdK5?|Y)#YtvU-Q24jqCk=5ziB#5X<2^%GH^%ggY#wkGc1_ zu8yf5#&|y8)z1EnE!@@S9W#`_Vv%Ph{gA3nQik0Bkf7cUDWiW$6}hQkt_hnW-4z!E&dPhL=@KDh!Eczck&q$9^Zsmrcw zWF_Mj&90md(b>BKegGO|S}8YquTK56;}7<&bYuAnJ9MMCixDYx&3@wlKL0MIQA<#l z5o&Olf#$dm+X8bES90vtsm@>dfQJeyWQ{>I>-uYtfF+mXq2Agy3+AQV=ZOHjs_(s6 ze^jwoE3QL=Y~FiU_gVxP7RpWA^&~a4rJ`>nh ziq&OxWCXdxw5a<}_m(_c&z}3Pr)J|(f0R}(DqYw5NDgF!hqW@XXM9m1&n^R4Ml>9M z_LTpb|1PU5%H^b&TVWSoYqT$~h@rF}wIt{+=WwTP3&u$iminj(k4qX?k~R5S@@L^J zOO(WJPPg*TlEPJEkVspu)ncdBJEH_{#L$W&mHuaSSMf@Iqf!#Ql0#bBF4ea6Yp;>2 zd#5%$28BU-gW%~}e{%%N_T26(n2kT8EqG`m_KZe(N4(FemL2uYYe-Jhcj~ma3ccm! zt(%^5Bks|P=qMESxb?TjC-r@*K^tjf*E{5CYNj$b@t4zL!~{=uhCx8O^=v=rxn}S@ zdGDu(4VJuuMf8(BWa{Mg2lGP}zM~yl1@h_P(S-Pxs=Ko8>qrtiWfa(vjFvzfed9eG z^57meMVsYgv<33uQ|DAU$JRxhW6ws=sZUolwq|OEdq79Hf*CG+!e$+n$4`}3=(}=WWHy*lOr=gA9dK;jr&Qz@K3G| z#VgK9I}~>vbv{@}eLfWTFG70?t)&MeQI2Rm>-8Luq@wKl&KByn#9v(+cS$p+ zp0A{ldEZ}4RZ%k{gb9BAjY_gWzj-U~@<9H%Q) zTs6aDiIj$^H1pvt?OXi@1;jZ^o@*S|fA_+O>;W+_$Q;{{qgPvFv42Me%f3O6uwDh{ zcFNgC}v8fR_I z#`b~_D=x)qI&K5tBjEw+pD{fjr2Y+^ES+!djmd`iA83+)S}{32wa-Xg#JYR(m3l_I zv-}t653_Q(3TNz@k6&dNV76g`u37<~t6V||_P{|{b)7lk953gM8@M`Luf&tBOen6n zz|Q37gH$jma?ghD42yBN#cTq;>IOj(nULx?(5FApC5`XBR9mj-oIkUE(voFRs1r6C z50-K~#%!Xuo4SE;7wox345j=IL(+(A-Ny-BEMYjHkCTI7G+o?lX!(4F8NAzzr%$_& zd4REB7e%Q=M^UbN=4Bs>d-9w;(w_xt|Rv) zOrH-8TG;mri92UGES+Jy>+j`>xI7!bRFU%Fzc`5X$^ZDb|Ni&#_`m)MW?(D2+W?hN zl$a;vpKK+6ruOpqY9YyzS$&h0mk3xowR*#iNDDgEmnfu>6jM~2r}~I2d^~QV^70^F zCzK)xiM>;fwE2b!`@p4zLK4Y-*p6~TlPr5D{B2Q$Y5QZx3_nQp$Beq0mDbQ0`2k|SCsAyQ8SYC!vQn&+njvbit^|96Tw7tMDxbT^h4M;HJg;wB zHw^mmig~@f1nh>8c>2Ljj!uHeS z@TE}Yw^Q!EA8==&3dqyBbBI4vO1w_uPEvQ&dcBBFXmfm<)7_l?UOBMZgH|t^cc9(c&vj=rkh@?a%z`XgOt{0lsZ4gb`I?XL8wqwHb4Z#vwCV0h@!i~6IDGN zeu3=2LJ~~`5vrLW5adWeZyp+}^?rxZnHa?L*f4NK5A6vcmbe{yqQP@=I}G8;?}CRu zd@|~&6F{0~;yWS^M&_AGNW!zN8nrkGmahr16DZOWi6m$k;3JlVLUcj24Li}^GxbDX z2{f9>6xP5*!*XQ4r@pz;+9vbeHFL@FZnaN~$UaecA3(35P~`GfZR?3NLgLYClqyx< zO$KqgP#a0TcWFemgKtU*-X$m@4&vAlln{HPgt+{fuM|f^=ZQ;j)!N5mP(t)T0aOQZ z%Y;abWTTXgh}5FHuxBYMalzY)xGCP+CpS$#8me%TFCp~$z-c9xc@%m^?{2N{=UPa-HC4%4;7{# zUyzb$XRJTWbE_0Rm)Gp6tceBYLxX~QX*+{K$((DzL_RuJ;=z0wGma?AEyPAzh>>D{ zV^5yQgg~ydMwlFLiZHqClt!40i#3~X*QAL^^(ROZ!FDwish%`Zp1LTt8#mF4Of!wX zC^&AS1F49Jn<&jNij|w_@+iK7C;;C#FUa5>#yKM~fm?H!u$+)%Wnqq!gtS;o-M@5e z!EuV$zwkuVn!8io6U0&Qt%&4@K^pK)UaO;wBQiOg@mb>v(HB zoB=N&(&R(|Aviqpm(H|6Ax&P-L_D6BJXU_@Mmjk0h$kXGTSzIte<&d0zo#>vfjj^` zq+Xic4B3A^=@h>MHzJe9V0PO(a`+770a#>$vjiwcdepHC9?c{MR-l=Do;28o22b)v zREcz@J!VeLcj@^sHD9J0QrZOnesG3BR;E4C8+jl_>vcvp3W)aifn| z!vjl(4p;Aq1r!k4H#eUlnVk#WFx*l|u0!lo*dUQpp~l-Tqx@@Fku8it;EB@+mrKO{ z5Or3>R9>dmT9H49sJDn5Y-_Z1S&?^%v;Lh;{bG4mKwJ>ZPTD__rhweDk2p{DB-U@j zNkav$@pUC+L?gZ~VnqAe-Wh@uHW$e?!Rx*=p>5N|0S$my-D{EQl61L|W^i3eYstc! zL;S6oHt;aj&Wx9knztHjiHd(rYJWxBT`((8CK~74Di=C6i>AIBsfl+Tl$qK2LNFyO zTC-!NC-8R>+ge~MS!AUQ#Lu>b_mHVhsOghgm}Ys8MC3wb?Q&~85s;%rO^lDUrb)TK zPdsRc%UifgFJ=-aFzGZ4I&-80A9)bW%&VqY4-H%DUmT{MRT>U-qsAKJM*^U#5LYlJjs|7H5<-UWIS!WtqI8_ zDR)23tdS&~dZ5DFF^Te;pZJt<6NR3s&AYke)f7c^SZx;A!`|UfuUjdib8B1%-9~;v z^EU42s9ca$F_P1$n1MB}MWm?KXYv`nDxNTwnuoDdrHw~_vf^@wt>thgU|V(6ZE-$q zc;KT4sW{>=?t&V@j@)?>^DtIib>SWC#CXCEE2kQqcFo>d0i$eI5Ols7F9`HiCw1NN zdg0JHSQ;}kA-7d>eK1Z1G7h=%$yV6xlE?F5ljlQlCPn+=gbdWvfqS0Zd~{BJ=2(np zG~Z^(caEyzoEcpdwbKpnyra;>6WS^HQiC|McieT_Uxktz9l4~%KmIQ96*x7d%fV($ zI|UF+#pD}bdd5#(gPa_FAty#?P6vqIM-B<$C)(KB0+USfG_dk0E4b0#Hf1P|S8s2O zpgKBIuyL8`nFR#FLi9qU8R|W7eGo_0d(RRbOrC*Ab+|EY)q^yPeUxM&1jDmb2bF7~ z5*?rmPm(NjribWZn<|$jQ4$w6MLz118;*@BhvA9cv_TJ03PmT)f?rdgp~-z2Ti}FR zpFr`=xRR69)s+$#(4kEdW5X2?*geuanG@EoZ!;Ql3B7WqKoFvcxX=sp>pNC?I-$re zutXBCfq)TW{jssy4iwiVo{jBmB=qj8CsKbk-cOM3+ri|w32zJ#^2J?UpDd7DLs$vJCG-$&P2(qo|oIK+V!U zPgptFw3~!P_|~+Fg~(b6y>)>zIdRHF)YjtOd@uNm6?}P^@(8)&3{+Mn8I|L~39$+v zO%`(O7%1;O8&Z1bZq-`{ND0h1k1l6HN7d()*;A=+{j7Mcak|Hix}fGXK}@d zBIs^CEgS_!c0P)(PZ2x78B7uVG9?$a-YCITv|7=FTf&YQe#9FH22x`2Z!G&0CPqbx zV>iOeekUi&=$r`b&WV`n@gUrYsRR>cKU6d}n6FF&9Z9lp`&*h#I$>yJ_>8%IZ$=4y z=u?yuh+4)8B7p@Lc@du*F=#xIM`KzD$z!E$bRP=1lha%7#&p7z$e5h6a1IcBy*HC_ zeseFbggHRnkQMomvdeuVOD1q(1qN~{B0FQEJ)Y;#w?%16EQ^c}RXbJ=EK*waaa4us zDjdaG#ToS`SjgMrK9I#z=L0cUs)NL^P}1GTwgOnOYYXKqbPTZ39x>}O@sCzqg?ne{ zb&d$!35cQ-hiD-xPvZs|007xAb8^RmKJ#)ba~|eGPbCssRnQ$f{|vK4b}F{X$e(_H z7e12lkmt0Kd%N|Ky$M4MB5rhGZZrJmF33@2te969nI?55Uj+&4btl!IYgIPJ>*7?> z|Igl+BukDf*KVckkAv3;fb9ab3Rw;`keM`+%%qt%{|R^lZvX~^5w|K|-8ad+WUv9z zIJ`ZFA*&(-EKLL^#N?+d?zqLb_{M_0U>Iu$;)>gTIo#E}Lm^GthghpCEF)ex32ch$ z28s=ptb?>dkj^Dxa8Hjj!j#>= z%EFIa@-T{Qds5~(@;DR_+gWfo0B1Hc_~DkANNL5)lUxp|vNM5hurVbIKsn8wh~=yc z< zgXjv0nW`?SuPD+6vyUyl$Tsy3R>Z`#kUQk7Gl{|uRjN*I1|pE;6wnRstU-g)`>V)= zE@c{&l8s)T^yPXRO9gn!9jeLKf{beM^ry%KFeA{%jI;Xb29xU;svzK1OEAz2AA)P}s3 zfC0En`0PXF8Sw-t6vrR%Aq%Ehe_^mCPIL0df-Ks*iL6Rku{@=*T+)55QzF3b_Odu1tWL9h#pHBTu`yi(WuuMkKcziBa4zUXiFj1uT66UnGz1rZgThPwGx8|4<7rD4~OT3dJLb;tc0AXPy|2zf-P+K%!e(ZzbopE8W> zz9LCs(#D_Uk@z`Brb7*Mmvq|dW-{p&HTS}1WjFVH7ZE2! z9MkVG=O}(gWvqdW967>wNAOx1xLVkD;S1}&0aQQKf}QhdBya3Sj#^2}QmC=FkCZ-p z%~w_j&#p$lT-}0>nC!PQ?AKh2{NNFk^vEkd*%K2l`MU$yae*f;srJ1TX+h$$g8lG( zFCcGK-9ZxA0t-(9tmSgqvymL;7TH4WkLKwSVFJ#*p6q8K?OkkgH4mpJScW7b=2Y{b z(Mfi43ZT9<>f$f*UvT7=7j5ErHclL}063yqBP}fYS!oNHOT3a_d?mf<;=H~a?AJq5BopGCYL(GwO^*$%0X{^qU)64aAQX>AK;XNen2y_-<`0P7C6 z>R^qwzH`C3C0dS)(*#{GOKJB+cXGs{1VSSFLX!ju{K5jPh@m(_%Nc~qOGNB?{Dl@i zR;>rzkO~S!IWYq7)`L3MrVF~L#aD61LQ*F0iw9}<=Y)t3AeH_G9 zT(m@EPNny)0Q`*#Cp8nDFF|=4u6(lbW;kC*x1-2F49%tw0j_R8r~ z-ChJLO{aVdayDz2R;zbZzg`8Bb^zud}4#5`U6OqU!rpAFbzo z0`oc*;6Qz%Ua|A>-A?P+yV}Fp{T~0DEOV5O$!;fh$Hr7yS{JW!0gHYui%oT_>1Ww% zupDEVdMHjNkS;NM8_Mq+Oy-jFce|TA8B`~gqyr+UMBx`gE8cnE+MOFYBWq&20;45+ zeWY*|%Hb0|YC6buV1dWR{&@iDDEQq{^gVjF13O7d!>9`#^0pe`%nF>^XPcpPwehs# zJeV#*PbT^7;U!wjc@E!Tn!dq zKxu^41;$EgQaA>@PK{^HI^LvH?nDC>KEAd=^Qx%);tz$wd6!VNKt3s2JZV|;dPV>!2$qt z!1#cvBs~?SXh6FzR(;7{mS?Jq5oqO8sBbPWu8Vy9LgbK%j=`XdbU0(YKyIQd>)Cb_ zRa>mJHjOa~!YgoF)%J8-a`c>)Cu_DlDdn`4%g9`4mcM(Ic#sA*qp?}rW8+6pjqlSg z`aGq>K83KZ8P$O$Qtur2h{MXW zV0spp43oBViEuR6n+H*Gc`e5GR+F-aR z`jiqvE@O>IZ`ILC!;aC+E>4N-Z zX;_`|GPpPRMl{yeY+#}2@Yzu4)?H9ODw0&Uv$a07{l9AU~Nbbt6PPF5qgJg_gT#pl1a#m^wxEy&L zVsED~e+Muz=EdFKdA^;C4PJ-|bLOVVDucL&PB3)@Us9PP{3Un$yA$?s%n&Dh5|2L& zZ-kJ3PYEW>gXC*uAHGOA;V!w`J)NM2C6qW}p#UKz=qBW}dqPWLo+IBPJLhGh3V+Sr z{^^1^H&M7jpewNLLBnyYsiQ8G57CcrJOV+`PC>dK9>rV3eBbSpUMRuim0(#rn8_V%omOJ!is{^XxbY90li6Rda?*kO(xf1#kOkz``5Y_}8csZZD>Os;mKz zJOiD~BWkcEl{9{iL+PF;UMHmT%g~hWlG`2CaiD16$uqFZ#~&J(QuNR%c%^xUdPVJ; z8+exfqT8L*@zb24`+-m}AbtkuPjr#H)ICkVtnnnOQ+bL3SZ?=MDKx>`UDffhc*wtV zut02M#RL?6^&CCWJxjezbk+?>L4VQhzUo+X4z9)l+8Dqa2Zv+eax9*XN8Ay~L|vSo z6XO!5(((Vc;Tgit^QmDC)I9^t=dt_vflE!twHSa}J6YRJJ%bxOgDJG|h8_UXQb8K3 zNXsN?nI?z3_>5dx^ck^|Sg+G(qr956z zt>`ofIi2WoFcw$c0XfeCxM@Bz_m5-w#Vf*z}*(u+hcz_cyP|#ueEv_ zCC*~VS&TUgLT5qh%(~0hqS~yH?|w-uMj;d${6dFsXz&jWI-EoWct;Q6@IqtY@R8Jp?86^}^$>ws2YbxJ?!7H?@CoT8xL&Jd9pqv=*<{ zIL$}tMNVrnT9whcv_fXIHKWTJh+hT&>%f5>eDGkb7MeXG;Tn-UHNI5POGn@1gKLTs|?hAF3_WYT-2_QFXXW{9_z2zlZMcVEg|z?68gB z-2>b!TpMf~?MK+Jblo6Nlw%82@1X1**u6u;w{ZCmP~Rf%&p6u>>e+%TlqgYWb&T%k zqXR)kOxRHot-OTmHeympE`UM2xrE07kIPplltK|n-6JO5gq5?n1V61jfre8g#Iv<7 zh6!P-Haw2lLfA{(fKf%vJCxD|Ih|12GM1Zk@Z6<>*i_M;)-E3;ODaFakf_QQs0?P!&)TAI70uJ!uXTtt zEoo7x9CfK>H|?>X_6bxQ9IJ|k_4e3yvIOneZcj$mc#_$e#bT)mJCCRPV@CXiWl=*G-nk~T!zc$LBFYpZeGOqg=_qF&|=dqmF zrWC-3_#0Gp{!DI;Y}U&nM|5hHU78*A2|UX)xf`fPW2Z=d@wrCwAg#1)YldP%mnJ;} z{4C`yVDaqmOxihDaELAS_EG>&LA>H#+H0VDEH(i884x9-qHfaLLv=gl_vaVr5<1(8 zgHZ{ytwXl=O3OPv)6-vsaSy%y|Ff*IfN51B`WKj>w&za=Q^1F6&%>r6DHz;eU z;Pa>#xd#pYWrJ(b&}jA0_&9ze^}+Kk^T(4OMTGrNB?iSI>QAwIOk4Kz24#El zx!~3NWEHFpsnQUv4e{$_Pftd*WZ8+tt76g1&W3<>QrJss_Z!a03%9F}A=&!M>H5F;aO4rK{*R+ zxpN`~Hlns+1JPyL5NlG}hEqHN;e zKLdMvujaKG4QgfWEBq4fOZw8mw4;oN=qfQ@jWMMzAGG9zCxvY%k7E47;+qNkBtU37 zBuuOc(^kNba$pn8_az`Uq56GIRK-yq5IB&EugGtx!SdRIVSx-)`uUK;B_X9gV92kS z#485V1ipaVNDrx>fv>?2{in+LRCvPNpTZBa++;6KIfB~1xmd&})rb~Ce^ zo!$+r=ya0N$xbU=wajUYrH1J02)8QzoPabU)JRw>fSrVPBD^i(p^2YXDvJmSv8a~I zbSRfa(q%Ogq}}>EXp%or7&bHEs&MH3jIOU^_NB5*tqXBwA6DJQCukb=$*^C;SkvuE zI|zhPs)9LF4l-R07l3T`mb1*WLCo41en>tut#35E3rzNre$MDzU^pHZy@a0nFkm$ti)?OnlyxrOrZSdp&xwN*NxZT?MTU$G0?$9=UP1}aYx7*r@*ng<4 z5mVi^tTrS(zTMVNc>Gh6Y{Dv*j53rv7Eau5Z5I~iGp!BeCR)a?tuzonb1#iTm5c_ik%LPRdM_Et8Tsb-&4%wzfB#ykZ9Y^0ky50#4j-?<+gn3vGY) z9kdh6-5E~exttFa>$&?McwrOFRal|aZjE32hS|wqQ$ajCj36o~IaJvP6hu%O(l{r$ zYmSt-Kg~J4DRamsVNay5Ll=g_1*<5+jHSJis`&%Zgru(&aPJRPkvjt*&pu(Y@*F^2 zSXVT;#(5EqJ?;nyCx~w5@HJ1d`0KHfTsZZi0%FWtqE!`49T{fElDC z>W#ThV-7OIEJXmgqdN4M6ZB^onYd6Wd&!v_8EI?RWjzLz zrsW=>U~nD@oj+vi=bZRUvwH&A{TXh_upCRdW!or&Hs(o{8Pa*SCouKWLWQGSX?Dme z7WLQ!)sy(5SO~aspN9R<82CT;?}&+M<4Bb|6Im;GB1HiL8o#E!Ov-uLaZyfCDvb9Z zvud9p{D;+w;~GmYY3dh`Re3ud+CqSmrM)JKCcXC^8%Qb_ZOB)yHDssYJNpDq6q5^^ zqEtbv#)?<+8E?!hh>Aof+xxj3 zo*|D<{N|Ec`ej;Wo1W_+9S&BNG8lkE4>P+wS5YoLo4M&90~Fp>`qm5f*`iCXWi%2sD`ff zLI)mVgM|juDMH4`#3Wq{T(d4r`9odUIE7ET+lO}zFR#zlPV3!p2;VI!Bcstn_+gP5 zpYg;TnF4w$Aq8<_1IAjoB;-<7cq1DvqJ&|#LCTTkLJ0fq-YRJnL9!Wnb3{&;Y zI+d=#o9=c+4{y&a*2iwJ?Lzmyv=o>*hONWPs9pKh#R>%rvi24(qr8f6R;0a5ldJ>H zY9=+#)OEE0f8O#IKh-N2MfH3hWlMkZhJJG*6%9=b52i46$AJEacRcNeAI?FQ zwUi=&vXb(1(!=CLw4Q`#+v;JL?2~eJy|9Tc6N5gGJuwlSf>y`Z-YM;0{RYLuxk{e( zhR35=gx=!q)Z~6)^h-1;Y9ha#k)7J)pzkS>LROg}N(;SHms#$^@dx z!iHvGP=7K4i>(Mnwc5_?p3^??Z&p9F3#Ylgif!V!dR!kJ(4)?l;Xkz1AyfjaeH3dw z^PKgw~B?DXn%L-oGKv(2(U#PuupQGECtbd4mu81uz`ov$&%)h6s_vZS5<7eW|Ri59gL%{?Smw0 zS!%g*Z6Cb>G;?2Ui4uByKlVTJ~KNGapXvLOBar(Af7Tm=a^;y>KR7nE3Q+QnnK`)p;r9j z{d*}5nZBxh5jW9Bzo;oz?7ZsW2+XckquOCbY$?vd2peLQ zv8cc+_yT$iXF$-asve51smhkWWbn@!%DbfIKiJmPONM$)H3tpQyc@Up3+dIh&4KkS8H0zPeVoOYEh)Fcs0YT zB34;x=rb*?r=c44)hD52wRAC~vwc|kF zhpIEU%3>82MEN7oS1ms0tf4{&TB?i{DlRFr4{QGgPA4Mg%19MZQ^;o!+$aN<8ZcVZ z(vxqIU!nj@XKZB^9)QF&OO(${O7f6sp~rp=JAVZWjZk_|*KBLa2oXr3aDfC0g{Lr1 zD82@+`0(CoLRzI8W+F-={zj&#Nys*|E;^DL1Uncp%}^Kz35>#5H+q;6`X7ZS1ACwV z>Vt&GP{h0!ROUe33`=1Q%X`B3-PO{>J!n2TJ_Mm@=-m0&CF}goM+U&>_ zF~|)!ExlMj(t!mcqzTw#(L7uXB|u|DqGTxSqJ)K?u}bDbjsgpMp5eG)tljQ~3&DRD zl@(K5PJ)M`xJ71qNPi?QDZFuF_+}QuG#46dZJB|nqyr#^F|%VXvD2tLHW|@i1mkPDyx~zXfps$>vDMCSo_kze@a_C{IhZjwc-!-;);D-brcBA5!wU zpk8^2MQ6+M?3>{U0NOv2wBAwf&tEz>37ibz>VooBE6BGs|9# zpFJyE&N6zc&n?rEiHzubAH_eLw_c_(nqilCZ-!n_P_v-TjUd%zh84*UHKv~kUP~R= zkebl(70Iq$s4sdlClu8p`{#C8`TGoBFsRK=P*0Z7pPRrN7z=Ri{rtc=Ae*a-lM!qu z>H6jd1p1ZcXTTR=X0H6oO|`UT>42KRtd47*?ab*22#%G~aW2QqmRKmEh)Xeoi>J~# z!u+mmjv?!k%;i`N+QQ^`f1qDXF(rOo&s^LY7Fdzze8}B>3(Pmk@3#qdzak9cTXH&H z&>XM)T^w&oG0}Uq5qCL3fi^IJ>eA`Iu7_t;LFK&Ki}Y+0S>sP^Ztf7R?9OOqDi(>e zO4i3oaz2&|1?A%=2_IJ&&Q)Y7Jp?mbEM^UJJ)(woe>7i#@q&(^-ITjR>ubz?er>Y9 zLvMa+7Srm_hm@1Jm2e`HeXd|>5ZC8g_6(-_td4>Ey?aGLCk16>2w!9;`od}6{?Z9h zlF6qt7tdGR-onw07c_KWKnsm_v5vBzGnChFC_boyuUtl8SxT3a++WIE&wj2qzUYdU zO?s4dCylh_rmlK5@37rqe|)6L7Zl-v&CUXxw7fX)s`3E zUPMPCm+FjsD9n5;X371&xS(Tax?nVWu_M5RlSI(0Zez#(k??1$Yl!tcV^Rf~-;pL4 zt1}qc;;3nC#pya7xn^lW#)&knABAbV?1k8i+T}S-P|5%sqm+jCd-#$HzmwieiZHpR zS8J;QumG#;6RydwFqwcdc1Mv8E=)37K4PTA3%aY=avPg=R{>I90MO~d$lBksEYk&b zb71LLt*0FlKI8{L@h&>17eUxes3LgI@Jvsx$gFOBaR)9HeGIu)guM;ll6Xnejy1h?fE0hAULwXdFVI~Hh( z(@{YdLWHe5=NnBhsQY`4!E{ZTUGgZJXdjhC!TJ!TdK3=85eDP&pk8v~Dl!GScC(r|yvhRXGqfGh}1DBk4)e8;cdaXLcOe`-1raOT;nmGR?X14(K z&_>)gtm0DYEGl{nT(DKZxFTYxUNRpoLam=!ZY8q6uh?r^TbsdP&a;fPUQAtvIW(8R z-mr{hjDstBt}L;zH_V*F2C#H9C%qkpMp=f_Om*Wapsb;Eh2pm_IT(1j04CRtqn(2k z;FqE3X(@r7IIgvqu<`UxU@Kj)QZUbiJ+uo{1$b#i8#!$kGp5O$L{uS%jq*maWP@>; zsb6#CrkvT{(^M{4AT!0?_&X`8y6b&$GMPFd)XcGdls^I4&p^K7j4TvzlEJ!2AgJf` zR=_4*Fa>6A@Wh!@m=I;x5^4Xl`?d$?O?fv1+_=MyHbW3>k?P!njV{#G7qr^QNP(cW z%$8+Yqo0|`y;_dK2@={G68^OK0}$P z#k{)55@XAP_tJfrn*wCpuK?s7zPN1@{Doo1>B*)J?SROdX7mA;8Xb;8A zB3Je>w&E7ONE=QvIN~V+JM_L&7|v$qZe==zT-k=9@q!#lc@RSc^Di7t#xI2+HWwWw z#JX7s&I!}5mUnWOrfV(%$|JE+w}%Lq3S26VEKi(LdKPN#O#u{y4KcV0C3Pw>AMyIs z68@K7j5!R|@%#XYWDJ6q!=2(!;F&E5q!X!STgtyqh+qi#%Q+Jju7&K-nFer%@DxXG zWgz$dfW8=nGJos5o@yMyK!>^x1Nyut@@NbT9U$WjA9Zvvl*Ffrt_+ZoHg`35y*J`+ zxxpFSKDPvhy*!b-`mksc9Va+m`2tXZ$yvC}V17~>zzmaVB|Zgo+HH(Cv4WDl*Ro#p z24qPN_2J-P2$38l3+xpct#!DXyAI9wWrWjl7p~*D6+Gt>{LD`?bs>V}alqg!&DUQ&;egy80qw zs$#@12E>9U2o6{axHIf07}dWoc6pr9`On z$RXzL%vcHA& zeWfFS7px~$vM-(E=Mz`2))|pe+Ca(^ZdO2;ZaUs+i&?mEc%jwLQRxMD67+fpoJAZ+ zp{G{$F7mu0VgrInXOwh2Q6XOq}Z?7wu3s{MwSnTulL-&}{Y) zXs2nn;6lZrPWpunN~Z-ob6FYFSH9Yr?AoZWGHs=TRU#`a!L6K(&Q6r#T1^u%LJj~W zlFty?L9bOR8UxOC_f2p?2&@TGPAp_7dh{l z@vfcbmh&VEHuvvLbu!Mxmb39RPdzXk4i%GwM9{Twm=u6Rew;|;QouomG^V_Xu9W;m zZn>>959~y76A5#{;DWoO+DjfbhPSlIt7-bc*p(>T#sIL*nSOk*IHN9tX3kK<{_puW z*qu-(lXl8zhYg12u?vsohJi2{%nnSnDV1WVnyISc5U^@$}ViKS$QOD&r3J8Zuf(zc6XIiq3OXDL!U zeFD2@JoN=OEWlKPHQ8CqV-&zPqi%;9HgzKK9d~=7Ykc>ovFRZa{O377&#Irdi!U?f zkKA{Y?V9Pl?;uw_kQ0xO>+dTc-|gFuX{Ke+avgKz}^NlIo$!Q+20z3*g5$ee;XWX-DVa%zis1wF- z*sUgxb%iKp7}2uu{*{EaaFqUeh2l zqXOJAT~RKyrL(tUZneV$cKAr91V9vkFTAyrnT?JQX zUwE-8x100H34h&*vMJnuZP}{5o65oHg|_rdTCb({X`ZNr+D9sVsABkbcsNSm!YnF} zM<}i#oe@%I7gh@4cx9`)OtHAIxm=!}c(ss09p`Fd2h8)Q&{zztxiLEYSJB+wGH*LR zrXEtl-Dw4B@>j?rC(V!#!23P|{8!#GFPC?GK zXEWK}OCat5i;l@vLS%68^Gov~YN|Bp5fzS?h zEiR>HIX27AwoR_^5#$FOY5;N&7g9$+K(Lns_Q#b~YP(&U%~Tte*62jx6}Yi#Yq~8t z`kt}wn(a)>Hm13A;irSstNT7`FPPIuTW2z-|u!vHx8g_B~G{~KwJsZ2{}8SkW-lF z$hXLDd5NyVUU0W(x(F*PXNL=ne~_07%AaeCf~71q7wX5z7c?G$unBz9sdCD1}A0u8-JL4q|0sH&i9_hKG8z$}OYRX_kc4&}~ng=5A zy96$zDNQ6nTWc4!zD=o650@rouJeh6M4{AY`0$%RqrvWT)W^E6(50)YUeqd`qseNM zsb}`umQSJUryQuP^zhw=O=Iz&#)FBe@IwG z(Jv>+i|z^H1+`0F1Y>lU-0qW($KnjD4wgF@PnDWPg4T(iF&CQW*w-|kLv`U#5bes% z?ivA$ce{r=E(eQVcaD1Z_`|{5iB5VBgy){7UMKqLMRYuS#qD0|SUwHt76b00fL{zK zjDd`?h%y#&Mw(eYl$w*^a;ebE|8E=ZoR2naodb_E=yD!_j<(?nQs;r}xK$Iu`Ruo^Tn1s8FoMmejZj z;5J`}A^0=7p337j0h7!CGQ3TO)rkW5GtU+LnO)S^5^FC0%^3|64^1Pb>3bma62Gzh z-CEcf3vOm;&P%oau-KS2TA44W9h1!*IDeJPlCY^_ZEBpySs?sshkk%h>Gb1zBvxMD zblIzX^4t@00F*#$zeiY#x`<%-d!R)(L_3IxAck)jCOX46Cjsp2aGxzMvxY8DN z+5=M?)RZW{OPm$Xbwz||o48Du|&`sYCbC1xPI z7HpCFlR|_rmR^nl9XF}7#w--C2I{3vFti|k75cAPf_=>3Ct$;Ulwu8T?68mB#%?x# zuNi2~;bWB0t-m?+F40^q)~f=7RS>aO9WdI0)h4XAA)#jtD(w}){%6rNdOgBv8deRl z_iHsqYdK9F=%(_}hG-RGN00C7w;-i^wJL2W17~Qg_G3y+<&AY$q8yFtl~mdNM%v4q z{j(3^FRAi%)b+1!=s^iD7D0>EMBK^YL8Ki zoZ4j6DyMc?z09a>MyYf7whH~$VdFaVT&`0MEg)uv%G<#0mB_xogcHhQpf+$)Et0B5 zTD3^54yv^U=4#PiH5{x1jIEfm3mt=BI?;NzknIlB-NU|nV0eQZZ?WYq_`C(Dx7hU- z+unlTJ9K=HpYI^{Jq*7E>PI+oY6Xi>M zm9D_lE!w(4V|Qrn4$d9v^hQFq%#fJn1nQUW0{aAm7jMzz8&LCqDaEt<&E9FBtlw)J zW!kL2$b4=+EJp@4-J+@+&~<~zuHo7Zn7f5~FWO;3g}3rj5)I`n4~cFSb9x}%FQTzE zmFXBURU++pl<){kD9h(1Nbre)`@GE4l~aj6Psv+nYa&?@ia#_|@HQA8+2?XrB87^O3F>Y&Y3%blq%+K@F0|IX58a4kO)y zs2h-Vhrw)pzGp(HFM#N+tN5SO(|k6Q~dQ1)j&lE zQ20gU$uxg41Izr9{Z6>B1c~VKuI@zS8>=RmA!pk-x=I{<U5y(d{IMfS|Z-i7;drl%5cqfFb6-}gB%jrBK43Bc1#C5==_>`$+qI! zUH+1KzOXOjx{q;Ri>qQD%ZY7Dp`^`>zd;e-k7RVnWxmSCb?8+S`WV<-oxrC!qq(_~ zOK7Lac5y+*nvaZWiZ$IXkyB-6aM=yt0`U#q3TgzqHRu6!|BBJfy#{{AqLrgf4lRfk z`z=tpFbDsNhOn6uD%%chCVPi`JIsr0J4#R0W{P&G-md-|Hy)tLY_tWtv9NvZM+0kB zxDkFd^q5z1g&y{Wiyu}{VCKkM6G9Lc+&g$U2=S#V&!E(gyaAO9mWem8@`(I|slFq> zVy_;%+JwRWKG+8g_6>t=!r&S?_zxNM$3EX1e>@{jm; z)-LJBs&|6H$c>(u7mi~snVjfSl1$USZ{2skPKgsy2fiso+Oww$&c+$qP^igF|CjVN|oMPo?phSS&xYJa)S%dV?&BMS?k2H6W9%*?ghVW&8M}`GJqi#9dwxv zEwsqLtZ#x0Tz?0Z^GAxvW?EPk8r`1>@sv1^)`g;)U-git(aSvVuh6`|-q?a|m@nEP zd3TrWtS`5K+`o# zJd>B(I)7_hBW7OhQ5@fHYbOx@DPb^SO~h0X2;lH`TRRc(Pqj6WKW2eUMLco4xm~c5 zk2H6qgtTK_72-!Yal5r0G?7ns}SV+$YNZ|yhlV{u$b z4c#`#1%Na6TYO**6y|Etp1NZwQI9Y{F8&WHMebC2mh!@ziGY^_uFFD;#zN zuUs%oAk0|bi7=Cgk(`eYrG5v~BnB$WToK}A!bI0CmJ8Mu?Tu-hMN2b|K9vQaX8d(% z$;FwSHoRq93P#OW*q{~pweXf@nbny5gZ`b9-8YqVpUu7%MklAplS6APr;eq&V|3!^ zx3OFmM8(`VLl(*$DbsO`IQILttC!a~K7FlwPV+uwF4}2RDGCS)5=D<04i#)+qU!K{ zDu7%x^dXd@igBr&1nXA{4D(#f%A7huh~hC7J9;K~qqG#a%swNO)mPl%mTlvd%_+O| zGrtEtHpOBKr-f?*Qz)0rAyKd8n{q~Qq^?~M6Dx-OuN?PJ{e4WIy)qQ$@&QB!Uv^wU zK!$Y)BU)o4hOCh4C2R%DXiAW+__a+-@hMFG^;PBHvH<_-kkij0z_XHaydjga)<2#4 zY;=D(T-IufD>ciih~kCxKD`|~ZNlh651^7Mv*KtEWMB)ssm!b$D7(WRDD!ZGyyYU} z38kIX!;w5n-XimQSws8r8irGooi6GPDsQ%U(?D#tJbn$0p|K}7H$HU^PemO3dP;AP zvVVu%!O?E{VuXe=L@M99RTL@^?CX&fkuB;| z>xRk;+<3P`dWdIUC(i3*5o+_L)xj(kY_VNNQOaw2XQQrm87-^4s&H~ls3->5+jTFt z&eerB>oa$|@fE+JUo_PydOoZ29ogPV zG(RWJNlr;;=Rer z@)JJkpRQ-x^@q36jUE4CrR2(PIw}_;!|7xPR%DGO;u*i z_^OFiNtGCTJU&88SM>-{BDP_Pm~#OQq6F49R=0)PhcAhsRlR5-urz*Fh8x(_8^au!!wkGl3u1&& zyXzJFb^I9af#ogEkKP8oz@(sQ6Q?pEgTVI03cHLwt9 zBDK#y#JXzldXYG<)KjCwR?+J;7_a2CRH25# z)YYj-dGShzS4^zx($H>NI#5GV>MK)1<7#PUMuYpXDr7fvzg=5}prNn`#i_B&K2w}p zn|X87w~9eqi(|c_p?P%mr@A7Yp4U(Xy}H=eVVnxn&|o@RlxnG01ofvn1x{(0jjnvA zKGpTuP-zw4dD?L z)ezqSSA2N4)KMJ(Et-kuWF^dh(#;T$)1b7L&6MeVhKX2Ls3UhE3g`yVChWt+T`(h0 zAS2W-z_}R+iG2Z(9U!QtF8Pj{&l#xskPw9cE`gmvY_SvaA1GEwVuY~dI^xq4;$l_; z#{zRI2poY!6Zji%f9R#?@&v<_%;+l8#l|-vgm=bb25o9BEuP-0!n_dwO~CO~8UBEs zLqiAyOQX!-n~8^|^EnB42Ly^fqMJ(;ec&B)H4qY@}$e-i`OPBc=Y^8+$hlgORa3PFmI8g~Wy z&&mt8$p$lTMD%ws72v0FvcFgj2p}aktS+3ivg115YKk zvJ2UlVs!~fjoupuASpSz1k+!0C#(d0kIW7$ zZL67;081hSDMX%vM5d@ZilSyl5}Dim_f7TI6R;UgOlvU#n?nBN?=81Zj5H2)dpOqPmjSk4 z#NZ8uSH*LriVsQv7aqtg$aE8sw*?i_ODXS*iiG`JinB?1jO;kAw9`5ZsdzmCdzFh; zG$|K|9kf6`r-{Z4@?yzgStevrdTYt{xaQTGMS|baE`#cub=w0>Q3fg>nK1ACx0cK%9pDY2+vxVu2pL z-y4@SAy|UHNS7QH1m-XzwCHcn^DADRNWOv=&n9zw(g)dohn4v!h; z-iCo2Fph3KC2Tz(S|pUhk)>TG5w+nPh(tZ^4r39MJq*1LTm5GBx_}lXd5Krtnffv~ zEWps0hy^GBkJCWBWtpESe`0tG6(+m_3sW}L<&3kwnA?>>5|^rAtXJ^XNWs(QtZ%Cr z+04{pWF#9^dh{jrEp|PV-$sxvJlve$t=$nB6q*jMS-B=FaGPxx}`M z3&is63RxrU#3EQnNs_lplDtiF!Nfure?l2+fl2&#ld`P5Q6}KLrS@g4AEVPl$In*3zmNQtT*uG;zbo6Cx-UUjKEx%x;yp~aXBoXYw#64 zn|P>4g96OjNU!{N2J);(-o?3OipT9ejLZwl@W3W%q{WfoxWZiPg_t z_GWgiGwdhmcV5AU514DSQl7y(Lw7}aj+J7Zzhhj$SvZc;h-W``Eze8Eia7r34X+r^ zM=6^sw4mfX7Sr|qM_y2oGvzDHL)_Sl98MzCSNEoY&=8KDGxWr8c5lFJnaDVv(80km zNI2#=Zzx@NMmR5)F|w{t)>?iPXZ>1A;1(gI(TO=t#jh1hmPA=ja(UhF;tL8obSb+W z13Mj7=U*0qN>ayz)7NTeOcAV*9Yq8RKEbmV?iqsR`moy@JulC&L>{Mh8#JbL&`0gTC-Y* zLnJXzzOU%wJ*eJNln0z8kkLr=lTn$Ru{&jL7Xcbuc9g&xo+fY!O|aQaGvv9UQ$bDm z`~BC^pWaAxdHnHiqKyy)_Y+-8Gu}$HsUu}GWl9o@$Z|1BE;$Kik-wWP8Ty^FXk3~N zKL0I3*K|RJ#Gv&|DY@{I_Gt{{hnQJHY~TVs3-?VM%+7Vh?Wr)pA15}V6M&4rOk2b47OWb1hU*R*aot-8oqbG;2tbdgCLnDXI$$ zWsT-dC0<=LC~)h^>cfXXPzWf-fV&Zgn>PeJrSIkF#F=h}(rEPj zj=0MErYpGSs(+be^;&fXKtyD)*9l~G;$VFQ-vxQ$=yOPMT}kPp;zleiV3agW_@d%Z z`20mE>@&-)1Pb0YyHV?F3oZy^QePrSe`Z>riv+HO_A6Xp8SUqywJAn>B6lZBd)Pq) zqkRMpbwL?lJb{(beuexXX0)Hm92boCOYU9fte-=9XQ8yeKfy0pAn2iDAMC;gi4#{d z*jqS6GrF+TS*R4$LrRLt{-Ug#9LCndy;Rb|*6lrQ<$@J5>&zi`O}iOJ=Jf1R^2)lK z;Wq09fCVzbjW!Ri{0#|?TrmvmC)8Arz~(QuZDO53twa4(W8s$-8plOT;PSXdgqF%Z zc9$u$VXdBV^=%2-n_AyCfhVoua?7PJd-*O_f}td4AyI{5CsnhSBG}cfMj57CqtEGq zwFoJb&nyrb?#4=GzQhAU_*ry~oL?~qZ~&0QE$3Di-{x^9(Ski@-M-NsQ;{nhl_1S4 zy*6(a;BlUAJIT%U97m*oVf z$8MnfLHS`C?EB=lFmOO1s!;P=&*_5I9UO_SC5^4U8sM zk4S8&86Cen0VX5I>8fILoGk&7X-+}QJLV!~2bKZhvqp9@_wmc>yu{!VPBA#*83G&E zzEkAMrJ(MR0A3Qop?6A#Mx?lZwt%v`;!ub2L(!Q*l|!khAX$r!D$8hjCsAj*X5O#O zKod$U+>r#<5(kW7C-%8jXPvDwNYHrIQV=b5RNTPcMO!A{3yt|D@6YC z(Hbf6hxwm7BukOHvMps)CxmF*iaL5s4J=4X5RRk~oJ&0wM=NFU^8SE+D2O)Fu0c{7 z_ha@=1<1xlbr^?hBE$dKLV!)~i!lFp;Q<^bScr3F>OfEPzF6WLsy&_-$O zxkI3`PMSHXDC!F-P*mZ`z6{E$Mt8aKY%SH?xwLL9^bS_WWLsZ&F^^UOY6DgttR_YxJDM*fl$LOL&|4P{D>&fd0 zYAl&CAf~`KpGe;?-hzP1oaneGzy3`1>KN+*FaP=uTxJhFK#YVPCF(*I*KTw#nLHvY zIph3l_#L`?JlgWg`UuLjPeKu?bEZx+w-iQ=jX?#SjftDvD&LMZoY%42sqPLJSQ2go zx7^%+HV4NgN|{1A~8+nPEbL;#2bI zfgaCsRD8om3BhU&m=z+|&)u2aiRT3>=+yBj9)m=VWf%b}_&eng8Ai@WA$gz@tDYu3 z_*sVG{*C2q(dBo(`%*H=L)jc+0YohABlBN#U{l`3QwtO4a%BY(EB|u#M!9yETLXA4 z@fA`Pf06^k-A*aTJL~Cnsl<|Gg@LLF2_h7WEOksMvx_e&Bo4@|#g$2spI97In5A5} zwj$O~1#ol46)n&hFsW;z!;-5;7%P~eLWji<6v>mHO4&+8j}D?*?wp8_Y6CHQcK@RL z#(eNbU3@2+Ye!YsR}B#DA)Ict?Z4|R`6U#Cv&=%Q8@cSE@QcqZ&^lY}Xa;aM#Fdez zA{9Qt;08U`Q6ElXsLezW)8y`$^(ae5EWYS0XSV9myTDGsBvd<_ZDtmtT&QZ;#H%K` zu1Aizz{4pGp4|^pgh}DnkbQiwu2+X-x2-Onh}&+OOXz{3T?xt;$*40+NiQ?K1ncs= zJ7k@xb0TZKG2g425X=^JF0O51d4wv!g~vCD%60w18Qi}X;6epUf`0Y{iq{#k{)5vf z5F#O|S_w+P=uO+>oi*u$6iEe3a;&McSP4ZcLeVPfKj04Fz#LABMA}U(kvvko36Y{k zBj9OOUy39c(38BC9fPAOa9Gh#BBp^{&~HADD|Ev&e{PJ+_IwsuJAi{YrlLtw7yZr6 zcV%ewtqHlJMcp7R8A^(5#St%7vB5U3vnEYer8Z-_z1d8n(Sa_E{W%K+s~ z?YCbj!qcgw50`4{Y))m7UQ=?6-K#C*D#0LiE-@k84*tiS&&-Yo@~lQOvWn4_H!3_6 z(N}s1ype1{H2$)pNv9U{H0;d2N;htN5k8#XwqPPj#!)NZ5#YIeM^>M}%-ac_Vv@gu z&>VK+R0KOGOUIpP0Vi~L(AR)nn;q&ARS`;f4R6rj_3)!n@tjn?a9g2u9w+6II?Y#x zNrdWGu)d1E>TBF@E%)4M_A_NY;%X5BL{~}$m>4+fVS{1M#ySr3LNHV~cLFBml@LO6 zBDks2m`nBdyTjV?0eFj7n#0m=d~mo&RJ^vFU*(sZY5$F3rLw|i+|`-gZ8@pz_&TGs z!^65mhJfmH6tjjSbd7D~qm>EGa-)ZLu=FLX^4CajPMy#Rs}^WJPbKI!Q4Pa1=h?84 zh)o+*(GZ(!0t+zE+|MZmWvAY%qpe&Y$teq2G#QT)j?3*ckq?F$jffD*5L^l%D2d2o zon-hzTs{sbhDyQCNVf2&J$x=+RxTa!80$gb$r}G>v@NO z^v%v-d!k+u`1o#@b*x?K{yX^||EnyutbW68Cw98fRCQWktMbJ*Nm)1ZOdFr{zQgSk8x`{A6R3UQ$lnAbgBgGBHix z6}A=(pq!`-RZA54CC#{0sKEf#@4yi>(*9>RB)ehNW7^<$I9^z@+vGrz`98kIBizY% zCJmRByDhd-iVIAXHypB6dxe0Lb7Fm3c`9k zmhoGdpT0PG7uNX7;mX!CqzOf)u7{^5UO;3xM_wW&6RbEB16=~idu-=s6SuGwzGuaD zoJl?CFp%8Rt&g4AbQdWA4uj9}R9nMM04*1t=-$wXoY`AX5Y~joqUblknjhLc(I{gI zgRDKr3G;>W6&diPk=$7Ro@)h@!%%tBV;VJ+l$f4bXt6vNCFeXANdNW1OjS0lLUMcj z(ZYH&&~+q1rG!M038=i}SqeqpWFssW8>AT^2kRMdq0<^lJMH-F>H=F#JHIw}X4Yo{ zEZ0;Q?cj;SxJ%d< z0O5-3G>`ihVsCJeP~KPOevY&L5C12lWQm0>dtGMjIjI;3@G#Ibkkv z)DchECGK{7$K!s+7g5%OqlGZs5u$(nweETPb&W?+weA_MM7h&kpol5%_EFb;YB(jX zF;AGQuCq^kD!u3(R)mM48PE&_mY=}#7a03g(jGK<5j1mxWma(cF`Ab_u{QiQ929jH zyujRGy4wzhA1yPU+K*tG<{EFmPJVf#TV$`(X?fR4_5y!L z<9Bnnpa!|y#hrM9aA`luJ8bme72iko_n0kPa4D4jbz}<=x|$+uI`xW=#|1Q%!U_Gt z;}1o&Q2XMXjln!ZzCiTJEBp-h_q#pP1t8JP3+Idtu-z~=Ix`zi)yF5hB<4Wy_AikkKC5GP*8clW|WIot+h^>27rKYCgF1=4@;n}NO z-j}W`=#0gqPQP=!&c`#f%hm-B406JneWA}mW&B20&i*k=fZ=1Jl;bx>b}EVRGh?wgKV!Qv5~p%^~?&~SyKYo4GQ zy61@3)Sh_}=+ItqyK6eGi*qQr#~%&MH-!o(y2oAUo@HO=oe~R_+u2Rd&Gg~gQ6h99E6w#7}Mxu zs9UhX)g`-yTNSOXWxZ{}p3T>b`Tsm(pz?Ul)FWAZ48e~h0HUD&%=5%B2pNi@i}rc{ zZ_aX%P+}TnOy5(!jKaw$$*#MqZ_tYbH8)wj%356DsG7bq$|EmpPPmS2R^1a8Kv;~raA5ey1|Dt*ber+Y;VFv*tZ{-Jkgx?B z_DIAEsMx|7TbyGDggh9eWCJ5+LB=cynMEnn7-nw0q3Wk0(SAuCT)@^jP&)&9XCU!B zW}XJsQ%=RYl3xNS2xCbkj{&_GO~#prN3qoyw}XVgwb-}@I@hf7KIHBxR___euf_&8 zz`<@~Hygj#46N?(5$@pD-yE2iD5w@A)j+5!cvY(s7>&Vd6k6Zd6>N#ZbG@XT{)xPP zUY~FphgV3n!lD%#t?e{4p_}SM3*A&i@mkQRb_){vSF6}&2)uoJB_;{+3yh0jm3o`$1i~x^@LZZ|a zqsmxK$0$NZO>%0KQnHK!X7w|rygAj*LBblySO+OWFscmpVJ@#Y;My@RZGp!OE^9^t*I1*y33mwI`D`I;vlZRmlC zlIZO3?tb(5_S+Wa%6Mgois01FsKR6N}U?hyuq-6FI% z;M@O7reOc8xz{{dzt%KKx7U1)`PO<^jx-3l#V9ur<_6&0;-6c5bd8?AfO`NH;YxV8 z;Ne)0jyCR4po%$4<<^My*o07cm_slHIs`3!q@qAPN{~MQT^_MQiV~wfPwQIeYNFiC zzmmZh4sKC7`(Mqi`neO}&!IlEmB~zfr+6Cw?wml4pWW^D`R4VF_SsLcAL+Wmb(HN% z+tY3&^f)PmaEl-A@Wm|vxkD&-5at@<++d*px*IF%C57qQIO7emhJrCAbS2%dX0n)a zX*!3eDPOFmjlV?VJk*0xBu%Yoz1Y1Zm`jc5{a))Nku|6TQ5W9G*J;=XH96tXBrk-X zfeSSEp`#|OjyKf~$F}Gm15TGNkE6_mvow%{_+7<6J%yp+IP6d$b}1As!(y9(ad?Lz zG4!g_PddK#**6Wm7}@i_7f_@!S&K#vmpIp_g&KQ`dFZWF$-NE=vr zf2??L(Ed=JGWq@R0$o&O+kwqwN0DuZd68~~Yout0>gnpvabtn)q<(TEVSCz+gczx< zHx}f++c>k7!Sn&&ZXs94g7C(3{8MT@q$8yB_5HVFx7YD zSM21h%&n-6$SP(jiLaOBXB6Q_4;k!R2HT9mHI$zszJ}gKpZt7d{3pdsffz|8kMoC! zP%9Oj*yxD2Dq-EC^y}8HY`65CY;eM(C+USdSqrFhF)M|iP_kSz{C?6CbHX8SCH9%5 zbK(C)P%j^y2=!9d3Z0&8YDln-kP~9iNlGtGt-!Ss*-C6D z(c2Oq+xb+4{;iQEex!UX;TgH!BV`Fth$AepDr&@WrxmuS700O+BtnlzQ#ubngFM_I zc6LtJm}GRUjKj_;1m))X{tX&v-XCjD)(#RPCi0mqSbtGJfm*O@#6Z&uzNFC#{K)!^ zz7?Zv{l_MS4|!6N|p$IOW#l4E-&tYs!P7 zdeG5h1z4xPZLsaBmvEEolj?`@`|$Jssc=3Os3Y`qoWc*X+MQ&uE8j?#hU_EZ>sG2? z%zCjmq(MVuG~`Ne8>qs`$uA?|r2G>qr`;?X`-$6fdU9~5WLPiIjm$T~*lih&A(2~7 zb0es|WwtZF->Dr@sGMFjdim*vY(o-TS=19*Ey>oEepNs=#HbgxP9Qs(-H_{E_RHpc zS^+JC7-CUFm+4SMiv-LnCrH8dchEY2q>yapidC`E{h8eK3(dxbVw~mk;gF`$%Pi`z zkf^`j*es+#U|_Upm!KCfH?~t}`l-fFm@T$LWl1@_-PZKIZC%ma-3o;Oow(iFE^Pis zT03JR%nnhZSz>;?+|>D7n;J0(YlpPD@J>rFfWE&Y2qr9_z@#8JzTMbP82nR>4djnm zAfFRY+-`0c=;R~K-6%6HCxxwi;&yAh$RnQ-1|eaV+5~Azc;f!1@V#4DQOIx$3w(IL zwcosl#c?Ga^w=3@dG3CjFKlJG5_XSe(_EV!>a_FvFD8J%^H5ox}Y# z;U|+T?FfCjY>;0cW~>06_5=?(tmJ&=nCx+b-8xXBH!w@=6QnR6N^U3@tSg!u+a#NM z+%Q4)WukC6gFtb^fhf*IkUdPP5WE@oh!7WO2W^k;5s7UQCuh} z3|Gxx^Nx{;@oSxspR3l@h0=|A+EKD&>9m}UyzT1Ub!H!mVXlVDASP&=P191~Q&NE8 z-NwC?cZG>+#y6lNqTvpq6giAb%veob5xC}48RcKR24HPfqcd0$ssSH-*d6dlO04mV}kCdj- z1KcSS6L(8mBj!yk+9`f3d0Z=rt6B z#@^fB;N-dXo+tZr$Q>H(PA*1dC_@6Lly36)qc!i`*F4`~pQncXbf@&Rj+wvYXZu_9 z4(NBtQ&q8{cv;=-shF?wc4L?5O5_rU2wYj-Msh9AbtO~*wf0Zq^JvX{2%TMijooPS zP84>r6Fuw5%wIJrg{GnQywI1El61^D7OU(b#@ev5^ozDLn)mkl=C~^jzGKj=xZx~j>KvOAkr|J$8H+PBdTZgfyZ!NsKg{-r)*het$6=mq zn>0_(x+8DVX7I~K9!dAGr*h5aT5r7DAwA&shSpn1&4gxrX@M|#1sh_QA(Zm6-Xa@o zV!7ec$}0<}N8VFN9h%LwYM!f$jY1`O=59y6;t+HTXDQi5#qfDPukt=nN`H)T-I-ZM zZL@NPc_tfYB1XpWzNa1X(}{5o#b#v1=I3NE$tme<`R6-uG%lkTw%a{mY?TZWXBVDX zC@P@x4cf_J_U`KyyBE8n?@PI5G*3!((4XEqr7fIq&@Zgtz&RG4b}ejYC;FsgoD)Pu=GIjn8&}hUuB-hWeuX!5itO3U#wB_-pLbG*FxXqBWTRUe zE+!QRR40}Ry28ZTzJa^?L}40_&pPYbYZ89#7ZiLKM!BT-icrg}DzUw%bb>9v1Xh-s@p}O=!i8^&YdG$VVkMjk&<|o ztmm>V38t3Iwng=~8;#mh>`i$$_4oGG8IACebzG~d;}YFmWpG#kxflV0!UQaV3nEnI zN_x`a%0m0w-5ye@$i`N`i??_m)$O{&NF2iSp zfb}vI7~EX%4P`3C>8mQt`Q^2N78Syzl!l3g06@MR*JVM7uZQX9j*f61yJ{GETsM{t-LUs81~=vvmH zRsg%HL2LJf!MSEQ7( z^`an-ZVRkm=oOzh$n;tLe+AhoZGhZ2e` z0ThAOH|6m8Lt_4|l)qU~|1ukIlvnK&xY6r_=n{$hhfk`=fAqGC*njWDgJHa8q75OI z3MOqJ?xWRUn+8RlGZfDtMH3QqbNK4Uu#S}lF|5ShFk>i2AiE!G3DqtWknv85YoqL$ z?P<)i5{QW+M>s(^ z_Hqv*EWm=>4s(9TqWq1zqfFbCq}ieR2fSl{V~Spgo<ya)nB-{E~5y)S`a zVm96xcioLJ(q_D)kbc~rxtA(}iBGUHDdMoDWO(6;6A9KhJjC)LiRFq)g5Vh_>opM% z1cGy<=`Hw!Zz&_rZG`wZu3>Tfy+y=K+FI#h%Pw2VVPV}h$zkR98D=<8GnpGMJ}z;? zNtI}VoM|R)nMN2-LEAE;HYs^x%0iLMFlD6`?v~sA_)XQ#$0wE6Z(0&PigrILf@F3_-rc&jgV7kYgi(xfE9o(_Fnui*py-1IbywzN z;W2#_hji&6res-hFL`fO0}9xvU?_(X-R$gW)vIj|WxdoL#qL%}mo(Se57)q654sWO=b7U0|%N%+&3eDW@ zL5~*{!fHqRvM-+41;X)+8dQicN|;64IvaoJCPjuS`u6w^s#Cn6JTfV-HrYn-LRivj zF#%{Wh}Z5jEq<|Z7K7~#V%pA{A-(LJ^0u#QplvNl#y9F^<=+_e zOllmx$}hB&STidLlXU6yW$$kaRn+ZqMOLvEcX1g$ZeT=_Wtoe`cA!lEvI7>kd8HZL z<>3PRp`;ot?iNWlh?S`|i!Nb+f?3AOGsvMWEQ ztsHQ&FBs|@-`WzcsNhIDC}_WrUp9y=jHBPfFjtE@s@CekoWHU&=+S};FdnJcngb6XuXWp^X(lxynr{Ks6 z4d&m-Z-`~I&>ybSJ6dC++Yes^q3q1J3}WPT&~*d3?iW_1;dUmsP(HW z&_~ekGB*OaaCTgw>&|&%gz~Vz=ZZ_$l;E-;W)X~>O6EvWw`k03-Qz>xG6XcK0_qHq zaZA6F6Q0dR(k~O`f^*ipbUYlLInx7n48@{*IxPL&g_Q(WVztL^t=a`gtO6$QRD^enBuwSXJD(8UinI12W@<2Xedakv z*8|0PF)3`K@Zy}{GpFgD0Aspf@}R$l9mWfjxjUgYlbweH2mJQwEb@!7>w(f>3O*k! z^_e>Q=r9y~+k2YM1&e0p?9GXm#_mIek7~@%E=lph`BC1j3A<~^x7n0HSccV+0hnEfk|#uY&D~&@p#wBNxMbc=aiIr#^fxP2!{ZeIr*vx zSllD$k=D(MawRg!<~qYQWbo#)2-Fz3T4^JAxSB)EP@<9IX&ZJ=F5$vwAE!|BF6#6f z%k;(I7%9+1lQ)XVmUuaDv=@t|UiNTaHwkSIetv8yC>`%KVKkRa$5jOxImu!`g4IZK ze}gz$6)1a+{Lp$I#+Ea?A0@+SN5?#0Xph@>45Rr>-87=NBbVvHR*7l$F)_mRj-Iw0 zWP>kep9$4i9cNbX#w`S{#3@$GJ1I)jH5WoVOrw-5RgFYu&%`$FS%kbdAwb;QOOw(4 z&=+1`pITeQr5EGC%V^l6;Q6i;%go0snoEhoryEucOr+~hVj*vysJgk zm}xkd0Pp0Gtd7y%AKzCPHvHcrs!)&E3l{4l4H!b5$g_|glfsKwYcCS(zB}yol`&zg zmuI><@@wMdP?1{A;hEIy#s(FLMes}PZp_+D9D`eRnLu$5dQ3ujZ*0zXn$KiO#2u~< z2#TD&Clt)Ng0n`!ni|w>oB`XGOCBO+LgVTH1%iVE3s!ny$0W|1#_ah?eR`q-(8&CP zB{hPxvPP5V`;RVC5_4gv9+)}H8G?d%LqMf%Vjfu(D$E)C#UxdD zyv^zaMWZNClf#Xl$7)bRV+W3Um3?kYBjNc`Z77itL(ZIrd!wr#Xjl*^FO*J%R40^} zLUrD`wK3L!;Dg+*jocI1p=V=FLBCvwqlYXETyc|luUUU?eVQdKCa9Z^jVVj^Hs|DJ zeGVdfffdS~l8y-wgaCWlTSS{-j7()rwmtLS1S*;hrJ6NRK;MAoW)pJ=Z$d4lj*r8c#5J5WD9$<%;b6IN@pL@twm=LcQN zqJhUwT3cLDc*j;yC9vZ``4TuS;;AW%5}|UU2nlf`ZKd2LImT-_JSyd{Wd|7>h4wRW zLWYriqvVpFO#pU4iN6%7Sf!Y;j&^M%xDv$PMJQg(zC?#x#CyZWiQkZcM2`JjO^>M` zgxDA`%M5Jdh|4|JLm|Vh_{_L!b-GYd6s!@FzQcdb3ANue;;dBZn~wdS->XH9Vlp)h5%@-|X3t zo_>5vg(YRxlOkDa)I6*!MQzxi7PhzkVGze3Tp2>-zjWueWZ+%h1WPbH(e%PSiHWQU zfl|KMk`?-~=#oJtTWSZCztWqLx&DzeVJN#r;nzf@NgzcjM#{HG9Sz+aHA+e2otVCm zX4FQTG^$@UAVW{BiXG~HU@PP^8v&!U7YI*O$Q)!xS*~bcAIGA);bD00Q;_ZXEEal5 ztuJYpU9>{k^lM8S zb2aS_q1o^uAc#@(ofnELWv1?bzsOn-Z*UOy;K5Npom4V* zTkADGGv!e`O$EmZgzAlTuJrX|=R#~b8BbHoBR5M$QzMp4a#0mc3>@}+2Hgob&dBi$ zzKU{YCIHv0B)8{+oh^;oRHxtFf$g{{yz#AVb7`IyO(m*=22QuJdCrdy7Fa+#NPIVA z&dw9ib#+wNLY-aGJEQ$J7!izO-f&>D(aO)&e_+qGaWt2KGDR&U zTG)ul8hE(m>AjJJO@JC2iB)Tpi&sGlpMF(nYL$q*Of_(U6YSD5RoGbeA$vCR zJtS5o+L7I$-Kq@DF+SfPrBk-+ml;X3!MQ#v9pPNxsOly)CBSrEq(WFSc4}{CgcTqv zh~#GV;>-@nhd5Yya3L~wduTdIfyFP-$?o#>nF4D3k(?dw$T#>SEn zUP|x9)Lzb~dLid$ut!ylA7mm&k|e`k4Ago&meE{jG*dCB7FG?*;mT(AST@hNumKH^ zPrNkH#Ev}sv+27P_hXpd#G9mgV8tR-t1 zI0gX3;DbEX0Uv)@#L#NY~MzBv7Quk1luyX`<&6Qg1Hc_?3DjW2+%;@>Zy6dkq!+J=-?n1Ma z&5Oii?L|PW7?=tB0vs@Lo#t`hVqD^H5Q`Z{ z@JA%@*-{_<&0{fU7f~5)8iLaybb{!cTCrLcrtl#Q8RL+vL?#3p;Lyf%H124_cTht^ zE_kG4OG-aRyB4z~N^GG>8i(uQ07fkWsYR`vDgO?cw8Zu1fmFv<`506Q{b#c^d*mRG zKP>TwA_cLGA(DAS=nj@T#Js_^!4R1Ac}aw1d`c@)PPvO31SQXDOzw_B$6bF$N`hLm zVjofTB%+(`b?!;}MeZ?F0sV}&q}=N+()=fPyQu4XHMAwy$W6>uFA(4L^&($L>k9V>Nl9|IyE`sa)!pyVd^{Xyh9=aobQ_wC z!#E5igGZC%Lz94bnh=-kWQj%$70I7Rtx{*=8+0VD>+R6^u~TEKT|9>Q#eIPNLjC=X z?%Bk{b-(_l6fkv>ewI0vd36<8OuK7=xP39{+hdTtP`XV z&hRIBkc~azim#+Phs^FT$vet)^!y$x2>2Ptl5yvhpVF1gz^U7Q$AqH#vO0Wy<0HsoYEW#Z6}&~K2_=4EmYf6d+A>B4h#_!mHK zE24!#5;3T0qb}1A(Jye1K(N$PdWMJRZ_oq}cl)I010NI(!3lE#e32w65Z&^G%RoOy zy+rI;FS8rCOKx{g&)Mhw4Wq61>p^QiC}tpl&IH7!DH$bUTx&|DY?i5N50}WMuWY1w z5(!qHl*MlqjV7DVQJ?BM!WI>)I$o;~k0$R>CkWcBTP~lj2kMMNrp~>m0IiP;0H^J1 z{Bvfiwq-?Rs};J7IYYHojHKAYynQt2P7EE&Ys@&e7g8?)(cnp*p-|>AHE@$k0ILTz zfGOS6#LMc4zm8SuF1g)F9iN89p*+X0eEgw-Dn%bX!LxMFQ7;mU;&qTqf6?tu>bOtN z!Tuh9I7~l-`X{={T|zW z0v38mLrWfM$R#cJq-LgM+^{=zm*>NxFy0IToW+OJ@NuYmu#wiGa>iv)XQ5?uZXnjp z*D(|REMltiaCx&#PBQdTj(&;~24Q z+NpD+?yWUot%VP< zT=)KNY4TtgL|*U=YpW1%4H~XB1(cnjZ3tsuNQhknzk5ZF|9OOx)`;ks8O91RcWVnq z8#o=~=cd)rhn^LiR6XQct83WkY8Itg0io#}^~+N4i9-EQ!D)-jnMwmA+D(;$sV(p= zzRwBgQUXmT-=+EY6Nm$SZ(reme7rO{t`k_>TG78B%fq8%Zy0;TSS#L~aTbrUh>X2t ztSMt_SyN2eY0io>V7&^+*TMW67~sjF1p6)cO;#~HBml97DE=WrD-OQ32lDEXU_Dx_ zN0jxbvwdhnh1-E3L3K`MDDWlI{;veJRG;GUCd#4=` zd51Lb(C8gty~nioxc3nmVxAT)^F<;0+l;oUzr;VrA?!O0{t-z3FGFqJ`Q1Ihy~4J^ zwb6cr{Yuvj@(l*m=0zQLK@ zyTCrcJRdR2@#=uujAV^v6a5{TsJd79hxqr{mULR%`6l<_zH@vB`cC!(;m67jrh%Gw zSo9vP-T~Ts%zF=uZ;|sYy8e&5yIP|}I9)&JB019YF`kjEHT=;{jx#}67o>I7owEA# z$3v85fheY}KO+^a(CA5(DhS_7Y8m9uIc`kHo@wbdJM^1drR@W@YYcC^>QMK4GC^W~P|Sm*7S*SL+2JU($cp4^ z)=bKYo>U%`U|%-lltMc+Wd#j2z|$j z>G!(`R=ePxKDT##kd5U|acVZ7r2#%V?pv0(9wj7i& zoj8+;0Qt&(A1?nL-$U6eSwgVk*5Sd46}1_y6-Pxd(=CWCE$yheEs5eTlz7xWg5G~9 z3`gAtaf$c@*#_VWOA4A;wE{pRW0UXZGq}Hx=2_bjaXrP~!@UXLJDHZ$5#i1fn6P^;v?kEKP0-V?~c1hd;+B_uUxL$XFF5j>SA?y)~z|_whrmN8d0&l6pE6N+% zu6b)fsoJR5)9+J#f_%VK-_c$%=@!t>+(3Fl`v!Ume&;_1=LOLT;LPDSa^&6O_wvCA zkgk9uIqR0BU9);cy9M8o2_3;PlJ-sdI05Bkm=tot=JZ;jqdJ^+840_Cl77A9R-)ZV zT%#52$2hIhmG`Z`oYwM+O{qR%cRD%fM5Ps`R@fRb)E8A=nsudJ6NXM)T8U~Tu93%H zU^|iC8t`e0vI>w8t6jO~r)60MU9llS*loXt8TtFk!fsAnlMTb4DO^w4GTTbkv&e7; zCukmxIj+Blb@rj=7Lf;1;h?&Txx-6?Z!2jpKkzTMa%`pRbnLfMLibTp#ysweL2 zhM%j;rmDL@mu-A_zqLPEmBo1@v-4QM?8H;|n|wi^6^xP5w!5XN)*dfI|;2x;eG0fyzL*&g5#PnWoyc^az;HFlt^_5-RSj*J<* zF(37cZA0H81liOAk`Hw&2_vit&4B$Y?Gzvi`Br&X9SsM1*Vo${UXNu^;N?ZDN;d zi&~wyE$D{jr51vP6kvRh((`4&GnK+GOGWIW@eWY2i{#xiq{lp`8h+x_rKtBWGo`?! zW3QCB1a_2aMb@z(%++%$=6c7zb4ut^NDT@k9?jd7>rDw6!^>|+tk*1owlUURnGY6x zQAx{%rp()zMClj*`#CTH-254!j7p|t-Hce)1D8s!6_`)4Q*Vf0$FahG6hu#+eV1#R zV}dlsuN>DJD9Fq3%}vy8AR$VgJZ#$(Z3mbxNRzBBO=l=OJ0DI&+*0{rO)6^+idXU* zrQY>sgR^@c05k-NMJurxF4}dfF_wDj2$Y6+)Uq2X{tgK1>Dzi@?2N($-bOQXGW{d#du70K;V?JPo5{-)N`NmTF1W5 z5c}Pu(0Rk6s^2;EqLpA_&pDKmJT(?OwwE=}UW)oAaCb_I-!>xX*bzInid@VzpSjF$ zCw`%_Ji_=SK9APShw$&^*H~3k47(78E_&6GPb1?{HciL!`9@bhB?|Og6)BMf&(Q=A z@u6%@@ z%of6~*kyz$E-oGp)Mk+G5LSjp3QQ9r>N0pj$Y?^?5z7M&9*c zW+AY#mMhF!**Qb?(Rkm>4*A`=h&B{f)voz{GLz(#eENDhUGeo${}xE)tsg>ot!>wX z@juC6FD89cz{Z5{oYGePPq0v2c;mH2VuNVk=n>}#J6HM4T~pgkKf%DTk%LMz8AWK} zRp0Di>z-AhsuRxoj=4rYBRinpjjYb*sZVOp=>YOiHcV8wrmr%J{kCs13OLXb-2n3o zcl^WV#uY6&s{o)155Cr!Cf+>TX!J?PxEM%xgYMyjP2ElBKhdl(@y*wrrzIILK7ynCraqYP;VZ(l?)55-2j^BBa-O}l{wACwOe${^|6Pqu0 zV!iU;|MkEAtz7=Uf37`0#ZBZ|mW;^+1{POr?v!kKG(HG|?~YmVV^o|DhJ4%}viP9$ zoafzS{MJK_viH2Tq689p6Ht%0y91CGXF)0-ciF_Prl9Jt5FZhVnr~KYn6?!N%}R~* z57KYyv;z?BGG~J7&%iEk7*%>aGJ(buO5b2SbZ2))Lk}0ULXO2kn2a#=O)BHFNVXPO z5@j=ooWIOoOIane*u#r+uF0rm#=_6^D?NZW&+rvZ3qYr`ba%f`iBHB}t@Fj7&BCzpJ!(hH*!gg>u;D5>~*4knltJ^{g2VW+O zCrx`wgH`dQZ;$DBH!iKcI4ZJu68as#R*eXa7ne@j&NLm~)>~K;GF3q_&jRf0g`Nx6 z+w%$aL1CxLLm*oW3+IXhn&XE1!)w9?x^Q_;0A_OWkg2>Vi1$1n5HZu8^4#HymGBbj zDdqoNz9}q$IrvI%t%O8g8`^%wPvQINTh~jZH~(zDzD|3u=)S*}f%nsECwsEumHhMK z&n;NHqB{Z@1%Z_kMu->@<7JQ+Q&x_RpB=wJ&^0g@jM}1`AoSG8kheN@8yE6XXSSjR{8T9)en#VAuUu>jY_NQf0vpsQnA3(F6HIr< z7r-G=6ENW5Zeb5MzGW8IOcHugHKL(h$|lHfkSLgwYk~w-RG9g>zF1%tuAt!?=;496 zsjEb^$>Nfu1iKY-V*OpB9l|pj*de~xf{wEs({=2_H@6nU%L{U=SB=1;5953 za+TO~xWqp)1+k?Z5?`Jw0nkKP=!Gkx)M>1w;CAE#Pj3|oUD~kCz;ltzxWw``F>^~<8&2+h2J!7r8G0;?!0 z)yY<|v2J(6g-X$=gmxf`8_LhYwaA=;S+LP$CgLToEm9z?WLCLkRgWhWgNZUpkiT{o zw3@{03o94=W*`_-x}LbINbL}Z&cP4L(&L_qm4_LQ64=h-26|**RkiSE%g@06%8jsQ zt#mbT+p1jsz;w04oUO`WQ`vN%7c6y0Y!x)y8C+{(&@KyUL+d`(x%Iqw$H`QFED&or z)l&VDyzUk5M4(Loz91a<3QV%oTXKCV(<3jng*#)oRV`5|S#HnKOVz=S+cNN>mLq zg5a8miNU#ANSUcDa-lw{C-!z`h2Dv8eBOmL$wtXGn;}PmIr@eTKwOxZcm{5b`;EO| z-XaA-Ngd+7)VK<2pdKLBi#Z=w!wf8k=|@>6VXg()p{|JGgZ{CVkvaB z(~BvLyi+)XN%7Rdt;^*N+@KNJ#z=`)J^mfqd7KW+rKo(u0BCPr;`zRUCU1ZP`^ZW; zCa?|C;t%)&BCl1WsN34N!m}ogD|3({2(h-lF~)7xdS)`Vs)Phx+`b4pufkxpNV2#p z#06Dcy?V!7k9#Bi9sHWwRp>i)x}!5LKwEOoxjNEV)v;*YVG9~3NF7!$jcQ$Cql=8WD0MAot`IoVo2eovH{!S& zh-e&hWmqJq+#wm|4%m(rgmRks3HDVRog5jU_XqVmkU{3}y2(975g$aWY#yIDoBqZM zjOP@~%GP_aQl0~Y{R;B89WL^?F%NEncQDP>O(WXDG*`1gunv-wdw&ov82%LO@g5Zi zYUXqL;np2n%^Hpv`q^rDJCVp;VZO$9Ak^YDJAdy)8D`Eb z3EimF>5`#Qt!EdA#)$F5=iv+z4K}bh*cF=J8oUb@Hn95%=I`fu1lgKrKW>q z8V`2Y740ksxy;g~8k&j1g6qO;qAMNK;r*VtV2MAa9MnDHoSsn=w%x6!>Pk#ZQyTUp z&q9&<%mFpw&CK*G?`uL5iP=sYEcKfIMDB}ly&sh@Hr2fjG(@$GFU-@mngmp*T7vic z_ky7xSnDxw`aye+gLvwu4g1jTY%CkiRT-6#2w@KF&AIuAHxsW!RaqbRl=;w3Qt<*X z{`Un=yyJkT3zjJu;bJk<)DPwpA`TV?gVmP(;FH=Xz=%|TGev?a&KO51=Gq${c`cMl z``i4Db`v+FK##PEw4h&Zx8fEUVA_5ow-gc+!5xpvgN@@^>pCeynh9-777&ekK}Nu` z9r}!Xcs1?scj3U!nkdiZ`}rM@KYH0ECUfIOeu)qXC(n{k8f1AuWA5gdwBa%-A~kp8 zA&E|Pa!05n$KryL9wKhXpBu%g%`d?h)C*{Ezg@e2!Q{mJ#RZ#Pw;*hsWD02DEG#H? zRD$7bvunXAzRjqto_$zzf-$pp0i^#hzvqOf3x+D@dnc~0O0<@Bpm>V-sZ0wn^Yj{t zy9C>rWjg@U&cR~X4o($8EI9&eFHz_-q0s_e2BG7b zcJpc$3wh;8r$8CdND3!oI#Z(f1$O>~2JZ5u zr&A>MhU?)$v}kPXV)!Fa@+u{yGs+mG5p%T{tdmuk_zTOf1RZ3qQFVv^0hG?g4f6rjK z;EXIpM?;d8gWYa+!KW@R8?7$ay%#Y6^%y|p+YB(U)T;>K@<80-Bp6<(H2IQ7d{*`V zuRy&DGK47W-(ju`v!Ko>!CN)TDz>UH>R}ZO=x}l<+~?Iz+tmBG{FVH|tgl+X;IlZg z21;Nh8HMsDHLq7CDe?YnP}L8@%uX$V0?vd8o^~AWy~&?wQS{B=;yU=g>f>)0tV>Li+;(RdsA(Ifcp|F=l_=m zM<#;YHV9bm{5#kL1d7~l+^)gjG9!gmmXgi2c#KaiPHLoCql|Hqu=D_tn zDFF(@O5i`30JOf75tFWY_mqNRH?D*|qzYrmAIY4Wakf=EngewrIhlg#*J!9k%#-D- zQcv(-dM%D}iyuEK)+}uz*29%{Z(w656(y9(K6zTXWxgY}+n(#1UluANsuF0S;ajUh z=Z#Of4|;nv^Lu-8TGcim0Y*83=3L20h@b%@*CWg#kVi%+$NeTOv|I#=zq%pRXx@Z| zs2Yx7N4u!1{E2JDmYCG-2oOFjvbM70Dj~8*2vx->gULeb~Q_%vuGog%sLs! zWY3({m?2HOMa?4y5LPOUSm27tgIsePI>r{|U%`dR1c|*(V6-19#2unUgtY`jYExsX zJ8;x8;Vr^kY1VvMv(<&57}*AQY_wOtzzo_5WIjXf%g&G}zzTk}Dq1Y=nDLIMC_#^d zVgXwQx8-S#%y?YxSTpgNLOo460g?niYYmjlUN;j;Q)ZMb5yN9JNe*Zt{A!%8S|d!s z$gLJ+;P`xR_vIgegV)7_kTMq2{u@;fM%+(oL72Bf(2o|YpM}qXDRI3lk@+MUAaFqS zW6|v->mg>;7@c;_l+4rrp@oM72A`-Tjo{}Hx-pSKSrk*mFgnN$g36B^WCYaYaIidw zV-iG>Fyhgi%7BSjy*nP^5 zeB^rL{xPf1txvOr#T0cDvNLHTPAN_>DXCR(hSHvh1R`-QJv}B0=q7}NCB0U%pEjJE zq=*x78&It701!~#F6CG4lt^qAh+RQyh25RqgKeh(RZnuOri}?ijbS{tW+tClpX7Lv ztO#;8_3|GuH|r#u0dA~mB0EcBocISn=t7FggR{YO&i(}ZfPtNTjUz*;0xx|@R2Pjk zL*)A3$l|C2FBd135u?TY-7Fa%jY#W>e{HMjxj^a^$L*{BvvYnugkj{dn|! zN6f*#9J_F9)-LL%P&D2N!q&!(p`(EPgf{J-0~GDhCwpRvdM?+2rza7$r!uG5o1*$l zs>@9lp~TGLx*Mvgm44{6D>O9iLDIV6SEN*uIK&3%!xq^Zh| z9u-v<`bC)vtlRVoTpiLfm}C^5@;n(PKucaLnFo?PB8-qYrr!^oK3sYM=<5`~kh1;d zD1IDx=thj-byPsM=d)1QMOWAEPt|UvKKh%-5tNfN_GFrXn=dFG7 zCZ8aSEipUW0pZb-Jk6ny4WqocH--s& zEZXn}3*8{(LeaFWl92nBunB#sz}Sm4Xfc6;O-q|k;(0C-*ozguNUM(AG__?Ju`rNJ zx&q7#9QAO3qCIFjl}vL8o#D(0ka`pXVHmiH;HHY5N)h7z@cZ479c8&X?^?Rv(kFc& z44kM)-aB!(`pajk31HlS{%HO(OhIjO&98Vdb;zL2DH&YRVV7Ff1H<3u%VI4k@rKV; zJFE-zs{2|S%o)p55gBSRqc({FK_oIAXu`y|4Ud6@cqgfv0lFp`N<1(LfM?W+ ztd1*aXo=67WAXdKC+_y`H+i_KURW?@<3U-vJ(%iro#!jLs?Sb{H7IiM><{KRj(hEH zCk$Lu9ex~+vHeXJfwq|CsC&k9SXG<)n6HQlTVbQRXSI`Rk+bM2j%El$q5MD$E(k}} z6JW3v=l>0TILNi_SJa|d6JZzfs5yC!{PKRcrj}yHMlNdBqdiar5!#@&zI0vVJFiwR zV9%7}qt4!$WxeXlyInU(;T>x=8Cc~M5wt71IzQ+z>=ZFi|41kCG+Y{-&NA2x3nITM zkWrbt#)#;8t+n`&*t26jL;~cJW3$L^4>crPa{lnRetn6Pbd=!TQ8`QJY=K6-o@F5L z;p2oYf_P$D>2Rb9R+=kYgtI?}CW5QOs1FxreQ5x(SFS_4a#iX`u!s{23059mnQ&!V13K1 z`6i5sw`!%$tD&_t>{cH{?a_eDIP|)mxCREV!@zlrTWvLCgAmhLhR)28Q^jLXFfzqZ zKq!>m3wSDp-TUJt|cQdtIv(hyf)VR$k2+ zU}fXcqE1x-=rB~dM4wsp836H1O(<*x20(9S+jAp#F-hO3#$w`1b`we}jw?V{ZnfEW zMaCE@ay^UI44@UQ44)a(OoIQlxdGMF)mj~mrX23uA32JO4aLV`ZS)~j-DO4&nb+_` zH0Tpejjca5{Nz#7>t)w`p7!C$A#B^c?gu6p!&Xc^#MyWEu}w?+BS4qtG*8 z+fqvhz(LZ78}JH)g=vs7H3lJs^doX6wM*55sP2m)=~b!thvNG~eh=(hsQGBvgM#U! z4UxOhJV?F7KZMFqPbfg@(3;-`gUH=Z8D`?0utYp)2Zjn)BsYX5j*#>dqQ5kQgn7Do zyJ4^xQ&WhpJmr_DeQPdo3>D`b7I*u55I#L;rKoep(N8Fb3emOxO7}GTI`=5-#Z&f* z+9&1$Nq=#-i-u89!(4HV-@;t=4UUTs1ul)>w#j`I!~5`Xqz;zzK?&vmL?_{t7Q(;6 zHlpk8w7$Ad8`1gM+}!vm?soDOWV83E9v+T4LDMQ|$^}cvU;{)AW5Sa>SQ-dV6yb8~ zEY*Y|qxiGPHQMZZgOI{?yB!ukZf0b4Ku>XhxaQmM(_i1|9NBleU;jc1khUy8!=mAT zwD+n9o0l4556${vIYBgIh@lfPWFv-(+o2Oh6`VsmKvfI8vA7OvL+bhE$_JAq?WSQawm?URF>l1sKeu#d7dj#Tvjj044 zmS{lH5ZvvJQGAZ~*tm*r$Ta|8(?|tGhrHk(u#XWh5i3Q>Yn1!~WrF3snh)QNxg>VAA@7;qZXo3x2{4m0M$bSeDhc}(ed=IbDUU0jA20@K6q#dk$gI%Z4?L_Ce3(b@CYurAPXaNBYnv*6DoNve<6w`*1-MR;V$kY-Hw zSa_ZoE+s>@bmh}e|K=194TUB_()2yJ15f+Z!$e}-d+ug~?xM6YDZQh!?DSnKFHhy{ z>Fe&&$UM$A-miA*N9c%7oCY!;%;tT_C*dL&Ta zen`twq3}7BK8NFHaQ-|HphgPhrEWn9UWDSp4An59MJYNf%OdY;TwYRsp@-;e;C{{G z8^Z*jpbL*7i8YR~gE=uNw>4J7O-XT7x{jD;bQ zW(^AM6CJ3q~6_9pmSw&CmyA6!vhi`9E?HN3 z{{09G9?teKmWi=jtXX5M9%T_3YsuJB#?rEen6lEG4d=jY4cM)L!Zkp-lR?q7o6DOl z#&}3*UJ2d%Lj+U|4ys2=wNR=SYSluqI;_?nnrnJ!xK{%R>o8*lt}NK7gu9+7?Z@J> zJLGnc?(X5=H9Wk*PZHM(p!=f9|bc?BO5Z5&vy8&xAQ0^<1 zP@;L;2pNfgF^QvyoT#vTp98m4E=K@Ot@1EpdTRz6!UCCA4`CNGq6o`1uO%W$bIBKk zl66X4`58R4JYN$fF8<~G#CY`hHd}S)SADB`>H_Xdz;CW(k-RVjb>!cimZeS!Hz*9WebTtC{5b_1b@Nr9YO2y}yx?hw>1#JYoEHxTUx#Qn$J?Vbx6oE@v* z_yw-euayD*aFLyv!Bl0m(iK>`0!*I^rPr@n+?};wu3iaMAMBxb5?ThyWrowxFdkY$ z#6D#rbmopN)trl#zEP1Ts_xd;`R6o_$PR&|BAE0Hl!hZxd`W8vrqvjJ#XkGun7z@m zJ9fz*>EVXF@%GpbGTNq1rJkM+1$D8U3e;t{CW9E;&ZIgU3^=iWVls&3cYw%Zol=G} zx1pFkk>*rKYmwLJ(c}wwxF>@7&W5T4)iML9i~fN;)Iyi^7yPz)N)bjcE%tmE%IbE#_smEvBie zEuzm`49AWMwUm0RJ0`Zz{iyJ$?SoOFZpYDYQVS#OD`(#)h<`1VARPiYUQao*p=}wK znT#>Cr`H4l$65ZqX4Yx&i1LKoUQ*t1G-IZhT}OoG(JU-F_QM>coJR6Hbr}gkF=qZh`tWY*%?l5Ok!46DWNxAfn1vWSt0L zVR2ba(P@g)HzVOE;__aWpUYs^SUWUM-wbpB^;c(LPQ`DNq+Tj|$?2r46~9&@4dhlw zxb?-KkdIb^Iw5PMuocoyiaRkcn($JR{;e@7eorx30z+~SzUFq*^1b*uj`~bc?DL~}%yv`&Ncd<< zWTVR0tSD6_~<)5Yu7==7Q(F8M`F~VueaXXk3;P zL>e)_KJ3V7Fqz_370{N4Gfj)0cz?rM`NhuB5&Z#ztXuhQunJfjVeC<`kRPeM&nD+tW)( zFGjtr_43$?q><$63AmvUY;v+AO`XhjV%Z7qj&S!1K(^-7)@T(kAy%7o%}=Ye%E4lP zf-KyA4HNV?6qVg{u_ic%KT}H79B}s4{l{_{a{J&3nn~Ygejn5|f2zIDrG+^bd4~q$ zncEE>RFrPo58fyxbLbS@Fc}_I?LU|4w@|ruS#sPFyaLhTjK| zdZ)D!)3%NSl5v8-x%zfnFYMsI)7Ay^k&X=1vrBxZv4cJHkBNm1V>LTeyVt|pjXlFL z|3qUm=9M0pno^H%xAr@j*>_rdV5UmZje9$DUqk$4l{Qrs1}ZJ{;r-_RY>gJ@jf~P` zN5mC4b-&FQlv*i-J&rn>D^(!m44F3}5sr6SYLQGqFQ#1YCDu~~6Tg)~m8_lvVI;Qz zSp;DL!r-TI9N{5P@41{wWiuV-QNU1lo{?T5W1?(2LcLg!&{c^P~-A{(ch)YVS!Jd1G;<9{ycD);!0b#`wo>_%Yhpv zPdmBN^oGzp$LIBsP_jgL*81$<6&`i$x|7=6Uf{NpXhjuS>rru25+s*?&829r40xt| znKA_mjTnx1fZEo1ZA=~8R|}wO_MMVE z<6LvEpUaG&OHKrOq!R!a^&Cpd&m6)B-MVd zg-|UyW@@@-=$xw3DVRL6k z>eW(qv0L43wWHTR^$f~Te6KXCtmPtJ$nR4YxifjKQTeE7JK!We+k|C;(rLo^0#1Cb z_#mlXT2*8^a{`b-I8#)qINF&r}BpPH8vsd8RWJ{U^Ovy{{9@e)lN$bG8Hb_U{~;(VEd~&Ql|@ z0x1M#l3A%h?s-n{R-JNRvp$&=f;r;;K<<;p!H&(vivZoJzi--(;qF44y2>n?e&vw4%= z%W01kt!-yO)$Wmul4wpn?~r%i?UF%g4$R`D%;KlewV#zpjV$I?D zD$8qS*t|?8(qbo8|72To86Ssd?snvbs9{O?Ka>abO7M5x>}#T_2@>XMJXT@YIeF7P zd0Zp6{M~7Jwo3eqM$Ye(1SO~7WnYkS66^K7Aj2(B(%bm2+!1Z${{(X-qnE}Zkk{r( z%29>dzR@SeRaS1>zM>)0aoRekQ~>%X7#lXaP(yKx2tT~)o&C#1vpO-a@7Qi+rmKgC4Rah$&D*wY~cgfBYd!iNq%{=zZCHN^Q)l6YB;7 z-0Up>1PYpAZ@BQWj4xlAM`pXCv!QX)T|Oo^ND_GXm}Pf2_CxF#omjVvhkwKJcN;KQ zhNftS4AN^^C7yOCu);{ZOZceFs3GMRrT4+tLP*Ao*4Q6=)OyNa0Sb zSN{9I{@1^i%m4S!wekxbhhm>Vw2dGD1`n!-IvSC}OnIwWQA<=R5r$MmWC5;#=sYQA zf?%7OB2KmknnQ3)eX>uO%o`@tfXOy+^4~D&@4Ty;&sPVmQ{a~p(WflZq)I?~exkv4MVe?9)ajv$)1xXUtoPai&1?!Zm%0_A z9w5py6Hb2@a+U3{4b?57g)<}Kps3JPZE-!;Yme%2HzKXI(4*>Z>ht}}j|aV5RA%bB zOvFx{Z5`%{3lQsx7Jx@w5uC1+F9NSi*s0PnBQD3nDd_c0Pm3Hjm(~h<+kT%aa-Dj{ z^G6_;);Uq-gqfCgP851! z>BZ?l-U^BA#kLjgM)Ygd@L}u4+P>a8*4A^^$QM3G#~8ifar7+Tu7&LF=)M=khIq$R zKXW|Vy6ZVg{U$lLYh?U8+rMM_4}1{YX8&3GyE`6`>bA~@ymCIoN;D?7x44~SVH}Ui zUC=YzooPR?{jKTWoQD_whx^$+z`Q`d{{yzon~^DuN)6Wy`hP;`xKxikouP+JP_$GvE?O0@+;=J6tjFeX2fi11^R}?yX@9r;2-Q zKn(@zA#?%bB1T579042d9$XQz{nb-6xMBz95gM(U;lH7Mfd+WwHi|(AxuWz7V8s0k z5@=9~MMRJl;EDl(;OUxUtEemjpb;(*;EMQ^2CfLNxd^U!e>G0cEuwpCbI z<@eW}KBgOL%(8Hph%I`!k(Uv~H)VlF59)!o3f2`$>j^A=3#4`DpIfoH0>=gOPp-9x z46bWN$D+~O2jb@mj_OBzcmmo70zIFe)?)d}l@#0#U%8~WN{%k=>1G(CWQH~(rG+Iq zY9CQ3avzmF0Sv?gkY)2*HHjDYQ!{Z)^{58L*eqWHZXq+PlHa38_R~sgqG0~3`72=l zffwOVD-eZtZ^(YL8iTQteGN87Gr*ol_J#wj%Tc;P{nRZIj((Yo8{wZ9sEDP~Phdet zovK?!=DOVt7fMf~LB$PThJCoD#|4894$8 zOdEI*n7sUj~0^#TlC&pSa{VR#>^Ma)=sa3F6&)@?SDfRQw8`|}$l1x6YCGLrG6!Ff=DNtxj z@B@l%y#<15HEmrwli*Aod}gG<@VgXRB1e7lGN&M?79wW2{dE^AlRI>?0GdE$zo7h>Y!t0bx^va3uiRQINjo?(Lk)gv=ZQ)ytDYOR7nG$S!Cd3Yxw}mElOfplQ z9fY`_&ekF@wiV(sP*&BEE6!N`_ND%sF!GxL-o3C&ZSQo(r9{FFXEX@Z`VFhrH+Ay1 z;38TcacK2!fcP4T$9{p3b3&&LKkg}5--154Wc6mS>S=f;)M31+ zD{^i52qK3G;A0Y*Rj8IqVIg}5Q)k3L;%9T4hGsgClt!kyTG#?Qq>dvc-=ycNDE%KRr9)`DL}k#Wz{mV8?fm}Vz*WEx>fQrB6i!5o9%dGuzw1^ zP5ppJr8xTmram3Mu`c6xthG9-Ok~>`yUr}S!mc{fvEbWCYO~aI?u3FXzNJ{=cc5}k z{?5RO_73s=i-}+#v}t~3ir{p)ap4DM#)Wlid2xko6rNNSj*FzYi<06lE|TI7h`uDp zU4kjvG8G?+=Bh4grnna<$b;FAR`nTUa&skKF9)^8 z#hNEp!zywmtKp$Y4Qnnmks3D7`F{6avC9Km-5M5_?Ui-#sS6O)QP5+lREpJ*extot zOlYu>Mx^vJXkqO_V5F^cN917D=sVX{b7k(;qk4`@J=|*GE|Fr}>Ow4qV{dfA1=D$A zZ!q$nMisn2r0JOzM+H|~Gr1xx!WKrp>& zp?QwVqwPgC4e_+YV@23{I>=!p1}Dg~Am#wx06xmt728MZ-(ODS`|hcDRjfi(vcj30Pn8w5c&ZMg?$GPMrLRhUl) z6%!+C;l`2XxBZoPB@o)QSw|lZtqUCzK;s^c-$I$aV98D>*Jk#baIZ{%02azM+bN!Z zPHR052DsA*Qk;R{eUk*9-~YO6fy#_?j6N^uomNcTA}J36vgmfo>h25ej)5aeg%A|B zj>;{K+Fv(%Kd0VWYRZET7^u!uz43HGh>q%nA8pWooP;8_6NS9UO;2| z?ZWd5rfA(pTqp$=e$erbDWHwAut?wpz_V?rrS79m+l(qH!{+z2V*>1gUp&9(oTdx* zE130M^OPXIt>eA08PN25MIfj%Yb4YX#9OA7Qo?7XlRh|u2hux__rikdnsJJ|v~4pi z;}(ClnjnfRD}lgR!!C)G!;zuCXt#N$y|%4x)}hM^ak4~t%AEEs!yV6lMAsfu2PQO9 z7wqT0z7SvsNyecA${Ds4HV}XWd0JbTIK!dFW2tWrjO&rDib-jKiQ+3DCPRfK5CBwy z1wFG01ASqMmEgzpHO6df^F>=|D>9xl`S^+&pK0Kc&s@^L*Fbxtfrq@N#sa@VMuTL5 z2dGU+178U_Swc~I;7%%4%(rR@?@+P37(gyPwXguN;3oS;EETn6DFdRyn?7^F(5GT3>-Sq4WuM^JGc2kuMRtjGkJ zcBKjoG+*7$h?E#GB`BpTwN7x1!3!$ODWpkdj;{pVLn%7zJ6SI2nlnGz*%5Y;s#+nx zBxA()Y~yt_0dU})SmESoG};oxVcY9dPyAncH4d{0yrPqXhTpcqP6q8i?oex%$zC}k z93xKKb5(D!J-Jb^a<99W80JfO2oIBco43a_e{ZEqBBa{T*+ccpbaC} z3 zD7^(k7y*5u*q!G~68qNW4P}e4v^20ZNw`V0T|w{?;wP{|o$)2jAW-S#5JC#LE+R|c znLaRsc!Rr>4zzFhy{!WhEZ)fUchyqnELbGF+r4-U;7xK?;v&l#Fyi0B6AAP{Z*;yCZ^I`;@AQPONae@fEe! zgF(ys5n z{DWWcx*{;Z&cyy36$D1$Aa8!c{c!bzg88#>Q)o}C>!pl0-UF9Xd@K&0bg6#2OCt8LR~lp3&fUT1U6|xpIDz{(2{g8DNQdE9{fDR ze2|?5FGiRSzW-7-iL&$d80qmH=D zi*5D5XuEzlF~)clcqZdQ-)MQw;*Q8qSY>fkg1H(AaSE|p@o+{`28@42!X2fF9uX9t z0_p)Fry~|J0hvQhFbh=rSdm{7>kWKFB2W};5FM9D^9E1g%xb_n#TZdqkv#g~Oa=f@ z#Wt5*-5L)0qSW04hmnq}2smh00l62JulwkBgMCKf!_DV$2(bdcMaHJ4pPHUO9^J?*Y~CIyOO4i!(?X8&-%fb9OFwu>0!|MQpY|m%WvssF#Y70{z{mo+%#%&t=Mp9Oaib+~KJ6hGf zEz*m1ZD8l=Qpx;)V5f?kN)fjSwl@ZKlxAz) zbML-4clKeOU9?g~sSi-h=RGZBa0QnZ0%m_genSHb-`D7~3$aU{(Cuy5uQ$ErjR00%A zS_cUr;%1ulQv?u|NW!ibAI`<7g!NW#UWhiZ`X1HT43VN071ANo8i^Ipr~He@6)qw& z@nEbu#WB+wN|5&WT%J2Wv6`bGI`6Kk3z^Q_NzLvwma_j!Y~#3bn22-cAogtvw_BswXa|?A^ND!jI%!3snRRh6YYw2 ze7DmEj;Ib`4!_6Sf?N&x&~eZ2ccLkj^f6==WmY}A>YlV+E&Hvk`UHF2Oe>18T(NE- zpbUbt*-PA^-vh22)q}zp66_qC4-tb&a4osx{oYMzOJr-(9_?`=c3^8+u{_82j_W>1 z-NxR5?%SbAGj_W3Zueb52bo*MmCcAmsD<6tA9RGaOw|lh^67LtrKq|Y*9Ys)!A4q8 zc~mUpn{so)4&4y5)T>ZG^z9Mj?GyfX^S-K z#VzB24<9C!A;c3$RmLMH3n8Me)VQ?W!u%G%)p68^i?g1XI5KK$BD!*A${?@`5eq@~ zg#l2qZN4xyMBk{TYv>dg^tZ4ND^D#t{u3E*dS^y$!N!c3{o)OcuH*^Z5r^pKQj0TIBS4)6iQ zl}sj-O&mRdzTBMFc_%U1nsGdl5fIV=~cf+4{4^&nG?QUiQ!DIU$Z5!nV!peqaVO?8Afuxv1lo zm-*OZT;ngW^)draZ`pa-f1h+vvv^Hzn*^bB2$i7xa&H6O>`3_i3b~;nmr6?wG{Bji zr)b>Gj?>$Ag4|wF=o_*^Gl6DH^zjxi!$52r08R~Th)9OWveYhB52D&Lf~;3n>mQ2j z4+%g-?=Aw)a3eV6Hbm|+^$_y{`v|IrJ!1%|BWo@Y3?p}YWDpkr9ENRUN^_RU!;?-E}gI4+S@kTX)V6@o@AHnj50ycb$?)_{aMu zyzon|(@S)IHa9okio2bB1u^XnQiz9RShLPqjIRMBR z#R4!%mVnkP_A>bh{c!gH#0)#34tO|b0YyA;w=YI9G~OEHlDQLd0r;ZEA|Sft1=)ao zjCzfbv)>^gFhAe!nNj4;d;Tp{kB1`!$p`Ha3G^?4Bxy=GNxrliPbqF>ZrH=*jhX9w zUS;O>Eq{_B3@`gS4K^QRKGk%DF6~tnwbo3VO^Tn)#Ix7-!Y;!o(3r=hO}2CJ(Z>t; z&ff3#egG4UA;uxUu@rOcU6#a6J*Jz$0UeNmFn*fgPirc+12q>Im z+`&>eV0H@bPIQjD&^^n(%sq*SYtOOp>YeTqfv0!7lLny+2h`%ATnyBU0fKQrF&an4 zqRdF6xgpc&bpPRQcL90B4d$JSRtX5s=Q?#D#vgF#(>m$AUmxGhshylxOro= zJ&n-k5&SG4pJVLPgnpLpZ@SMRcs?i!>C7RaS)?=#q=v==qy3!l$imHvGgcGIb`ji` z>sSPTCjU`=yk;cQ$wrFG$j}_klw-mLmxd+D@+e*OHphQ+hJ{8&(}-#MF5L5_t>cr_ z*5!aan|wOaB6UBl<>nhdd|I5mPbJc+Bs+cGU0#;Q+1~ioZvFt7&&kur6iW8-C)`OU zbK&vF8T}!wPFX83{T(oshmt;sVLOyB%23A|2-)ByTNGsrvaAr8H9E5eZ#LM@lLLP? zFliP<&4R3H3^t9=W>#9ckE}ld`1V7ZnF^NA!S*>|KLh;dkpVSyATROe+6@GQ{ySiO zY{2M*hS*j4eXH(#3EMkKL|+Z|Ymk7=q8lR!pF$6h5sNjYzE?y1{tzJ-gNE7xOtp}z7IM`> zvRcU29;T~9eXUJP0&`s>#|m^=Fj^U>JyCX!1#)*t?+y&U0~fFHJEAe218CA@v>RzK7+v!2JYJPHn&fy_Ii3a6X?$xHZ>GF2_q%(7d&Qs$nB>?2 zQMV}T8in0}v|9{!i}4;KbQ*zOhKPNHrl$Sf-fuDF4a9s8fBvuKLH0kITkVt0i%qjk zqs=Fo4{nF`NCT-Gn01T7Zb8}&hP%ahHxTe^1w2k@0W(wMibr7)hZz#$1CQBJ)8k=T zFThtA(HAQlN=vQLtDTeUWQ`GS&A?BHqAe%NMTJ4A`Xg+df$|f$VR`;0N;~|k$$;_b zaf21Q^Ru~GJ$QlMMnK3Jg*7e~O*;8^=R4~B>h5-rH?Mc?^PgZo(sqLDCD)Ixr`=Gf zfzn{;1}WX(s9TtIgTn4n+BJ&1fqDONcdO_^0;cl|l-J-2_*!}24;Km&MSmi&=}IR} zVWmr*Gt1YkZNKvC)=I)DQ9a#vvR(!`VvZfr@h4h>#V!S-U})6rjf!58h6TtMRYyyr zNcRND<`~dVs`>`QU8xu*McZ2gFx$q^GY;4r$Mlbu9Ca|MjJPza`H@g2fkL2u>I}!JG;YGRCn7tNrXz4WV%f=~q2TIDxUn1*!qSV>j^K6D*-LQ$ zppGU`EqWNaUi6l~eB%%*(?wc$`PAKMObQMVP~ zmnMaKt6EWSZ_S+SBe1`Z=1kl1aDByJ!~Kby!loT{L_}wa5p$zT9bU)1Nl$oA*bj;o zCJf+h8G9tbbP0(_k~eg+H_X!y`;MqV>h~>C-hO>R;C)AYMR`Muq_q~5=VtNqRPL-X z^tN+Z-_c$%nI_Qh+(dpx`wV;ye&|1D=LO+eL}w1akw@=Vzg^o#dJJS7iCVWN{j$}| z+O7JIVCYDXzQAt+$Vn(C#H5rHW~WyS9qnP%%ShTClo#s-x038e;5xP7hQunCfxvJ5 zWmK2fZA$wI!_x^uD=M8ZwbE7#p@E?C!mKatnl$tR)5ugKa;-#mBHPJy(SlDKl~sg< zSWU|{KaI;O>53T%(r)`TEXm(a7|7w>ACLwr=RJ?i&_gZtt{p2dMWC}l-xTR3sM zwP(2EZ?|@*+_W7@|KP;!#$E!jzAXkq!W^}{!$iO{_qD-KRb5k6R-n3&3A~=T-`t<8 zz2dx)nR%ci0cY+v_<{#!jF&bsXIkf#S+&OA-jZ3itKFj}1h6bBv|Q(iNg{@aG$L{338wiE@x9SP&7 zg~A=e`Dv$!&;lhnVTXonrEU~%nqQQ7{aSy^YRZ5^Q$Gv3HLetTDkJgqq7K~R2$c99 zn$!0ck605lmI!{|`n4YLoMS)Ko7+srQr?nnO$Aq5HSYt^`8=mm%_)9%Fx7|GKypbN zf$IZQ2+eCFo7lcmV3=n}QT|$H%4^B{UWqXYx+l+dPvTe*tm$jpp>S;9IVH0udlYUE znyYDna=4WX0`pdroxheqJ10jzYF!+@DHeDqc=EDeBOm%@{@xO79Kr04CHW9xZw_1$ zdo9U$iWginxqN)tT7s|$@*+PM8>Ae56&9xFn#;@Z#Z8_)eJ!AxFS+H3Ql6{hy(2}c zvLmexZ0+}Y97Vy6w3xJ|*IvbMQhL={1)J*T1PqY&Mo$`X}iYwb_fw4Exo-49? zQ>VmT)|B$*iZcnUMQaU5=k++(!rAXlGxE@Q1GMR?XUr0rU$~Np zwBw?H1K)DDE4~x5vR#2_)oAv;?h5Bfob*Idz26;PLSj8j zwGWYoC=&95@)fQK-)lGPOw+Fuyt8?pQ zTN8OHujkUp_wCQ7YK$2n!Ze2N!~w;Abkobu_}v+4wpxl+ZI<6BK}b%;(G0Och}Tw!jc$FTON8f&2AA+{lll10DZK9| zniJOBcj16n{j)!3N>%}-PSEK)RvDHvuIx7oFEMmnN#ou2&e7BUG+Ts1Ea8O8)5PjV zO2U5At55$K?9>+{OdP6HfxOo$(*=WP8!R4o%|UE_GXBxFd1rls;zVvA_^&Z7Of>R! zPaR)5?>(o{_e`}xO~5HLD{lr=0dYn~zCKSOeW^EG_*TYuuS_F|{`3AoX9r=}T_udB zCsMK5H{N|y$1R8$$pgy#h`T*E*!S#&nq4^hg^YH4979vL?R`Wn-ueHy5fs)`WSOfn z-2104i>2SOv{J^^ex1Nt8LIy%tu4~#fBk3ut85OVkvfPb+Q>y`ihumAOLcbd(5R)G{)gNwG&xu5S6cGQ+w1yf($V2pq_5^51 z%z`5xo3-hef)}(6 zE$CHx{bYZh+ylUH7n^RAZUFzz4V*e3F{ux|t7FgnLs=KRL6sa=!X;apsA}zE6rTgt zbq`&di13aQi5Sjw$`et;*JZ0}wQXVIZVM9^HB}LKbf;0M4{&9PE<8HvBJD|6X(#m= z{1RQ4sM_HQIekl1Z@aOmJw>&Vb}Xp3_b)#Zwu|UqQIjY-xvj7OFj<5*9~PwWToIbB z)aM~6-rlPDYIelJ3EA}lPn#O{dRE*rGi}Ee}k3;a_x&(3k#&w{<)Au(z2<-VU4H9n*a5Vzeda9iooY)N`#yX1=lVosmEA zG;~`#gJZtedpf$q`a@$qJ2g0B0UGPSV_RDv!nhcd{k?0Sdn{Kk1B zS)+u&mv=~Qj07aRm7>UULJ`${s$dS$`5O(jhU@Es`3bB)>WJ7V*c5D|2X!R0zt(NN zXK36)-3SYNI9W_Vjaum;4IAjC7>KgLQ9E7$0v^!w3RMu3N*kr^eJgZA zyhLLQ)+aS^L3-OobisEva)B{oAzl)qFklXdjFWp)Rp7W+$80=PW-69?$c$XWt+)b- zUAroAM=UEPz-~PyN?tSuPo0)?m zAoED&q8My>;`$6kdO=WI(Y!$nYT1{3irPpJ^B@v8!U2y6GqsUyTXFVo6`SgIe_W{K zWYxh$E4u)9$Sl*C1h0$|RqfSz5Qrj*v~MVrJcmY9by@Hi zP;1p3=8e$S4_KEwy>9^+HKzMrP^j(NMiZvu8Bdw229HLxn!iMMrhG3;X{krHeqtjTp^<$6={oR= zFwIC^Yw11L_JXAg#A{7+u9~4RA@F?Un3&w?WS0jR%_4cC+gCbUoB=K5ut8_+I3Eho zeEoXVn#F_$D<+@`9V<@d{SLX5X}IAeXN7M#G9X0Sm|FvZfDJ9^4P;RbErQlXcR8U` z7!YH%m;>*8-zEDQ(8YMIgR4``X8n~IG5w;-aENe>mwMR9izS|wfI@g8!lDx{Um;)S*uO=zTO;`vOv=;=|-C;{Jq`5CccXu(d#vQLp_ z1AK;5<8cwCn91nfMl|a;jNl}q@mkTqea?Y55NyJCa8@2ag(e=mtw$8!w?fzhqT}!L z%%U2)z%<+UJ*tqDByqJgU$Vs23j|LbnSn$US8otZaiEn1Rb2IhC0X2xY+nf{c5OrD zi@QDg@jE7A?Kz49SO(LAIicq&f+d3@rM{{(_Ap7SEF(hh#HbV^t^Lhpi{7RQS^ z(dY_cmuG7%oM0$7%EH}n7B*l1{&-yT9Cq5=O1h49zy>d5Ge+~7De@y)GG4Lo16lyH z!LDVyZ&W+ABp8}Vp{50$lFEVjMyoFv;S;->k>(jhIRp=VFz#8hyERdGE~vs^M7phY zv(F%0A_ga)#~HVx03rg1G0blb;{~f7Vw>Q0@aN1sxT*8(=N)E%L$tRsrh`RsMeFI& zepHUd1?TWWC)AvlbNqg1T(IoJ4p|APeo@*bvA@<-$OKtO$?5vmNl#xK_X9HNp;fs^ zGsTX1qc!(7^ae{m;~YYtNV)cp8u6{pLBMXbA~T~til~qDvb^8V7o3N{dW6Zu4?M9A zVzisKr$e{fu}l?-IHm*T3k4y`ZTgIt6t9G7n_BCr$e}G_!V+L|FLdS||2AE)fG3oK zGy61{5hK4K*3rV?GEo|yevxcH3<`YXQ&k~MF@~Y?5Ks}h4Y{4hBUlPAj^v1yv>I>zz5^?j6(HYd_{Xx?aMWCS@oFz`Vk0zLch zcjCa1oG^doMgq#ilTm&n`9%nYVG2!q#vuLVfsCm4QeWCox!jeKOfsvC6PIvOl2W3& z#OAH=6_VZ5q`&Zs>NPaH->#a!V3y+U=t7CWB*}E3VuGE^g{1{1nVxNiCh|OSGm}N|2v1d1*U1 zp^1XF$9u8Mbj|*)o6urQ50e_Ir3C?JSqnv58rU_w+YKfIKmgLO5Eo^Sm_l8NGPjwB zOh!|ly@^2s9ES;Q;99snP%3O4P>KoXD8Slhvtk3uNZ_d%R8``vj-(@N0N~I};T=>T zj1y)i?G4W?foz~+G|(8U@B$VVWvN!NUJ8X;!)~Q~H$nftf?5##?}>Ao!1_DDn$ryM za7J>#(-~rcU&%C*H1O~?MFd|>P00jb*Q=z0-!YofxZvySB^x}P$nR`IrVBm}2B1Pq zF{_E^UXp==C#|xAtJo%JFNBv-a8Y7L0sg`m{X*TGD8Fpm-!p73xG)R5bD5R|Mx@=; zgAZO@_S}P0c6{Uk6lyHD*-SOC>s!QS!niYU&(1Yb|4SPDS=bD`DE0ElB9stfJt}xO zV%%_eSFvxl_cJ-_tBw{5SD%$&`KI27WfL=(ow)Jr;>Z@LiIqebilNlpWtBNaP7bu& zy-JxZ@5*DYU|8KTlOdFjbI@`-}8Dv;#EvCt`e?zg8i(KpE|%dBq}M%i7`f zlE55p$se&}kPO1J1Z$jNMQ&;zmJ=|Ft1L1Zr{^NyRhb)$owcp?Y3@bl$NNh-<>;8_ z3Te0Fzzry$IGS)vDwJ9{P?BhDM@oH|5(U|wnh?L4LnKt*RPv-D@U{{*Gp8r5@1*yn zYtaHqA+h^S%AiuEK;-9SOf5OvSRPFY5cT#_PA^AWFM;XQUY>gD;nIt7;AOD-QGszY z?E==1UYiHJqL0&2 z&r^W%;V+@rn1^`9JNFhHSt+Cfhh$&H?rdM=t~FT`6GTu>1eyrFQL1j+a>AHTvlNof zyN_R3-ItoNz>$B#q7Bp)NGXRg`>#!XY$A~unJ^FY!#N{3!pQDkOa@By<7CW5mxACf zL<@5ydUoW2#?*z5nYN4hm0VETTN7G0R&BWxCf-`rpp7d#1=&D=#M3y2$f-Ux_xtnMlEhjjV&GK~wu@ zqq|C>@Pd+PCkAQ|G}OX1Q06}6=48~7Pg`Z7UIvUd7EwD5G`5)vxZBMd&;xgdMAsI7>xd=McCB}n85CrXEdzJBFwX4uc8Iz2SN zGKEAjca@}8z~oj;y|1SEqE65zQlkBZ?d$VEzItHvpi!UlgzCm45D>QI=)g4VgeQhN zA2pluNrDOkBw>uu)M<0gt%f#V+sy8yzkt47b&?*|%w5N8r_^s;Wr|BzuQ|6S&9W6! z(@n(AWQ{nrIN7qKPEj5)Dqy;Vfd-iKf#W?Zorz4kORjk1f5{kg3={_}x%rVdtmM0P zN|iP%!!8}QwC+yp!G2d%er_ZhX-+dkoAi_?WD?Q`kAs{>{TvKTv^vSDfLk%^dS~H# zU`|1c7G24BsecDvm?-LksWbueTfH7Gd+B!8HP6$xz3AJSBz3?ArxaIHqY?exbR8ZI zoY$Do(mBf+HDAw z%6K0DaIht*=ZEm>=JVKtSah>1%{=qOar*rb2FTosu1;^pa?%j4Yb?9ajVx$$&P|Hv zi5*YCv^qd6M%q}67#pPx=!mXQn?;dlNw)K>Kh4xUygSe%$`lk-$!9-dH6s@)CQ4fG zj0kB;lxPrO2@aYU(H}lO~7jZWE2r(Myy)d zW1uu}JfBW9^bACVSSec~QBL_n$Ez$9B!9VWW?>{hB&Ld6!B`+elra}t+@7A=tcQe` zyk&|mCowmUNo{I(W~Q-NSfH5XO`|THLV-l)*`|{FnSwivcnbxygmc1bS1RP5zBW5n zQut+7er+1?5Ya|&S}9(R!3rzRt+e;rpsOt+!a0fK3pptt2Xwj-Q+ORkknQ;_ta!i; zs+g+9OMUb=4?7tDXzT<@S;>`lv=peazqe6(u`CaaJe@`A@=Ue&r9HDtdR@4GCkmvs zhp;L_xA7Ck%114DSzD+RY#*HzT<0z;XZo7)q#SnX&Ntb#Q3Wou)={Dgq)O3faMT!g z;V22El;_|nPL4~(h{AJdC6yS*M(1`s2PHZB-kmR_H}E@GbTgM?M%6wG7`x`1$SA9z zgUIeknQU|oMYj*4q?l&BBt&}hLUo=yUql71U~}Q@Cr>`SK?5>~-%zL{tIX!!B^i-4Pz8?pkNvJM+!ieOOmGk(I*b-Dr>6gyzSG>L_rfJOq%- zSw!JzM*IRTj)c*@nbrY?79;V=VPFx0ey|oHb8sQftbqGw zF_J8dC<|kzl@n257Kl|mv*BG#+88kx;Ca`_Ukp5785q4d0Z>8k(lh zGWmB!;Kqft8Hb<**6FH*8fqtjRa}HjGM@pmDSREw(<4o^niCY&89cGRMT>eNrQ4ei z+Pu&ZQ5HaIgbnr}a4rsfZD^(S3^9YXpnw=I31Ew^*DQ9Y0-Yz|u>vHLK*!v(CZ@4K z1q|2Yj~+~yf?4yc3>!mvvxsidNn)#iGbly}Fylq9N#Md}9gghbS6~f2e22c#Omwft zGIO?@v+j761YTPdYMj|`Pnb-_o>4smb|ggrGG^woF*-fvI%fE?i@eNObGP#1&X`0V zj}|6C5g;Q6h^nfC35U5V(Edpi6dPBfa~l|@Xd^E@X*+ag!!*(fl2Qi~Hlnx-&L)0C zVGR<|$KHqBTw@QBqvKtVgpgTDJ4Ft3A15{|?Wb`TB*?Q)rbH0yK7etPJAUKIq}6>{ zPeeR{^s0poeuL;Wx&64E8hO$_&ny(-?z$;=2WgNNKH*}GV&fB`g#D(#Yb>q?fOE9R ziA{_Xtgb|v{7PjL3MSfA&+BM0wqER5V$NDK7Tw)m9AkZ+M3e?ln%ZHHFrk$sp0Y92;Ewk+v`YxZ4#+3P<=+hm5h=V@0*r*n2lC~rw z@@$Fg%>$`|t`QWdn*9&$Pn;0Kh|XRF65~c-)@{VxW#%#FCH5gy^Lx%1QwQ5#qG)IC zcFiEL|2=*Yn5>dH#PEtJ+7Z!rFW5)SJ6tPFE8SbLbMNqz^e^f>$?&1v9fv`@_ngY4 z&L_iIVn|IyXWJ{?v+T<{kD?xZMR-y>%Uz_IQ|@-vFlg%tPp%T9nCrepj`GO_BO%vm z!;?l?QH4Al4~V4+=@{%Um_+<5d^28n_uph1>0RL-A<0bccKH>|y0<7o9)@j06LDyg z4ol%-0zs1bqeBhi=|eolh|4^*BqfH%98OZHa!Ca;0~HdxUv~ZGk0)v7|AMRmRfJSXvrOTjO|b{$k>ryHacr z))x`B7b(f3sP^layN0f6tR;=3q)taqV}iLZIkL4RuK9En(o%k$5rx3=5sVEe>?3HT2&!ilW#UT zk}{RiUfT=*45Lvao|`t`USh&NE?}zmukp{>2ro%!*@G%MS96AH${5742ebR=u$34# zlkc(j++IAR>_`J-c?N&^_`~2_Dxs?$0ZCrn}^J2MwYd7XI=aHuLd^ z!N(L`^a@AQJxRT)b{j24Oe`KD2O&9#ByeKRRMa%^PW1C8zsTl`jV6!5Op; zf6n65Y4|!cH5glI$Zia`Djs7?bKJ$vTdt!%{J9KM^#z*oNhcHoKBuUrqQx5IN{GS*%yyL&iOTArRutj>HmK4Yd<23&f4MqA&W+> zv8o-IwT8O3IM@az+rnsDoNWWcJvp3i15W3`>nyyT#lN%ocxL65d&wqLpnE^06{>&` z9Z;eHQZz7&7KKrRH1cw9j^RK|=)Xg*u4oJt;OMR`4VSE;lqZR@Y$2ExKC@YPBTVO0 zDCjYQw1%B_sMJQw8ymoy2-bx75OHM z3KjT@4F6L}BCSc$F*>|eqOBHd*J!h+YZToyBYMENVqd0*s_Rt_8)Kw!I@hiZ@dNMdSHJCj#yWWLGC^?AFdWp|19ToR$n{<}0aKhE0drPt7G_=X)Kd*Pgh zTi3V#omeOy&h#*bi7{KeUE@q2Wf&Qw$(U5mim9#E}Ev-OC#9u?Ok=l0-rdl>yKe-gKsIax%}=zl zJ+OWUecxmBdmMiU_3!Bb9Akhd6>z)*o|?e17kGk$4he#1O6c$@IL-xzj;H2Ok>kqu z5I5cP4Kx*2CQm*Fm-xr{Hx1i@`J7#-dyj{2G4ma)zDM5o==>3}OvAi0jTN0iQ`KMM zALDoc98jrtE9$Qp=hnw$^^&RxS#pZYD{TAMT zMbe;zHn-pbCEm{*<#Faxa~Ryj1?wO)7L+OxUBA3AY*p>Ij9*z2+3GQ2ouNFfCFU3lYhgjbSs^mMA<-H5+1I+Vr`x38?$RS0t$5NjDj?7uz zEBr(Jdu&TOt?hi1`*7bmz5{(H`+@LdWd_s2=R16ThrsVa`W=pc2kPIl0a(U>A9r`c zE@ZZLTpr~TxoTrsjr>E!wnSXk#cf@!x2XhonTS>jSRv7qB6W7H#OQ$KUvK3F4U*~{ zg{PtTv<#pfhEPEtYRN?v1L#BXgQ^afJf@cBRFj~3hExm(s0OI^@AC5|(*(>%vgDyd zcF_}xQqN*KBs!(nSdP-$qdQ0xoI0I38j#l2lO2mY(?N`H?L^zI+%Jvq(Um!taL4B|jaP2|6{xvEaDXz3r?dBS1!n^mH0C==5@ws{d7O0f}`V`O_T^$Zz~bVYFn)lhZT{WvY9TrKWxRZ3L*31$wO;IWmxTP29S5Y8SFy z=p9+$#D$Y5eW5R+=~`Ynf!5@mFtn^e4Ti90^Eyu*^rk4^ly#%@mosA z5+qXD1TmouU?H)6EqagjfMn>X_KwSgP-ws+jfqp1HrmkJnCoQ4cTkdwZbigw+k;am z@DZ&Q2S^Ijir6yH4)kpk#Z@-k4{aX;H<#DQ2#;+GHuk`*%}z^>`kFjy$10nN{V7|4 zJ$^JV*^UXev-KB$4fiR1?_^q1$3=9Q7&kdCM5BrwUq`=5On6e*4~iG2>Y;}%W2cl2 zuW}+0+4cshAsf~qz^zS=!_QlyqJ(;T;5}1#ez~ee&Dz_`Q#bMRRBx2`*OnDgNN<=- z1NZ`NAw8sh1HJ~o@*m^!iho|*^BjI7_uMRgFCC2d7zjF&ww)#E*R5XHorT|#4jmCP zlKf2$IZ+Y;EHT11)vdO(H0y>5wWX}2ZV z{hWs7#>aNp)ah0JXwmtd@v%eL8=r*$ZeThnqZ_vIXH+&j?b3&XIJz_O0++v#=;q+f ze58q0Px=;toP9KT|!XK0*NVQ*nLB&b^0j6$lb zbwl%wvI5&RQ_TZ4kE(IOS-r8w4iQj?Y(ctcrQ~6LRtN}bz;6soU^FHqFwMNX11WcW z1%DkshI?SW1QhXlqxv7WnV2URg?;MC z(vHL(3T2XhUTS&CW@TSTJobcWN79a^u@Kok(e71%Qxis$eAwi%=Crq#wLw1c9E2m& zv2QOpGCgCuYjk_leB@lQb>Hy-&it9SDtjJS$4~2db0d$!ITRg#V&K}?Hg|@~_;DTA zN_Aa-sH{V&hDxkd=VSCd5$~@!m&O|PL*u{WB#a#i??*I;#Jerlv+=%<_m7+lr5f`A zv*^wIJ1 zFslS-Xn=3OY`scfZt2Zp2tqEkAS&q>Y$%yLT!n8-9WEeUi@4<2o43R=|<$@)3v?t*HZG+{k2b;2z@J6Q&kXonc`S;5r}BWKjGLJOj7C z^b+&yh(F+=*aO^0R5;CtA`YloRtog^+bv#RxA+8hObpHPC5*Jp(|S~>lPH%;mfp&$ z+ERF1HyOe^pLd~@N&fwkBS8+B?4k9cC=dcH&3QDG~v3fPbHc!8hm`aOZ{*XvewdXFXHamJBQt_Cn4rR~$>1r)vlLBR=n3WWbK zF!=nvvi+WS0PTzc^8f}2hO^^2;x((V0m)Z&C=hOgLXl4jLq04DLcSgf1bK}gzX*u@ zP%Rya;lBt7{|db(0sMCj-@hz~cW`@(4)NFJQuPROgnN?=bhhP!>tVr&6}i-&lI6`% z-24N)yM-#7Z-3qpJY6h=*8r4{F8rjFN<@7`vf2Pnp;!9?a7vmDYwZ~c@{kS0!)5>; zD)fQCcSwltaJ%outce{l-WSn>Ps@r}psuCLJaE6MXFFm|`fLQ@BU{_&KNbz%zMvu< z?YANa;yX)j1Tn4ELJe9-z5`SQ@ddpBXibZIC;K1sb_A0Fltl|7gZTL4P3v<66YWPt zBQ`$zc#Uen&ViU1hG{UC5?;zB&bMyhZ$-kgUcf04 ztQGZeeai*8QoY|Hq=2E`trk5cpy&-JmVPL%iHByIs7t(B68Asyf<0@A49tWc=?m1o zXC#={CNW~M&>SW$^X!QOgj{~(`!5(vugR9dEILD36La^dlQ*IjzU2z-NjN@FK|O={ zw7&6C7fd7_0DJ{V4U_ycfYg1n0(})aiimuF6UkD1rpB@Cc?sYrO2DW^!$ldeCt`>uHwHTPIhX%QNXo#ytAzY#Pe}6nL7{gkLILP<#Q24Fp@O-wT zn{bBliYoe&-jz$dt@wsWF^IGd~D6$obr;EV$R_j~t>ncc8?9icsZyTz{-G9M!L zj5GHMts5^G!^qe&o7xm6AoB(Wk^?0$8Ytql>@Xy|}ek*PmRE_dEH5olc!9sCN!L;YbcKQfmO&gENU*pJWi$(}8jYVvgt``!P* z3&!X~iDr#qE9l)}%tIr^5Rr_`?(WsiBHGa-R}$&}FvcF0-`V3xA9v6Jfgpsz-5{4G zgLcXXVq;)HK~4Ajy*DuZJY*c_mB4|?+h|!IRfV~f51kU?(dH;8MT>!6@{4#)AN#Il z|ImJ;PkkYwt8-^WYE2s_n|V@lLROhIVvx)rM>bi|$J zKA~gJ$H2uasT&`bxbZ=>jrTwCno)~8%R^!)80S_N_0Y6XxMh#DP_#qN#8BV|3u>sx zAKxN|dI(ymw2t)#tA5H7`AK{f7y&q8q<}n)#z;|qzsX3^ri?M!){LLU(9V^&LI67l zN<{*j4odzNs`JBOIzJSm^MVGC1ayYfE{W${ftMwm^Z(D@mn2D!Lswp<4&V$U0D{8- zbP8E6w2)bA)iRSz8(qE~_yhg`(CPHZs_e>IML3-ff*3yj_})W-IXf)pat28#=lXg1 zB;J@V*eYkVq)J>h4pC6k1Mcjz?9RGAD6yhaiB|C?`9|T&{+Xh3!3=RsQ<{j%o8Mjb zs%7Lfz%vuXMTaem6hE$K)C63l+M>OTuJJ`=lJX|hn?VwRg}J^@oYl-Z(#`;p(hgD2 zmw_sy_S#${LD{rfTE4G?#N|JG2D`eEt)S3qge)6qy^#^wb^w1Xm?R%*4{yemNaH2+ zC4|vq`9vg2I~}TGwc(+?j%opLS+Y^bT<=Csr87*h(m?Vp`bSRc`AZ zF<9>)!x&Q|DX9e^v`FyeVwMw^)0qNh(-Y&$`lUHp3T;b~Iz-wsu|I=(T`+N5aKB)J z(fUc6&T`GX9|dzBDqPrRw`C9Z$lN+>t-B8DVso;EGrUoIlPt4nf_B+sFFY7$Tey=S zl?5d>4wMb#1#_hAU@9?*$^n|cAX(Y7AYs`cD9$V`YogE0^U|W3_hXf)f2>O0$JVkE>>6q7jiFbj9P*|4(kEA zgV13l)B_x$4T0*2UyZX4_!snY%4R*s;;OEeOE63+}D>kR)+v5;Kup zijXT6$xpCV9|SX(Y(VALs7^Z$&XsQ-GxUf8QPbAb2a%Bw#vroikt(6-{gE?@L=Yh% z1XQRNAT6nuADl5*HoY^S;D(>~tS(R(C*dRGCd1p`1uvkcMo$}!DKDw67r|w$5h#Gd zrTna&vYXA`u$xD1uDc6+5WI`RTm?0O>*hApGf!E7r)UF~Q_vZHvHZ6{~TK$z1t~z4b3m$hzMbf7gxtjXK$KKehtpMN0kaIWiL$ z^Wi3%)whxFUS&BJ5nd8b7OY@`%|aHzK(wL($-rnmBe!rQe|SJj*@(4M0T~42hURBP z>fywv12&Netp!O$#phLiUmVBCpUG+70EB@KA7a9NZYfGqSmiqu8r;&r@kKee^%W0_ z2_Ok#{<@FVH;Vr@Yph4&-ZD8(x1sr8tTVL=e>{5TB9`Y}c3!w$>^FKlRW#Ph0-`K# zjBy1lpGPad&2}ZM_QI}~f?XYlVsClsci3ShP#fDt6Af!()u%TSeg^ie z(}e~ukzk3el!<^xHyy7<6v(o?L@d}GR3d(8;>s;_r3nQVx;+<^ckEE7R+~DI0KMun z?eZ*;&aR^k18}V9E0e<~L7Ef5oe>k>GIukoWf@uE+6;88v_gD)qRP{@cNq5rM+C1C zFgJ|B2w;Yo8Fqy^4&-sL;@L`XFWtM+KO(@9_!E7)YV`NZAl9EIMI_#*8(qS;2#OagS#RZxli1h@#w0Z5An7g@m%jp$j! z^;8f*BRb#q;nMKy$1gGRk-#l?=Xl_na3;7n(VOx5@WyQ-C56kZQ6;sh!jDg?5;{|l zSa`$yoQ|)cqmn6ajC9i|2L{SxTpn#TanP`H^n72r1VR+`vY$@;Li+#aW@<~jl!bx4 zjSIUZ$bpuR7nTLgf`y7JmL1mOPI7q(sJ0Yc659asYT6nl+hMCV)Xt8=2v3P54M7i` zi&TW22uh?Pt@H1=sV2&L;78wvq)s-!_U)>#x zVfywsug{DJRTG{k^t>9S1d?KlW9;Iyq{V4q1AwI(G9p8-mC|6Ay36Y;$=BdR8+ZxV(lO| z!v`nowQP3wJM!_$i5y*l9;BCY!o>WieBb>^p=JWrBtB4vQKKM=k>{GBG&4Q+;KXf{ zB1AKeF1o368Fo}xRy6xbUm{sOlb%lQra05V;w8L31n$n!Su%F>(&@!2y=V{bWRniK z6I)Mu^Ng?0+({$e-&n@^seOr1jk?b)W-`OTU|4r zE-M>T0RgZRPdb}ik(X0ZpyBx4X(1E?Zi#pzGq^Vh(dsl&tw$0BHLohFD>En>)iHT{ zMO}jM)5@Jz{Um6X1=Jehqdf?tjQx=t<+CZRcA&u! zM(4Fq`;Ao~V96eTc+fHpP-b>k{XhxEvrqJp@6J#i9T<-nD#O7hImbh8X*=yzO6N0?i% zVpHeQ);XX)P$C9-`xCB%c7$NCfOG4G^ZzvpR%E07Xw9i`#SkYe;rd+E39zhqf^S02 z+BbFXcN8zDoPCq-I|k1jN{0bHr8k;q28P>sqqc!4+hT>Slg3*|ZLixeIdant#q~fM zjSywsjYjgD2Z?4hd=qcKZLs}1Th#31mt*w(gcy|=cAMAzz-(v;9))8C@Uyrrg)BD4 zHU0weqB(;2DeBaj^EX7A!S|CR5m6m~Ma6>z7oFOfm z_?3xog|Cj?AmlKB?bLWj{k6s2u<)V=eN>}5W&j*O5~_BqZi#Bw7_46vzJF8fVZeNX zV+$pp4fJp$0O&SB?l#qkYThw!Tm-p6XIL%_&z9jC zHB5S-<>OF%9e*DANLza!@pia@*VE!A&CIIyUKw%}_Xhd}?aRBdkwa$(_AjDIX*=?p zXh!_E=C`_G^Hf89qIpp)Yl!>*#Tg|A>`6NM7(R z*k;sYgrt3oi@|((dXK&Uizqax zSkUert_=bS5=UtD((H7@L0+4Unyj*~gAM!e{}?0_J-SIGjKRq5XUj_yE|3?ek-(}kZZ?p#f* z+r@&**8vdzT+XEW0L^41S&j?=lA%YMDXE96MHRP_W?s5zXpaBqq!taVra{;AuQ2?J z^Ds)F4P@SSlRtN1-(Y2ku(NeKqWqmnVN?l@`p$d&Esyii_|>8P7TTYa_Q!Nf_5mk6 zODcQe@y8kYBkV_6yfFP8Fq!>qWS#HA;TH>$tO1lA!m>qRwgAlrzuDqDTL5T-4?Q^m zX@j=r(bz0rn+0^!aBpVMm0yyorx4_RNWD^_`Z?4;hYM(M13j>yMjlk&GWd)_<9tts zxt>ljkYl2|w=}Y^M*XD|F!T|F4WO{ud}AQuQv~BN@Uccqc3{fpR97dyRR^rP@J$@b zz5hAn+)!aHVypp_HE^?98!)PZRwSI7F&nreg>rjEn*T{;hgOB?C>dT0(OQbtW3-yn zRf29R4?Ub$5gh4(#EN4_o~LJ}JX1S+Jv#V`&uk|WRhTwUo2r~Jvfk8O___?!>-!XL zF8$7A&0SiA-%ji2rPWYXctiKt#2B1$L)*g7zZWUOqoZ~xrNk&KUZXK8k5P!6!ekUG zqi$Jk%qVM4nRCdv207Q@>KfGD$w2b@knbicRV>=CMg;yL{3-@r)#I-^gjR>)YC&Et z2y7Q7)*;DitXYRf+W>1<`V7w7L^(MQ1Ky#;TO9cg(7Xbow?Op<$KJx+TNr!`lW$@4 zEzG{h;dfB|4$a@7{S%%!b)nSuJ@*^m4&-Ke;mKVg@JR_^_Ivw#*M9%;nAq3@Tz8o4 z8noSlx;xZ&hYKI8KK4{enF$F;5p_%Zy=%ZC&s${rK5+eC%9ZTCv_G{?n~;(7Zjj$CGQ7r(U-!D45^BDU1(HY~qxb}3s}i-=S+3GMqRF*X z*$^==b*aAG7@UV+HtVsSa$5GCVLcYj1R-rsD@f|OKR##{fHiG zrRbldyqw%CO6JNoJ%-b<&-ggxi*$UF1HwsaUQufPk<0W^&C!h62&A;j<|Cw^R&r3 z%skQ!JkgU`3H%VaAr~s zM87wGHRhgI9j#v3!O?I~NW0qMk(??!W^u=sNR}y^Ju?n6`CY)ih~$-;QL8KF6}v^S z1N7_q_|k-Mghe{S@aeHZ(b3aG^TULiwzZpj7}E>tB>RSBL*hl_to**BC#sv1eGMM# z=E1SE0sW*=n%p=}eysg$;9Tu`Fu4sFY@BZ)sAfb)3@azZBd+=Lr;${_;y^-TiwzaX z@+|=8txa>zP^3;8A>Xque3)TNrJ+SWuH1W&w-S)oxl82{fJoAA@-0pNag*!P)am!s zdp~|Ajl=7c^0%kvi49VB`)!1)lMhyaI0@60gH05>y=ynO-TWQ-&=Dd=%8ZT#;b^v! zY$%b1?xhcn&Z*KldiwHEIP1M=KNrfTqxMD2!814zXr$aozL3UExb{S3N78fzZbvLT zc{CJUT?sdqgF;w(k=hZwPC9!D?i=cy1gb|bh3nrMT;eyCoW)hN3JH|3{+)%#M!@Ioty}hGES(Q{y6BK8t!Q6%esRyV7<^* zQr!q#cO>{1GRI0+*tZcgN7h)%YIV~}Kqn)e7`1X%3!uJ?@?xwn=b9XJlG4ahBWkTA z_OjXvbJ2nCRwS$N2(hY@>+)16tBfnEBgnb!SI{1RLowJ*3~Pd6_%%TyLG*qlvus8R zH@rlv=xwt2cevuO_qKGe;u$_gMARLIE4TYQC>8y%zXybh7fcLmovl}HcQ*Z$&hCh# zIc=NmZoP85yF=8b&&C!&&@$$}aA&i`sCc`t`6sPgqTCFoxAns9-d+gA-{|d9bJ)Uy zMG;LV)GN0;I|zS&*x79+GC6jraDU;_?G9f8+2F`392OVOwvvJ$YhlNdNS%821Kr8Wf$$ZNSR>In zf`T8OKgC2>OU@%ECSxEvVJcpMfT8?TLW zfOY(AV5u#Hg%k6)y@Hn{D!WV&nc4Cfm0E1Z=Z&G7iA(-f=IYA-71?CPviX%^$ap2N?jYXN?AER?{uAE2rRE`Hr$ zXM{|3fKd2S@_t)YQ%QY0aQ5?3Q|k)$I)bn-&_s?4N%^|rpR zi5HPi`*Runs&mb2mR>b>n!VGRoXY3V(w;Wp^%-yWsKZTM>m7H`D+e>p^3R^V%|KQg z2!_MhSbVP3V+F2gjjN;7IJKb^gw#ONj;yys4_7 zh>uI)N)f@a%OuCuhEK*z>6@o1?-!n1w54%9DjJFr=wN$dhvQ0 zyw1D(-5vXJJ&>^EAD@=_-yLf5(7Uj0pAxs^v4h6b(}@Ph{@&H-Xt-8Oe@$6u;7ZunBcxG_@`E=$LD#!&wyyH=aebL^?tb zcWqgSAa`k8UpY{62sU|lKtC{didL6XQ|n%jUsuH+3|5XrR?U|p^H2yfia`*+ zygMQvoX$o$emx)yRCP8BX*?cPM>1j?Uo2$7~oP*^+d8nhrf2ww(T#m*kd0}v@PkL4^ z>$8z^&c5cE>Nu-94lU{P`iV-+@YRp!N@BzG^-#I!z}et*T$s&4*zp-InUt7(DUI^; zAhR6}=kR`Z^4QoX{(5|#7HDXp5F05u8!Yb>X3uExl&TBPm%4Aj)2d^#-^l^q){6~4 z$QZ@4yCH3{+UR954CelIY$8VGqgZ;hWl;Eny1WwQHaWDt%Uk)y2flOdb3e^K`YBA= zqqlCuI3DU(LhR~m|5Kd&|C8IZ%+-IC?&k8v|E>QOW%j@RyI!k5|6e*nihfpyX5k0_ zOMP%1xi4W8eAA$nxr30;#wFjJ14$l{_5pm#EU7_v+;@VLMZ4>qxoj#~OPX0A` z&>5f1&B_9K(FC#R#&PNlc4t29lu=*gjAROR@2ethnz2fdrR+v7F1Ex9io|ZRdCHc7 z+vwnrGv0-7$9K>T+zbbA=}{u!i{0Vg6ix~_*V;Y4p~*dLvfY_{kEh;?@dNSw?;fOQ zrn*BwPyh%))|rMHQO}Q5y0K_QK1YR(W}5C0<7;_C#k#zK&(E5Y#<^?ghU)9L)Lg&FYO+o2^=H)$Wd6AWW2w z9(%z+=_$<})!HiGBa?}>_l|~tW~sEj*t4p-)>qF;>)Q;*WawB71H;Ak*uRvv&aBa- z%{n)#uk01EGo3o#)5g6q;tdw7u@5!-js-Bb61 zSpVBhS%$M5m7h^dyaEu{+~`E%Ov)CP7x_mT)lW$oBSL1&+$6>zQF0`~))(Y#IAB&f zCW^$aS8}?Ru>DEg9eG2NnP~t;TO4;)dzELL}ExVLD&E)wxn#RYZEvdZolH2actzNo|!f!RDO`E?G8e<3m|p` z;%Et(Ai76EvIz0{EfOCBh^CD|?4N^Ccj`tGZAGhLtDtJP$Kn!ZxjvwfxeUKWa!^V8 zx(KSDg^bBSOlEMh@KLnNU95(kSjZAdXV5lhL0Wo1It8(mMdED}%P^p2NhC7}_0Do* zQQ&?P@~|~hx03H6dps@NVBpg%^ZUv-z=2vC5zvZ6K=8v=nz&>p4_C;F8A6q%_<74y zf>pbAWrC5NZA~DZ$gra}RGbr@fX^R*Uho`*`Z;0)J3e4#qj$yMV>uWuLE;F&e4ITo z$wf6;RQ5e2~_Yg9oAmSN)x zTHr^OE$H?bUaI?dxeddw+Z)!tElgSRyt3mv$NRm#QtDrM7f7k!n72=RBfjJeKIcCJ zwV0*9m9KzxL}?Vr#j4{qLBY7#rO3i7n*QmCx&m}2yqW`3o@R4_+2 z%3`9|Y^24R&PFY0@Q5X?J{e|0^n#5F%*yQ6*JSP=o?Q^Sbx$(=&qkj=TCEop;b|ce zO3J~i=uU~51-NKkh?Fh4g#r|0U~gmx4Rfl<1Gar3{sQJ0B(-*CL?1B$UJ5e-sU+grhKMx4kce1wZLqTT7O@3t__0w0~AsFc|4 z@#1tHEovlD<26lZ?{i2p%EJ#}xJFDhBXcm3y(<}5ndaBA023RpWEQqO!gY;otY(2s z-G|mCT0$H(c#{(OAqbJ9noQl%z6}D!mV(p}QidC?Vf9K#V#9#y5m6h~^~~Ic5wt%^ zZkSM|W_CmH(h zbPHGlX(2Y1(OKo@f*S^DAA|gelhK$T(G4J}9|4DDYbluII&Tzkb(b^$BP-wcr}xdu zt%!$f6z*QsJ?HU-(_L_ZWnAg8ZwP~|qyZ6s&R7m0m_MOPr%``aork$UrTgLjNMF(R z1D^b|K~xSz#jy_FIww@l$%~Z9oZLS{BE6!IgN8M$t=-;e2HJ2r`{>E++)tj#(R;2L z=OQrYY{I#zpSOgc=_K4xorwv9UiXIKg8n_RwHaxlLbd~C4FLGG8Hz;yNBT_^rVA=2 z6kr*QiF(CH4U}i7=|CFJ18cD`fu-z+p(%jxybg0HiD{++bAO~Sm;`}O7Xo!h zSI}&-^_oj-YX$&rz@Z_yG}wtmiuNImq3^MM;sq_Zor1lCbEuUVhXdLQ5wCn=xuy%+ z@Pron%tqJ@L$2Q;*7-soxyqsFy^-!ePD(^`9d`Oc07q$)oVf45<27IDqC#7Nl|@#G z7W7U=8E%U%a+yn`6ssfy7Ew0QgpbPFjpLQ;M=3VX4Kl}L9b`#(+i)MFuMDBES6vBT*uS~PTWe<-s?wxly>m`@hEV%~zj9cAut zPurBaw3|RixF8iaxiTf6W>dG=lpDUI5evJ_9ez-~ho<>$fP)JPErxkB_CAy5r@br_ zxJNR}jROwMvzTC}1;5RBiai%Rywr|)z?sr==g&;wbU_EsFyo2q#S&17Xb1EZQJG_s zj+w~V2d`PoL&%e%B>5TNYCAX&E8|W-KJ!hcYfA14Gb-YfkRJs#DKz1&R*J$Gi5#h@ z6@%))=|eMxKfwZGI~g>{L}}Z|mMA?e&(TCT0?xvOiZ0>^4~`es6L#zYCtARiu!6A? zl@77a)XbE`i7ANFrKSW_cMz$B+N-BW^+x= z<5czyRfDI3jPZ+%Ybn!-P|~tM7d&tQ=Ef(BJ1=vZ---uv=G?%T3DqkTiA~~)fXHEK z)K)k%E|SmV!0AsbdQ}#V{GxTUaL^GC|L5WLLD(@}FlQ2EU~!fl#TlG5gX5k~mlaoK zI*kY8*-UvR#X$rkxMdpVM2J4y{+XI{!KBHQOHVSG9qMlB!3$@X0QkVXqrPJxg0-Ao zvK?so&0hnj1BYYL9Yn}1(5pph5WF?@21yhUtDi!(FAL(5lF!weSVe$r@8zaEn16n< zJ{h%5JMUKWJ9^&Aay-}fVmDYqNjP)LABaLWlHt^Belrq0duP074jX5d++o4^{xAfr zvO?6e+g2uXs~r zBG#Qu#F!M|-ut`s%?MfK!w>e*tWxX}A9Fh$!(y*z*hIW-prA$MeZ-E2GVsI`Y%O{lynB}$xK2_uTruGUZTmeMr`!YCXi^eQpME!lG6e3G*W z@@P4LYuDb&iSnrSMa*92`%>?exb$G0c*)dM97wnTvRd(Ph#;> z3b*4_i%@f8aMU-44ZU%wpq5PzJ9%xU@QUbdoin;<8+BER^Nk6?S2Pv&<}z8y&jKF< z+E%f<-g7&w(clD!%84j5zPJ{uB`ri;fhM_jAW~*A?gdg8*weqV>mLUqX-EHto3OoZ zf?WQ{xY$*d;5_FDGrM~+8DLLxg6RS?-kkCgy%j4JwPaiqJk1!q?PzM0LY<9X8Q)l6wU{V$rwI$$;?6&(H# z8KIR-B9S^;PA%~4gZy}IVRG7lE`?SKzBMApVrcIR0S&&8?W@9p224*~A%_jKSJy9) zFcdGK&lE`l%Hgl*OxxHw%t5}j|1^Oi#tBJ;07ZX%X zaB>r1mn6m#fZHQ`cvfgHMrORmg}U?M%i0f~^IrhvnzDGnPPxx&59kddchB8bJcw^a zwRoW9jcX4#R8Gg9TUZ;JyfpYZ$d&RUp~A1F8jjsrlvY3V!N0wjukzrmF5Gs3vJZ5* zNKvTO!!bqS)&9dB&C4?IgD&TV)QOe5EU>?05f6DI(T0aU($)~)MZR~Hb!w$@nZt-- zDZ@=TTytH}A#oI^0xjpo5_;%js<5&R4Efj*|X z7b1E5Q?8Xt=*=nF4As|8xeclHu;l;digjE+)pt24CJ?|1ybt9!2ptMTtHVOTX*Hvx zwg10bFls^lc=RkkEJwWTi|~8U?oy?twB=HvvFqf(A~?QUxfjf9($kC+yXaNWTLgNA zs0DO)$_7EumcHpSk0MsZk!48r%U&E%0aK)jWnp;G<6tI0>P?J)}x5bz>ahH*dR927i0)vVnX%C&=L6jlydu6 zjL}>@JNS94uA4+hYJ@|Uw7qIYOQ$$C*AD4KtL6iJZxB-US&c>-J9$0LRGei}vc-(B z-)IwYlv$R&$yFf_yWUx7VmneME%IQ2b761Yq_7a*E%QDZc0tNoEr&ZYIwG7Ae}eB| zhA9l2aDvH+AVm1f>HBu%qZ_9AYhzsY=Uc7!CDfRHOjV(z5&E0k?#k2{+Y?D>RiZMD z_6cwU^dgRz%h=#-*V&mae^Z+>+RV9hObc7;*Z7=-Kk7wdG^`z96t&KZu?x*P-+J!3 z7ird!J4QvftBw=yG4}m0G@-%>=qANYJ~R>q3TcnJwgSnv?T@b(Uti57eIdnirwXXsTFO z@!+?vxUPu@I#o}j`kXTV;O-y{vyaDBbez=sDrcsr1RaA$?E_d`r~%qe2V^fxvAB=S z=k|T%&v(abU~&$-?=`=fGi;3)QMef8=v^#lwEkD^o$ar;%?w|Z!?h$_kGSs_06vc; zw2LAJ4fsupAZ+mN_zn_f`<0syiVd*uge+vvC?i9=zaA5-56lKW=+ze@?g6=C1**N%~7cL zv~=Y?yr-}E08eaD?NC(iMsp{5DEs@v_+PaX^kH127ZeyawzWf6Zb6&#*49S6y(|Cj~*zRg0%Cys(zqE<=N(Z$oFTEk}ibFi&2vZm=Cr% z`kKf55=x_ozHz3o8qMF>1;%Q?%@KGzfx64$xC9hZl_f{JP&F8)sfP#x+cYKVe+G!d zc44W4f%fnM%E8fmNOd-(Qweenw3}(uR|14nQxgSS)tmx9IAbhrBY#ek=1g_0#Fg|W z6i@6ZfMMLI)ACrmD>O#PlbvO&QT#f4MPzz+AyPU&mT;_9H=Ee$yb;Xf+UjRT%z#xr`5$Xe4gyNI1WD||BLWq0IIbqs2&sUrmV=@aN6kl>t)K%kd>abe8=DxT)_5-*3Ig>@* zCXTSeuv&E>>;pTE;i$f3yr`q&Zqn2lcZX}}NOg=CSD7))eQ&X2e47VUnKvry zLa{|W92JCRis)!nFUTb918fIgXy$JcP4w0d?~(zfOIa&7c(a7~y;*dACm5X%1-#68~~WiTuiLtcx=ABMrAjmImZ3)4({ zgdCSQi7(tOcZX%@>DL?)=iCw?Rb~P*kW1y1YQi?6pCX6nZT<;=&)pFkda?(^0wA*$ zgTN#i2Gqh)x9LXo16&gb_;t!V@bJV0nz`Wan4CE36wSa1H^GAg&e4NZo^ln~X2e6p zne{e%fxG4Q;EX(c-peq5$?BYG3>5hwm!&}M5`dAaXp%&6tErTdxuu#tTpF6W&wD%; z-t1$p5r0s0I&5CXys8-pT~4biSgrm$o2)^Z-e>RayLg6Pr!!)dw(ed+jXo|wb@uP^ z?J#HnDvU!iIzMg;7kw>~=57KZxbJ-V0Mn`o3mXiyQ)uoNGE7|=u|dQ~$H zT+y{89wfx?+jxuamfHg~@LpIn#WM`X#~%u8Q4G&HB%^6VJ)#ZH4U|TI)9v9IxJS;= z>Od$MSULq_BD+ZXw0k=447mNL3 zv0*4cE{Y3;mGUz4E-WkDx$k&|V&6XZs)Grav_)ROl|(uQb63GiwQ>f4cLtoN z;r2WnpC&^zREd^J(K0PgcgY)HOvi)sEFE&0#x;|WXR|U7PPlz>1GM#LDSo>+Yxz22 zz@N#iRGZg7*KA0ND9Mm0&6FgsGTmApV7T(Om;dK94~nw=Y_68?7`j*k8$0A%m%labKqM^p@uQ@FlQDB z%_5~~95u85@YU)k0nGM8YMKfx&p_!JpgjY_=W+TpkRNY)3pwzj#vx!eZa^o7#>kZ~ zsF8Iw?k*`bp@-P3zM#h_h17DP2dVQb4&1L_Yw7pA9 z@Fx)cd09177v9i6-eF|6<(+>wqJl?9?J#PIQCh4{V^kia5IKd(C{#}2vKpCD*qlP= z0A~##tpltzfVPuCyH!E=`pZpJaabT-4YvD3xLF)bX%EcQBc6IxRF9nM(N+5ptRAP; zg1L4eUnMf^N>>71!JH`%!R~R|J813>@!f;Md*FD7E$`vy9YVbav3EH49tz*X<##ak zJIMPEouA>wsXJ-KSUdlQD9xTPM@s=SC>P4)^SAhB{F8=#!Mw}?9J<9!pAD|MgI@RO z>>j~ABKcLAcji2zhoh3}Z}H7ItayheKZ2Y8WvH4v-@69fBWxdRAKgpXw{*iGFVxQ# zIo)BaJM?u2&u;PC9m2bXfM0irk|)%-1!LrjpR@WLk>Yno8Ici|IijJrU@}j{T!sag zbAfKd&jCvo>sv3FqZg6Gxd=$Co2UGupUGV-R(+zB(_f0l7(dqA@336=Zm?6DIF9#fa-DsSkbSTD?ztpqy7c0R30kn zS;66cvlga7%?4}Trr5(|93;7{8a4O4aYA%5o}oFlt*k?Steu0Oopc2=t-VlixF48f z3x)3ALmUHgC9Zc@4MS!s;Cb50-aJz;l=RuD6BHohhdDzjT!qpUfYNeos2&CT?6yqKMA zpPhRhFS^~F67RqNSmm;}6gm~yzO{L+6nu&Q1xmdaLv(GYoOZ@Tw3}!8xI{GXL(EVS^OLjV=ga=Z z#pZ1E0pt1trjnL3fk(>)ko>1$Q~_&JLz6qDWr2L`<0= zGaehG(NzH!KuZ^L?SMycmNWDzK*;jX)^%S`4JMu8fI@V}PA$fRxi7+Y|txeUMZFq)xBywV_1mF%v zQt$#;{0#3n%5^XhD?f_2-ciJrpEnNJ&$kG@)+hzn^po^1T}ci9mS`bdaF=#1DW{LPn0#+v@E&2>zSOHF6m$^(Km4?fc z)2L`j|MC(a*dRZ1n%?`rlCG?NA87p-&C35lvxdJKFNKR}Q&5-NG^;nRtlua%y~1*e zy)+9pjNAY7@n4G#W%Rzg(Tx%}xH44@C}@4TC}lz$eSbzZS>#eiMXi{EG&lG6ZVd_)~hVpF@(a zduII$hdH}Kb6{s{9dK`(OBWrCi3*e}^a52{?*{`dwgZWA0j(k>$wHhfdLesZH;g_Bx5KvIoytigw=#r$>cG{*Iusg1cN$pD{n}< z(|){e2f4IwXfW+ZUfy9>-l?mP#V?;U5)WUbN(_WagYBG{pVXj^ChDIb4yVhzD$HI3 zQJ!MTqf;*`=KHlV5mdb=)0AaS-fLVm$oAGDTzT(6YRCFq<9gb`Am4q>4nPG1q$E8- zUC%)yIyeTU1kONT+k}8dr?5g5ASI?0g0(C`+IT2Gm$Vl1?jYm9N}c>sKCzVeZDG6( z$Nl$Qg07cV)##G?VnRP1P8VH@OEvDdufX2FLQs}DRK$@iCa8-It9|<}Onxsk3CH!H z479uku+d(H8DJ8TX;Ii(Z3NN2{E1539(>9tC_7=>kN2PzqBa(%*4OMe#86C)%oRJ_ z?7G7(<2B0X6Hy^KRk%|JoX=|O5vp`GC71HHnVih;hhcMB=9{+2X8#3#@~X$EuH(f0 zRTAx-%A3qrH8;Il_t>J3l1erD;{Zfz0x86zF#Nw93zT0 zlrnAE+L#%-g6Ss|bHZt5LS0v~(#D~ihE_SL6?XH&*aAmc`SeA@F001IA;#JbQH9Yq zPUT@K&CyH0g#fN{{&M*8`Hqvu)-@hc2&iN^%qK4%{d+g>!2qGF-Z~X&Nii9$%p`81 z9#^$F=jz`#J+OOK_36wfubW~Q6^}}>_Fgi$S8#=T2v#$I=myn`!;PPQ}=W6h(>Jyh>O3}QHA?R3+mUDie z5^8XS`<>{ks6lYi+S$l|@WR6)Sg^v%;R}AN$l4TP3VKFJs#$9bvFp`Wa6?>K($C!r z+w_(t3e-q}{4RA~Ddll=G!v@Ij;(_KX1m+C(9m&;=REUl(^+eEs5BR6jN98x-2SPg zhNWqT{!ZQq8R3gUVXR|wfiF8Z2RK#fa?uCh{2_Ot8j~zC-Mo(fdlV5ZDf!5m(ZNE$ zM&v_vhYPLi8h8nC-j!A0+hQ7gBX(HMn?q89kHYTO2Q#t&t>q*dR`k&P7OL!j(V)kn z6O_%u$J!sY)5-m)k;(nA{p-sse;G1OOvci@64+~-H5WfChev$~&!L-o6L{P^PM6Rv zv@3Tdxc{$%foiFrn;QJVH6)>5#yznte^dv-RBBPxh^T;2@KzxAm$YjH#*S!kQ)gER1vYM67<76yJ9an3kvwJz*;`QPnMj72Jt`mmi<) zz18LLImpUt5j>vdA=C1#daD6;)75p_Xd$urvpCE3BJAVP{(4O5Q}on|&iv#*$X4Xp z|3$V)!kpzr|BGz3(C1G3%%=o;Ra@#iB=yf>HZ?4A?cJGwKtaIs-QEx^asAkFK99ST z*S{Z+*Vq&{Kt@dYjkzF(v!DZ9h_tz|ZXs?m2ZUp5l(uleFbA1ftCAs=T9?*Bp=Y58 z_VhNCfE*`kniv>yuuZ#ztp^UvL(k^|m&7S%$6=F4Smd?{eCK6~a#M6@Ae_Q8FP;Q> zO6QShr}=r|Ji&_m*4-fWQ;Me4WHJe_C&IFtwlWqNi$MvdvQsfM#0IQGuor2{YJ`A@ z4l2@XkgaHN@9acie(<6$f9oA%_8N(3q+PWOxaXo9@t)}aC$W`da@0hV{;y;M<=DP7 z*roh*FipMeRG5qqYae)5PgD6Ch%JYY7`|ar+lcQ{AP4eq3sINzjbUL+|CP z^B8nyV*MermcXleBrsIJrNBVbFclCT8e@ng74ByC71~v0Sr`rmRuWyEDrjJaiMRhkTSDUxvKem@ znKvKr%EpeMqtv}8hk2``&iU|$%o32)LJ<*+NF(7C^n)Ea=ix?xHb2jSvj{g*81ngf zYte)cm(3W_U|!7+zV*-=G;uKZ)x*Q|L|;n$IWD8DcRC1s%;hi>vZLcO&1#9 zTH5)i{O0zyCH3jB^Ht=jj1x6v;CPYeCT5N?`+KlNw)Zzh2lL60%+rO(tfs3-RGS&K zNbizY7n*=t)ZNGs<48x#A3de({BZMrR-yYn?Ac847X5=K>L%GY(N^`gQtv8(J4$** z4m6MzQp+KnSMaZbjTfkTd@6P&%f4J0^Mi5e`U6gOg>}T``FNLDn>>DXe7JWenngv5 zU(^oLE#@gndcz}jz+Etpe>}%y!yQpiQhR(C5a??|!CXV(TSHvjcon+$Ym9|q7ec6G zZ-CT@6DM(fA^c_fKuc&TY~w?|%o5I35aQ2ENbv$A#8f8MpFtutBqEBC&7p3i#d;w0qwUCs zAz+pSQc-gVYok904MFje+Cq&j{n`;h!{pat<-o0}9G3wmd>5>97Ji(&BRvzNjU1y; zB_e)VeIpGwA*v;UMHA7hp>*B{RIDYgS{waE7IXR+3dfq9ye7v_M?v1Y)v-@SrEeAa zvfe2*cQ46gd7cKPRIQ9m!j=cd-bHXH+kr7{&1B~sq;@Dn;EQ=+R(RUl$w{BsC@A7f z%DWg0a^HhQYHQUqml_%g!QU-1Bku&P?_X+p$v0*9zDOr@7^_jvNNmFWI~5zVKp_}c z9jZVTC-fIPi8>PEzY%N6QcfBtXHqVCg$f1ILpIaC8$=!^1o6zKlT28_r^s;Z-C)!5*XfMcc#&VEtO z^F*XiB9k-ldQd&O{S(lfv!Fban#MhH`+EuPW1&rR$1%q`NKPZ;dL<;I!{!P}R*fMc zeijbbZSeTdhGo!M4LAb+$9QI@&kg(t=r>E|tdopt&2mcO#o9q{TFgg7;0Ov4;?@52 zJm(7-p`N#L`hmY{y&fVMo`@(OGo<`&!(mV!J`{A6UD($AxoHzn=?yqc(Yzp`4n2WL z!R}t0fJIh_HGV6CTsy3u4EnZja(Wj^R0l%ApYi(Lq_q?1gI66o(#qcsU(Xu8uf)K>%p>r-$3{a&(S)+uJ$9Hynr+N_<`I zNOpY@HccSPf>HlejTJ_CS&S2NsiE?@{uzbUw5SJyz5On0elTdR2RG$NwG}mM3!B9LZwtvPk66x=*lUu(LpW+B`$nWROV$4Uy2}dgwe0hy-YY~l; z?se{rf;LW=h+W}8G|5u;o{M+FuJBTbbOb^3lNf+(#(kG%@e*K2XYIaW{@kYlRcqlN z85!%oB~kx|FPQqAME~PHi8=sTTO*J-;-GRiOsjAMG8Nx9r^X-s3?H-;wl?*of1oRl zI<@D+0}_g3<>)i;iMlrW)hA4=b0weOjQ}fRK8kA*#=r)H8lm?Evcae`vlhPn%cQ1r zv_oI{g2u}7NwrCT6{Lg8%rLi1Si8vQH*@4ifWF;^&p7lM*KE0i21pi`I7sUnB2%u$ zRn#jRnqpC}+6m4WEt;Z_qO3=hE#2QdwiSBT1aUL~iy{6ZIWz@i$tLA$t0lvVD}nf{ zy^k$D20Tm31!M&kV*)eQzp}82SWPO&VN4MNe%~bELXsEgQLPuacLE)|k|yR#2LZT8 zI3o{#I_=9vS5L#4L1>Mu00B#5YEWio!{=IE1ovuzC;w!#%;3_JP$tSfW1U|OM2T;U z@OxS44J(ku**KZMuR9?&^f?JbpGS@=BiodTllLqSdigv>8_e^WK=xfLokdK+k3o^j z{oTGda#Fb#QyMUtA&FR> z1W8<0HlmQU|JJqelLyZ%PuQQ=N#6W^1WVg#KEI+bDPR?gtDVQ>Mq1lv0N_m05IDoc z2i2dbfThZhL)!tWSykbXl_?qTnYq}sXY`mYMW~!5P~7LDmLOl3PcpJ8L|xypLR&$; zetwX0Qg9KZaWV)&{+8`CS8KHu6)pv435Qtq9stUCdRdyOvV(n@AWzt#N?>)dVDKRi zoQw^UA9{o!2bEnf$2jhAMx=Oyg_IUlnMHGl&`4jW(!T#Ngfd#dQ8UIMAdV>{+3bCU zF39Mo$c1&pKefdo3=hbnnuGQ3eC|fPea7HedWFbJawYI|fWK|C%9 zKHf^dl{f+!2SG==UNV8^`rP{&VPY1&Wq2-3dKC;tAWG@LnHpW?Lvsi3Iol z1x^{3YBwyGj@wxdBPC&eZ#BrnQ!jz-COGGUv=uKA!%Qj?tG zEh_jZ;K<6hw_gEWn1{^Y`MJK?4EDWvr7LXuB|3qDG+%qDAc5|~UO(Sas?G^p!as0) zwrx2_wRR^|Ga^AojcnAY0=t?0&SmarD5i~ai>DIexzJ00>!=Ncy>PrR0de~6(A>=i z&D{BhLJ8hrNkouV;gS@!2Xq#IxhYfzJ`PbH1uAN52yWh!44u%l7%=i%P&L<+TQlGo z3MNEQ;yuDS^YgilPThgrbj>^iKdHJS{AhxlQI6QIvOL`MY9J@n?T4bJb;UN&35|Sf z5;6RhAgoFbvfG1=p6Y%TNP#bZSi-z)cS+oATEK1t-9Tn~uR@>o^$V6oj*yG5 zpVkdGjRvIqg6?9DULYdBK_M-I{qQ{0g=Yp!f`JiZovsHl-aR~2?>P~V8VuuQw|t~d zKuJCe+TU9PL1@!JR*yoFOpjNrdvU|RwzWge93#n3`pj7jnL2=yvz6Wg6FVN3BRB=t zAB7e`U095WwIRb`CjcBVZsi$hP049C*nf*t5r`pR{cQ5LGCfeuu+kVRuYMjW`#mtn zvuc^IpcMv*`bJk*HUpome-;rIKjP9=gcZ3(5uC>KAp`fJ|I}Kkw|@@I`vO{&8kLn( z>m#qlHC|=zlzV1g6$12uh<%s;>~~5Q|GPvH%L&hsbM9J^K4n_sak6p1gUk;ms1qqV zX-ryIjajb=+5LMDGIo_0`B9}2c?!&>STuhaSlC7ERjjd02gExHvo zsc-%;f{Ij%R4@jDu23I&K_p+dN-y@{#k^o9NKG%O|%Nsj~v zRBcwJ%0u|OP6P}^-ex3&nJWX$7}FBvCb&vPp;_EhFf zmN~&>-P7VN+e-<%Wq2hrQ=>6i3-$8i0;j^?b!KAr;;5@Ph43kcNW2dtH$jG5KSIu# zXnp)X1cUpM_(y{v*{e~K2bT-!823b9e6_yoZmsrFZRNR|ZQ}$*^P8qBrL0dv@ZpaO z6o#a+Wz~pSbO~lbWnDh$BDA6o%{7pd6uD7bgR~j7IQH4xDeXivMQLb zzzOfCfK}RrqL<^HTBNuI%$9|D98-DY>Zajr5QA4}>n_{?3w7$;#q!FCQF@3z{O^gd zh+awANu#Zqvy9OTEeLok1F|j!7J#qm0LPm5{|dFjbOF=#Q1Uszzl&z0!}{uT_1uIU zr>om`)x33R75CH(x%TX7UHN=_6a5 zYBU~==Nfx_4*)UP9DEaA6A>N)A{&$cMP07|tv6YcR!v89^ou??Wko)ctm`6X!}-xu zcnC{?3G&+YC%;SufT5T*BTUpnrUlEJ8NG6B#$X31{G>ovVxfRNSw0Vg-0L2jssU@U?E}vMh9$Wf?SB!EMcM zeDCpQ9qn_YZwzoN$b({>4w>buS5l|=Dq9AGvvO`~>iB)o*y&l!c=eG$T?fl~7#k6j zSZ|9IzYx2E_P#;R2!S?>}D z2haL_d9c{A+O5?uFWY=kN`iVfFrL@5vSAM;4Tv?oWH77nhy`@TGDhh12r%Ep^&)t_ zPI6-)rC7hof=jehMO2I zD;q_2B}^2?Rjbmorp_uUp9u!(umXgb0;EeZogxxh=q%al;{Cwf%d72FOCoOYHWilm z+;QW5k=NP@Xh>w&#!jbip@e`-xz3ya*&kS7hb3Q4odP$drAI_CMemTY7$a9lTh;vK zv>2gjNH)0t9Do@{>T8-j_g;A3WVk?vBl@?Q#EtI}VetV<#N)uH%>V#T0Xwz9J7)|o z7_*))iH1W#n(8k^4^agmU=zh6qO{6t=;sKOI?}57jz`t!f@W%|Nr+Z*iY_^PF_OdS ztn(RTut>r>l>$Hrv$%u}dG|DxxsM=&i^6)!TwA(UL_}++Nz(7 zcwW+8cQY7)46}2BV#4=90|TtYc*W@wU0g{oo?U`XPGazK?)-nL+`PvJ9IKWKZx&(C z!rMv{*sfqSee3amlJ0$P_Oja*P)2+aR($&lj?VV0W%YfWiwpn{q~3#Fbickm`9@?| zFFj>*p}OK?jDoi!g6<^y#w!h`k?3mD7AG__U0&?Q%}r$fO^g?d8sf&$`EdDxwnREh zFhMj2%Bf5$`#94-_%qK;uCF+Bg79*f*J7HMrWnQWt97~C|Fn=1;CHp?00l4O%Tbp9 zRcu7r1#`z(4&L{b`#?|)m9@5smru$8NaFmaNpfQr3zLW{6X8q=FQWC1h$*<{V_3Vk zfgkS))V)QWmczvNF?|tcq@$O^(&pM@w9?%Iv37LXz)J^2@4+lz-HL*DP4R7n-r6;% zHC^O$(jpRHaeQchR<;Z4pKRh40{nA<=l627U>3st{TSsK(Zq*{CdHuj17w(C00v;D zuRjW{K!hDncO`HxIp>w`Aq%XW}o+(3D2Eyf^om=a+U zBZ#n*6oE|DsQpTYB@uKQ+xy=f*8=)^W(_Q#*nMLGvL>OmZq;3lH5pZPC6>5VriRKg zN3*Bfkq*}f+RyBoc>60ai@Tp-W7+XbqAZd+PZ>AVs}Vuy4gNKZPQrZ;EAFdRz_)9@Ml8VrFQflY15F1Z>a?Mb8SrF7Yik zyah`f&A%%8uN+Ri!9J(`fF%z24g~_HOS-eJhZ&aZ|A0M6n|f-KQtSlm^xA}UIwAz& z%~b>aW_x%4S-XUBc!H_WAV$Hy)N(9M=3X}fRkC^#|FOINPU?(O2k7@Ruax)tDYMto zpPW~U?6SbY@>~2euO7MQjTf3JL%}WVKOqVJYFsjDXq#6KvOYuLDNsS=KI`pRs~0WR z?L5nG~JEe-J72ujKMQ#%BV7Grx7z7mw{%~K$Gup20CeKBh&7X(+q~P3^?Lc z+Z@fg8Y5QYe{}BgWZk)j-}Ps#DZyi3o z4HPs9VVx1Z8u-+je;b#kBREpE)&mw_k!&in$@On zt!9a{|ABSv7A(StMzf57b_?R4suy|huz`5!cr*w}*n2~Qr|2a$NO~iR<8u7+i4a8Z zwuMC$`6}8)p>VOBjGbVBp9pUtWfSeLkb0^Qtp|g*dxtdf=BvuLQe&AlOpKQpQ?ISu zS7&RK`@i+<_M^#tFYrySl;j5g9g$JEd|cx{uJQAFN_pN=m zd^RF6BNciaA9aSAi7G)2WKT4@@i!M34i_BhWL1qRe_&E>Awv0*GuCUi+WbfBpG^JK zMf4mGSgS!4#jHG~dC}lsWMY`%sO!Q~9MpOJ^w>$IQm&^F8LpSk4AoI-N{21()>=Caq|sZfvv1shB7|@X^!M9abiy3HtV8ZomXxTsLV0O=L#Yv% zf#lj(eH1fn2LDX)4v+TPYKBf$FX)HK#=}O-wDhIJ-O*Z=c8a|e&(m!CWPq>xWZ2BG z1m<3w?4M7Cw+Eu_U#-c%JoZ1fz@HulOs_83u}q3F*T!iY3af*0XTNu_wr&{uoEzg(Ub3V|x zpDrIC*i07#KVlYUxxZT#lp;eo_hSR*P(7sY+N95(Yd24E^=4u*WJ)4re($<9<(&&b zKo5>*p?prQAe)eY1mbT?J~)_Nw5_LNd7U}R0AW>64P=DvkV$uHJ@gHYs?z&aa$|*7 zM%iMI@DdVcB0Tynjpjr7W9JP~UUUcYE%3zXuu;UiYI`7^`U0G7h3prqjS$9FjqGH7CLKylJ9 zNprx11qdHHdo;m#)XssEwAGokII+f zNt*Gbun%(YpB2sYl4zw4F~ePl4BvYG*pipVKH)v!crN;&OhV7qyE9p+&s-DnME<&2 z*My7#gb<6buO>MkpLuPrzR0k#?=r?cOMf{AB*YskEI_i(XG3r9_h&MC#k$A^RU~eR zG+?({Oa)#QoYWUmKdz^=){o;^pWPr!6vYRsXmGljgH|C5ddV*$ng9cqN%D}>RI0FA zEe7l2*JWzL={%eD)dR&slsmPOi~ZCCwdG0qcdWXD*k0d9`>os5;^F(NIar#MBy}}M zsnWx_e2yg>Vz!Qg@Dn(ER<`Flc^3BgVM6VLf1FicaA(rI7uWKBM1}3p#u1HIOVrKn z>E049&&3?w%iN=r&dvX!s-SP=T|`_057Qa{1bL*Bt_`nePV${>QTA@A?wFNn32S*aG~n-qLM*>Kr_MGse4O_IgfXZzJ>adso1yS#20L^*9148#_smlL(^n*C^xu^A+|V zZ&urnH;cJ?LXrU=6_ZLXvsb>%LXfihaNyIal7J$VigjPBA72xX)Tk6T6smvzujXAf zlcwrdHr3$ogzO4xkH@pW|GN67JgawoJv$p5B9%o%IKEczpUQlyAX*<$qvhx=CmK5^ zZYm52&2KB&K9n?omnZPBFQQ^f{cNG-8js8u!^UO4O+eWve1_XR-zVsqY}&j|BC88h~#; z-~DR6kLoq}@_~Er3X^pM>!9?DmH6j2>_CZBajpVlREoz#hrUdh9x7iR1XS_>Wl;vS z$bMKu0SQWKMSYlFZ9z-#T~#@*567jP#T1>8MZCMPBy7QUa)Xt`mLSZxYzn@zWC|{2 z1U-PS12{9K=$A<-Ow)0^cx3X(Jb7*(M&EnljxDo%AI>%YdNw)n106q%>8yEX79*Ld zb9Z0aQ3AtTCbC%%4cVv??uxVX+ekj!i%K9=X3Lk_b^(#^Lo-|VM1K1sUA>sB1HyKy zIdv9}``g&yMv8qi%ZMx+TyIWq%^i-QABRXXj=G#AlrbV{urS6v6Kfmq0{#F@Jbo5i zJzTvYfTu|6sjOtO%_xd|O_IY)$RrkQ#X!M}G)-?(6>pmKAEU4&RW3fHk)A%^R z737`%deoS8^v;%QuxL_*1J{&Pg)=Z3fGH4?K4XF6)+VYK@EL-U{g`Z~rZQ|DWb|AM zbn$6ozP7Z4)miPXt+D*;Gx$e2xa(FE6~gA@DL4nC>^y6WO<6WMAoT`(`P>3KZjp(# zWNrA9+#G9q7z+G35cR$xt9@&JY6asOvpluH4Q~mt*|m8*yF?E|_8_p9!rNciy?9zg z&<%1l;1wVe`KE=V`VpR8qLT5o?b#Hf3re>s$t3LYXma?#i%E1yGC7y1+UfBopg`2Y z4pAQ}>4R)BLh7aMw(u`n{+9EKsm`8>YV9~Zk=aRD2(3#_tL7uU9r*TVA!GxIO*#`B zuxwzUFUB_D$fU3qm=y@z>Y8wP+=;eQKkWi;Nq{=^B@=hkBw^W7G~oE_&Pp4nzdgie zc(&F!-~I1Z@vz${Hs~CE$*U%A)6v5)a^)bX#0`PLMb03)QpfM-CdEvtwk27@S-cJ_ z?57U&t;!wi^t<{NfV1%rn4TJj~$;< z_^SOU(u!moth!&E0x9)4NmDh2m0SPE()Fvw6ku%fFwX0;{$J=zw&uWa(Sa6AN%%xP z@q=(TuwqyW$@)Y0CgbhBSt22|3Jtg5Y0jW)RF8wBY>xs#Xk*+=0rRhot2LRE;l_vtf zICcL-5sV^iBSI~vtq=l1MF~@3CMw_zC{_w(1E#{XfI9Vl?);__J1`fqFwo{#1nlOR zgX=Gh&@7h3tbirtHa$`VL30ui61iOPK%A7xs)!W{g54C}>3{R%w$Lw4=b}O^pSY?N z&I5NLFkF-~E-t>w+!#jbXBpWpl3#@qwS&I>YSX<=UZ67pXtt(^7VcQ4NOjB$=mJ;; zU~AX4_;#=68VVcO%t-vnM?o>h8Yv~vjo?<-r%@yb!LAAIA{P#pyi$MKHyN(YiwEHr z7BDAEnNOT`J|-TE25J17piQ1G_{@f(OfwEfDU3aKbdjRae(}bud@6B)0LZ<^|Lt9K zxPjo!ph#kBzFE-H2M0+$r$Bblb) zIb?JzNOu_T$tZaoz_E~US6|v$%Xs8NyBhVHBWr9T+%;CCi{;=Io^;Mhkj=|4!xwr# zCJ;f-<}YyZPPyZKa63InTzX7k@i063>Ze2<$4sRmQqT7UnOqcNSNp zLk^baYn$O-q&s1I(7ijTW?yJu3YrRJ=HE4vEpR2a7dP|nzn5W_L*TOR2@#rmROfd& zId)``t*A<5$jr%$gO$ae+L-uFNOE;bMXH&o{W}%1Lg$nov;b1sW;~lQ?7lWf);T;W zBatCC`1o_ehW}PLL#~XH_!0h6=q+nyL~O3rTR{@T@_R;w$O`G~ zd((TtJz4@74BHnWJe8UJ3?*q7D77Pcci=+%i}eiTx?f8U#D z)qwj5YtB>{IbF|R#8pLKuc`L7!(R}eOCX-~xqq2^(?wrn!sW7`9WY&vgnpuS83Ge) ze%E@ok^VUoR5!|0yB)(`c$h`hjEQT259ZX`&7!X8#9zmJI0l&4@W91(C^=R|s|B_fK3$e~j7~qCvmb{#S$@HxF zI~%Ip(ELu=(8Hm>_Ko)@cx92WK7vvQNCdhH0QwCCjpzZ=j~yPvP7j`eta~=p)&2Ke zOwB4Uq-bV~{RuUnzx9|HDTT#P^}|jM3)T3z<^3V0PW^4So>lmw5AyM4>lxJgQ6;4{ut{el>L^4L_%wi=7z z1d=yKON430koQm@a1$>Biz-!g=nZ!&FiqqC&JR_i^a(`mYF#3}YSd)zpPd5 z&2&m7)OUE&>6)ojd26>(z|^bhq%76wKt`m%zRHwZr^G-&l(xDMR`clAi#r7n!l+kh z2}pd27*z(g-hu7KUDjsi-uS6bDq;-C)ty73P}}~Bs7M+ql+#Jg_?)#D@O34g#Zm+~ zWOuBAdW9UdNynvL#7Y3j|4;)=aK@_1Fjm)Xy-#1nF=?NUmW zal`7dYT(Arn`u#x1bfF_R6t8+@uUoOf^gM3?TTo4K3+gvjc{08jgYhwm&-9XrY4Yi9q$e+kEqzH8&ZUL5DOyQ0@C`VbvNP&E7hZu4}V4sGqqI<(%7T z=aUE1Dg|UaX)OyZLEP6#DDT~XI2od6^93R}CKv%EIVDD*ZB|v}oMzNc%s*M&oWv#D zc}uUCLUOr7CPlFe=Gcf^pDs+t!6m8unK;87imcl%o;+?L5y_x`LRHPDeNk= z@b;iPI|_E3_gli6eTBbi@12w%2bTSiN_R>|AEQ;pZqkqYn`yn9CE^I2DAJa z6XPOfh4sW)KJ_jx|BOS+oP_+fAYp_}ajI8_WtzaB+(aeC;+PtgoS;_TmTptsPT{DTla1fiM5NK4DdPCPs=VHfmp|0uy8a4L=*y|YDj?~eKt|0Bomyf)h&X{6F9%j z2-aHCY1j{GYUSO2r4nTy9~5vbC3>D9X49SgG1*z1QSwpR$u+rEMlya;u>jRjCOSpY z!ZAJ*sWdpRagbgrY0-y<$>h;`c}#{whY~tEW3en3>0}S3CyOsu?@fxhUjCtc z0Fsezs?tzLGl?iuEXBWN4}Lu#7mX>jAPx|%FXbSUjTH__H&UBSI1n&@;!JrcX*)Dp zyaz*21GPV}$M0;VfdMRP?2dKuk%K?;i?#s%O{cZkrD#gs7=(k_^5cZeDHdGg)2g{` zCTKd4)}6)zSf5s~6yks8+{(|n_p!!u9+qKfX5bMbNtwG1g7Qfm!0@wBQWd|54BO~a zTU-CtMI(c!YK2Wji&FsKEQ%puFXYi8(Eh-1;H%tNRV zjoe#>$uTlLn0me}a+{|EEy=FTlG;Q@*)W`isF|hZS30iwRMv zCzMIW(?7P8aLO|c$&vk02TqZ~oo=#5-yKwRd$i@BxGCreg5=~@p+OzTx~;Y|SZ10< zpm^XDHDt!18Wn4G#okmD%v z{IkU*#x6>X7SA@9BtR=3=np3vo1EpHl*i$#v~Y`_#;R3m7?OCA)u(`*LV_UISugFT z^Kgwu!LLQQCqcui72FT7#+`j)qrFL2#eon8wU)jQYW*~_Y#G&C?I25*Eo?}ZsUxyb z+(d(&81jibkaS%|elD2;ic+zR36-gd&4Jbt=xygmmgkS>{upFBhK~_wkm&0DoR9=* z6XB*Ng_fW){zo+-3Fs0q`PW_v`moa~En_9E5u?!RfVu#6$#Zfy?r~Os9~3|Ll9Swu zK|<=lvSiP;rPY*h5M&m!!^)KPD69<_ziJ-t$ARy{;k>=MjKRZ=&9f${5+EQrjl7Y4 zILrcQGun5Zb40Gv0*6Zn06Gk>fcC+jiNz`=}80JDo zVHwU9K9k(FDB$}nH3y!t>C{ss3t@5KTyCEQ`eM+_gc`PTRL9IpmmL`Z)nV6y_#pQI zHB)rG1uzooOg-XRyn#y~{oRg{Bq9zzxxl#VgoYfNfaVz#>lnv(EX1}Q_{{CJ^>gAF zcWz*S_+mdrBqb~o%COOpGsYZJ2ZTZA)DYynyXaP1T zZY;fqFmQR+o)3V(Q?_>vK}xN6;S23hck;UKD>HiSfbKQfhzH!xxR z#fGxGLU%TaS?~|M@xs}JfBclG3@B!>byTAx>YsYv03bwO}03ngd}AY^m9{Dyi@M^OLb z?(ul-rN9Na*O#9icu!hun1%aGh*mNQqc}%63^v^_IFN&i-C_oxC$lNs%EQ)AZ znlT%sS>>_ZTyAAp=ks~+ol5M)7HPe4aMuj?Myq~a91gTXZ^*%F%0Pv2gSgx`vPUAIDa|kx>EktEe6r;gq|Ra)jYXUz!SOx zI_2Qp8&Hg)cz{4AVA(?kMIMwksm&l|eQD>%w@EFiX@UQGEYykxKejz3@rdFEX*%+E zZ*gC9W!wj9YDll~tv)bb;DUFjH;t%2T`6eXA*tt1L`7q z0l7N$^`;PT+~nAFEtMgg5UEPD8F(xEm1=A!Xu#yhl&UtdJTN1KK|KThmO_wB5a;n% zd5|g3pN!D@wih(H{e*;M^alxJ)Wo&PPMCn#Z*;c~gk;T5e>eIE(lKup!z`GRJO!Ui zq%}ek5Kr232fqxD*8FGj$|`(x%CQ7h$Ic+9RBBK*8mod!V}MP+szeQC)pKj0j=@5t zs-!)h3ud{BLR>8yDJ@f)f_Z(`YQ=2m4vt4sKQn+nKDrO(n_dXl6Y^lA^O3}YvK(u;)wt%lfry<6;-+r;*6VXo3~9O zGagk%2M$92TCSCNw@|GH29+lE5ljgI?cXTkgMLg<t?c*IVN zh%lvqzyUh=-q|j{9Y@Bfkh@%k+^>Q>?de2n{sBn$cc^h3AMkWrIS$Yv5-8W6^2B@g)kz0ax>tq zkeO1us*ugCfx~h3mtlH2z23y8Jcqk9rtvS-mhT7XM>o#Fhg}7^%)qjXWs9Y*Ml_u93F!i^7!|XvvIVIl5K`NPQvfI*{=ZW2u;>CPqsAM9rVFLi*R{)F1x& zkCMixLrMh1{{gl@NxuviOEdX?)Tk=a4gp=L8vqyOV5ZBN^GdME{Dp23x&z6VA~iT; zboclQAJEZ_(4$c=T~zvT-^pYgQ_5|1n!e0yC)k9tGp*S8=z2c97pc&JOSo-8vaX(5 zU{MhDCgvU%gB~Y&gDcSFI?czbz^46R{qX36LA3STc)M-^DY&u}WbVE7#hX zeGiQOUpRB5qo=K7%s-2?jF$*W6j;cxfIoI8p_&fR8xx!DU?bzl_ys(4JA2?Ni*4M* zqL~Z1FMI^7StbKs!GNe_hPB64@RuYz6pA(6Q~*8kbB#zwCgF^Lg0RqDNs$T@cW$ue zIIxh6E0!jHLUubWmKzj};bKOQ>v=Lr@2np;YaU^X*?7iNHL7VE0Ki3DfIP?IC$$&a z9UFhXJ8ahq^5!+8ed|1G{eeoL8=f#4*`MODKvW+20NL*8O@X=Zn?u$|BrWh=_0E(D^v56aP^=0D{JG`U*qL`id zIiT0*6SCYv{VouRqL~ z@Yj-M>pYMVl`_st`&{?i@xj{-5=JMB+@WOTYF0z@f$6Pid}r3R)|_r9N~G}M^^a-m zqEvoDzZ;}`(Yqg|bMmFGXOkJ^;sz+)+H>ME2jD3BSPzqx<`QBn&mBPO9(>-|S_Uk= zmCaymKJo4$Q#tbXsFdy1dl={z2%|RJc7l*X{>*Y6c#rxhVh_SrW0yZ+qjq3TEEI=9 z>UgPiJje`cAYmFgvL`BM5o<7D6B>+S{CI73Xq!aijVUy;{sITw7fMmY>XF#XXRQC{ zRqW90D~ZrJXM96`jI z+swW<4-t*XCDbNm>raZGHZ`#?hvxg)9*!l1ZJXEq0M|E0Si-S_!zpe{o{v4oHU0uY zl^Kq;1nyTFqQ7}m#hf`NAxwiXI*dk;l}j(mssau^7|~)Ca+An>Is+WpX~iN>8mmkP zdR!<-M~ZsJE^y=|((DYdgaMc|@RJ6+5Zv|=sgc^fswFDGBFKGJ%Kg3hjeXLG2gMVp zR6>(IXeJ2BCeh~55JIT7-LnlL#h7VANWm9u5%r3_#ZgYYV5PV_<^%uw8OsD}#)eG7 zFiwc!_4m5=^y4~BQDyEa8Abi6y+aXN+#RK%-_%f1TqCS7cU>o~_$I&Q2XqP#!%(2f z3oNyPCO$BBsbov&kSS=g1xv z-%Y-EXHevr>G8Cq{g)7Hw2gF=o5Fu-f2$hSd>Do-Lo;a@nhit3VJJEbfrsVy_yy=c z?h2zT(Svi|j)x=Vu$-S>jl!#==wp=)%v<#wI+!+&dk+xSH84)U8sDb{-vLC2jJ z!gdh63vfG{0xM6*1caYMklCP*OUI(tDDVH=Xq zkxS}5{s?!+-O(9hOLWoq;bhGZ2HEG*s9@Pr)oro?-E^k`L~s~`^FJ(fzr^*wI}js> z_oQIxhq(0*5fF_YKJpaFUN<8i(MIDfWPAJl?I9UC^Sn!;dD-#f2*DAKamu9OdYuPj zIhs03lEAIdQc81~T=sCOXPrB>lY^L$&bT-Hk<#h3dnNV4Za8$UttxNr9DpiQP^R?R zd;5N!p_}Q9Dx|Hvb0E;i3mnbP_r8GzfOA-3+#vC9r|b#a~P z)WFu3=Yq4-H9`Hp}Gzyp)RDsXfJmAg{Au})RJDm|^<8|)FS)x`A zrke$Q@AfTL;sKfzt!%DP*#Jg1#U7CKHJjzh?~Go-pRggc9jXOZ(PEubR~w9JBY^*JfBH8kPG}@DiBYD1gUgtr)F;Wq%UV+tLOxw%5%f1I=fG4H&b1J! zDf(9`2T$ea>HF?-wLH#(@K=ZUOL%@x+8?tkdHFM>RkA62FGvSrgX)rm>8}85>_xqU z3+7;$Mj6%!#15j^LKs_wV*`L}0g^q2vV&Qk3=Xq`Ec1Y77V^wuqG`l5v+v5Cs0?Zl zwqH^!SI~F{IL`s=8Q?vS%qM~Sc)K@~Zy+S}-(jxVJTai-qRVLWu#mVKE_aehx}*XH zPP0=eyk>Wg(R)u}f6wrOHO#O>A$G^SQUbh=pmm5Z<2CO6-D(Xm%@4P|z*{w7tO}^r zDhNh@(AtI5J!a*bQRuK&WcnXR9ca~xj^g1p6WfB;ZM5psRg7+G6Mdvq5i;xnt+o@0 z&oSBUUOiJ?&RE2=oEsGjb4avfiaOaGb*k*Z9000@z*iZVe%)trbNPQJb??%;{1$>g zFOOc+Gd^A_CZ8cIwiTa$HOhg9(@2cIVze2r?ihW@XiH9;GTN5Y#;m%gbUCN#8RS`o zN^1~n9ir{zAa8wg#3srXES|2$-2ElIF&4Yj!<#w)R0omjKvW&fY8Q!hen_lV2j=SF zUK=DVXtRWyjtPJrV0DMR?%>%ye7k{nw*c@4Al~A~TX=a3KX2ga9elmTw|4;e4kF)T z=p$M<^&nN1a^>5>slH^M-P++ynR@nX`*YiR|KTfzK08q68tmMlpB`2)+1!? z7X~7t8iFUxsC&8_ToV@3-9f&05#j$#PGa|^`K4`GKi2k1_gKG0vH<;=Ma@_#3uYiV>P$O>KiYtDc#ixKoi!@^ZZiZ=6H5WLdWtM?CCSqDauKO)U z_+Kb=7sKHT7w_FtM`s#XD30F|2xfRNf& z5hRg+eFmb=*Y4-Gef#`Q5A93X*K`BnhRO}59c?=qW~wxDxxqEJsOJV0-GQb%RCSHI zZeZDe-Hjs+($Z96o>uXl&0wqwUB>sTn~P=~oyHC7>Ly!N z@gA)sn6hK&6#Hb0L#{?k<=AC1=*W>n@g4!G($H! z!VU_ISC?fZSIbUFy)8ElkMf1Vig$bp1Vk8)aYpT~m|W~CsXwOQ;=`Z!?7~GB>EOa= z#|Aw|{SVDEQ=Sj5DP7KF`+?nLkCE<)dz9{p>!|998tvxUar1#arIG5)h97M^A7Z}t z{(KySd#JN>=2G%qB@wwmin;}t7D_@7#eV|V!iLIZDE!V5)h|+`w*p{MUrpb$W;%_i zrP5HAk1J0*$d6fn)Vfqvz)jy&T7qlT(&QgExh_qeez&&7`|&er9A2N5Kb{OH79bHQ z=-z&efYlPi36!qjYqHmDQ@@YxPVWeVj>K?6WpoM%kFynB=VDlkMxlRoI^$2Akq{J~ zdoR<^rLpU-nHYWI49)=>FEcH#1+YFbn}F?!&W?ob$YCddhLWl)(#C>MNJlS2JCfFk zV=uD3Snr7b;pu?gekox8(qI@rRC*Sll-!7AOO>5Q0h8iOgniY5mInj{H7I}aK%sQO zI)ubYL81)`A}sY8l>U*GG>VuXesFFAHqiQTKy20YA+{{91FJ|9d0W;B#?@W|`fz9f zNz)I$WzdIQACN~q2(p8dZve;oXa=>N3o}mm7CeshmXqm4oeMEcVy-&#Ny9y9$q6lm z{UFyN=G%uY+d(r|DqNGM8 z-r1e4@1%nhAAMQhab}f8oOI?heXP-|X&D!I?`)7gNW$xAns9-llKq?Y`pJZky?Cy>Pp? z7XbM0j4c3%ESMideO)Bv)~CC=d{0-a?#Pd|edbG@e}FRr>jGS*bEIH(tH z_jV8of3vr1CEO@p7k08xcj3zI{tlr~-rHcQK&e(3D&1YUaJ#odXcF0-EkfG$91O+L z2CzP}A@md)6)o6#L)GNiK~j_}@0<}Aj0zgoH;x#o|;>{WF;Ow=nGIG`X_xT1P#D^S5zC0yTn$`#or;)@f-t$;(8A6UN3AL{Rnbdj!bmm>j6A_F;L3Q zk^}6GuuugdWY&bGl|dDB+XE+mArAO8Aq7v|BQ&u@tmMfNvfx6(Dzbf%T|E^YGx5!P zY0{IC8`9YKe&;VamC|X%R-w1*l2!EFA==RboEGEEoOY(kE1g5GT)?kV5Fx8{PA2Km!wkLgU{u&K_!n{jpEV)42^O*x?cgtY*~--m)BanUeI~c>nVMm zJNMIl@^Qd1`(~W)tYbXqF`SqM3j#_2`&er^8vb0XLpSvM@o& z6799;0f@OCxe+?$1BDqid3QkHuve^7_ImvKD*9lwo<}t@Nb{x0q|){LwwE&K8~DS! zBl5|UR*gu3p^B{9z8;XLjkE6B#u*Pt)pyM5DGEy;O=7*=thnwqZ0_Y){%{7PqUR)5bbe0O*7LyKkH-KVM3^dl z>2PjcwAFo3eg9>v;1AM5`qtJFy4KcU42l7@#7`SgT4vg@@B`K{h|cVxKSAp-UeXH( z%KjYmz2}4L49+XB&UWV0`4cpb_z{o2Ikhf~MglFkIXTaU!+D*Wr=#Lbw9f~W-|Il_ zAF5|4_n-0(UKo{%Uc|29S$U362FNw~fo8njk8J4dHX#F_y zA-(e_gW}zY%~7`k{D8OugcUko`bQFhcwcjgGbHv$zaASChp=IalaX>h+2)=!?n>*< z+$$`Lj)Q&?uZJ2P@AEH#fd$|^*X$_1&*P&ojy5*rqeptAH>6FmEe>>Cm!V^P&PT;S z)WKQlwjR5>O^(l(@r7J@**1LRA$}pNF1_*JwZQ*G9?CLR|5R;sy{h$A> z*Xqyzj}D7+TGWxr{NR7753U3EAyoG-8nduhy6`YBa#%XUmbQ9F%&*2T)iNvi7YDK4 z`5*uG-~V22|JOgjVJnN8XQ(dY`mrDj;=)d7cU0Op6CB@+-|xE2EdUu@5cs~M;yygX zXD%~qrOl9tElc}UVIR?7)0YSIaZ^7RMSV~s=M?QpR5j~P>OQpk>H`Z5xu(zdB&tG4 z-xqvcQ&cC5nyIfamg?87&~h*rQPw}wT#Aamxec_CtxH546;ODdE4X}I5#X%Y1;Bk; z-oFmlf;Pm$Nz8!6w_$K|LHZ27VJcW|t7>B^&w)xfLQ*RoNv$J%$4cOL*h+zc*yV%5 z5|{+9EZ!9XU7(-sTY4340N-_ei`AsR&nh~Q%C%1f$txgSH-e`;7_9jq1dyyaeJX)d z!>oPC;;(>%%Z)@p4Gf5qX}S^zG{Lz%7@_gC|aAEmqZy|qOw$+Xg zkhHzF8_1AAy|m5fr`SH=Fi{sfoxt&KFno4GB4N-Hn5Y}a$qlugi-T}hc(!OX<#eRR zLbI=uxeA*jC1wLKD0W?hgiJG>lNL7Qt|Bcu9Dq+pLIA(#ub~A_MSv$XMG}UUoh0c3bFlm>fQGj({_~sjr8J<@^hs` z9hAM3)E>11tq9L)dyK0y-kkqlLGU_+Rx^Zr?dt;)=S3-ZM)$KlQQhqJLaAMD9t^&V zQR%$ir{}=Vkkc!T>M3Qa(nhSZ($Qy}%G1?|NDXmXgjF-N65^EzXP^oRWyxz) zTJ8E`eMXAH7-ky7B5poLS!Pp$iuJ^AzC=`Qm<(VIc!j|4SLAk_1+nF znPlG==`1YyQG2n75&ML|160hP->UPx5TQ=QzTNmMfGR{o78ka1O|C+u%%j+R0y+tS z=?^%~0@EMz7y#4%_B&n(KC^gW5amt2|3finCc%7?pazE7UIc?OiIlAQjZ{!AF(7nA z6$|2%g7&eZo#ThS5nYLa54d`Wb0ack$idA>5~XPdMMiMf?Xt^LVs^X6zlLmfuGR^u zR&t|82}q3sKV3iv=DU$2br{rIwu*UtpcMhcG0gK^39wdTV60MeLyagwsOx#}j%%s> zG7>>ST}aO_$r@SfFBkk&mfc41=tt?*o*3Q#xv!bJH$y`^L7**b{ak55ZZFVJhWn?C zLUU!syv|o$dxNkx^4A3-nh7|^aX1l`9{xEd2)R!98awUO1zvllVaRa%@rD4s6zwMh zSx-5s?U2S7g=_v$^ijPxt_b$by#T8s5nD!e3?v0m_j^=-rvTt7D6RO@_f~x~$C4n_ zeJDEJYMJ-wbmg0&!qhnQ6oX#XXkYW^iPOKZBrJl~CRIcrL2Col0fN^iXkMGxcx`SE z-=#A2&rWlBwY}0nPz`KYcx12lJsvWGbh@;$UZ@!yjwnWh8eP9le;w0$!AGG<(zT$A+E1nA^poy zj;biE$2T?4E5+$kbA*~bNIZ0L^cE`s-{Z1_4{scIS4tiQ-(ln2h0jfEVWvX;I*K`O zC63HRSa6mJRlRHFQeh&Rtr5`x`A#FEsZ>kvtI&5GGK(-RgB1c0#>_G{SfyhrMTQ#(4z)!-dzeod&JHXNa3uz-v#fRnP14Fv8^lh4@FG!NU4NW=D zD1s#XM$DBZMIY*D_viDI#ZN?m6h*9Dt8C01eQm+NLl1pw7lQ;a zkuqW)bz@~D$H4v3y`rK6^6P9+ZTTcz2XC4I1ely#O9IBp{XHPaYg+myyf1d2&9Fj} zQP2S#%HQ8yrK1;JQOGy$PhneW1*#! z$vPGBAy_={J;xvCqlUlENa)4D9U#Y0?UgnwNW@qxzg8h1(T(_2vQ{9WD24X*iV!mQ zNBNQ=K+y;0Plr{s4II3iR)~YsmxQFmy3PYdCAbI4^!W-?CtmTLwv()L77q0aZDymo z44>aITjB*Zc4C>Gp`WqOrg`4*cMM;sl5TrM-6ILH*8&X0i&L!;PZ_z=LKDL z!r&~&(VDfx3Jy6FA_eynzM_r1WKb|E+5%n+L^I6bDviqOi^DbB8KVWgF|dy_h{ww6 zTR(#jgUoxi=I@W-D5Za6&k`q5EYe?mmWuH}cXBUBb?O(C(@cR~=ys;K zuJ$cV^-L+?RGhk-D9vvidCS1~y3Ke{CE!Re#j!xn{(%5h?^&$rf=Zj=R7pJTksQj} zzdA+qLs4{|crdn)k+6%^B%juuBZ_5Uwu5teAg+77=Y>kwRMr*3GcC53YXG_GQy}+5 zu^PMLaZIY660n|#{c$se?LZ)~RZEVkM0vZ|-mW|$QzD}u$;m;<%D8j;r$|!;(D%jp z8*`ls)*u`S2$Fsz4x&e$dwTF|kvhAn9Eb^Z!M!0WqX43+LHN81C4ONcmO$lCCJu2) zi+g@Vf30Fx7d-bF4v5Bczt-*5XzqbQUeVkW-8<3TC%8rM+>_*KEb@E3(s=Gyur-+H zzFH!J=6LWXUJ#FD_HnM3Nz?6aTu(X*&200f-W_4cE+!QwiO*7DrH+NZUSSh(!pH)!#yd;7r8;ppI{mg4V;C!E@~^dG z0qavX$WA4jynGM9Ok5bV0cU(mU)>-}Fj53;hoOs1)cL#sfX0QS>Me!olM$`zLYR;k z>LB}^f?X(Kc2ps6j25GW|nv9O-2rV4+ zxr(HfAc`=_X?-VEC|z?Ckl3+7E~N>oA{RP^GRG3ng4m-afTFM?2oF|OYo$sO4^KVe zf9bL4k2VfyfXYg!=x&f^o+!Gxf&V6xTDI3iEF-MkY7MM67rp#MrQ_;QxeX*wQ!!McRL{em7Lj0&Qi` z>DFeRlR4HoZl{0_c6ClMCp1(8?9F>at^%T?sJAEO!D%h$cI=jw9^l@vuznEGDW0z& z>yodqg@HR)C=Ac_17w^A+!2xWyP49mIgSZ!Kwes)I@1|PB(fEZ<%3bs7_KVwJHn54 zFCtMjm|J3JfPCc^DTwG>;SBTyZBrsVJ}iB>5oaw38+-mVz*5Sj`h=?I&C4*s%^sNb z5XB;q$W+=pWsNXz;f@OLQ-&wHknuvp%r5?_g`A2jMCt3fPYOg?4;yh0BtUB18KD8< z$HgtcG~b{Q%=nW?ERK=kc6Q?Ye@T-LM$|D9krvQ-5O}ysjh!Pj9SgG(V-1Fmg<;xw77J z<3C!sV-}W61uW~OrOcf4Ary@KmO9YJZ zDUoJc9<*Tu>cH}+g?&$Otjyr4Jy`Nb%6|ss7F!6Yk|DiIwHl!Tq#eLi(*+n|%4c+L z(FG2I6};urh3(_(=?CQ0*lD9NRqnsecz05UNT299C5C!HP&gKp9Tt@FpW2cV%c!k9 zw>Rb%h~!n?N!WoCIBWX|;?P(7&q*w_<3wX_|G6D%HnCWwZb^2QZ2=J@%Mvcjpfu#Hp0Qbzm#{=*8w*Gpxm;F z>7bfS93Y3nqo5+Xmj)`H9+qqo#`Q|_OTBX!dxYwyQMvw10+F#f@X7+X?IDtfgQV0V zLsmO%9gO4``a4rQ}=(r6dg%kpc?ub=l0atq5(8hf}u5N|I zrw0;`B|=oe{_tmfWTe~l#IE)5(Xlr>y8IH!w5c*WzLn)zW6 za>doF&iaM`X_CUsl$#|n%~%{USgGN|vZ zk-boZlz7S znz!0ium%!M{ik23aFhwc^(&J=?2Kh&OkX>DjnS^n`X<#NCn7O>-44##lC92Ol$D&u z!~}?r<;>iG0e!lO6@+4TlB0vj0^>@d;k@bJ?Tt_n+UAErDdbY5WPJ@tmE!x$k%{K$ zLC_yb-T?0Eg9#vKP7A^o(I;L!Hh2pFN0#_>L|unW_V5Nz+bAJ*hV_(H8hGCk=G^m_E>=;nse$u}N6>f@d!EJ@Y3&eX$L*3iZ}pJM7sd=iW2M|a*r|XMy#NMbVhZPs z*qKG^>MsSmSo~T_ZSmcm*MY0T8{^tmmj>(u<5{AZxaYaUf%#NTM}5KQRj`RfcPmdM zR3=>WW1oO(M>!eVqLRKD?X}_PUldCwTXRl4;cJUdcD;C2#oyQ+r2kgFCFyx;OB#V& zA}#0~Fqs2C)?}`oWNZQ$Ut+F({unGJ{0JG7GcEM;sM>bi#M+q)dm?-+QLBXsa~G%; zjD-xhcDP29OZGiV$ch+NU_tS7MXid=R2gfM)$`wjyOTlt+_}M;@j=@z)~&j{MF)E! z^|{U)8l~PH#eb_4KY?3qKJ^N!pW<{vG4H`+0BKaI4SJmf@wpx%_=CHHa4j_&_VGB; zM=yIh9HYuc^MFy!q+0Fz?V*}I(30cN;(L7|eZ)4NcgJgB`D)MP#g{`FO$DJ3>C#k7 zY9L#*VX7)cy=z!GkDU-vt1K>dpw&R;>PU-BM+*>i&&?lM4rR0@-&mN#!Xcy`Y#~Uv>NQ|5;8j4c#RQ1`c{bhPv8b6zL!$}w2iBie_zW!R(&P?G?>}(t1 zg!E2I?ZmvG^3fB?Wh!Rx0AOqq9TO01^2ZwTSZOK~C{Zixe56#(&FrpP7#YUUdgARt zwsTyXHC^+bo|bGNOBNE&o3UG~EUSz1EmL;jQW{~iRq4D_#Rf_jN{H;bjugU)0YG`F zwmq78)!^4OzGhE2N;AL!d1#=IaR;m+q74;^<)(1n`fGgRDiMnAZa&vWc4KK3Y0D>* zg*7ZGOb}&8_gb+)DO%F?pjO6R5C*HVW)))I;~yST&mjbo6cs{}gyvE!;mF5?<%6`7 zG9*HmWC*%akNM~Bq@9!wR1`=w$7MK!S0i?#%w&MmV*P%VQ=6v%ehZdSG zHiP!IlKwJNb;c%+#LXR;oBl}ODznjAl_0(XcU7KEw*|-82{zoWgY`H9(sehQo$nqc z8j_2s&CJ%F89#Mua$k3 zz%@%_^cN4hm~%&^uStkYhkpr@GWUYACL-bE6)l`0w~5UEGq9YURy3-oGkaSM$i;|c z0IBCXKwf}Enw>=rvFM!!+*4yiqBB1t!&19fH$|mqOj4i<^}jM1vrirIpeO@Xh)Bu^ z%_brFDBAQHS_##%d9ER}7;#ky(Ra=_Q7_m#JZZ%XUW>b9Jw$$Rj1*UyE6jbLV6XTh zpXM8^3J*t7p!o|dyMbjtFh-XG4Ct{cXx;_O%it11EU$xMe)uz3EZS1|6!U`{c0DO} z#>|ZNeSus@XgY7-&c3@Dm`yaT$MZL0+GsoLE?Y(CYx8T>vf;?k1R922!*FjHW)4l; zp(#BK-^ZU#269(0U4!*LA@O)Ph7L>M(b<46I6mAHY!|vlWm{;Up#bT8Z-3tCMedIB zAUYv@voA94I%9anwr}1HZ6*sshB~^IuK{$aOr>$+hOdqrI6j6Uhl9{e7vnm4P3oYU zk&h6A@(Gd$`~BTP8AJmtfx{W?1IT8us7Ttn<1dX_HeNJ z50Oa_xs;&x*^+*m+hh~6Y4>x)OBiGBKP)1@gzLXM2qTBRftEi-q=&bW(DPzAUSibS zrqrX_z8 ztU+Qd8WU^y^PtmV_d4cv-Ei1SRZ$#jy6tk@;&k@z zuubFyAs?a69hf(`>I+=VgQ$QWt@Yt)D>SLabvl#VyJqBxHGqg`Fp7_VIJ`t9V_zXF zy4J+Q+T?x?Y|-9udwj-eeF{hM9Dfni*aoyHhUWzyqiaV!sEy92KpO20w+Cn7$v6Y9 zd;Ft=P^U2L#NfCaU0eE5t{o}~e*tgz_($&^fsuE6ghmxt2FmUn0&m8@b$ zYv*3*8S4oKcFrTyO$NKpquXgEV$jJmAiXmHJ`3Duf&DDep&>%lEQyvwak@{;cs?Nt z0nOl}S@bjst%f=mTcRgy!thhY8*FKXyO?gvbsT~}mUO8;K(ip}tRO?6!>7(^ z2kKqIn#Xy({OS;Y0n^b*>mzz8FMUpUrF@p%Deod|P+d+i{T0Bay{LD9&8!4iq-Tu- z?SP^!khDjdHc-?Ss@kJj8@OxsH?#skji2W6)hq&=g=n)7Zk-*78necQ`z7rc6`wWu zehvZ9AOuXwARCBechoCIz-kFri})g@=HA~NrI(Pe77*6p#TqnOt0Wj5!s-}S2hm8i3dHt` zSpOqA6uo}Y(LtP&vg;PKila54u6}e=rRXENituL-5Y`_=bgB&Ma>@%G;Fp`Xb1A-X zGIcwvsN}QxG*w-IIR#WbfvE!U{kqR*=koPjn%$+9`7KO`ULai|s(ifAP_EN9+mg+{ zBKyOmqns$!#i%u2?{TV;QJtJ>r4%oxmRY?`DRoZea~Qb>L)ReeIt1Ry0QCBFk4;t_ zz>BQS$0PB9e+l=MK~C*}t6KO~3(xBCTP?tA7XsFy#9AO(4>pS^0g)72LU~WLwG9fq zhl%${@*ZnmW6>L|dIM$epza+OzQM{jQ2G{W-$C(vw0;NZZxR0y*_?WS1%7M0zk;bR znZftq_nGqS?DxI_^ML;ISBe>Tkk=J7yTxv|;O-Xu-J`>UcQwoeh*`i^>IKw4-3_h@ zi$HGy>O1K5e=b9_|JMB0Hmx6Qd!_qq-pIUf`&d6|40a3AZXw(az`KEexA5==J$|hv zSqZgcro3G7)4a5gOEu9;b?|~8>$fvyeI>{YM*}TaIUg}2BhUCL;imu}>-#3mDGxje zb1jE}_}h2z>$U})$TR-u(ka7-JH*-`kFqB6mq@>dql4m;YHRCV-;oJbiGL%RW{`~L*(43! zq$8xXHN#Vn(^61gT0%_6SJ~Whswa+uQ!{jG_RbEury~FK?4Xn7@1$yWM{KE?FZ;Zh zV_HqeyV>XEoZg|$45RXPH)LWsziH-a&g9f?A9m<@a@cC@v8&3dPoJ86oLW`HttW0O zGZ)&tPJZU65Gdw=x9GW}?|E(~JNxtyxZ~yYetqd+IM#VP=6Gz?ZL!St!k$wA*y-P( zUhqefMU)a^4Wqx~nXxy|cSh&M({4y8#1QlLps0CuW5$*Tje*6M+GpD+AlUUO5F?qj z$GMsn?EIh~({J(d&!_LgaTX)Hq9Dt^Vamw{=n__~?WTUq_axCx-JY07*`An=PPPFa z@8;?0%m_Jy@^C)vc>5XQ8QaG*a`3zhc{M}cVpzFo1~Z&OaRuSwvjH|vNqa!O5h{IF z)~Oe86p)&TH$1;zWfP@^EFKaTCh>!Qv~En#Te7;twlUd*wU(1s_E3`}%PF z@w7YOR*ThI{wb2w?rbADx)QDlS+^VghP7L|v+Fye!AXyiz!$D&E2GZkt(Jj8+v;}4 z9xfwkC*1a4c%O@1*WJ$4$m69e@@c#}6Z1;e>f^CVQZHG&B=yqPNS}d->d3Kys1w4_ zic2R@t;lsk**4*%dSB{eH(yH9zcxU{j}((Nej}0t0$O_%6A3Hrw-%h-sm?}Y>lYUj ziV+G=J{zYDpq0`JwhxLE?D!<4w}_W$jkJg4elKvWS~n;EB0TCxvzPU(xUs^w;nAG@h_^Z6!4fmpnO7R} zNsGxMb&%rhARpmIBxfZ;SDSl2Hy}|OW~PL71~Qsy!;*(`cK~=heaDul1_E0N9C@Ti zmEW=u1VV*_ounI5u<$*#p{N>~+|wr8pUHQ*wbWjWpNFsiw*q=WvR2BRn8OdU<(+Ks z;={<7t^_1e+}W{qQ|m3?kqJ(0bRPy3eGHR`0 zHAS*)GPUPO91>V<7bB3qd>5?wtBH<*m}N`85Chpl0^X&K{K1g;7)LEnK+W*&$Nadz~fz+Kd@y+}nELc5l%_ zpRx9Wg+aY=ySIZt`J266S6HwikdKDD3s-LUcZj6&-Uh2#RC_X=g$uX)IsiO*_fTLx zX(s+-76*9g{>kt?=UCo}Up!$}Uh8qaa=*jhbCwZp(}tPkt-JNg{q9~m&GrKURinbn ze15SX;9*<_9cKwPZv>BgKpJ$p@=nJ;bFi7eYqbZw(0rWT_|Nip$;+^303JfOsOk`vif&p#Iktbo1tG#m3#O9*GQgP+RGT-WikDhMK4F3*n{H-IT@ zd9i_UoWZJ{->#$j9sVw(6(DbCUCAdpSNZV#VrOR6d_XiQ?OY0&AkQk{&-RaXk5wCA zset%cE2hfR;^iN0Q0;YOq;>sRfOaqjN>qZmDXV6oI?Q#4e5A0nda^>pap1yS=9+C; z(wLA?Cx!@(ED=kha->=!EXUh&5WOuZr#t-Qfc*g&T+dY<5883L-VvG~Da`;0w;T!g zZHn0Yh@qqB(o<`#04lBL)8fVLB;~ET2A4K}>Fk%CW5=JH{_uCkfwOI_X=W8)tFk+V zsH4w0ebkw&omYg@$evDR&d|A1f3r~{IuP0)lxc76;*z8ZXorvj-3L}NFV!2>Aqy)d=t zwHOO&Dqb2bSo^zQFExqR>3u&vf)KY29FTuI#q8f!{_6wcwI1Mg7o*(tr1^#jT1{Nx zmAVmWi_Hik-!AP?pj1l3EQ5gb3)Yjcm{EP$9Xf-B>c(l+cgrh067xt31y-s!xQ#jIv%%n+0ok;eQ`q|yVxZqq>76nD(o+{cZ&5ohE+{jv_ z5!|toUyObmucF~4(C?TIE5enPcgx!s4S^jD{pI8RU(!L=2B>GrbsP=axcd_{2jjZAa9mn9N zT>lCBgK>Xd7!c>GJsT0{^=YmK=X}r(if>dOPXBJcLWZ9LXX1sS0kT5!a?i>Melkkd z^Cf&XTcJu+SG=3Yhl#(8di;Vau3WjV$H>JRPR7N%^P0P?<3ZDIw!35TnHaR+8pcCi zw9CLw?AN1H&ORAd(NUL^p>odA<|YiVg!qDUEEdnB4={fjtB4pMA1x3Oh3q)cMUXK^ zHvlk_`%`8l5$y8eFg?}>KF)?M2a5ex>^kY*^$uX=C1yXeb}UQhvs%zPdFqQuOs>7L z(wzq5{6cQ=>zuvt-^JJeO#ap~SN~bMyA-A3zv^G*Nd2Gxt=H<$|BsH^a&FY2$^77d zsSmCr_aQ8pFB-J))HAE@vB+WR4BJx~t$XlxEUUS^(|(efiLB$ekjb(7^#j`VC$|}{u&O3(mn{EB`apC%1K65YY6GW z1$(6()k-8V`hX~=rZ?0X0uF=*+V3m)W6U2-Zz_-H9s;amdk6W`QvY#a+cK@o_5kqQ zuzUXbfCRG$RBP3PI!4sNP9Mzs`PpCusks#x9(E>HHOhV-lA0$!3uelN@;3_y29#L` z+Gym>35CmQ(}C}>?x0X}6g@mu>!hmk@D9F#n&G4YdXz{sm`%FE^t{I=Blw1<`mjwZ z{I)yomKOK#y%;|b-~S8rx}P3(Pa8TtelIQX+nv}wjX@seo%8-&Z?S5NJ96Eb+*h6G zKsV>TQU;8oVD$*EXlPxeiQ9qN(9}Dl|D7u=lj>xr7g{fK+LBi3oYrSY*p9!RosQyZ zw9_VNowni?nx5LzQI3ZC6DcZQ!SG6mRZ}{eOi$nGC`Dt%NoZF+EzD?ZU##|+gWDd= z`qUpNB|<}TN2)z@?V0Qj?asOG&;F6F#_EGpFpLHw6_mCIJGxv~(spAg?cmy{f81qB}KFd-0p4#UO z1S!e9b$kd?(9X-nmEH{jB?{g-1d!h<)V+`?P=O}|73I=sqJ)yLC`Klv*A4>wLcdQU zFbB!m09Pbw14J%;8T+3aA=An_Nqy%^m^Fw|5}F*5wS+`sZWJSma1a-8bF>d4 zLQvq_AF#tW+Tu?|7w)J)Yqy8vLinF0C_{!zI6ks_1a+)r{YgNi6^QhViPTB*A|ZE= z_H4pYn~+rVX$T!CCIs^-&;k)f9&+j!nqp+WV`8j`I&32@mV~v_%v5QOz;Tn^o)R)^ zHTuEGuPk2y$0}1c5RwEhWU(%ac8t0ihRbBhplDTM=rW)O+G|V+kJ4+!F-urzvY|p* zxTiPx!H(;yMr_we1RdNUS$E3@zhCh4feSTZve}BkaCqJfS|^iz7fSki10w`xY;i@R zq3I#2gn%vL7Fy@ajak zfchS@+O2};d!WUlhmNFECMQ8AdtfCK{XK>C3ckUlNC)Mct$4ut#3QB@sokcSb%yN} z-#G-X02@rLYmJ?m2rLCZGaTpomFPVmB@Yi0V}w0unR3;;!h|qS5x*;(4m+@`FsauJ zpWj-f7Zh9K{cC#6BAwdgv5V~ClGz4qh9S@K6v;YX6$C(MJOb>?N+$&p0KBzN`xk1; zBYMyhx`NY6iO&`I_Wqz;P;c?@N8ZFhr0J_x5QrQ%u$v;+AsAUSXpmQTA*elQprt^L z3Mc?h>$Qs9Px1^IGn0%=(9g>^yH$aJrj=ZiFu`NNRKgTsff7p-)O5ic!BEn)=kOL1 z&xjAGx3b%!R7-nwV4^01D?0X!kWVaUBzfc2Oh;`Yq=Q85cksSO%sC^=0Hr`$zcrOv z*PO)6SnLRmiMv`-Bunz>30SroU$W*@?&~4NUenkh2U%Uxqb^vL4{enNlr+d?72$h+ z*Io6vXDuzD^fW5Q6=s6D7CQi};p2j~BGfD}SROB7I1* zc&}{2p}2x<;5<6;Xk1B8R}F2>B~}I2HC|~VX|uf2LMSPlvr44}*CDb#M)?u7u}1ue zW}u{g3}_c}PSg%j9}0P69(?0}WCid31b?z@o<=6N7=Mtu-i%Pb^1|spc!z-eg|!Xh zfi4i~CuYny+D~-AFz+W$920*^-^2ZJzM|`6N`|o){*?)>@ z^mkD_|G>kfMatSi@)X(;UF`PUZzD1RZzNgEkya6_78!I&4wgnAm>Ue-2FrnL2xSUC zfQ%KghF~*U=Vit;gNSF67CraJ`I6`L5W=w@MI?DPYgz#~fL5$Scfe7C&Rp0C5|rGL zWMX`cMG>z!ZQFs@IWmXZh%w+%^^SPu9cwUN(1a%zbj{v5Am>BAL#(rPNR=y|zmt3e zoR)}2FmlfyXbYxN1p7uH_JX22RRPX1t!6#3Dg-Wy$f36S(MB!N%%eyp3NhNhCUhLnM(r(1Gof zKbn1@az|7Gix3MhlSp(P%VhdUDR-wyEGm;mrP{P9b6F@QErbqf(*;#FgMEiduOE@z24XtM*RZh6*oi~qEEJegy(`!RnS=tS z17fBt#yg+wyl4ET3;J({MUZ$6MDk~9mo6-urWTY^V_fpXoD-_8Uw4jj!VGT*XC@^S zf5&?+zjRHzt*E^s&WC9kRpBaDx~So!{31dM4V0mQ0KOzUXG&Cn)xhR4xW5wRCF60i zEBDHj$b(SJBPY~xGlz!8HYhpdnuocTgO++~PP735NsKae6(>$giHe}Gq>NK@ct468 zRNV`sJEZS39ZZ!)R7eS0;VSg}h2>cS)CL{=xTfE6p7w@XK~a=JPgrmbEs>JcXEK>l zDV!E&ip}VJUO3@xMR)qbS#puEIiFiJbHo-sx0JmwJy&%-usBDobOcgjaq7$2zJX(f zBB%KH%&{y?B71)EMl>s3uwrT+3VUH!&Yp3?j1ms%a9Qw5I*X_h#0X`V0Ln?7uZ0G> z*f?-$e^0}?V9P8JbmO<(P(mO2B&8Ismd*3r-chSUoyh8pstP%S>q6OR>A|L<#ki!m zqBQA(L9uX7QYHzo3C~l{Gqbq&tKudNoEb!2zqrgouxFZAicZ7OQeseCN>e8*ZHZ-( zZZ%Oj4Zf){nK-ZdEUL1mh1M{{Y)@TKa%4n6y=Wg*G9v9XY<=%1D7 zP0b+?aUC`v;Y$0k>vRIMaN&b06hpp*P=*0yl}b|ACV{ogoPUxrcu_SgPH;_hS7KRJ zt`vj`{8_}h04jVcCb-X%u~B! z@)?=;&|Tl|pN(Z&WL2ZG8@Wf(RUx#a|t=a&aOf@(wzvoe+JFsU0j z(>oE0ajXqj9)0E|LkIhDP%zFX{h~%0N|+6!<_o0wP_o1nDGX6M4_DYpM3qg6lZRKr zf#PJX^_^^|bj|rd2`4u8CNxPg$t|rkbF|_t5ItHDC^b7Wa~F#42KGUFeCiz)mmZ9n z4%XqFI2jT?V;+8@AnbF8*Bde^csu5(X2f|bGNp==1=qz>Za}1ornBgMcmcC3RHXOz z{O0%Ki~6{3b{C$gZIcEpY(Pg!38u2kbcz(4PpsA*j?*Mp4Mdy_8of4OeZs*h4Xe1GH%Ar z75MO_P16*JfO)1HxklKMr}Ql{_vjTdyh`K6uC%)RYO;5GeGUpm!Ow{r(M&DO)wuG< z1?GEiWGK$Ezy$*?o5(Ydb)B#e2+eyp))?^T^;S0F4ylHuDMf&C+J+S~`UtIuDm(9( zG@j7UrpCKjP@dsZMy=y{B~b0n#y3IL@66ePJ33|m-@2MlUuH?_iMC?qpKr6n-MwvWopt6h|4Wf)^=z37e zCVEcRNY6pF-kQJ%eTD&D(fNsUT0|Yh!w{hUlM%ANAtYW`USj@MO#2V2ybP2))y$B) z(St{eu*|{+Le00AL^E^li$5jM-1AAN?*t|&!52SfswEg`I#b8UCf%(0^~u>nHHuWm z34{oVwAk_-41pY21C_|d1u`Ei&GGf~f=*`8f$=jcY>6C?=p(4#VcP5h5p9aA;71O) zeT4ed?c?iNEc9g9siIL-Ne7(~?xZzQ2&3cI7^(z8GI8TU9F+4QwM8VBO%0?V`!T}U;Vz33q(JXEvm?!x6${d?KfgjNV#UNMDa8V*H&F6d zh87Z|5X{g*WdBgcH65Al8`mwf9tEi93FIW*iC>9Wk>D9S0u`-fxtxBylF*^6>+cR0u0^uK9j}DxWdbn(1?{AD7kz z{8I&`!v@RytaK{HFEvNb^(#Ptlc?T6>5UjKrWMDG5PF?j!qchjvn~<2x9#2+*8Cl|P@`ZfA!^0! ze44k5GESvMfFUNgVbC9Om-aTP*}`UrhZ;eR8w0IXYedy3ei4d);=`;bh;iqcgY8_j z>q2=>DOq_!gQ&;XkIPiH+n?Jh>S~b)5$O&Khi(=Gl-h-u|;MR1E4w;QFOW6?RstvSF{C ztj1E-wsaF=P;8%=jBu~VVhZfyovV6LUAM&M2+@Sh^o~VO0dsN29|7cHO`f4E3jtc@ zP5o+bl#sPue$E1Pw@V4$)i;>QAjBWQsadIq2oqc9NysH8zq^};Pc8V&%3WZIro%tU!7)}^YRHc$8SFIx;cMc&!cymw@#67 z+$k9uN)KI=7BG~LlV0nf(6Gl@UOpn`R}g1(hIy|>i5)l$yh$wW zo=JoSMz!2<{wi-!np;NB2CDjQ6Inql*~eINPr-60#;w$eFx z@;3fkE&+XLui|J3FIR_p->mZ9I%%TD)eN*8xJRv`!NrO)qTsxN42Ud|b~GQ~IP(Tc zx#Z*Gd^F`N8x_euDAE8{ywXghThGji9${Yktmi%mL81+4uEP~)63>2g?D*LMF8EmQ z58s6}UrwrP{GfzN_u{aV-ZD-P0nNaAI;#ne3w#y_{<-QfvyY54yaQJ6sP;Kjl?E^| z>JMPHXF3+$L1j;}_L*Xq8+=~5!8WgVCuNY)In5Hv3KW5!vaFV^fs*R!5i=$jwoG0C zohEB4p_3|!&-I4mjdvX6B^sZa(eawgiE2b~ybeLBHGdhMqJIx!QOD98x@T;mKY>x9+cx3bn(KW=O@*X0G-OV}8A zj5lRv$E6w2;RBH(0@<&D)iSyVoX5+17VN-*Gy-)KVpy2beQU(PoEQ|8@$BdmyNWQK zY~N9aMBu)~Rz>c?WWhbgkGJNBHcuq{n*fIEFKmL=nK`10fHIwo$@=%ws>nJhH7`d_ zVw^VpWn>UKcoYSn(t%ew>4Gp(jRh+J_8$M}0q{9kL6V+QIHI(yrWCoa5~LNdB~}V0 z4#0$@3mGG3w2KnZ!W=A-W8IqC;e{1n;!4(6D!yZCJF)Ud6#baJXo&i;k*_H((gdpk zqqvfSG9%Fi*&eXbH&(3OL8%W?Ycg7s5=B?w?y6(yw%{21z6M)%xF-9^yzWM``^|$y zGa9N2r)KL)9)g9KyEE>wbU(4&yB0SRs2OZh4uHJ;pWu`Jt6`plS`! z2R|jaV$L0tA*K;A9bhI%%iN2#s_27_OUST=+$1u=&Y*a@RxAXla~HH&kBbHAP*KMq zNDE;=l2+$%KpfVm1p~F{idZdD62GIl-!w?IV2vF?72JPq?&FBO;z4l+s?Lz46`IdN zvSPI9G{hFBZTECTtubQE5aRG9IA#hIVC)^W!CpvrkO@@lz9jb}D13vJm{=U2v4@dN%Ss*M&gyoPh zc6B43=&({K@jZE73zN-bSuqT6#t9RMkYB$EdxjfyJ1KtF%)DwJh*=PB$>u2~%#NqpUQ+@Pqa7~y;*dEv(+Ba~oXve^gk)=yh1tneR7A>*SP_LbagVmjm-@nhJl<-LV-WHVkn6LBI<5e$EsK zmg`jArkl{scbY(0gj3l6hvx;*!~u85WE2ljF#khd0C*voXa{C_!V{pI5Y4yo_&jfb zyXEefjNIHEi+OexU^Z_Z;Upg|k|5x{1hAwj8zlML>I${qPB~N$mtSS>^Vx^Qsx;>K z@MlA(!|rv|%etYkWu>Z`(<-a8Nr{trYxdrr(_-jBIin;I3eqc3(#Hiz&;C8GogC;2 zD+-w`2?rSJU(;7dh z&GzS!8Qm?n2WXr+s8AQr(HbBB(6EeRgkGRGx^~oq+7R7U@x(~IhR}0uiARZn zx`C?aZ@N8B13RjN*kUkU4C0H!gE4q97Es1R&d^yWiVTD?_c9-kNT9>M)3N*LquzC} z=L|fZ#jl$TzMV(FlMgsS&N~C#I|J&o0Dl$$&@whUPDe}nXh|Wb`%IHBrscs|m<}w> zf~je&HB`}H$_y_(F2&-rt-AAaPzT3akN%H4w5^8Bm&n)g!c)p`mFFZtWFu{>Rce zdR@Y48(tZ)EogN{YdalH=%(t>hiw({PLKKOj~>>*=-}yW3$`EJcMCy9H5Hl;JRS^H zc3`Bv*0W|?Xkhw$pCZqt0=f*o3+wP(m=yhJUm?VNywpOjkx2Ur(7z5H#G|8lD7D0> zEMBKEN{>;AoXTWWDyMR3jm)TPMwv74whH>z0pmL8+{t0hV=Q2CK(u?Sr{m#8(ds+X0W=$a5Y^e{D$aiFUU~d+$KPd*JvUxV*ui z_ZamK#@-{{doX;5m+v6;J?ef3ncu_rcR>Cf5dZ_3Q+G-bq9!1;-ymDuk{N3c6Dcw! z^Z8pk&A2BG`?6Ai*#ob8basc}?m*r>4txhIo*%U{ofHi*Dyse#-;6`0_qg=~VEf;O zRJ!xMYrs9i_QCbhzJz^CHw^MZ{cJJX9g4fdd3QkY7Af9g$vd$5fS*y<7DSvYe%{n) zWcw+JNbnW`qDB#oy@Z{PnDJ3Y96u-gyyEA8pCe{_z|5e?4I3v-eJ3HXSoMjV>%SE< zG<>{I9p1aaHelM%u=MfnfH5zYHHLEZCsI~*@9>Sd=eVBqdh6fGy|^D7KY)IaI}_pN z%1ovOXLsoB4&U8Fz&n)q4v@UXnzwlLzwQRO#_4gg#<1hskrt1!iF8HcuWkaN^2a)F zttkL)#i73*q6iCN?gK3XB@?X3=*g5igl}a44btcoGiDnz!JKKRH68h;W#=ScpyKab z8oj3?|7=69xI#rUhD?;d*G#0ErL;q0s=KIJP}@{#TF%l^hq}|!dk*P�mz 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¡@b&1a-k<=KSv2yq*l#yfk6kE5;jf)Yc!eSGjXFE z=5)uao(1XptQgrFT{}#lVRKhh@0tZ(5yTtvcuOsBiRTq7y=JVx#fa{|G{5|uKK$`d z$SBqM*8SQwZy)bF=w8CUryU48P<9~gK)Z=B^Q4j1EfBlKX*V$L4(5HfIPe-L-T=w} zc{i3cDm#}|bRF-Av>l9fA#3jb?B`TyN2hUvn)1e0`uJy4^)iWQS??bV|Mr`QRCmqCu&Rp&3HL=88Pt@^`juvY~yVBH$_8^qEqyQ8)_YWLJul4 zI2F5Sn;}Vk`RGt%8tTk0ujYu9({gr7O3&M~I!Kf2%xd}kY*y2|b1FuAJg538m*zA* zomI@2cxzTCGi_6u89A+!nfJ-itxk6Cumzgh$xi)ru8bn*u1)UuSN?@#ows9-$5zE* zp6i8uNx*|X{{rQHza@)AIaYV&g@qNnH&-@!y9*E^u4z2F4hn`>2W4!T%-8_>_`682y>m2S2t>b7oA z)T3-aOgDKfc_?ADg+s^Ah8d~JjpbxV+s_8i);^jK9B`a*<)%&F6JZo%^<(`m!qrL(FHZV`uSs9GRsC+Z``rnIj?D04 zrF#kpxnu>`a}g}XqENs5QQ}XVfdCZ#dN0kNNnzJfH!1G4>7N07SotY=E`arU*@SCH zvUG%NM+7_hGm=w1dG~AD4ft>{>ATv(uD$+F)<*3XeHz3Kkzw}?4f&7I#Ra(!C45{MC-=} zp*GWx*fPATkscHIS!%#pyax5*(8!IZAL6D#FY1N%uD%zm?BwK|;88!CnQiCAjTgQT zk0`wDWcpEOMGTghwa(1apif$YLQ7#k$aA=(cVt^|RAx9|Lc+Y1P~vLEUdMumkY|zf zf!}V4svqjF0|y|n{nC63F1N=|x&EBLo*bdO^~`lSHO(sUicSeaZ~GP0%HL5Y zc9Y1Od>DSsrF?T;aVy$V`-aetaD|r9+w}B9bgqwjyRXc=8C7@T!tLI^gUIzpZ?RN) z!3;9)Y`t*1v*|}VyVY1s390D5)(f}$Iw;xvu&kpeYJ;0A2ZHoG%<_6@+F}9|L6R>%y(#{yZKc7rflq0eNq)Rg_a8 zrkXd@YqyOEy=T-W6U-`IPckwI#UGn9s zIZ~?J5NRcZnhuq7&9EpptmS0-%7L=;kDAMn)@t&cw%1V)v#&WqI_Y@=hF} zBq~OYsTL$|nF=_LLY#ftx@hf{Vyv2%xg;{wz6w=tiN~z31dsW<(wu_RJ+G7@y6?4C zasIe&>R0%?ydkj4m4X{`f9_Zr7j|ZD-7*%TG@u5M9EpFGXYj_X2(9-ODul`@Ft|!E zfjB*odD!a@(WGsc;D#*^?p5`fhTvFZK1p*M!ijRPBIXPlc zR9fq~cP=EXnThol>TMzZf)bLiV@Fi0y`+X!Hoyb+&s>`bj%&_K{i#}5>bzOc*ZuBJ`&b-(@n0UQ&fiwpmQy{mG=6;~SE`60 zPkpNw3`8+*ohHI)rx1lma+l5>7HESJOL+zNqn2o|d>f+u>+y3ZPr*RSd^TMeK&1oq zw50I>Rym?au*i%^awKMRDFHk)NSlpi(kj}zJBDv!>uW_vYZk8ut+1IMPMhtGQI13c z44)&D0v8#d^o0tjfxoyr4j-6BMJe+7PlM+T9W)#X5$ZPG}@o2-HmM&jeqjt9GJZU>WqeSMB4HB8}yD- zcU(eqEL>PR#VTBdN9)<@==t&4?pqchw-cAvh$g4;_Wy+n$fUvmpS z8xiNhXts04RAs)hBZ;UE+5V+Ui1K7j1n&*5t_wq>J*u;Ew>}vq>%|cs2=9~dUW*uQ zbn6GymEk*|v$wBgO}-wZeCn@@^lCpD7w?*C?w{fhiuzLV8TrWcx3Ps>7z^(}Ejrr5 zPS)4M<6QXK!~bNkoU5<-y{se5xym+7v)7U5A7JF}IJ1k#dq&c;#q*{=jqSl$7AlZM zL{@z4MYgD;h!<4j!@5PiM{`3GQgQfMzv$SPYO;U6iB@E^z(zsT>x1qCs)HBoM_B(= zGyLm&Da%~_XX$QRb%ldxU@$x+}BkpD-U=83wqp6BAriPkX8G3Fmk10yWu?9g9;Ld zoM8F0h`>Ae25N@m;q<7ca$;||Gn2n%^6gCSS(EL}&{L@{o6$fK?W>F5%S~cNDv`y02EzL9es`qaqju!fO~(1!+RJqq+6f ziKhA)-SCwvBebrLBIGnSuSqF|&*+1GjO`p)ozp6&P26_06sO5}Wv8PNd9`V*S&&~I>5B{F2 z##%#1uP~~I(M+V?()M9j-}72wUq>-2iq}vEN|I6JI+LQ_wWFY^f$B`kYYoXNwQWE4 zbO5gbIVH)e2}5tqq#nP9Uk=bHK&IVR8Q$;r6R{|VAqef?92;u@n*0)q4B*^#b>A@bcDQ8ltw|w<%er+6G%15c99Ieaji)aDr;ic;=#LYco;OG{}t9zgYrL6jhjCz zA$&73O-znJQbYPfr2-iOIww%T12KMtKxnk1@D?t=EfV}SL~%C4Ko2WqEo`*$mJBE5 z7NsKk6ZO9+kr;k@5#Io!h2R>k>Bkwy0GaLsaVr5EHj_RbNO{uX#{!zR3Aq=i4ar_+ zL6Esse0cnD5FwaU9ls#HMza2p4+C^=nK7^+ig)AtBZ%SlllYMQNyxcumo$yhLRmWt z@wO#mwvo2n%;PXx8mB5$1;ZjSO0~Rq%4ee*J(wG)Hp%%9jqTGUlsuHQ(UaOZ<0*J<^u~mu- zVtLHO3r0nFTc2>M%|iirspnc`z(F|Y8req`PigrGMdF>haX9l}6*4E|(LV!iehmZG zPe8$(E*&!&CtRI7g*Y5!H$xKD45B1KRez!=eX2W+*?vi;2)5rDIiQH`_d)c3a%dLN zs8~BdmCLa8z9jY&+Sa)Ss!`HNb^>e(L9?@=ucHy|ph#~_JGk?Y{KF;lNC-xHEor^; zm(5310|U(Jp2<~?1KNCn^woq*ClWviM3k3h^6NWJ3#rkJx;aY?_(!VqiO4Jy_hX{tg;r}qfw);ES#Y0Di8lqF zhUvK~T806V<`NqM=Rt)|K&Iqc4$j9U+L^>jo1cx%6-}Fk{%qczG`u)^J=~fU5KoZG z6+b!7u9Wd}?&Hh^3M(pIjVzJGUZW-kA9%e%y(PVR-Q&msn1$U*oP&udI7iz0L?#`H zw>BPd5+1;_mdS6~&Vxtw;%>|obAS9UDe@VH0=F+xw69tdNT~aJ6_PwmDNj1_{?rYeoG*XjcQrNCz7qmY}nDn=u^0z=&kCnF!{6W z^iQC2Mx;B&3`2=T`uGCNzL^Z9um`XCOf1jd?ehNB&k*!*C>CSX;?!z@l=6qw6MDv;{CDB>mNF^~$%KVL3zr*y7Xh}3; z$r&wCrj}gcxMuc9bhcG;$@`OkK^>i#DnRf~&nqnad6v32`%@Ynb*iZ#=YONI#Dw`u zj#-ak6hVnx7t4Wf9zH?Ii*J@X1*F=x?9YSc*mnLiUg@#+h5ndE&=^QtMT$mTK=Gpk zDSi{|RD%7Mnu})cS&`yQk1fj-HtySqMfvMcu4weP_o%@iiWnR@r5!Q2I24uJr=E(m z*O0EW+Bc1_Gs%zBj;bFlTG8fgRIOM5$Xu2A{;?Pm3WKnGsN~pg%Y3*m_^ZmkK>-!inr!*#4)U z1d;GmYo_kM=LMyIY7RJh(Vdn7d+5-nyQwg@|(TA&*! z{u~*E<6k8owg5nE4CTkTL}wv zrybKo6XnCqpJ~qNg87hu!I|cN=IFVNYHz5!V#zS){|qx*NVu((PMy&=xgE?>8_<(; zeCEhY@0bWulsz|h64taf@^mzrD}DO?-u@6$JMN$*GWGic7X6Y$fyVpYy`Vl$)qu$| zQd#DN%DZ3(x!S{-cFsYLCA>Y53PO=kuv5u)f#_?A7T`x>J(PAY9ax30n$`?$9NNaJUfE7*TZbc$0&g=ot zC?cN)rZIp+Nj0U?15SfX!&<0-;L`q)R+ugr0}J^L`DH1JduYugu}6Y*i-W^gd8h=J z*#}2AIT_1D0?NxuJ7q<$VF}5860=GdwEczswhO0~35(x&$0DV7nXhU}S>Kkd9*XP| zKI`9LSnO;yRY4S5CeRFe^d|bXu!0E|>e}~f#gwtcrLqE|aN+&>JSS}@&Pqm?)ewHvhZKqnRCG)eWWkjsu#G3_`;+^H* zf&tx)&b}2dxW1PuY|VLk|fqdQ7H=7t_xv!F>C923GK6_ zF#g`(uJ2H4n7_%=LB24}`5TGd>}wag1q*-x`-*oGp1aM}A3G}T1(z=&RYwSfZYsjf znLJaX2jb31(nB0L9dwm4VVZj$<8g!s7o|(!#Lv9C=-fXJ3<>#U=ty8UrKS%v4#1}w zDa)cP4oJlhD~$oF`k|F`XWCaQL0NIy+4_lgx?G3^PA$>KMn;4>DV9LXzD-{U-}J-- zJX$On9f)4QCZX-3LYl3oU z>MiFnzLCFj!DwP6H8ZL3qK-G-pWpY9n)QK>pZHKXz_y2ly3;Wmx$Y&xK}Dn(GQ(v` zAZT)9f2@!((Uh-r6_2pgI%EWLxkgJO#>3 zPTdWK7S>nd$!+c0g9DK8&;$+Obg78LYw7bZbc)x-oB>m))BYP3bG{iTc~C@Y7IsVh z*vm7Rp9GlEMB~6*pnznvZ(2a7N$}?Zn8^9{;zhcB13jo?7n6e2VizRjH#I)J08tZ( zguoC9V1eY!!NMC|;JDo>%{#E##0lNx$$%eVe&j-B=M+Zb3zTvfDVKI5jWm$>CGB@2 z*F-#i0Cqu7j-EIjRkK4%^Pzl)ow*8ZGIJgYgGEba&L(bRK z5W;7QfTEU3zSkI;MVnG$nP@1?6cwdt#fC}%rDF1v_Agp-VvpTj+=Cbs=Jn(Fa{Lq~ zB}+AVxa?-My=W_%WS^HQet!MzRatM5{+i0xv_X@_&{7<1@`E%n0{za!6QaoPp17p? zr5y>yfGWROqsATb6WC`gVF z@wj_7*cc&ka1cK4l;OXkPYX)`Fk?DmNnJrJ_8 z#YN7hLBT`^P&pR>CWJGW!G(ccKJTyJA7AuyaPLtF1wn!H6>zloO5)#2;dwMmXLjj? z^fz0a8Dk$xVQA2lEa{(R|HQuYn2kAMs$o>qf>w50$iu)6VY~TrD`5-6nSyJQH^;kU-(MI4Jp)90< z+puU8#*NX}01EkN&;#qHcJzvFEOFt8dW-8VuVljA>C2-7?s%fRADCAY%z^h@{7;D# zJqot~U=)X#XL3n6=yJZ*mRG9ijjS0UeJb{rn{K)$$)eJ%UG0(ncl`Ue^R3LXeL>(d0Nk; zyYWPLKgEl3ufR3I6dFMxcj&T&gjN&s6qYM!Ms1WzLZ&;B#D*_2?)QyP2QWKFyRq*?<0picq)u&F;_+39&m~D@fvR;~3GdleWGyti!|{ zl3UeVQ((t_36!D_pEx+HA)6K^6T{iVA-U8SzKgVnd zyJOsz%I1dnh3*2PS}iFC;7~Yd(~UrzXS$@lGNM5!_i8Wc77UT)q{hZrsNdl((caAwzaxY zH!+HHah-vLsjTCfm_Eyj0aFnd^Qro+RcXW@1mGzzV5!*PTvvN!ve0tI)#{~#JB0OL ztx3q0pzQ&Ov6*&k+`#FJ9}^IcFU5$hpL4l;C&`lP%8Zp9`R>*lc@$9GMPZCakqRSB z`e(&Y6oP=D?$L}E<$aI^S7sSSEMV21*i&*YpsV9RtaY5?%mcU98!Ai$4rHp9BrS!# z=FHaAsqZ%9&D$7Xn|8z*Inysm`%`Lj%0;Oin0otNt5y?ZYKJV%QIrI~p96xT{t z7vz}QF~2*;16$kq95T8|oa3`Iisim4Cg%B???efl1TKk#eT3PJ%4$9@?FV;9VVI>n zo@7p6f0ZiMQ|IvHe35jd7OWbh?fIDORUt~%|En+bmeSop8)Q2--Iy(++_R6=t~1z2 zy@PI6;mndq3bqv~MjNQ$Nqnx)JwABFL4xySu^^Pohny~~2PK6!!GhO#a;&4LxqzPN zJi?#UUu)KBro2{uy-8=6cZO+a*#*snjU#r>i5c9AaE-JiONLgKpXV=d{?N%?MR5hd zY#%pP=i#JYSyQi#L$Mb~F z9ZV9_NXvH_?P5Trxns4e9fwpD&hnOEolVUn<{KJg3}v`+ z?846whXKs6r_q-U_)9u7f_H%R{go!om15OEe!DY=_?Z-@6D`1aW{hM!=drp+qV373 zdC>GkXLEL+!YxX+k7+V0$30_+DBGHctia)UZnxo(P|=M97Z8N&Opyq0HZMSLBTN}RkV6}C8$ne@LD()bYXI)tLh4Oh|0KiSL4dJ3PezaqIN1OKK z1L1jb!F(P5zgA-q?~{WS&K>#bL93>usGaZ|bo3?*5k6sTzuVr}7Oh*DSvXJr-bh&Z zQ5}mJm4(W?bhE*)NmZBz7fuR0kc@Y)pZna|8;ZWMogj`dWP$!vX?rJDN4sBnndGf} zqkQM}pYVSkzGO>^JDeCEJmK@2`b-qU*OG=8)i#y|eovS^5Oc*S2)!^@U4=m$EL&{3 zjhJ4pqKvM~_qK)%$F^=5>FD)3U6_HJA8+_?UB~`lSdQVYR!XyQ=Ti#l!~g6h>5k=U zYiMaucLJdNDDcs$+kxP>3OO0U_H~4delJ-54)r{KB@!gif=}q`sI7o+K9RmX?!M?! zXRfsc7fTjwW=%s>s3+pGkB_GgoJ5s+H9M@v<7i$qgHjqJit~e<|FZAhiG$$?`1E@F zwZC&nRm1z)DyPhGM(@9H2zyV9<$HC_5rbodMsbDNxqg5U zQ&S9CW^DflWj+yu#I5l61m9$H@cEoHV#x@8 zS0+l@!c_p)YABxL8K=g=0YcOmN$5GSchYZJUOCuhI2m%kg{wI%3^&}eUl8PZz2IC5 zpx{*k#+VvKAbVGM1;iS5&#)0HhNW+Ufi(XFq;czrLqZSt5?kAvP1Q74Nvo$|_cC(w zd3c4x8p@RL+@zS(I76AG1I#GrOWr$wm(;2;7f_(`ik5I-#^c58GE;NANhn0_7gY04 zD6faWjr+!bCulJK=8iN|a#GL=m73DGOi3Z>a?VQ2VO?PUjdd|A_`4MSc|rDe~d!-H)@6T((UbHz4)} z0GM){!*rd53`TxgTHoq9Ma48uZ}Mq=mv60|1LHH!H_@sMIXrjtef& zd0;P#x4A`m!FS*nO zaw>5nSArefv)jBcc0q{Oii5bb?hsL%eaYM+P7t2g4s*P&o)89IAOqKV>zMo*?Z|*- z_oE$!G#YxI8yH7v=l91)2^%Qc)lCL&gj8N?kIw|NCe|D zCcxM5JCOsx&lY=Vay-3F)kOPR+#O_M#uXE`14r2CtLYb!ugKJ$Uu_kDP%Oz}wX8_Y z#({7Z)HOFYBP79;`0Sjps5oIw%P{z>rfc-c(LB-X|9^ZISD1a2SiueE?Q3H8!P%B(}n%l$UY_%CLt}#ClTXLSF^s#6<79wV^kvzcA(sI|p^Pt;uSFGRB zbZ_h2J@KV^-;9bm+g5NUs-fZnZdE&o-t+1ue0NvSt*ziLt-?p{e>00eV7l6t-lfaS zQ}bxcE@^(QjR&gsgCTM{d%vlpKJN+7GtpK%0^HhBXv8j^2bFLSxSSw6Hd_bi{2{9yrIkUoeu*`MlCe#Yi9Jr)$d^1O*UdV*q1S@_$ytuz#8nTw z{nMepl!o3#{05^!^;0H`sH>nDcgA7_VqWCH8wSHo_ZANZcDrp;{{T_hM3kGZ@u97Uisi&dSib` zU?PmC$*=Ibf{27`Jn9VivuNiLj{&N63R#+~|9QU{|I*1ky<3W>fmsS9g^Hp*OJy3o?5!eODdCm(#N`LaxvMBlCV`hPsSdKr(-Z!7~O1rm!K62kfaF^ z{vjy+;k1THR=D;gm^X|s;NVm|7`VN|8Yk$1~k@wA!yu5LP>~V&w!pXecXA% znGK`}hE_ojui0*2G3iRCBjkMot~qtTbT9K;ddr(qn{gN|^%h(6OixKeaUR`+#A|EW zo6O^X+Aq&Q6MJY#OB1kV>buI2f<@k~fc=@QfKzUY(rsx+;!9m~8S|@)mxU5P@bH82 z*h>C~%X$m>X)>Lz-G}}q7z64s@c9bjg<;1yQDbpmF2ak$x}-(DG;R-m9>lzko$6#Y z0J71N?8?!iTqO;SC&lQ%mAZncpR~i;)NkuR;}=%0a|9`Vjj_$XV6aXhm@}L87dMTA zTDRv*-KiapcijIAe}N#lcKzMZ11Oh*A!D^QKK5Ttm*k$&5OK?Hn0fxkdR-yjofmGW z^n!uD*O7#;*!%!ue}jHqhjmq3LJq<8@frTKCEK>P2u&8mw{#g@oWmNNP%p%ZUT;(BJ#d4*7Jg1<7Zq2^kTT6r`FXq%K1C7i8oJO9XCS+V_F6Vd( zq;FgBT0nKr@6pimw4+g6u9&N{2^1gyZ@>@1XNX!d3T|J(w!zH_#gwNd`s}@OlOsnB`TDOniQz3_TEmzi1!mPy&~i>w`5a3rK9pe#>hLN&4a;qE z)cfbf2W9M&fO&%+N3GvU?{cH~;$RI&T2HLC zlRODge>+Ty7GX}*QDHth?e?V7J5^|!MXIjFJ@&tvP3xwhC3e-O4EJeyxfKI8QiGQ_ zEW2tDXWE3iO5NsOt$?5_)y8#XC$xU2oy1js`G)jR7al?r8R)J#X?>W0@fesJt+ZX| zIia}G)eYtrCpUn{;{JI`?uBUS^4(^mqshs4eA1vGx2K0<6`e!S$>|VXtt3>=b`3q8 zjMoM;(WHgwbHi&^YO+rw==|40M5!OEv8Y~Jtu|=*dg?$jx2BW<)5GB^LZjn0T04H% z`4dP{3leIGbR2eVZ`vS1jGPIF>6n{x*>LHn#)jWg>s#NwHAVI@6vJNO_>?qf05=!Avb_oTd=B_>)!xfbDk z#lxki!;c>iCWY=}!qD`qg-CtkaD}{)|D)QI0dcg|EkhzdMreo_LaDVy8v9RADxBCm z(=STu77?$bjbG3Dak>2da^*^WH@ng841p(6XfF89`8h2tczsmj4~VwZNv}BZ`h@hw zaIsfZHf$-99TpeY1l?3W~2j^PM#k!QBHEJ00+aF#q;Tumz=& z?L@$x&KfW|8?cg5Z$UC*9OvrCCxUy+~~x|GZy*aXIYLLQGY?@`WpOM^&D%2Jx6a|vDe?_m0`S_ z^20;i6&d(t?xB;USA6Z|y%5`@#KX7s*>G&X;RMhs1&?k>{qCbeKPM48y?b`*4PMY)R8!jC zX6Cna)K>hKdZf4pzd!7{)cn4_CG=8umh&}V`o2r~T4Og;>wvl~XZyQBQqt9!3vHa?V0Q-rCB^T0?ZGM`P(rLneGr zZRN64_aMfsoOV)&R8Zcw%M{(5fF<7kz}%c1?y^7L*Bd;evE%dXu&m1Vr$lo8Y7(5R zVjy;1Z6d~TKBuiqc8aKal+9h};RL!gPqH{hZLs}=PXbDx6$ zjG*@)2mrDp)Asr$)4Vm=<$P92kv%`>e=%4Kw;gM`+c)^uwHty~DV!mWAFb@|3AOL% z7|$&6;obHea8*SfD^%rdtMF>}Ja2I%yt~sI_EB#cyjtUIMHphcn%zYuK=#V1%e|x* z(x$TVi^IkyPmtAR#xmG7`U>`k44W=MY|#^T(27=f=30+ePaoDorDTx1za5WI)#t*J z6Nmd(F^}w0ai*ij`fj!~f`5G7dUHV{#Co1pRI5@r?XktXyfw$Ku$XbZ`xs@;rL>^4 zE_Z3+sq0f$SI%HDP#2cS;yRX zF462wnpxu#1^y0H>|Qe-;8so2?ZUk(M$B*}j$SY&|B`S7NxT;=)I@-LIIJ4jcoLe@ z|Gb3rLUz0aB{stt-btW5B(9TS{@UxOB2VrCh13YumhMC#0){yUAB43XgyptUy%!ht zuoG)9T}%t#z>J=x7oI!>RmKS4CtZ|Tw8*fljfC+?Skw5|8_GYL&nSHfGKjWnv+Qxx_5NBs4H9z!cm@J>C_V1`%X#*u6kIM$T&T*>Wi>QP8er5(p)H)N-GkCUAb4+MM#N|u~q|}_*nxN zVz(n9bV>1V-h1Nyk^u4`VRjn$q~`m!etiKY2#?9dVe`AUCZ2Q+%hl=L0`4!HGk`{t zX%HrbB7>%;HViHhq!E|#a$aZdO`W%hi}wG@|*Iub@HhL7eTO2|qBM8rv+5ck!?!$8$PA_`s}VJbZpLy;7*rwA|ir>JBD ziQS}lfGHa8c<_$CSW@ea5O`QngFtpi0+6Gj8!koPuQHjM5-Y*Djtk&hrikh64Yba zsdu;|f#jf@UX(35&k{FaLo+5Tp>e-##Wo4#^rfsDfttk{9p}!600E5Q;Nivt>UxKo zs9=A&*YMM8i_CI$0O}E&@5SBudU>!r%F^XFIsI8H({e=cwK%zO``iqIs_Nx+s~NiK zZK+Z2ek?|2M)t`jGlCu?b76I?N7sUzvr6-j0nJpNcM+`-Vk%3+99eU-+9BIRc5M~i ze2mL!qP3GkT>{oYWlU@>f;>*?V+bI!lMi9bnuWld*kO1)MuJGZM#v;mt+-A_*Rt=K zm<0i2PPByo3^IUoiDtr6M#6x!@?#=w!KY%GP^|X)S0}REmcVZ1th)=oFH?I9%61NoH=8YX+&UxVtvsXUzrhIOi-717 zv`9?~+F2)$I!;YuxP&(Ib5JJWu_fM6;ab#P=K?9{ z%^re?$ngT1ulUOh1TXWR}AbS{~C6m z5`iRQV@O&q;5I^`RmjnL_$I=>rIapy>gvw8~e8G?uGU5V%%^5fu7bOr`!lqcoGe52P}_18V9*j1rofd67W|z#Rk> zfz5n6_%_-`>*~z^mAqb3$*1NpsgKVLUN(uxp0qaDERvNTnH=itGhLVa6;YhOj436}(`NX!s=_APkvX6(8{GLV8{+d`)z%&&q;dy8`gRy;awQFk0!3en%+y zngzSOP09jEe#?7XP4Sn-US*f&wd()O?CL9lorRO}JD-Pl^?;bV-T*s8kEVfDGt=o> z;%k1o0ag2b{MoV32R&n?6@jy{5v{~XwDZke{fy?EGKz5(Q*meIhdGKeup7O1s+59c#MZ^WE?ipQOpY;Am zOr0wjB0q{nH#!PZW|Um};p?_zUuzD45AKBHaKD{Un+uI(x6Q(}g>)Y+4CPm*0o-2U?R#tsp<;7xA!beXO=~LxpljlNPzKUT?K-RTrr~<}o}vAqGv2S0Z!H zXY9$0+#}v(gT?6$nIh0#BxmCu;`%7Ic|9qDuUWvT?;{f9Z|uM4pMrJq2|T{n24^Wa z0q5}};$x_p#U8|)4M7%jrAAZiIk>eGsGUxNWGIa>b{uPS-}|-71ovCSaUZzpE`lhD z4nq#+RhvB$155^kqiH$8zP33l=ks?m-_!O)q8xt$bBhcysD|28x~UF+Y4eL@IH@i} z9$HZ}I+{GvHvSFn*!2}&n!yn-1cIZFd8#5LQL#sefEOe!dZ=2~=>n0Gq~_=;8nI~K zZe}%+!l0(;kUeXykoI7%CM#GIFAI29lxgIl{8gt8P6qlAB`lwDixUx9-lSMliCOYU z*rT|6Y@soMRDp+JlzVQ31I%qjQ6yG0ChDWU-dS0 zXcKl@6hKpU{1Aa_`V@GOdmBgXds`w@mj%T{>i$brLcly@Ft6;9%CwK=xd8m&6rD~y zvt1(BLw8Qn4+n+LiLwu%I-)=|$b^Sv9{~K_><;VOJP%pN9R}?^-C@2;O&vhwz_;?2 zpyo-65Zl0QZ7oxlVDzTFZ7EdhPOkY>oT!)WBq!vchGNzFJI423x7;mW$CHK*=ptlz zDoa6n8gNfWDUdO@)ev9vcYl!<(k*4Km7jE4%y%=Iaan@OR7p@BH>8Wd(JoZL9JSLj z_l00}j;S1<+U8Cu0%AdETfRU8vRdX>iw*BYx@~+`z7C%J9&drRz?P9scM`63_;q;* zs#*jYU%eAyp7Qjk6TiPdbw-aw_ssdPSzfqF@7g)8Rt|Fq~e}LKGHU*e%a;MQ8d9 z5Vh1GAY^2vpX?Q|-dNuVhb2%nV0+uPDd{sp%$8PkF)=dfni_nHM|OIO^5mHE1Wu_o zYzYd_b!V51eKLp9p(ZWCAHZosTE9mhWH{4hP1*Qob_&Nmg%%AHi!t```H+3(zJn(?g#U0oX zk}IrjRu;1u;KsofyKfK-%p)phs))U}RmG*u?yd*Qsp)5mk4R+oc@YTkBTn zv(~YX=2yhVP6HXy8;tOvz zBx5`rF*4)}#;eqI5%^03jLiE>IV9$p=e8kN)%aA2Gk21ouM9Z`WFbfh z=BfLVevPCQTg6oXlLNjZ5?am`C7qFOY&WqL@y2|HnmY?KCF=f`4v}kuwywd3GZ|5l zVE8YQ9n>|{XGKI)5NilZ`l1oMONJPlOT@u?3k#V`P^9myTxG~U6S)3$-wJi=- zq$)5YPGBx<`1)OQcuM@EyNjK`U8ey&KbwGwAG6k2_hdenDx>ODV(2M*{VIC$>3Zty zv>7Yg)q>-ycwM)NY@hku^mLdkZ;u1<97iR3HBnuG*hEm zBX#J4Y;8?sOFy88qtWJ|rI+eP1NxLJTblTK06Y-|eb*Qu$8hycegx&%){_~Z#_Y2L zcmD%=_{LsVP-z?P>eGT6XW-8ev_9no$3pUEmdK?dxs~W9MzL+Aw>0F666}}9fig5@ zJe!#TY_J=I-|5ajyfkw)Cltvttvc+L7ZNMJo0B_Vd)dL62_a2w3UAN zQ_^lrv`~hVObxY9cP*qbYH1`U^pQ8_jp*K(C0|Yp3~?&ZzLq@3TDgDBBQSWo>-wLQ z&_EhgqUabHG|$=ND2#)QGti81>Ie+NhyYVM_WlqoT3{IhEfxTc{3i4eQF#naQ!#KN z*T|$gLnKPNI+OKBWssM6a$@xnuAq*69N6UkG`?apyf>6dic@4H!&MlnL-02`t#Q_) zFzoL`20Xs07(sL^6-q`#<#lAm^V`JULw_eKqUq&;fyp26(_fjFYMP>$0exT>gz=HG za@Cvnx%8QNn-s9~yvvGUn)gp?5I7>87f({BjT=~)yKMlP!a1!wOQlkn3s2mbBsZy%PY&3iBc`|%a}EvgS5+A|X(`!Y4T{yp#z``l(^YMbOul^uQ1)`$BpFc( zoD)~>4Q0jpC*MYd^3tppxLl(_9cd)w$iG_X(kcfiQWQl>r<4!>woa*)9(J6LcMTvw zV*wp_xl_AaimV53R8mm?1e0HWoCI`XqIr`i)O=-Y6DmSTA0D0BJn6V7q@SnCEuO*f zGDJI&2S=FDP=Mk7uqqIA$G;XN+Ns7Q8&C+0MnU5=#s|O!$K17{?(1}cP12M9stPI! z!9`p-2Xbg079&oP&LggqiloTdg#BpYg)V@PTH+7E9FXrg6V8yH3~1kfDDgpRGUf7XGICW zfqpEF`QyDEUL{4ZMU=)(^fs1L5Qxo^kcjU7sp<51HGbI|_h zeaTpJcY|2)}Ji{d6RoI^IOLjH9g&2k*8e% zNB6l6iqlyL$xGf64ar(qC|?AtV_?XB78723z`!nkf`jOHLhBE36`~&lA_#=!tsPlp zY}h)!Z14kI)$e6??g-nwf@Sv|AWW&|g~KjNQlk5G41H}kUvtlD>f_H7K3prvZsJ}h z;4kjmATYK&WF`Xdfd7<5|5^#L(NFif5qADZT$%2!cfudU%*&whk{)Q8IomOs(F=5| zzF)sqxRv-+g!cgb+U_Y|NCd*^;eG-str-602aN+SOwQ1sY>iyaLE^9w=^Lq&W>*;X zADuO`3KJ=$h3g)?oj;pS9km*=9qFSw86j*hp!<>2O?lkC;Pl`_q!v7nDf#yY%ta*ySU)N(cVkvV5( z#C()rF>;oBPnRo6j=Ki`sat1%KD1T0I!>X=Ny->C!z_;9)88~{kOf(3c*k;m9>H-c&+H5MOy;LrQ*bx` z^FE`G#Q{?}1^Ip9th>xEJiLP9jWK0m;e8(Xj8i+#Uhd#6Yfc0t@qFNS5{5((KRTE8 zmdgPh>9V8FU}>t<4_Ro}vnPR=#5^31c_$6hQzKz{B#=iWv$5tPJW}v;@TbI{vnL5S zYYzS6oA_U_O8&w~_8K5RE7eQ}U1CnJpax3bX-wo0&W5qkJfV*w`^|%@i38je zfJ|2U;&qXWMYRJ`Od5k8lRgQ)iIKSYR$DU^8W$ELQZ(j}=rcsgUa@eq3(377isEZv zN9Lud*2ky?*Lq^9irH$`q^+$+3ICQ7iv|$bUP$>u%ApFkIUX(LeoZCVK*<*cL_OFM z6oT(Gd~HQp#yR!DAED1eQghvs`xOI+P=%M>bjV}hx#KB!aFy){@%=0MWPFa=36+=7 z_YPfxsbEA2<2w1qNBPy_)E=*7PuOQ)lVWRI(mL$C6kZFCs1`KjNuvqI`a8ga zSFJjz(NsL)P%7z{1RlYd5QSzmX;hyHo9%0?3^v&1Ln%uUN`FejyU4#6BkuVxJZi>?x0K%4-WWH*~+>4TGLd4Sej~9lKEEX{nUcIhwiLd z`MpW$)J3dN^*k2CWwESME%PU4s2o&?CGvZ0_50){*YEap7g0Y zM~($_Ro!;x{`W#B&=ETa#gQ-YidEI4?<3+9e$J|a>~6`5WHAkvDvGt0SfXd2~`_epaNJTIPt6p(9mb1fn>7ztt|598D6}Zed^LsTN|REVKq@WwsydKoO8BdEzfTnU0{=t-hmc12=7VI|!g_g?`@n)&Z<%`$PEp zP7tf>fEn)7Q#|3Vy((r<7MC!p&gCcU=&WoI0Z7Z$qYx(E5879V0K#c~H zd;en6{&m*K#A%;=ZsLWL!&Q2b3Q5Q$?S$ha0La)1z6G$>elRPETAU>*%x%k3mmY-z ztOzl$px^yG{ZGA5v)ut+qTJxF(U%zQf_Qrk+M7@Mp+l|z^%eR1pZcEWx`TbB*M;Ig!V(7T-;qkU}x6={RI1k}Nos2ckR-$Yb}@*VUgnCaw3j4RH8Bq{`o$Ph+D z(A;7;kimcP?Vg061wqt2N0XlY$61A_{cu(e{rcgt7<}9271vt^*bGCr&XsTH8 zFMnlHdw>X$@#bZO#L%%I(z}co!;3U8w)edDxqs`I-j8PoI24|Uug(PKmQP!^L;a=h z&&%a@|GApHW?1Hh?GU&6YjBNr`#ICG_XWr*sA+ZHR<^vs^3qT@|5}?#PRd6@mv8{9 zZ!mb8G4q`DEI0%ZYeny#L6&d@=N1Wu@?h{uKU!i6Ls)0iy37N7!)H}W-F#+#EvV?MmiN!jU^1Brqe?PD|7O&ea9(0knOf#lo+A9+#AAD_h$dm1NK zX$SR7dCLD2YXN?)W20~TGDX%?sUqD1m| zm6L^)Cjdv}dE{`Woh*W>k&XNLhlVEEaoTRE2$kZF^49QJ7PR%SA8`mP0b2+flC8-f zRE zsW(2FXNI~k$@y$f$q<6UmShJ||0{TF3unc>avs7V^#Ph8Psoi|pI^cW`#j^Qfl?>e z6hkT_FV7imBzx#IxeS*lH}1l5y?QZ^0rS0ZKH0hix>subavCuC$VqH;4^EVdoTlLR z$W+8j4ezdHEy89M7r2wpZ`B1lXJzCFun5xmgvu3azaV46^%vMRU`FuU_N)tJVdM>` zHFXy4Y!@K`4QC|R3w*Puu(#eo=r)~2a35tl7fs2|@&@7A7H6*fj83cH|GRfr^qeiD zf1VW%gzU7Ou8#4TRAiSZwk9roTQ~MkD znFdKe#L#@ijS^-rFKK >K3Jcc3UQ4@F`Vt<|)^K%jK{;Q-ZDiN;QtdpwTR+U&&mOyaTqA!^A0T*J(URfUzy0=2B zYX{|`Uu#lVb&?Y69kM*PfpROHRTuZxkz8d@uoYeLKkjL#56r9Z@6ZQ*mo7tjg4cfp zmCakic1ls15~h9-WyRkg!fLx4ML_QX0s{<^TuFk?~d9Tff&9-gZipq3}^j| zlMNqSqgcNds}<$A%Cie*MS@0|AGm5JESGaOMX3z@>?MtS)l;W-^X4`L`AX#oe)41o z9uC5BuwvpU3qtoKgkeEZhiy-fcVJ_MoY-g2o*E3Avoa2 z{daZoBnZwVHdX)cz$>o4C|)Zmarp8r=WpE|PORJy-0Ax^c!52M5}iW^5CRE4x)s3Z zxZes&bn~+7u}qp4sn4GGfX)I{ORY_)rcjPFGV%dRT;bfn#b-0G0k;ZzAS6nUXp-utDRW%6Uk*4^MSc zh_smz?I=tH^wx?|>s4u&h^VCaYNdzFX6cDO>#M1x#YT2DF5=&|{@v2Q^G_i;&z(wG z7b#Rm$8DW{$!p(-H-Yyl@WC3o91ATnGUdpd5d>_P(r_@v*)X)|RHnqwXGj8G`T(cL zPR zhICC~4(0WGLEHIbHzId)?v6_erRPm$CtF;Cu6iZx>7uD)XFH#NhQajvpV3-R^~2Ks z>m#PFlzW_T1(2E|M!4A~ziiQ*8KGPTs?zRIF=_#lX%c|jQ?W%$x=Fno&gc8_<+V^E z_ov#VU@6MmWyuq$ns`b`BSg$5nK;!9YOHZIHSB1KY_o+s$S(P->G-}G*K2|02dvT` z_|LI582;nfVkTKxAh@6|J`DDAawFlZONlOd@+6R3$kT|NXTg9K;pIBg`j4vOrY?gy z>YTb_|8Zv#chB9sTeKgB_^4R8p&1TF|Ao8P+dm1>tR8pBokD%h>;Q4-`!0WYNhS$e ze(boR3nM!wfgOu2el^Hl5`>T-4oQ?5&xexNJQs_xVkhEXIwNy;INZJsf69 za@`j7hab5s36)-&gJ_H5G~f+eCH9D#Ui_X(M}uy;>(NBe;+~H>$!-q^s$I!i^scf; z@PeWjvEIXy4mR{2fe#bzY?Q$CQ+|H?=)}nC9^nfuS=giTPvb>@+N6Tvgx-=Sr|t*{ z$tQ)}=y41+P+f<@DiTiK z51W4`MDf;k!I2BhwYnQG&FQP3Ecme1ZQO`piPYr<_s8a zpZLn+h!{;1WvP#OxBE-Uc7#d!TaznO+IPS& zxo6pN;{WBXn9z6|;3xYLzWD#^CUysNearrI6T5)ZXEfoZ%~${HCQek|NuxF(d<_X! zxqXfFd_MQ2ZhYV98?293tb?jr?$Ywe>}i7eTDuIKNuy+o2IFm}1%$y2mtCDlUj6|p z0FSaquO5E=6)#H1DU5NZ29);8E0Og}!e9wy4lHL*?H7iXZZtoZ;s(o+nD{|0Ak%eFt$R{4POfQEPK-CUr z*N0bLEOY?4*5)|)q$2aDfY?6|M7iWW&@_kKns64LCo^wc((n&q4zAsp)I`jhBv=M< z?lvnP1Y`g;*-z90{nGp$YdhEv;YKsF$Ll)Aq6en9Qws)jPAteD8(u{pljFGyt2l~i zx)L_@PYyy|KCLbvsL<508gwbOPDVPC#-5?EIwS%k;u!Z|g$_V!tr_tjI(z&JkhbXl zZ|?%UMffJ&<9EO<-W^c``ng~?enC=@UfJ{IR0JM{t>{byt`k4C=Q3CI>Y1Gv0yZ(2 z8E1EaWA`EzFsd(YU9zT#qp;2eElbrct4~zV$tWvdUU?Kl&BKS%IHD>?Ckp}bPRS2K z<=e0|0B-VukrQz90;jcRhtIRkHp}cwihF$mV>xxlr3Cu3bj~@FOHFd#dx=x_)_Qd+ z)L{g$KB?o_m}T8$XW%6A z{0Nyp?=07?P9=NdeT6rWJ>Z#V)O^2v0XoBiU2fOpvphH7-o7dD*S;cTg$5it_PpY| zd11fPu{c?vmZE#vx=CpLDMwu@Yuo4n%jfuc3AmIKRt2U|lVxe}oKCCRAtO%pr=;T3 z1?~9^Cp8gPL*h(~3PX_OwDY!ECzo@Zf>R_ z$5>URf&>ICItpvkaVm&hsLrJIs@S*AX#xY3wR3x2JtW?=j2NvRnwc4(08`o|c+B;% z5yMd?ipvODu!^_Q28%KO99ML6h?uWgtXg25vahHKZc_8iU;@)5zRj8S{C0PMtVns7Knp(`u2QY?Tj z3o!Pe9XcqRgfJnbwHab?OfOmQBhBH z|7qeKLJg=yz91rX4wH0JVQxZvSIr|`AV4%P&-)PZ@jMy8;~o3A8J=yA?aD3gLc zcr+KR<8!~u*87G25KG?{PbMBrkKcVz-2Q}GnyPsrfQ5)biceZL$D%cY8Obk3j}@V{ z-`k~&(fKPVjFiPu-aGKe{*ILMlHDg7ViFnSyhliZ{)a?1jVe?l%~aOyPf`BAL6h`Q zl6GPIpWzq>YjjNCKZ}i%voWQQSY?7enGo_;Rq?C(%gDj7kIS)ZJ1wP{Kp{Vso&hiM ztV19V74E_A0YicvG9lwc5mHBN*fD?K_{?1D!mY;H5Ztri*?nLGAEOIR0WcdCekT?D z!Vh;gF=txM@@GoMVGku0VeUji04jj#1E8uX&<{6e3c4v6dRbOa7y-i{bztC}AVGD& z@T>u&tMzM!Lw|?{q9B0?0VBJJYqPyJ~H*= zwQhKPvZf?EA(p2wkscrMdY!Hayt8sfXC3vuIu3HS9A{<$w&^--I-}EoPG5h*`3@F}qpe`LjRM zvZzFY78H~*ULk=;aGHHy3%G5IZB_T-vF$_c@jVz&E<^$8rV@Po&g{hM#hI{ETw$T; zUNK7z;zk7L#sbNTIT8nizWWkWm0EQ;ZWW3TbvcK~Eqg2Ah6`sz^0jV+z63+v;3_)y zCOPmj2kZwSaxn+1eM~^s|Igt{QGn17GJnN;ybEYvda#F9N01TiY;Z?nHhDe-LF{m< z$@q|Nx#&_77QrJpMs!vJ6FcIJxZM z>rlTAASekH+9ii;L0uJ&*VW2h>qev`^cR}$QAD^o@8nwN6rTVv4CA^-LW|rstFYGq z9_0@801n--aC3SOc7z3M*R*1q>o#8kE{%4kLHx>&oR~EH$$UBUyTTrk5jmx7z7HiD z9;X?ZDi0CvYS9Br!J!fs3YHj8`Q!wX*s$(2o{e@AUv?La)*X7(5c!9w94=Rvay zKF3i%x#&kcCaLE1R@Rw?xk8ET(h}nJ&08xX2dr3b!o_ycmKH2u$7vWj6{sI~H3$V| z$RPsQr8o|PY^c(*XY)coG}v9W(CJisD4PQbkKFfFA7-&)aq&=`Z(6r`9`VSFk?)dt zY_@m~!d-JKyfWhRr0t4yi}LkFv9n7u4?5xs)}@=>i-Z?I2cMDPm8D&k;9@1PU^V5* zIexxsKb95@hbw?;K7qiT(qhdJ$R4W-HeEab>A>=g!ixwmwHY?`qf>XE$wqoO?K*i$ zxI?11*n&bi5pn84rs-irNS{wK%B7}nFzo)t6edr7lqSY>4)558&w(~#{^az5xv9M` zWd}Qlfm91S_w4n~Jo*<;$ecB9xQ=s4<6{3NnO6W^`o$u z+!kSsm5!M)_(zWz#H~#qp?mSCmAbkxFb52dM9xl7UlnCJe|;9E3Sm8PO)Jl=B^aJn zo!Fs53~?{AafF$5l$>r>i^1aqnsUtgb>y7J+^c-E6FP+Y{uR;kB$g-f$z667Zl|nw ztZ&GA&(dY{2IebVbL4JTb@4_qDK!;GsV)=j(aWIQj!Z__&9l&VhbGfg#P6p{pX&AR zE2BH_9@z&neH4a%Vk>eOv&ke2Lx$RJqP9bO4pX=sb!Y)BDJdN$$$houlUQB2-GGLq z!Q{o1^3v1d2!ts~i)|v59$TkMqML@w7FqLrNEWsxCD|vovu0i#@4&eaOCk$wkjmzv z+o$E-ksdx&u-(?*209PLJXH>YsTeG}1XCR|q}V(j!=hx#msYCBM6z(>PyX=zKC}sW zbDr9)w3r6xG+043dQScuqYfn(TS~YMN|swEFj;rlPNJvu`xY5aX|6IxWH|G!P|=6W652t$4dgZw1VG$4T*ELHY6IWtM0V)|DJ7 zC6wE1!dVKbzvN^DTPdq%$o{s799S9k3_-rByXYT9mVD7 za`$$#uIQ{k4sxgZbXZj3Ln(Pe)d_Bi6v!-~BN=|R(g?8GPUS4;6`(4eS3=w21he%c z-Sk4>OoW6x!ENCRm&G4+zC}(y>*R~RRM;^J){(7;(sxm?w+_6S`r#dM(lh#~{H>Y% z+V%5>wmG@dGv-|^r1zb=T%EE7fwVGeV&@6Ik?#&tIcQ4LVchfDUw?m&KL8M#RYFhu z#OK3?R!jZ3!jZmED6hE3;KU-w${`$I#c2jk0;YB&rz#hA2k@=Y&WFQoZGM#%Y>Vzu zhID?kdSI0@XYzu=VHa^nbn6gHL49`YEcqE3=w=o)JKSp=^2691$tCGDY#*^bt|bVF zHT*@+B+5Fbq~rsYv6aj{GMZqap(@I6x__Y=(P;fbKVUm$VS-f9RJ<94sl19&B00oxonCoU+|E?)XGR6t%bUM zDn2t_fB^ow5PLPnQCEBoQfj6(P(cE9dBO9t=rk0;-cYPT{src1S&MhUbBBVrl*Wn^ z_-6RwU)B7t%jg0u#hCWrsE|&jb+{8K_VUIaorKs#Iae1o4b)zY`WTck_c|@5FYrZz ziOryZC#~wS(3mq6$A6Qz0Xmaq`R`}RFhat@0H>LYbm=o%M6m+(O_W+%4r=_2MS1@} zdtZ_yISyTUm9kzt!w7&R$OGsUvRr5(GilW_ldLzod^_+5`~h&M(<8DnD{@nn&LBY$ z!^a=rgAB2T#&m!cL2;1M%w&m#NQH)B8;)S?QIocfrhgv8jDZ zw_mK&^#9P}b~CFlRH`vpesU7s6r1@stAo%V;J}Tz&Jw%sU>R=s3s>d7%HN#h1gkLS zkFQ`OK(nR=7KJm2D&e>ykpfEN{1q6sgi}VtNZM!1vwsxY_o55p(=BldboQg^fM>EM zZpyf5Ym)c4>?A|#FumX#V%K4w6}Tp8GVuW|hYe$>BZv@=UqKg5}F zw=7k#CxVZF4)D+810K%g^e8t+^!mhFN>n}oe=V(tv2MfTgA&8aE>PA9)K##wk8ar)%P9tJt@UQC`1OvaN-IP*Pbq_u+>wPQ;v^#^hxtg@$5jumW zcG{WbrKggwZL-WJJYdMt`53CJBp$7lJgXfFr;_}A=pCyzu-xBQ=j?=|uxT>E98ix% zwXNvJO5eyKVXPx_DN%f5Cbz*tvnUP}ohJ*bckHbw-86bCNY_wD0DPsD0<7F5k%QEL zGOWNLHHYLo2QACgau5^ubRw-eRIQk_l^SM{VG9!047F3Cgfe-J*9v6CF&OyCQRlt1 zwUPI2saRou3wZJcll-|6F8lMjR{OC7Ra2_A3JuXe+-O%e>;pqpM3oFM17(ZM-B_e6 ziZN9+Mk$>|U9YSA)fTe0o=*vNVWOL}zJCNz=r?q`KFuEw-j8)i-5Mp9K&{*v&L~|D zZ9Eyu%W>|UG`HM+ zNbM%--_AEtl(>lUh?*vh$^C#2Z}4`F5QtHqSzLUfGtb(7H`e`wDtlg5!Dc!>(x#j% zqvz~+ShFA4y`tia5z9%?fWl~8StYmt3YH(iG~faY0;U1i(t-K0p-y#wS-6$cSzD`E zI9F$P;3V({v9_0`Nm&PIR>hs1veNOjep>STtvLoJIkO}dSFze=$CB)YuQ2)BLet(6 z>pP*upec$HEe_jtK@&bFOMlgi*#HArcg$Du5njTuE9(@V8T?hNW6p*i%{nBf4Be{3@gzRh5&m6G9u~~L~H{H znR;c#*wV^ZHZDJ)c2+J>IJkF&Z_rwfkWxV#G~g(#Z!w0RNQ0}>x}t&V{6XqZjd6k66>4~^>uC{i!aDv^ui_8d< z=2!DxH|>=>p{SVf9Uf0r;iwH_QcEPMP&oRcx-i30zOg=o>6064D|jKZk%)kYu`!0@ zYtl?g5F3ak8j{J?Rn?KOll(9Ku7mW5H{{Q-Hc5eb8Dm~5>~v>etNx9ky}DZSrc4nD z38Vmn`iB{TG8jCtPKsXr_iu^^CM+ytfC=EG+h09kCMAxgI8~w&g(qwP_R~bvzS(vt zt{Bp+_jYN)9ZCBpBBUso8nl%d7NTvzn%JZ-E#?v)XNkQj(}M63p>+X7K-=CkS~P4m zAZ99LiMY5_o@h61De$(&eZ*G&lahJVhC0)c;lf5vm`uP3bm2g42^SNlS4Una z-YC_Re0hGxZn&Ya9f%Yua^%3P+l<=4)wru`T&?*?8{XkunCCrHm2@I(~xm_$n2Sfci()!i$A2?(+B>Dps zb@=*~ic*z?6D=4}b<=`uUoOg*Vb=XUSI1>oCOE*qg)>+I-A)n+S1de-hbtS=FK|s@ zb?!rW+?&VG)d0I!$7JjWRbaRe5OiEjf_sqS21?o9ao2D>^N2WmQ@XH zh9{zuwsjyeM-?XNq$>qjbBw+8A(Eb}H@^+&R!rNrp66I6Iy2czWy&Qd#~K+~liUY2Y)S z3_jWeP_^4%4n0i?nrAp`wlVQ4A%kB=UURox9ifpA%)+WYL}LRryTPt0&FCRIn{7tD zMhN4V5!?Jdmq%z=pY{lasj5{LZb<<$i9vEVy0+}gTuZ3tJjH4%m;6l%^Xc+Hjq<7t zGSg#3C+MJrZW06a6ywRYrCufm>H_eSzv=Qw4GcMpAK(B63;=-xC~y!48sT6v_y^?N zZrQy({DgkEYu@qBohm^gh0$X&b&!!1bdtwbqSL$KFL{h6t!WIgoyLGrk6@%M{FDc% zvixR_0ZkL6S^6{vcX^$Y?a8#r)F1=fV?li+;twikj6X4?wM212K@b#lrri$E(CUZz z_ajrhv57UIqN#}sHL0PcJTyy8G9`AY6fNDNC1iBfJ(kc>5k5W)jq;fPOf3KUg4L); zIvZq{8`NR;Lrk}I#(@4CR)8}D@bKRp=GM4K8Z${hh5LenQV+84w!vR;ldzW{3T;V; z1LZR&fT+TY=FXcApFfGW8!!H?A7wkg-a7dMo+(jCU?wS}%8_mjr~JS({86I4{^93y ztsb&Bp-@z5&(y^4h(tR+XP#6b4oAC#5xX{%S%b?;;8}-DYjJBmu&u(q)tI;*G}qzk za=L90-T(=wOxPZtve5wUFqM7F$x{P8vwcCtT%P5wvQe2D>y!m_~s7o>bIE8MLaR*Cmy%sXJj* zRHwvh9an3=Mm5%&v(>9l3FM#1pybuSj;iQ%$*5bVkOGl zTb-7xA5k>D4zuivmiL0<_zEYdum1b}!TfJsRpF(bPj(5Wqc5cn3_p2RLpp$vtklgEsf*=N=&4VW@kU zb%(^>L2LJr?j7KF4-QYb)zlrTDBIdI7!F()UJ95Kwot-I=N8|Ld(*Hl8-;tjINJt{ z+W~evOm7eS-GK&2D(x^6(j3lzn2Ec<-Qint7~~$M+`^bI_*;Zg>-yLdhe+%4$hdqX zrnGJd3==Q`af<|f4PDrXq7Sp}Gm*E=oTirW{c++9Q@rrew~^A<}tPZc`QBr?J(922D<}kcQEcA>D__BcktpZq`ZZl|8X@-V35zOiZzY*SlhtL zLe^!SKe{<~CaB_qF0O=Dme~Ff*~++>DC5Kk6(e#wBB_q?J4uuUOZX90st7t~L3Y|9 z7)2X(*E#Vm?NCvel5<{DoWcub$)9IzrTYYcbB}mc^tJOP;PxAmzG6SyM2)CYDV@_3 zomwi?5moAtY*n+dUY_0&8pT3+rJpyw3WVU52{!quS0>ng%c~PSt!O#&VP+?A$_u4p z^6_Su!DQFT%U(UyOJ;)pdg2PH&RCwwI5;7Yzk4$9dkLd^u5D72b10z7tsopbm! zJ&dm}C%f=d3W3w0_l^&ImbP_$_ipO;d>{CxUJszCO;ZAh9+(bJ=K0BeqMrpZ zKJW>0{F548KmI&F`*8f_EDI5ZCjMRiuwMc-x%I}a===@RmiXe58WF&Dqf@v(hnuPOG@Qgh5_qcYP;2w(h z*5l51y(~!o*&rIjxQ+fulynH{Uri_h(Av| zV7#?3dU-(sy`?uyrUQHf_Ym7?pMWpHkNl%%J{6$3uKOi?BWt}Yvq*S$cGn}(IoQLU zjqYVZSBMK?;^oaV>FK1J7kpAON`fcD}P)t|Di_97gJD{e8Ks>1(W^T@8&pO?EjL~nYlt2NJ}1jn%MiljjOeYvmsOZvLb(6=DG z=;FfV-VT6{-d(P9)fx7rI}5)r_jQOq{@%z&Kzx{qs+;5hUb%i6e9hUFb|}P3nDWQn ztrxEM_Qc^;3UHP~{Y+4Cq{|~qYGAmjGMHoO@aeU$S|g~Tan7hWt}B4Z&8R!Cg!F~C zT>sD)!7@kx4hxl~l_CZ7T(2|KgssQvTAN?t-*=rm6s5c54z7d+m20KNxtcj&;}m?rW^3RL+~ zt6S6EhGVq&Vs(_njQTr%EC;+WEL=NsRF7{+R1F^2TG^XdGEQqA!rf*h{?Yqa?=^cZ zp|SH3;|_t0GvtVBvxK|3chudoZs6rC7HBPcyszP3W$Mp<%DO@_N?HPaON7eOuoD|= z#Oj)~bJc8wD&4eEj6AQgs;(Q&$+3VXn=?PO0>$uMX5iF90O79h2CnkQ5}S{(Qr+?b ziHKosHGn0X^}ywnYIjSPc0%aky25L|Y$UpK2vpox4AwF&Ig8%jP0oFTM~)q#_tFlC zfNQK5?s{6TcrU>*zcp#cB0FQf7hMqI&xpI*UmY2_VKWC6;{;4UwC(x}?(}fSpH+*k zN^h(Yqwg6_)oKD>kFiRawawZ=kScl2+)U&u z>)!k0ZSnuMvQi7v=SQbMo$dKO5Tv+inlPeWLgkPJcGFxdn`_10MH@28rf9Ex8jSq& z0rV$_K3q-=q0&}*`pkF;s}#{=ScFDwa%45vinLit+~g*bR?*tkVSGbHx4OX@r45Te zmFn3WrTbDsDroo}nHm~UL)Dcni$|^w#4DaJzoDdR^?V#UD*Ip@>PaaV%bw_WIXV}0 zVFl!HeB|mtyy8}K|4z%&RKFAZ$k-O+UBk?T_Oh?E+9|zzBgvq3 z^X|9Hq0#o8Gyk3pdmE`DCw9=bh>Qy*M-d!bQ&b{peR5&>3)s%n;rs4nJw-o8J>~nP z8J!UaFZpfG2#afGzLq84`1@Sb@6+`e?ay=WJ~w>Eb!f!Z5!>@^V4MrkI|%_G7z^utkan^$oP}lmw`d#6@5Jy^ z;FvlwDl??1u%~lYj?nQC83#;rH5BKAzTlh_iwV$ufl~5dLkO4P^YL+>=JAL)pHg%1 zc$bgz3SAwCSK^d@H&`#H_Jlqk8s}2i9{2G;S??VCwXC1Zy1}HI?CO}Eh?jPp&E6yZ zM5DC<4IlD&MX9w;M(c$%PD<;;?B|>OsmuK3J#A&G{%fHG zh#*9bX=?*y5+!PKVOBH%ng~$0f8_Q&KMsRTDV;*p%Ra2Ci4-^~0 zDSmI4vr)lGdDjXzI_DR8Lvj3Wx{-;JOzAzP_8#sLd9-Uq#F}LrC3kffZwYH)P_F9n z*brTVlnwqnehD`KAG*E6yEGzh4y$I%3aQz{drLWvv>O6vCd1;6i=rf}@O38ZyisTn zL~3g%5aeW-nbLLEY1A3Pmk-%QYhkTN>+;dG$KiTe0?gJ+Mjh~>Oefzj+ z-a+B`m6W-!FM4z*?MNdK$F)1s?V+!A0IoF7v==2ll!lh#D1(>AO+;`9}-(iokmrx1}I zVzmgTW*9ZZsVQEOv6{|66KblGQKvpxd+~>;JE!~VgwSp}ho3zk?fKa`V!J1C=e!s45MQ-CFO~lfKES4{TZ-5^GV;zV1s|Mv;aCiF_m_|i)ftt`AP~X6C ze3R=y`v6s=ls~eDij9%^)@+cXLkJ82H28gw7GC8zvP6BCx1|$mK%zyvn15rDw zk#Ac=^VIwsLpZA4*(HR1tLy-DgjR~ux2nrd1XUx@F)($}OiXkd9JK_~G#yfnxEfBO z_BD}WJB&tO*})ppe3{o9LeXFTz852^74q?(vi#Am*lN_av_7$~`EMgcxQ)=S40wlj^iR}@?QoWJ+MXQR|Bnz-n z^|?iXl>-SXJ|KqH*q}C8Wjp@diA+i?Ibu>G8N)?dKkAS#}DgXND$T>=c-AEB_HVEqe!M+5y2xr_kQB2=my zW(-(rMy=#T(2NL*4E0rP%)Pjy*oiR3krqcGx~XA29EQE3M`YpH{?ZCtI2K{6u|~1<4oUNH!|jf#A(6>WOaH|=T1frW2hYf!# zhBwWUSn~~ribgTdG}TS~&`dXXDU>D8O{jTJ%yLtm3P^Huc>qt;5r-=OQLS8nRDgm2XM%cz8b3z5Q!)vLC)s!*77)0c1*--kq(v><-qz8t>zfm5s4(L zmNQj;U;4moxP`tCvbRW+P8n3?S*pTcQmafT;wzo7#G%Qgc{Hin3Ibpp3w&~~Oz8>W z;9)2U$^aBcU}94s%~(0X>{w~VdKB6NTr~0Kpq$XS=|r2&C!>Zm`lQtk8CZ@QiWWgO&NLt+riz!4WeTnoZB%)n~afvM)z~(oyDvJEC>iD5Y0gm?a zC+0|LGX4e`6e|*9TpzI$ns!lpcd+JHmws7#e{6$Kqk13sG~x=0wF32xKA%#=gvHvF zm))vi#G4suX`psJ7DWeayF^4Jdrb-@wx^6@DZGV8F(N=P>zLRKR_c7fj|p^Yh7IC# zhdN2xSx&};pcy42O3rf@iXW&rc)Vj4VK{(r2`$k`3Q_v-iP^&=e1?FO0s{&$LXP)=wtD%!!iBe{=1f*$MBmVndgHFXU2G*(sv;S-j~JoH zd#sKLGF;)15Oq+AD#4-o1`JU+1?;j()xWW==B^o(dG#T$>DVYJY(kLBnrK$l2Y<>J zo>1dJBW3Q<30aVXnbm-r0II`DyEuE_r&g)>z!ZrS5vwDs!t;g~?SwK%B&mYo7#(C< z(}|5Hb*VqC=LrdNnJo1{?;J{I@IFN`D5>3hVu(;u#J%z3EfBG(EuuSu_lR0U*9Y*$ zirh$K;z@mHTR_OR-UxBgH`!RR4=K9Al5AT?l5QKpLJzG>Y>aJ0a6QS$m!ObdwQCBT zLU;}YI8X5_SJBV0yQr}=R-YAfG}hE_CO52r?o0D+%z_v()^-|k;sWXsGb@5SoS7NH zU0aD6uTS&KH9QBIbe-|&l5#~IH%2FrselSDymhWp@Un4E>=4tw|O%yj9-6S||Aa2$d9o%c!{yu$BRPu@)tH?|-3 z5M~a?4c0JIID$r%MONXhai!(*Yh?mOG?uQ<=Zob>Gz@}Fe8$y1k1sr2?ho1Lh5mU? z_v!k_C`owx(Bz$4%^zXz&JD~bqV8-S*6YK2!Z4xmf^(xX>%4OnuMkymwJ2<^%xYih zAzDCxi0EWYM-kkKglz(Q<^I`_G_-y&L+kZX7_+ze04-jiAg>AWVhkB}R8--f$%Jno z2AIWg4%?Bfbi=%@6WuRh!J$LUEezh~L`R8L5V!nZtAa;CUK;~O)DeDKN09MhMd`;O zXqwWO%UI9YJm}J6Ee;N*A5BdRAG!)JShrbl#%O#Pjx|erN%hksDyvJPVFmGA18ZS^ zYh|Bvkb{maOls83=2^NxIc#D|n}?7zHXc&wkzup0^!pPw?jPA)X zptjl42b{opD6}{ciulUBTN%W}{+9WZPMAMWj(Q$Y53Ru%PH#5&AU#0Xku2r~(WZ4gS0+>iM))# zAu{ZdDdACcKURGJke=#`U|H{&DqRyvYToBNwp==)`{Nc!q|IbFqae9Nd?m5dQmV`P zfvaZlf%h3LgRt#v)t8_7pf$0BkU!q@nx_-$H|M$F*#*FcuwTRnM(g~z3zc2FzPvyM z^J5~v#uW1h?G;!FV7pIidMjj;P6P)Ms!of^jq2GDI|i4%#Z`}DZ(N|F43F8|zxwYg z?Z^(JJrP>I%Z&Pi=-VP}0G5-w)mmCa*OwjEWzy?%D}u18_VsbQ@jx-(gg484+71R+ z=hGr>2=8q;K>y8b*v5Jkv37gFNyOTo$xjo<%HA388NEbtXS;cWM6&Q`J#tC|3Q7o( za}LB^J&ACELdXC%SFR)$uJUSWr8>nZ;x0V=iGYiNZ=C=GlHv)WJAm7C#PjVP6y|S)~o^@ zO{8vba+^ zJ8X|uKm!R@^G5JCm@>4zr68ZNAt^<{x{z;Dt5r27bWTOqmLEkAM{8t}5?0!KTT{6s ziO2T()H@-o1bWsbw{yPpoq)v%=eQ0uT;zBj*6|*|z8(gbd*a`Q&3~sZ)l-%n~I>2rwRu zfkiUr90rzYo*&lUXmusuM2SP73NqX#f%Qbr16oK3(&+8YiM62E=fTKydlZ~>0n)@~ zY9KQ_gS=`SZyBSxOig^>$~7yt-Ex2xS~f3T$ao?1EoGS3xq;Y~-erwi$ANnzYql|6|iEr7Yy8Qf$AtSNsx`zR{_Q~huvml|NLIK}w$yzlc5@ePY5%Y@an_ZB3_Npm%jFYEsB{{?GUOb$A5}l=#E3`#&gj*G@sPD#X6Lz`skW|Io^COA7VP~>#w+CAEwl%>nzc#V zWX^a2YgP-&_N``X5x&O;7wBj!+AOU~Jd87~YYMEajA@xx^`4z}uGtxO>!_`Dby*LC z9aS5bWym}ki2}&DP^k>+$>KygBv+M4VSgNR^h*uOwOZ<8O(<$g}T7;VPYXN9uYv9OX6RUQ1*R_X{g8P!q zv85R7#W7X>SbwbmtQsiYEkKfUz*W4#qKy zQ%#mpw>S~>GFy>FnY_*QruIVHC2j)+X~UW&PSw3laR>$@t++P9PlZ;49dbV-cE-9h z8VTT|{RRip3`?SBOI@DBi!j$|yuDle*GNWkTe2~g$R;FZuZbFT%EZSF*MRBaKsllz#fb9DcaoQ1vIFQcW~g+ zdGj*3F_VKc(DbN7#~d)25e7QC`I_jIKnYQYg|l~t>ZTRoG*dV%vJaD0a@a5O%{n%T&87(v>|So+U{ z_qkx>Key^-e?Hd@aNuahRJBkVqkp&~Kv^me3=$E};;Jy(OluXvy*TH|%Bfq6TnFK+ zmDNPSB3cLw>6AstMp*wWF@4F(ZEOndW(cJB-+iL&OBYbpKdJ&NXRaD^_M8o=jAm_A zH(9ozM+tUt*jo~NcP!6mjw6QMg}ECYYS*wMt=iwzlF6qC6;WS-T5|p z1HUujg|%$cA61=BSv`}Rm3UB1Vbsmidk*IFo0~0)?Itvgix-8ytr@l0GM?YXo(^xY zbdA85XG)_8T50MSmd2;0{9O;~_QbLZHX-Pd+BEfab?N$hSOXYXe^&9$h&4T2ioq)c zCqIz?qUg&oO-FNv;WFBryKEn=2)AfD%StZAs}no$C14JVEr+}5vhv9zi3pgHG1|(F z?Eg*;0WFT%@eO-Pscm|%j%k;Gw3}}jB6|dzB1`Z|{}h$o7KDZ2Xk4Ec=v6PFNx4`a z$Vln0G2R^M=+Q19j*>>X&V@xOmNMFFfmUrvOUSk1U3=XkQ3RsTt>j}MQVuNiyWB*A zzyocINb-rSky0XwjU;HLAYtN_g}n{fOiA6urw;C1L=CgG4E8Duz5>e$E|0_(EP6!n zLPUpOePO+@g7LG{iE{6Gz(+ox^OCH4&Yn>g`>J2|K0&{{qpub;`` zIL|?E7&3cjUSH8&fh}|J!aZP7;+3moF|?LNEti)xl%nIwlX|1^P-w{lFfT+Njfq$v z!Cjf(i1nPqt{7FW`Te52w!)z+$7?*?YWrGWxAug0EO$SUoo(f}p5LAeJ6dB_LJ(WN zI@p68MAE8Q9n)wvoi)cfXI;k^!T7Y1nP>;itk1_8&Yig_{m9h~%GA|w9AwNHFON|= zjHLE1n&!dL%SHKpoKr|RjGl-z<0WhN3J=!J`?t(SXihQjGSe=#vDj=5Iyrqaxu62k znUjxdCVpk|1vptFdMA@D?pjp)zmLS}mo74z7byzw<9h-mD<66PS%Yj%DGx(SUe zw7RaYrD3XG52#9<$YjD%rd-!`q3X*``T3a>Zn8*_w2fWrmovE91uCSLW!B@D4*?9D zK1((14d1GNQprmF8+q1aFR`!wdu?@B9dLlBqqgbO!@+K9y}_2K>kGXy_i-0S_>BfO z%)^Qqh%_q0Q!-LY&E`)jS<6u>$R!VdCBVOSDWh|jHVr8J^=M+J3%W_PALj6vvbnT^ zj-J@-QOeTrB;+pOJ-oM3Vl)#1KdoSQ(uIT}&Vyt~L>WSANwa3My%75bkTa1;mIdy- zKEAGslQWQrQZc3)R!R!(=R4_oN2;}%=8lQ0w&Dy2OTs~kqZ|?uN=MJ+^3+q%R%~xR zGF;fmWn%1=4Cg{*T_Hmokr#@yQ1v8Vo}Xdjk&+){!P}EBa?CgBJTpQ_NpJlMvHu_L zt323OX74>6p6||CzvmXJ*}qTHrV%VE`%Gf|xH`IHH>iZ29s*U1{ka-*V0waFZJKGX5a;0wNY>`h zSI1+RtRyk29|Bv$qF@Ybvx7!B*QN#i200=xVPCsDt`5u4xA_q78svFyK(%S!5ZsbonNZZy0i#MOv@K zGFE%^Dd@3mXdv}pfI-%Oy*esmPp8kZ@8YuFTKrBRuquSsNf&Fd-V=MdDl!y(bAf7o zXD78|VYy*d8Hung{3#v0XElqjU_C1dB}c%GkQqTUzPc(%mE(9VQ70(qTmpNy>Agt{ zGTNvc3N=s<;H$NcdltUBZGuB4%GyS}m<|SVQ!5GP$pAzv z_0%e_27&uIK(~7O1$geOGGP=MaKK}aA}xvh&|Z3otW+O0cSvle%fmA; zOMMZ)tMgYV03D0~gCbyI1||bTK!>TwICWP}2As&*97w5{5AbQm{pj58Fp3<_p2j(v z3=WckNzz)<5L@XHB-3Lkr&&664Lp=4m2#w0mX*q~R!!Hbu%1kbgw1iVIu>?Eqw=6? z$%qgScrf8%!FcKEFgtKSYmWf#_hDireQ-j3R`VWePDIU@Xcm?vS?q8yT9!u7>t|vl^4uK-OA7TZ?yV;BYNmu1C~0 zkh?-LF%0C1>Gcfqk;O)`;7Jx-$?Vhex19}af!Opz+5thjK^+E{LFrN$UIyPwqkqi? z91Q#R5JSNH8zm4;-V8!7^sqI=L};u|QdL49=hMJ|+D!}J)5X{vqK-ZSE7cgM1_0Hm zUq(H%+MCwxK8>%m_iuKMH!Meu^0=v5It2~+guq-YdsZ3LppyoX(hhq&A3D0qug6(! zR6eT^dVNu7llt{a1vLt))?T$lq~)!>`h+L>!^ZSPqbR3)-$yl+Er37 z>UVvpOR>s&NSRhMP|EQ%cQY-wrXi@mfQ*SkU7%1^2ZyDr8mTNWpC@Meag{j7Br~~W zr&Fu%OURTu$HF-m#zW=s8Z)ccA$~ht|JzVCcwti+ZPI9)Mi;fJs?%karfaldsUSP; z*{at{_ja0j2S-$(jCL?c4N56{vO^F4*5IEygj5Bg`lGoiErg^8nRGCe4ye*1Sz4sa zE*7SP%QS$R9&^*da)SR^0Cyscb|QJeK-<_ahs5o$x*e9chWa*8;1(*}LWw)5aRWte zkjgEPxkoy;Sm+)u-2$px3VFjY?St5AAhl-cFA(ly~B65p_feNfy z+XuN*mipkjvZT*MK(f|B+UXrT^q3+ovA$)eb(>%Z(=s)GwGZp2^=oyPOn=SSm`_#1 zV8+M}VINuD;I99jRGt2>?qS=wdbRGA?y>$H`?2D8{i(siEta^28rL}F2Bh3zm>Y=m z27nGK3p0BWE8i-ACZzB?Xh)^W3I;h0Rf^3nKfslNjLs&r{cC0er!YS{&? z`Y&KsWC@YzT>1M*G~vhVWUBse`Z?WZJ(TdqFvBvYQLE3@=ELRtVn~|J&h%I{gHgQL)g=3rZ zF~=j<_{BQc3;U7+c*lQ%GPv(ZTu=^tl_4Ief?(%p&rSfrE4fTSRX9Fc4pgz$xr_w^ z8XQjA!5P0YR_lgu03*b}NK~g8`<}pR$4BdnO9roS-^IxOLOAjomKr}xn;0EoyQ$=| zJ-`mK-_G>GyvFuIb&&>-$BxFgIoCQfu%Sb4X`dlS-;S@J0i2(`JO1RAq{@f?*R+Yd zykXOQ!3vMNpu!^tlTGiM66lC~fW*R$mFgWsC-Tqtzi#6B^7tZNP})D5_q26jayLw- zg~`5Q(jAyw2PgLpllji)=iMKEm+CSp#lrd9$jPpdYBEyqFuVWk{_JdFyUCpp7|H1- zN35iIBrKf}QzA|aK%qE|L{*D$Sdsf!TAD8EPUv%BAfst~>;ya$k>(8ZXPh|)$8ypN zkiL}hlBh4Lnkcif?wPoBe>V--7j$KH>!16CSLNhC8#3Wr3c=zN%4+{p4FYYWgR);* z6nLd{Obr)byg*#(n=qILe?KTkCNmiTG;wf#lI{m};~;|zTWGz&PMAK#mbZ|e60Ub2jOVY=DxhyK{!teEkV^RmkColIZqtcU>V}L-i_}Em$Su95yoDqr z;G`Yw!#to7zGcb?uhyEG4y5_YoE~Yq!gp|IxtaDs{4V_JKZ@m3nMyD;OZY|>_&}DC zNcG$9kw6{nZNL9JGGZj$o1pQ+=$TwK^3KV_zEB-XG!(1djwt!xll?fnaar zWlt%4irG`Ha}f59%hN*D%9nu@@}g=e%~;-bWTF$CPPRJf>jktG;Uf{xef7tLIZ8fT z3$3Ch#Hx#K%Uv6-GO*~KAP4iWpn85wG1*PYYa(O#=f*KK!|L3~z*!)MzezBXm)XsS z2vTqLb_475z(^)^6@Fgs=?T=RD?KGj%LP;Nu&?#!<-QJLsBiYQgsO{h$*QOI=jEQh zLgn_-sNOHGm>K{bT_t4L%l#ZgX8U3|SI`F4~}r1n~oJ4-dbmi1SeDJ={N4mTFzEu3|@ zmkj*nK0!qP7}ulv^V817TnE-UZR8c36WCrGl{_yis9rg9?P7pe9m|HJIqy5DXMxM6 z;{pr)zFzRLrDlYLwN+b{`ox1^{0_{%+Y;8G#UnryYs4a=xKIHO7LSBYcJ_e`n29Rf z3Wc7aTXy0GbC1~zMwK!;pjKbCmY{VTbAGs^&m7xEhmSLw;0sg`@NY;y4@aPkHg5%> zSg%r@err{sb0FJOul%k%YNq;RrN0?9X@XwU;x)Ry*Ql-DN^hI^b#}(COZQidg!=DY z!BOl95d{)uGv6&~SjCa>TK8J@a~G+{x$?TcfSTOPCfymJh=p9EjWU>1s41`a1@f|- zX`5hU ze9|c6Pw7|Bhpn$wcgJas#N3M)B2)R+bKG1B^$I?8bu3RD07=Cvamr#8bRd4w|DM`)@7?>x0S@773Xsh~lmH#Jc7kvwB4Nons!FYUv(IiIA zkI^YBD4w^0{s!$M-N$unUd$7ROvy&wd;T+Z$UJk@0FR7z({yb9pQw9;k2L4zqdGAX z&Nn$83gb&^&JW`Z*)VZc1ss2>&Y?Vc%F%aXL}ug9ot3+HI6T^!CY(psnPgo}vkB0B zfkra?*7bg31~MR@k4^eGN-=Hor4L8L`Ujh%ZmEzm;zEL?XchST0t)8`JHR@NwL|&& zu(*JMjwcKU$@o~Cb5i>%tt(TyIMehHPg|L)|17;NI{yFpzx7{5Tlnw)sn_b`|4V|P9G-P#7Jl)+ z)EC!*`w%+oCyiOyD@;R}S2--5VN1E*5tnDQ)l*T0wB|Me$09$Q%s z!qK(5oegPluq@|*`XjD43e1%_!=DotO=SX6JGiWe8A-qg*Qw5e69R$kL>=iy*mhJL zgxzSxS-Kk&_G2dzt3LvOWabaqlbK1dR?KIiLyg{%SLE#)J_O1;Ta!9&>I-P3JBUa1kIo>w>#*& zxE1>H`kt$2@4%oe$6JB{BR+&fszlm~B~p6Jc>#ck)=_eVr4Ub{U|ukbxk z9qjc$d|hu2^w3Op@FqXLeg^Cub!I?JwNQCxOfqi)^o{bb$v)qz507F3Fhm>hFLONl zSctQImVc)|QxhC>r?-ee{Y;eDRIkvv$F(!rH%+D|lk4i#`JTyq^(QEA-#)0C4-kL9 zmag~Z^^)%V9ViOo2=AQpRu|B!f;mV#N3A)D`#KXI;^u@m=fBYoy!xONj3#2;XZCdk z9w*leqZRso?5&ed-7?zPKuKa{&S`sIBeXMMRZ267Ld1G4#AzyCndxXePAeLzO{Ana z?ZPV{Rz>M(F&$OMX+uMOsi{;}@%m)t#vHr$Oz$WhLhrGs<#U~Xi;?c(R1cAR_*@b4x435Piw5c#^z;*yn>RgE=#?s(%KEE#roN}T zk_a=hu>>K=U1QCz=bD7YBP6|@k7A-TX>5&j3+z}p8U;9BvH*Pvi9}{`hh&-7op8N; z@E!6i6i6V!3Mz=c4U?l8WN+PZ=g-Ysj%OX?^xe!TN) zgzI}Jm~8mVnfLl87&SZo@q$|n(E3<%9jMTFd8<(EL}WIgQrg%Ib|Uf-M_-hYuSk@k zhC@euPsW1g2IfA)2Q|F*6*98{&;9Zjz8G;O3iN4ahJ}Ubx|SgxECerz(P0B5*HNq^ z!0O8p!-fe`;4`5wmv}9*4KT`kUBNj@?d>ayCs8^y5+Oy(1bVmN&fElnNFa_f=Fg-} z&XNZ?f;yxyz&=A*%nP#IG)AN-36qevdDRP$5ULt8RB+5t3QcQ9J`~NqCmDMVY_Ksy z1=tClx|}*vf*Y#7irJx}8p+0oG+H8YM=hVI2UaN6-y{@1ngI}e+dw`r{lE%GDx>nF zwZWkM2{xDDAgDDBf`wqgMVc_rrT%6jf)$ozVH51;!xKs*g4Ov6@rw6#IWoX>uV>D4lB<^eb$s3POLmvnMK(DJ@U% zNfU)!R$8E7l*SoZ&5R^PRk(s;$W(<@Ul+VbNKR{y2stPLRvGiwgaag(Ag)29O;FdY zuyz}H%?2ZRtna86Cn~2EUN$M~v+~xF+~HxF`1G(GwqhIt?$+!A#V5}Po^Cj*ucb6lmF3fgFE zq)7NgZ;s3fD}kssX9m(|34m)pjy^BJgtC;QpKr*x5iNvSw0OP?9*6+Db@3#Pq|Y+N z7i{K^5;8O`n8I6dIzt;hrbo@8*x^_Now!Q}?#`NtDTKL_X|5a>^SXB*XW@h2{rE-h z-(Zn9HVpk!J%!6-Ocss-mmbgVvm?|jtqqjmm3_V-LKEe0?r3omch8DCQ6So%deSr& zpq$muL;e-DFUbp4^|RE-prCQ$B3jV*NK8cwI>m^{XaOgFBRWD6z(h#&n|YGNg*Ud+ zi`lxMRS!APlb+paLH6Bdg#qj6IAs-c6nl#ysV&2lysOe#EPJY0E~pYS3DAbnUqma2 zplpp@sjjX@uN1}I7|cmceTMb$-eG*g9s)YfQWxaLute^TQ5o8dh4A;~a-g z-%*aksRZ6gUNJC((Ar5xQ6j==3LhjC4Py-gT_@!%T+r-U;R2d18!8x;zvzvxJdEM-+s!19S0>n`B3J!{3jUHk0AaymNr9^aK94N{Ixn#&qk$PvCToW4& z7K~mbH)LRyRxXmNBF%JVLphhpa|wcN$B0NJ)qG>b&lxgME7lwU8)jdqt$}LWA;d^? zh^bj9 z-e>93m>s?HSkTalA+|qSFeHWph0rii&O?n4M08b@%!79j`%W1;)t|)7y%|QOdB)LG zjxr5~HEQ9cxlo90hBr+!@Vh(C718#0T;KQ>)dw+^Fn=vp%UeJVY(MorD{X0+C zPdm_})5)+PBVAL@o1HQxHbtzCB@Rmjwq^fzFh?u~qByFDuI;`xV8#tIOz22ex(z6v zpeSKVic&;z6+*n1c|wI-?)osFF#7n=?OG!=@X4s3b!s~IQ%GavZ&b_YRyi6;=O^~m zjDg6V@(nr%$>e^|q=!ec_51)qaOaJ?! z`!**w?yjTZ<-&@~7@asSqP{Gc{YEXApgc9u;`S=EPxJb6S@8+WB9Ka)*(j`wT1Rj= zq|hcJVo36V4>n?29YyI%XcRP=m68u?Rb9Qbzoi7mb0LNqJVdMhv>8szFbc+3r#i-h zkPSD0^8xs9ulM?#ie7!)n^bY|U`XJJ;##7NqI)JL6FA_0fMG(;*rbe|jU8qf&O@4O zj&bbDm(XTBqT+#)DdL$NjXcB>shitSPSa8=q4`WXXP zDlNbjwJ0$yykj*6wuu<^Dn!r*hugVxowH||F&Oou#wi@pMbc=81IB$DGjYaUA=#e; zT_O5shT&@j&?}_^Hj-rYfi)Us%8!*i%jk9^B4-&zyS|c77-2}6wPJ?w2M27`V%cf{ zfeg}xFsj%C)|;0^LS!b5>%c2Jr5BT4KfkwQ(+ML8H%6jkW@Epa{#N8jCM~u^#_=>8 zn$-)XE@O81f$J?Fv`{kUZy)cuYtjkRBSLxr9~=t?wGMrNN0(@_qM!=SWi4bbDa8}T z=L?xd;=Kg>B;y8L(>cJw(bt|ZKqBQXw}p6kXX&ju5Z0bUK9bSf*RBuPAU4mf{u?|q zJL{5wAf|A51Ff7w)vk0j7N_Pw+@Ul0Yk@D?4Bd1BiP`)ih)H92B&ZXVdf+}UfW?)1 zpBG2om`vW7%x@1ES!efCrh|)3*`PDAge!6Hj(Z)4aLC1g1ChN~bsic*la zGe_1-;x}DdIW)Ovyp-sgpCCw&gA2Hu#Z=!vL{$x7i6FPU- znNJ$@9mU2Uh`9iX!^aziQn~CR?VN?q(N&^d2QgR69fKs9fsSlwIvhS(9^&#(Zi20~HCy_h4?ThGz|DZ&ddeII(# zRxssak?uw=AQw69ou8B%g$vSU*WqtoS)|n*2jx=vbX7d6Lh-Sof(Xk#Qpl(5SlAr* zowSiovrsz+UxD4SQ52H1RW?x$`T7bv=L8^e)`_QyQ5PuM>;tYz43kgRc{Cp?C!on? zu{sx!hN#moAluvPUkpQg|AY0wMEs3b!Cg8~QXA$;?l2h(>9-4p`4&WmN?5#bKgLl> zMss?l35|3ICvU1$z3Vf4A{cn`-y*Z1{c1jFIJIF3uV9}=4l_iNy#g^R_A)|BP$|PH3R|W$ zaQa;$;U%mBK%PYg1vE#GbXF3|f14P2`-xTp*8^}CDejo?q0){bRZ!9p1-6AT)px;B z;rw*e7C7z@0?aBQiBo}SN4nMmvX;Q76Ps!wgY;Hy@b}0U>VEDBj9o3d`-3Iyb-z8* zy#dl{kDx(p`h%-&kP0|YclGW zR4vb^g`N42^etpPQuagOvpvxTth#HF=8RG=kvT;IoZZvw^LuvE z2{I=TQwj^&c4QGn@@disQFQyDcq}Fnk@jD%WV~{Qo&B|n!2q*38htf4X6nquwv_tj zDX7xQMm6-j_V&n*MV>YoXqL5J^ma?=4I@4a8=AU3WA&*22N`o~1v_FX_NLEFv0Vgq zk+@YvS?B?66^eL;M5gpkD;Md5AY~#@S_NM?$fCqttC&B&1n3_Ws4yFaY9S|6J)}e& zkwpashGmlFWTOavF-6p$X~a!l@6*H%+hTwk%Qn|&Djw}=6MYWKXNY0zws@-s580&i zs`A4~b7mKIUGm{jE6(qg2k-$9V$= zz3`YOeQ;?ZxB)4^vtYpu{&@!X8Ahbh--g==Rn(BkoxftnGRE)fo{1Fl!CZj25&T_! zIA(If%-}ppya%yJF%i{N_|^CQ!&e1B*2JgEAsDJPRyz!8_JSYjEO!M0XR z2up+P5;^q!nXxn1o!N+}9OC!&e1lU3)NuX=BP$=v2V0uVi5gp509^lUUWcV)B)F-B z)rR6$CAHw8E{4B~b=3TI-7vlu7og4ZZZd@9ygP^(N~56l!lwOw zp&Ten*tMFqr=P_EBgt?D1#zfgJcDBwbb;g2C<-?wbI0_gHw41KYu7ymv*X#>OnWn*>2ANwi>M1$DJS1dB4l5#(Jg%l=(9q0tD{C zr$lncM%2fKJx0Vi^K_a&9kSV{DBcJqHA1! zK^qL};(9ULPfO@;3TD?YaB}mq^TFs3{ku2i%})A{EB3AX#<%MYoR`LUan4Cc=Pi={ zq$a8omB%ne8D=uqnq;;$6FH920Xnh6d13N5a$YBv;}sZ=EJEUgE9NDcjZ4;#?tB-u z&u@(AuBg7)aslIz?HLAHtHyG|4yd{bzFb8MN8tXO6D zXM0cRs99Wer8Cdg>7ZN^YGIjWH?gb3WIa7PMUD5R=bh0z*X?auiMW3t1{)D@0~X~@ zo(Co%+*_?UuB}YYheWF=Gel(hQ-4LcMblYUa?M}2w$=9{VpEy-xg44O$G zQ_vyuif_0lxR@~oX(eLJoxLJ>8V4*&E#-dL2)e!jQKVi$=XYd&%|K8x3kmxBD^@g} zTgz4U2R`OQBr85ewL{}uRJH^Axt*PS@Y>%!fo1Rrdb2)b8dgh-3@|TD=9}qCa#xNw zzI0ID;v6`Wh6?jRMCE&Ft{EeBwM)l(e3~z)yGz=j8W)&+g>X*Yyz|QJ%;xd({xIz? zJF#tbKxii?b)ZxZSgDaV(u9udb^*b4HeSotyWd_KB%}xAoiHFlYHsqnAAwn#Gh!qG8TBjHwWc1q_W2oYZRw zSkZF{)j5{V0?Dvl3Q=Fe_lYYDUSZpI!ZMr`*tU(VU}iFHgFZTE^f_;&xS~5Cvdu(? zcBYRIr+Bs(=nix6JJo;$Sm4e-I=0?9q)wFhkpbQ!znq^qPD5y}Z${CaJG$PFn|EKU zB*uQmj7l6@g~I!!xSkMv-3&oN>`L_PD~FpBT{!Rp@onQu;icnsH8t&5=jTM>+S7ll zL4NHq4k<_6mItf5urcJ7AU3^&FqQVR+DtG@8|LSi@9*>P?xd z!CiT4IL3an;c+}TZdUbe0xeS;7hG-?c8F%iyM|3N(p9=hPds9JqG=o`tK!Joch% z(B>h~Gj3O`m`<-DKbwZyOT=OMDiXB2`|%1N3%d}Gv>xlQ{qK!BwxfQwKrTHn}IWM8slZ&n*U28W8&hWlE{{S z&+1U@h5uUM`sRY#=02YY(pU+!o}H-f{ zTjAA4oy?%~4(#2jclt-=?{Dg9XCTBdox+vPo0z0$xUzoD2qozmeCqA5&OIKQGGcvq zMT<}|_*#i!u5eyB!RchqCf10f7LwFJmOg?`#zYAXoBI;3u6pBHSY1ClS4G9Z!AGen z4KnQ!)EcbEhNz~MAl;6IUNh~e*T|#(Wi&Q_)73E=IN2rx_cTO^0u@?8L8%dX1{$TC z60d3F^E!x>yXETWj2v(lA?hKp6nuC?kP_qb1Zc`Oqh2FK(5v86?v~5rGq6G*0Z_r( zH8@iSi%JZUyVbR(U)E`fw%Ie3s`|9MNyA-T9;t!V>k$nc=z#%6=zu0Dt=D2MOa_yI zVj6t}hcj;SaO@PeXgVPo8K)j)qb7Brxf%3}E$TFEmT`)866*5)-g zpiTzb8CVG)F{e!zgR~w#^=>+8YgHL zHk1ko%co2bS%sMOyL>vu(+mvnnYXdEvt!)NCh-h%FwvU(Y0}(K>9+(6es@iY=0{g*rA!$dds| zR$x#bDoR61S)?hAL)F=_J6rAyZ1qE0R0@X7!IT*oGXrvFAkZ{G8q0{FcKrywqW|wz zErA_sL_(+9(t@8hU{vx?h901*L0h%^7e1#8WBL%@b&Lxu!DKr~vqmp7dYf15tm^kk zJfppTM}Z#^sX9%=WNHvigRuF88C|M_R#{w3<(h)^G(-Qpl3yFu&?=5ruT)y6-u6mW z?WnR^*R`6kQne0v9H^aC{7|N$|f)Ob7aNm%d{+;LUm$2 z>hx@zy{#W}G^ma!^>x+nv?loqhodctlIq28$HUO^mbv2-`lS747$3*>8wxuKja#o?z{%D?02g=z) z?)31U9s<s^J2dptV?P(%oYoz{IsZX8`K z)R4mnu|3J9b#LM5{@pcTUtzjnI%xZEzt0VTyik8zICuvb?;zzJ=DY=^_ptRA*S_K2 zgI?8`E;sre#qWD3XZ+1yLDlsKZCF6-Lr)9kYeY;#q|CcW{N_|>kB3RX^ClvFb|9&d zc{dH{%!%*Z5u$s>bj_%48P^3PJ5Ic&Y&VSVj_+Nu!CSI;M<(ys<_#OY;i@;};+A{d zP?P^G=JK1z|NiH(gyBKW40!HBJIhfr^jP!y&93;<Zk^!}ra1-+f?b5d2WN@pMD( zXT{H4XLjuZa0u}RLEb^kdk}huQ}3bdJ=(nm#J8aNKdxpSjFP}@vF{{HfsOmqn$Xh7 z{&DlLG|tL1VHy|4QPtW%n%RQ7;>Nk?AhyV^G-AgHB_*^jkKYI#MRT883RO>E3ND+S zbK|9LOCSN1gHL{JMV^`fr?!o^Wq_T`OQ;n|}S@wZdijh|lJDG$ zdSPEu0Gz2`pbqkTl4q2}w%E>=13iN~N7yzxiB>*1urTEKXw{8Hf8jJ;cp!2ZZ=+KW zn>a8}lVY>8g3vs`)yr-?e3~9k#erLl2;nr2O<4wHxCX5!p2jOjd15yue69~O^dSxU zP(QJ~#`Xf@cic%DL>@yN=H{xjvoN>ene6b|7xN+XMWQ+W{+Zh(7;doz(vDQ6b$IH07Qc?Z{`ndChl2>w{8Ozz_$Ff13XHx?Yhu-INV{R}hVJZn zFBi1f=nD2GajZykLQBasC-J026uOo_KRS}F#g)8tb`solLkWK)mhH*W7wR-XehTcl z)tLl+^y$N~iP4VC>_}E8Tt-5uBddn;tcg4?7CW-j30NIQP`PK*Qg6TnQxu>-U5iuPm_xuDsI22~O?*-n{?*Y7E8NJ_hu-^yyk-eEvqcquJ zoa{Kac@Tpn=E+Yc4RxLGp31o&p(x7vxR6cmecGiW(W`8t4hpffPeA+Ujfie&~UN()S7mK%!2s|N6-7UTu`=)_N=dSwCc~ywM%E(h?UaZRI zw&c0`GGkFJLGI;WLAU&tVzHb0*hIzf&je$0H+J@7TIP)`miw+vnXk}F8q-t13M}?k zfA76p(q6?tRNaLOmwS5xOzcW;*N;#}cUmy>k$YP&T<+~49Q$r>?*g{=HfPh@df{?! zPp}4F>Fx5dl-{nGpFo{mC8pfVeH}#f-e0wIS+z0fzSiHD`#OMkdb6*E1g`WoELhLQ z0-;{G+}r#mycoCu3YZ#Sy<;6`+L`t%BtOy=`LKj+}jf%$0b>#)>wXG%c_#?G;I?wW zym7vK$$`isk3XVad9%N-9Ej%MiH32$pVkgp^;h_JDKpKr#&BJ02TK6{sC8{CWL$j2 zP<^Q%Yv8JdTEdz(1bj**%_x-oaI8@d+gh94>6^n|jqhVcs;0a8TM2S0HTZxY%ndyx z-&>^u3oJpJx5lYa;5Ph+i0YYwAKqb^Fuq7tsM*H zZ{^y|U323ZDBhIHPQaD<2~&u|+6vku?}anb931f+c?y{B%X@6`ix&ACE;T4dteNrrL9(_c`Tis^74;Meb|{ua|q> zmtQ>bo9)zIKMG#4HtN6gysBSNWk^-3^;Cc*AE{~rHo;x|9_LCV`_imbk{zpjSxL{D zrR(WFiAU|+x>2I`I)@4mFuz_j+jd|gnNn6BdQ$fL;Su$v`vmeON`ke|(UP6Yn#J-U zt%dk=US1jZ;Q11Go>BJg{n^FsS2yq<$Bosh+(9KzvJ(o(U16CcDJ(serhoK7(7lL4 zK6@4fM%;<+tB6BPE*BS9!ZO}xrlnX39TXd+P4j6`_0I>=TQC9lKNvYDhVrfk6}KlC zOSg_W^=K%oeqhJ4$eGAS5ti19i@=0T))N)3a6$n#d37{jK7*7cDfP7HgV$Bf`$M%x zVz;6zvGHB48Ae22LPS%1?&@f~;!*RPOzOJNN26od42PrYMtb4wiLMlN3CbtMr2tve z^x)M2dBthx{;hQK6MM^=Vvn{Gvjp>%g}KIRLU^>-^pjTys-Rto(|-9=NF1d;ZpUQ@00CR7^=40 z05(RLGJU!5*y3o5yQuk4g{PGBXfADp;84wjpQL&84YK2SYLE?vq}W(_f6K-a1J@ZP zKb8}7QYe$DDK01x*4V#d?4zHkoZNf4F3neZ;`B+yBh~ZLsncg|x~}Rj1Q@=N?(^@;WpAU}o<+-r+lxg!-gR(g<5td2E8NYx+yAwfh zQHCdnpN$>4;L=>3{!Ey;dLpUy=;vaH&JH@QeSYzPOIuhfsMxY0$#Hf7HWvmBZ2*wv_7~ad|d= zspeb4e{m4&o&WJ~|MlW18$`jF>3|#=*8w%CZpf*7y#ZgL8m>FwVmRbr^E}d6Hu1Uz_)t8=x7x%;l%?=c zCz=ZV#H3izr$zn^YD?i^{dC|h=4jY^v~MU1Mw?EgR9Mi)_5?CI2Gr` zMG?&vrYvSytiL(q+Bb51phK5yhgAI_P!!CRYCmJaWZ#vn|6a1BWwdes_hXm7&7l=uhw{hv=c@rWL_Ra@@a? zsHwQWd4AHZPwLH+>DJ`>O)tPt`vev1+ecP+fQA31)Uhuww(Onb;*@m<@na>z>Jau^ zREK6)fx)xZ9K`C7HV3#p-_7YSRD&ikJ4ZQd5AM~Ew1-Lc%)MHvMP6fJZOW)xb{Op- z>nZS>o>m5>aMTKf(=eP4VswX zXjI2;Unvl}i9gf)xo1yCcXay0)g8YBEs4)>f5ICbz^DjKeQ4XMr)PDvv4N_fH3h3E z3^Wy^MRg`aX<Jjwn6ZDTaT|DUCDayq9tGIZ+qeh`Ui~(3v^yyo5(X96xPT26!q zjyJM~PlN!G2UrmGWV;F^!_TS+fU3-4*vB&af^?qHTl++q3sR{>9B-NdL0SYnI#hXa z06)^I7vPLaUgNnTEZ7Eosp{TmCX;G3PC<5@m|GRA%^_$^^fJnV#0j}W1c_4;cP^5` zsk25RVn#DcJO-{dfeJrMocVx+!Hm_9To;5>zdNY@8UIYWD6mH~sQ!eDG~xXe{-Ne; z1v%sF-!%mwj$k|_%wDNb{g)T*iC}HP>&5k>@k=X~aQGNy3f5b9?X(^580Hbt`rT~{b^BCX>RCx|A&-aN~ zFw?6CMU4e9-+9&{aTG2s^(ldRnc`>|1H}L1j>kzvtolS-Ibw=yr6#!ip=Uz3Gjfsk z$qg5vY?5DFmq?eAmf^lfpDjP?)_68j#NU~reH-dNK!*wC{A;RukzH(!zVq#*3XtQr z<_>?@^GPoLmGT>TXFf-Eohbq)!aP3z;Jjq6PH=|IR=WjF0fYC*gUDOKXqW!$@oWh* zb8BE02ODevK#T|f=S=mP0%4T7#Gg*fR`9163EJ4xZ^Y3l2PXnzHtYTi{-!2?cJwLt zW*e`GC|nvz64Dz9k|YFt5hO{`k|d#GdaQ357^f@@g;*X@Z<{|1=j^6NWg1v8Y>YIuK>2#E#DvJAS5F=LtP-0?A(7fTL&e<7a}g zZ-eLC&=~f%8?K+j?~q@i!1P-$#f%VgC&SM#l&D7l^$XE$G!T2LzTkTjlTU2=4uw#^ zDG+;l(VOH1Csgl*`Hw3d1{;|*iqjDW%`fmpaN}ks3MTH|vF2XH84Oe6QHTs_#msu7 z2o*ubOo9vTlDD?N2`wMoAz)dyFW-nucIX$GQI8?D1+~<8u3U7~;ZrG#iS&79jfA;N zMhsW2Eo&o0(1!YN+TdgxQ!G4fQ3QQ&A(4YT9EMJpP0%Yt>d^9oTIGi19pu1T#{3=vv#E`W>r^i^`85F1xDJli|uSCq&3{IS# z4ee~Cc>^Lm{u$&?Y)fzlGNoMkNmOdYI2TZ}Z;W(6ltqkn$WYfP?a0YPoOi<%6j3;(+w5HChJkj{`|tW_ z#vy~krpRo*L}yha({Bvoi5QQzyEE7}(w9KajB0e=jhYQVJ>uTOod?J4K;pO+o8>Zu zW2}&aitTw{)yx67(s4K%bg3_jMM<=giTM<9J#1=5{3<7Y#l%L(LfiixwL6{(U$Dm1 zli%Zbu-1b96*|2E9sm3s31++m~ds7DB$0K8Ge_M-}4 z;oey4Zeu%qyJ?hp=u_hC5!BXbI1>BF$oCahLP6P@B|)~SD6k(_rSfj#Xk0BBXZi?( zm7ttSx9VIXKTPJ>AxK~5CJv~qH0Eh!#B3bLzygacg*GvQ{9EUgoYsiTlX5r8wuJM2W66gl&7IJ`QvIyt8Mx8W@`tmPNGUWSkIp+C!bZgh!e?_9k)xR|t$Ycz*ZZZ!r%Y{V=c6gZ{@tn4C8Fo> z{w`{HfnC87^%8Tg&+zFL(Y=^She?=tx6XW)9w0Mgqd(j+^@$_92cg7p=|~EM^T+Y9 zL=q=PvU`h7HPf|&F9FI*d~=_kup`I+1~EkJG$5E;#@vK<`XW|jq@W^iAyl1O=2YyQ zz|W8etA<60jSCn{(viqv`Qn#{7t*FU<0Q@i(t4(%O!L za_d~Wb#ZV*V#G{&Vqn6A*qqzAUPIVu2-rQ&)vl4U3N`|u;Y^b49qS^UNv&&fvR)jF zG9qP}Ni*5eGjSs1V%JL4@>pt4-~>VU>w$UleBX;9CchADmK&yhB(!-Vim607mG?bg zZ&*lszbnplN*6?!O1KQ}2RB#e%$SxL$w*jLo~BORygt9LnC9x>GshsiZqd&C0cuOE zu1r==H_j+%2?mLcwh9-sa8ntMGvpln0JS#AU0(bYI#yYX!tTjcrSOM1^q6NC6PTu5 z`Lrh%SrFZ`iE%gKBW^S04L9RzAWxd~B)vXi1qz9F675iw&R(1!=kr$>RZ z>(5&$d5~T32TbGAw1ORKUOQqDlbu^$oX#PsV=LWY30iJN1Q?3$?Dwr1a<%CM^WTfF z5jLhiCF{YtkQcepyDg~m-v5#K3Z<^(RbN`Ea3NAqAybU4Xby0N5a&x#DA*G$iRqq$ zwSbk;d`P({{VkZTM zl2*@TZ3uf)S0Le0Bh9pDA~*E#Cr3@zxUoL zjTMBw3IMU`WVBu{a=ih9tmuRC>T#FKx*w!^O)~hlZmm-4@xl``=qA|AzF8X(h6`*9 ztSh=dP;-JcxT#<0a{s{6doV7XGHk7D3nm?e(z4bhwN?FYiQ}~#Xd@^muY3*F+jH{NLO-nf1)27@=RwLO;CAK)#k-N*g*Oe z>wlxTZG?zQ?>Jcocmp`tWaaM^$bf3~So||elS$fZV)&yRz54gI=mQ8d44U8$K(+z+ z0}}F8bv;o;tNz+KovyC^1>=XQma-w>;8GWUz;w{1CKW9B3sMYLelh(hK_l2OnfzU; zq7r5NwL%n;(#=KBicDTBo^JgW>rOh}DV=x}pkPM;rc-5g(9NRQ_iUY=Sk<$YY2Fur zal9KD%+oCVrLR=!1rtDMF?-TB0w(iw&emQf7FXjgHOn@xok_40WM`iI+p#tIq>Xqmw%GHJQ~0wrZHT4nMbO**8t z2UYpZq|0lpjiv3cQ}!ksc}5cS@1~N0(Cs>vh4kN#nWNpT(q={9sHO;pQP&(fgV-3% z=d4s`m`l^Wi6qJcO-u)sDAh19;SG7ZiU*J48=N^K9VwT%vkrZFOx2J#*+=*g43&YBNO$BeffeMQrDr0=YRO zwM>uQt)lP-AJWjUH71@h03Xz->Fp%6#kD$^srN3P)3be_l(=OoYlM;A4uHGaJv_a( zqubge?`^0-+5Q~5Y3?k9Ro{_m1`k??RN7EZ(>JDTXh9Cj=58%GXDvFjS7n`>i07FS zrJ_ER@0i;zNt8slBQ zLYUPzYjm6Wl9sx+Q~M2|E|LVFDKl$E%C!6xmGHn*K8HTGv+#>l;;e8u_3k zHr~dCo>-vP?a8+;^Rxn^$x}#iVnye^sUS<7w@FKuYDA+u??BopRLl*iEVy?Vi;1sr znI~VF&6NcUMOhsw0u&2Nn>upny^InfGG8OYK0#&#E+O3P2gwYiVxdo<3oH)A1-c{R zKs3pOqAF%3y8?G!pGN+~x++rE!TDtTP})f)JvlcH)QbrB)(wh*0wEy_^kTFtRYS3L z^nn%jGB<@QmuAlT#6}WKIN6$1u--`RtHeZ%D6~3Gq3HBgpf_}cR!69LzzSG8?UgMRx2F%{1>!A?1qLMvlbT)WxQ^5cBvQV`ay+UKn{A=W zMAu>xbkfO5zgxt{c)ZQ{oYpBd{V=ceZ^KH$;{V7J*3Do?I(qq;;lf6i z%!Z97x&V#7r>YM!$iTD7$)3tn*~gW`2_)@aX&TzIIx&u&c|NeE%HoUkx0=@)pbp{)lU;4q9;N6;Dc}ekd=`Z0uH^RA z)e#t>>hY=?=R=Pd%=006v}hTtH0i~JX?ZEIp4hI87n5IbdblqS+=%pPXwMBymS)h% zVN*95qtLv9o6wLUtg5pc)2QklbzZCdPlx8aGlK6pf+b?Jf2Wi^?@w(Clm<0%m?v{X zMOn2w&V|xdbfXjb5TOydb!5h%0cYv9W6)g)XQQJinix|j3e}A(DH)bIF7e~$;971T z(8U722(Sz~)eV>ic$_10&WPuA`&3}mm<&|iOp*Hr)LaZI0} z#OY=RXT*!harTC*V>9-A*m?k!NZ9OXDN=;E?U2#}%#5iUbDgTM666Pm>)!AJR*|~kk{gu9 za1C)c=)xCqMlNv^@k0Ngyp#Q_zw0pKVB{17L{Hlto67SpTPIqsIL!!vN^ zO$Hd}5u6TeT#1{b#^(vZj%!Q2N}lyEWA6Byu8z?Ici(yws5(O+9#|L(aYqf2YNdnC zqni@15i96rtR8pE<>47vv5)b3V0sKJkAdzHgXC^?t=ZRg+G@aek70dofAwzC_&}FO zYhXFsB6445?kdq;rMjzRH?{7z7@qw>nzV5mmDd|T6UBi82ZlFrsz&bz;-okMjia!0 zJh%=iAq{}XVf1MIYXI!?7!7EQB4p8rJUWpku`wh!mIKFf!DKzavxQjUAQ~>dKN6(efo~Hbpa23Ng`hG+GwN z9?zpG!?sM3hD-8kce*ISFg*B^u$`YUKFdwq**t{?;5cd_!m5&E0}bKI4oG70I5?Xbut$<@jF4% z_QtCTyjM474=HwSt^y4)s{v>YKCMNs_3*X^|JLH;S^!;xuRA#aUW4P~aeg!okcA1d zFhZTZx~qH@1OH^Op$u}ALzYswQwEbtBUUvL@?50QUnpyEtC~p)E~4pSB_-%2sXUxG}jtl0Z^%Pxa9BkovOY?}}jQad2r z!iQYxT3fW*q{KorFo|Zse@`-Or!!ievZr(^wN!V*=(9%O)yl9{l${R1kX@j7n{XPWKWu81}JscbdI2IpL;nY9T3&rzdT; zcoSVriU)kYlS>T-U~F~}I2A(YWZ*mf$&zJxBz(hWGrm3OqDN-z!8dx0M~?&Pu_8U5 zkb&U#mnwMYCF_z2h8oTyFI+O zhXC*3gm=)yJ>qzWR@*Xfdv@;6C-7ExY!qAXf;U@)XNv;ufTBH?w8xvK!oitf&afsV z%xHeN8+;oM*4hJKTV!lRT-ZcB7zmY9LzAi5W~gQaT=E-YX<;S6770)pAK&;KtC7|m z@WXM%W;*8(QDRTrd|i1QiVO%7vD2cDNWMrb+}+@sFt4yZusyV2V876gfEyt*f^LXM z=;Ri?oB^dNj!)zf89rzwz(*=&!*z`XNol7U;$l-u(u6Gi)S!l-)D$yvXkFbKIJ$qg z4cIrB4w&xQ-rKKppD!=e-wtrwLUKFM?hdNAhW&QH;0`%_MYLTsY-1yJ-SBtH@^>o- z!F9V};RCHR@dRJ6O|ItmqFV^aEV>g))Bz(EQ4p1-h=qZG6t!U;3(>_Q=@^|%BHyog zeGTjHb<)?)pY79Q>g=22)O|>Se)|WqR^f@y9Br%upje6SjzJ@eg|7b^-xJqa_c{KP z{kXWXbHnRrz|T@=Cf#J))nH-8E$+BOCimdw4&S^3fv!-}e_YLANaK_$+%I)BHNHj1 zqbu#^W>^0ZNs9(lL>ts1UgP398i3?S%l*Jy^^H^G;S{ADhNmRrEQ>CW-XLq;kz`uF z%?`^YhT3+{)|Zy8#_yp4(;S=l0vRcAw4rpL0w3-(f6A`dZvjW+ka@IISTN%2oW^XM zhL3Z^*EweVRFt5Xr+6Jt@h49(58I1V{0S5M?(~*SQP9EZ=vv6dK-Fu0hNp#ysOcWN zO85?*7kI$>9Vbwg;tY&EP{?DejJ#^&I?L$-jmTt^=}n?e%h4n}^a3yBL+ukefm63_DE9 zJ{t5D9i}-M)`l6>u8lnziS))b(kX+c_Fc)$s7tPBvlUef&1-bMky1!^+;7-aE2WV| zzNx(EAeVjZPV3FoxoJUriyNBUyC&P4$#ND@wWR2Z zu_i+8ZnV4A?&i*hw<1Byi@pqR!bZ!YM{?8&IVl8%M&*x*o_}24Oh!VdBb$cutBE)-2G0moe~**P?o}hv z-ui1#h^J!npN;tOJ!Rr_Fla4G1lW8BI};WiZ%-&Fqh@uf)$^p+Koc?1LmP&EspxOV zApb!dT6dyysvKmO)gH7C;QP(%W6Lnb*GB}BnDFJ|6Y%wi0&2Hi;9FY%Whdwz%cv8k zmy`Jn8fgAZKM`h(COe9gALup}VyMJa+1ackUFW)|UhYTZEksF?7Z{P{Kxq;ZX2fk2 z<<6KrwxQ>8)_>2KO-d~Uj)Bu#%1g8$`K9^cMnUp1MoOs=n!|DMTw^dF`2DP$6c zL*o*@kuBa4T_im1ZhIs;2OHXNdM_9H61)i(D|wztP$%4+`0EPLfdD(Wrpt<9BdA?3 zOfSu6=tH6_z1tYsQG6shS*5g-<R+tP#j+aX#$;G0rBmPdvQFn`P#=dDF z&bh1pb6ypouQC8tc^9jaxh;1!v&y@oP=d_Mzkp8pJw;+Ssj&%);h!5)(_HG0@6$?_ zO4;X$uh2?*nFoCcWcF5n@4eg0>3SCfQFRwCT<+~DCdt=(yMN5Z-kKInYvkV63zvI4 z2)Dl5+vQ`aW1F+-ZM|^0x2MP=Uhi#&-mZ~#+}hbyV%WXh*Fl`_{Z+e`br6H@YyEw> zuLB^dH~U(^SgMa;S=symflx18?rr{(-llw4Kg#J7*o#ixg)5i)`~TVdk|f!2<=U-$ z(>R$%bZi!&Rmf_ffz0$ql9@Eq=6?X*z#AZf5s`W8zRH?ZT_PDI=m6Z0_me6y@9u;f z)T#XTNM^b)@bYXgRA8jFQGm1 zpl=SjC1Rch({RpkwC0)=AY5yB)hVpK*vO4P1g<;Q;(FGN`#^;gLU$;lp{(%2kU0Zm zZ}}P_aZC1656oWXoxjA1OP`@;+TYZ&?BbPvhksXPDq})@<_O0CMP$Q4edo^tfoSRA zEIiIgBI{VLOLKePMyctk_Ta3|p?CgKfu9X3vhtL4&q z!rbkJH{Am_MXSeGa{v;Cl^sWdhm=U|f_F$d3<2=> z{Ll|MtmUAhMYJ&w6qOHt4AT`d*p_42Grs; zZ~Kl7Da8(z+se`qZCCp{+OSLAv5_~d03lw?%aQpE9&dohfnq=2lwITe+wuL|Ze#xK z#nf#FvmCpCKO|fk;hBlt16$)xeUNylu{}z(6Kal1f$j7${TsNZG)FrRBc$26~x|w|$Uf^_v7Gs;}Jk_I#@W*wX??$pkDu z0VwS;^~T72Oso>AX*G>RZe!gf{ceVK%qoN5y-JT~ENYe>H>}&VGr+o!$uUrDrsQbQ zNN=4Z(MUr}W++j-I{xrgf;?libN`MZcSwGTPia-`-eKZyRy>lqp?{#(pvFAZN3bl8sdha_QLH@iLF$wvI&z6b_pi6%4V3->jSzPV$oI;OGtW_5#;HG^M-I$qVpCbX!^)$x{cB?#u| zV<}jlUYwf5xP*AXaKI=;zYvZX+vo*pGquWTX~W=Ff4Q>#n2`f2Uuo;WFN7k-^mR${ zwpyUw=6Q!0(lSMW{ttrq>iU3fqnw<-6o4obp|K%epvnsAX>2QAl_hyjB59f{%HDK- zp7vTqnp9j{j63if@X4JMA2t$%N0FxbIYpGEu_#ktMXGwF;uZeQt8{qAD>^t0 z&LS(RCN<{wNeWkHJwLuE$q`(w7DRczw z_OB``{^x(&So`_^5i6)Xu~8=Ti~qH~xDoDC0N5|0SvU?THd`cF24uVG==F}6AJH#0 z*$V$fBDOpK^WXpbKkDuO_6y9EJ^80qsOz~w4M9@sP=UBlPHEbx?(7PG-E__upwFK1 zL~US3SzjO>T12SGU+qt5mxXKI0Sei4Z9<&DL3~tBoqEs&3N95)UQWQyaIqh;xX<*{ z&{T30Q3Q76@6+_;m)~cJuSlZ_r|2r=61E_uMiE>|VWWds^{5^Q4-PzpK~PqAW>Hh;P}rWFI~!gwp#?wwHwxxNH~%<8D-2iR>YK z2YnYmg}%JK=T#XyYjeGSs+>S97rBZoY2I|bVG=Z$y2(7*uMQlnSOpX;v^~VSQ0-NI z%!axOtbv>c&VmZ%;ZOT7@%=G>c5qzZ&B5Gji!JB*>t8SJ#qGWQq{-J~ky4u3;Pvg} z=neMuW_E)KnD5g|pvkg$y21Ae(t6_C(<9h9PjBgf3MbON{t+u=3b%j89!cHDU$BNE!&5U6zM(tS=^-*k zjNXMG{RQys$9q{1D&Fy1p}B9*xEzB3A)cKCe}qFU4AH{WNZKI=LJ_T`w~_2d?ps)3 zK!d^*ov98n00R&6`g^crF|%{8SIBA%co>!$)Mm+PiES6du9sd>#Yi>q@YrMkU>wMq zp&-H>4lH;)VG+jwlnjuI12e7v)&!~<2FT0E?A$j3sX336I2bP`|VA(}>UUjSd;v@W4#sbZ1xyI7Zg zCLqyvPVA_y#rBFt{<3RD)X&*Lh3^v;dBCuTx00VOI6JWwFZUcM)Y3<=LhPs0jq228 zV&-iNSh=)UMBi|Li>4As5)RS(;I`wAk-dKv9*pb1mm>>}L6^{fDp^negFS`Q2 z*&`Kgg-_oTR|$vIV6HcdWxDrPp5|pzT=FvRrWa5Vz%JNkt<{Z49fm;Np;C|uYdvy5 z9M!tWP#iWtRR?YjLsUZi(xJOhGJ)*F84EKl%LVB;aJMZ4``d+=@3a0j2)w!RNI-47u z$64SZHkq$=sfnH-mflHuebO1rz5ixSRES5XE@0&UaM;67S&wuZ1UbY0W0KFZvm{r&bQP z?t6eeTSQ-k#&KKUgqK(Rg4>x}(LpOgxeQ1m+hI_U=)g$^ZV}MVd94EetvR`Zm2PJ5 zG)Lt&n{dW@=EPb8R!)bm2QN?gQd%xn64w$T`Q}l5x{(W#af6kF1%i+7Ps?r7?P7)7 z;jTIw1B`@vkIZ+BqBm?AXxc!`UG1rtKk<9=a1|Q{$s)GX>y!PSsua|ErS~H!*ySL< zBloVPiD4(N-ZOsx5S>F;Zb#;N#w+%t+KDEp>&@*%A+D#KU2mU)d=&yPm>&tx-^k-+PiDtl70#*xpc*Z;;g6`?f!94Sm`=;u(j0g`I?( zWrSnsze0Y4sN^r_C|0Ca)Kt~)6B&-FKK=~|MN>mR1stM#B5IlaDR@V(p-+$D8v692 zH(MoKKvI!g*rJvKc5x;=Wnt_V?LzQ$@8KQsSd$>WuPW3d4Lt!<7ESKZLBLG`!@b7J6iLW>A_=SWSURf$D*Z;QLSO!BfAT^tR& ziF+P4Z))!&mr-TGY?{VesRhS?z#Pt3xxl;At) zJzh|Z=)Ca`;Va4KAOJn~9}IeC&sSS~3tR#id&k%jpH9XGY+*T=lFik*N(QB*P6&`1}KBt zK9Z~QEmLN^phMOD2q}6US{>TJPUiGrA=wtCQ5`%kk)%Vszwi{mQN7u4d!}nV<=6}w zgD9x2W$WAg&f;IvxPlRE&0cocg{KDL@_5HPDi_*5Yp_Q~V<-SnvS(6f!5rSIC>Jl- zuouK#-B6vtv#eJb&cMkWPU=X0TZ=W?cwa~SWVBqNl&LvH;hk^1nk0hidaEyEmjT#4w;>1 zY1T##6xr(k)~qjpX}|?V8{x?{Qa7_mqf)gO5_SThTgflX!3p3UARQk6oLIAN%cO8S z6zj)jYs?K}KC(Dtin7c(rR#X_m>7O2O8p}@P8@f$YHl653viEN3|kMzsFyV!xl7rm z4GA2!38q~H2Rh-sGcTdCiG6^L3|aWDd~ChZbHIl5qGk7rMnrBHP2Hh;%Weuo?k&4X zc=XoPCkb|LUyTYf+a|HMb8msYf>ld&$(D|**LUy*U8rrAL>xC!tU<7wWkYk;feU#6 zbtemQpvJRtJ2Q}x`^oLZki(wuq2YANlXSpY+ew$fI$55N5_BMm)`Eii$r|gpAP6WD zsG4P9?-klL2L^=i$6Kg4UC?d>r8dM91A3!Nj-H)~5K6ULkE` z9zf`+q_^Ntx}fF+YLeH*ToJZU!>BWQ2EC0BsWCJiLcC3JF`pl7Mj$&EiQyp4w1JLD z0T+ivXv{~A94u`rc!A%u8SS*~=uIH6BCN$`^M8o=AN66#RR^CICg$qfvBj{ho!=aq zq*{&CNIe8X#Ul#2a}24y0;-A!-M%I$I~4XA`&UkBWS>xMZDl`pz;^O=h>VHImFiGZ zZ1+6)XJ}+SD8=R`H{h1Sw;ZtJ*+qVPZoB2^?7RTh+DW3QS8#=cAya*emEF(gKu4;6Vhfmy)YwikFD{Bm738M9!fzMmG?K zhuhS}p2}cOan1XWu+Di>9G?s9Mu8n_!WZI3aKuHny&q($-|#EW{*V&~;Er{pdO8$6 zvWaZb=eO7;<3uY@-53XP<2bZ!>-7+&%h{X}*gQOlgr2Td#}JT2dUWf@&_skjZN&c> zSaF}ulfE!-f>nWXA0{%fUSrM9gi1xks(6WlJtMNdOaS@Dni@mOSXZlVjmE?Z8BWm9 zU1Hc33Qi8kq1p;Hnsh z-Gk>KVMGLXqN$136>OT?a+N*@455hq6ae&%9BPz_rv-15#f40Uy?-4KWlG2`2&}u7 zNC$E$luuFfaY5B!w_+jXgDUEGGY|3Yqw8WxYiE^}XOItA9yyY=D3ZE-gGMV3VBTw{ zW~Qtg;YSecS++n~H5qToC^~PyVRP$_dyuBQ6$bv0WOokn?;)Yp##gV zCLnxe(vN0+Y}x}CK7==nK6Gw5p)~n`PGNC<6g6-n!&`}S?u0K_^1Tp_UC6f+PfB${ z3q@q3Hpc~$Xy8Cud<)hiU~tA!gI``|2$yqEvd=}Ek*nlNjFJ%YMh!vGDHi4HT&U{B zqt`kc#Qfh)$?GS8$G_4|EB;2dac*7<(k^jCILTg$2OzyW_PS-6wC>Ed;vM%hRg<9B z483yMuAIXBo`Ys<_NLvuc60mfKRhBla(r`X;GOKLa2Wv#-`~ML33P{j*}V>{$Tc-D z#K2)fV^E*knt4yNQ{%WKwy~lm@~EuaZeO|RM$(GeCh1B=f=ol1Hw?AoPS?3M+Uu)0;xKYAt;;`;(p0YEt>-mX41~WC8B)g$!)A8AM^PUpd=A+3&B#_>1knT6Q*Sk8f=KSj8ZI3@XEaQ%u zguk``&onKbX4EG-2os7xXg_EcG`!PUt5IWjnhls)lGU_;er@e%6e7#Hi`?~aG|9v@^)$u)AU%FdQi_>;f*JE16)5zGsPzcC^K@1I}X%u@tOFO z*pj8c!7ySCNXoo)H-Q6pN;@?jfz+V#CJme%V(e{fYY%fjD8-B1hB<(8=X)@COC4nm zB(yahlch6D>lQxCzZNL}a?)nYpJckqZ>-T&)z>*v8m)N6Tc5&N@>Hiy^BXni3Lh^T zIN86vx9jpoN4<$EYAgebuAQT8T~4X*I=}vCV=J(xgl=RQaxY0rV_E5U3!6uOWgG?h z7(5rj!5UPQme@8cKEi=-d2F{X_wbKGf}9G(Hn5K zr>EwD5)2d^WNiQ&lN_8)xivft{O;AQGf}@(eyrW>BZkHJi!Y8RdQ(&I0 zo@I5ts_RzcBr(*0u<)8b!zd~jd72@vi#vy|(Eg_Bg?zkX>BuDjuLx0I7iz`I*ZjB> z{KK6UZOsj`OHLKuViZ#izl_}~O_a;J5PCn@&7zC!4TSN%?K`j?j(CSQMLI*JiEmRT zzm;NWTtQXI-9&YaA+xZ|WLQ72pVnD4ud)w6lxa8>X@=GoYGKC3Wy13=P$OHu`cZ9t z=K_hd6FBp+k2av)pLYM2CL3d<;{(SrW|ECN{Jr$+Qsi;kv6~c~pA%Tb-k+C2P}1#t zOKXW_K5H?TblHRwvy&PSD)o?0Z8zNY_DpTp??=|cN82_R zU7Rk~4ynt^B{)fKJk`nq!;B1CLu&*VBXKL>xRKi>*K8$p$Gkz6OCgdEAmxQyY4aZK z3wXmEja#o|Up)$6zxqAX0KYqi62s*d6N+h8lUy7#3Ros$;!E9*vg}d#jl||?$3@cW zl$W8M{1o`w?iIh6())X7nuU0mj}o=-M=)QZ>{R5~s+@v#PPQA+uz@JKeviD(7NM~vBAj^W zt`p~4VZTd1iQIO9N;tF@$YgiN0a+;H!`Gm(HEL{`2U`Y$il0R6@*{q)pRf7>d|jV= z8)|>GXN9@%iM|zIWHu%{x+tbIsq`xLQt`Fs9+ZAH59%+G4E)JbuN5 z<{f4Za)x@-eMPa-$xZr6udczwUd1p~hXs#nX??I;C;Fml4{B@4hfEmOlhwBD4X@JW zYO-tn#)C4AtXEKZ4Oc6`->RwvCwiwMyRS}~^N}Ab+$~9O& zd|4rS*Fm^kJ8q3**Vquhym*wPtfu)31@b&e48asJ4WVr^iA^l(B(trg}AsGv;p@}UnYVb7pSNOML!XN3b!S@P zUHSOC|K^w=TYp8?W*HbKwO?T3$(sLVNBayPr`2Uk401f?zMfHpQMV9}E}gB_`c1Cy ztwC^=@4kdD4<74^bUAwue&hNW3EIPu@j)TRc?CyZ_;FAd(ts8PX)NN=c<4*I@QwZ*MUHT!+!$TZP8YjVb?`jU zG2Of+O40}_DtRo*?kRGs7S8wv87=NRK&uYXM&wB;?;20*zSO#7wSnZa)3xt|eSvlT zqHekt6Ae+*2v*5oXkeys+Yr^g2!_T5?-We+_42G}RcLY<#04#cE_`xKKub&%@-`Ug zY~o|AJkrai#hr>)r$>osb`|aJKTd)K9VBvTzeROOWeC5)VjCO^>iF#{z`TNdE<-69 zcJK2Sdhah6mi*6NMcn^e!l40Lx^SEf6jMOWfH;fs90*hp(E&(}FAezA$W(z=184`e z0#z+RS7}hyAzZrlJW_WO?g*{nQVqmEgf-RHnDce$2DR#ZJ-b28J69La*UlRk*z;BR zT&cc6K|ijyn`l#us=R?lTz7A*)Xl|D;YfoDZ{ z?QZbT@I`)I8DLu{82hgsw3SXEAp0ti!UsdT_N99lQSIkD^(~L^_l-KsZ%F-!6FRYM zF_sa+x*R)#3TlY7;oCyt$La5}WshxH7)s)&m*1ewdqw4bK~9>19m ziP%!2mdnMjflh@OZ$Jxj`}sNev;DPwx_P;qnx47+GXLpf0Izi+URSEu7xVSieoZ-G zTQJyG6b=V>k=*f`8r{?1!!ECPuHA9cmWJXT=w2hoZNzXbic*T$rZP~6MdYy|0N0O! z)@0a;5_MGD#?p1UR6Q_FhfL8w6W3F(uW7&Onschwowl>5>-<@;D{kcbRpU_CX!6xA zjDtVhUz>;Prk19C=e!hs0Cq)!eHme2Y1kDb_VtQYN#j3W^`*|^US-DeUHiB1 zHQklNKSZdMNgvl*p~;puy_jXH`5)a2jd61uhu=cccv6QRb}VMT^fLM8v9U^#{t)HF zz*Nzc8z5Mw)^yUo5$;qkwYTU8xaZpm3{}BSRb=;j>Lsoah;4L84un?c@CN$;tWkTr z|DEibNu;ea{TY4E7~P~v&e`jvDNh>toDI;}2+e9M)8fGN$d*ZYIK1sxn5nc|)p=d5 zTh_a7NABHjq;PhZER=HPP7bPmQ};sm-81X&!9ds{Wdo%R(l$8U!gLGcEzGxSfYB1H z5}~z>m-lL!>{Z)@()P3TJtS3&N!NmsJVeXGE|yVkH{X_1KB?P!)MOSrTmLn^b?2b3 zXP;@`EwgTz%e2^8mhB@!2sTyv+yu{Ps>aSd}53wj8}Ris&A4Pd*ZHLCT{PcgfKAA%d_;WB@H{$e<{bwAg5?pw1!uWjJSDS(^o zH%MCinavTZd0P6iO7p56>`=`lPYan*sZQC+!m`;hIfeob1AA<9J1+F|g2rhy3+R^@ z^22Wm3es=eo2xlk;EdSov9}k;ULLo-ICL9&0U&XhJUcsuHb1uM^FzeP#Z`H$|1L28b5?PT6QqxSDjnhBWI7KJ+gySZO^@B3nO;jd5UE@_gJRmW}Vjw z=w#)=m}_+(sO7r%d8V14nZA_=Lsm_c(R6#vE{!15g06E%&kZfVG@NA2Z9GRBv#ie2 zEYGt{(J)QNRL$@0^M@R}PfvfrL+<$3E@$y0S>H_oTBTv7)e>9!X*oVrXh=j}7ep|;XHHVe@W*`uv6ZyZFONOy7b8<57D<5li|MzQ zpQ@I&odDi2e)-;>oo6p^wCS@OygrMM^Q2dl>BKMc+ZHo{MtUZVSQtTg?#2j0=EOWC z28Lj5IL_WU5R=yT45UaKB~m7gM9e!Sree5ZL08_Y|Gr}&FFhe}SO&eNzJypEc>7L{ z(y+JG#8fcR_vnuLrYPRDn3?bmJXL;5|D45q^WQ-6Veuc*qjUH{dbH#ZL)JyC)1N+j zKK1Dx9B<12EPohr?#^5+?{VD8urI^hH1iWkQ45F>3q$e@W}uj}d%xoBj`>>AFyPyr zHdg3Zp=5>DK(1-o*V(0Kj-G*9ZZhFHo-xf>7xT6O|9i|w-5s78TXsF+<~&m)5WX5Y zHl`6`!;f3OA;`wvDpmvzxBmuk@nze!^i=QlS$k`{ zwo=SN&9q&bv6 zc+b^j;rivdPRl31HP?VqsyC@gCVM0;47@zuX$9gwpBigZnu9eb1S_B0fmTD^y$b6x zewNr!Wcs{``DTW4Rqo{u-^sg~P7&+hM)Jm?cm*0MwGVznqjc4ThnqN;|d=Rpo+>%Ed`+dy7pNSIm@+Bef=@9}{3Fm6`C*F3AMbzdhx zb0Zc6S_Es*w?Q`smRY&yrM86}R`$e|irHmoWI@+A+SlmAGjQyx6JNyQ8;7R>1#~=` za1y%?++K8GM_30yEzBb?4eey3v^dSc!*6`!!ml*T_d2J4Mt^Ak&M~Pgh={~c#~YcC z09!gz9BX5)wIu3!Er)i@s}}dJMbD)kysf2YmyOaM_R#VlZyV%kj?)iVpvq)*pJ8-5 zHl&tA`I81HBGdi~w&zm!XXNeKrL_~^VqpI2$1DFhD(lDFp7V+wbbh?$WrCi!93{Yh zbXFBmA3^yGxHj@Zh@F}5c964k8$+ig-kkzo(@DK6`Xh0S4$jxrXTJcAtu()hc^3B< zFq*=2Bh+_~mQ|KmT2$#l?GiB^P!H~yAzcMe3bDeLW`K7;=v( zRU-BOrIE-TftzUG&Cm+*^!U41>G6zl%x?^dVIPxYps-BI(SVTNI7gz9hK+VJ6d@Ub ze)uXuo-x6>e=D$k;b>VE>)uJ??o2$Axwl#abGseWzkHP-7c6}Pg{Nk01*sH0L|t0j z9jL>Xu~S3WJHqQ?YAjTiz3rO03*OHAZ!m;Udq~Ki-ccuG0q%xueohe5?Fi=lF{vFS z)P@Osx!nLI_YR*V+X;p$^o^VjEUx{9sQSXGLN)y(GL2x#%M3M| zaT+)ass@)Z6^W}{v|0~Q7EG@1?vrb2O%$YyFBj9#?Ro2`tomXnKzH=n%L$zQ`GeQ@ zxh-bui}^B3d`XfC;URabsAAcQ^jK0O_qIKj^lFJa&&5Xx&)+K5gj%{x2X3SUdIO27 zv`G^;{E_~Kzh<8xJiW7XAR~JjTME7MGuj8V%y}s$<;(Gp-IwPlPp`lad{waC(;Rz7 zTWD>?IN>c~hm%5G^>iv@5}P7n&4Z)o>R=h}V)`r$lNoW>fbJ&p>o%P^o^-LpOb zvBXo#^Zb!_R*q~uzj>#D& z=((ihqn6DMxv=2UijRLW5*Z?Ef$uFm^Z?RA%mE4=VO4`>M`{McU<;EKh&BjYp>K!H zN7#OVvMtE=7<+>6jq+h8ZobPY6-wvvG_!isi1KP_#&o}i?+pN+pkxcAM=;x>?2geL zjMp&VDgpNQMu!;b7mHCa#N3qv^96Y1O#=`be=4{rzl#CrM-!i9{WV1iuT~({T*z+4gU_iLE;KUiH2{uytVK z!uU5}&<5VhqI%N($1|4|X;-QjtCmar{`lziW+{JqZf3r%e~o5`lCMDB`k`DB_C|?H znq8D)4(*00MfLY2=@nH5G3g#nAF3cM^)#YSXhNq~P{bmLTs1M{h8UHF?fsk4IgDx9 ztLW!;P+?fOVWq0JVhgU^{fOQB`lZWidqxG_UW|LT$c{-nHRa)vtUg`RFG1HYt`Hlb z{4Q6B4Ki}Ay?N?X$5p4=u;=GmcLkS*-ES0$y)tagkB_}FZ21g$H^ut2n6}Q_;ro-aBbMC97NH8g7@qu3P^uzvgQZ-sOSArsrgWE0_7TY z>Fq(C*nA7)W6BO__x7h`*n^YCWKkar>bga#BvNd^V~?qTAgXh7hz)osb(gs9>bh#& zeInLYfxS6JguAJAMS?X=y&QkrQ{4HYfH$b|^(kv!tD?&tGS!cnT2OQLhEosggXx&tU`1+KeNq_a6 z8kEXGH@EeQkDu452XFxiY(Q5hf&6A5L8D0PJzxfi^|W<`c|PvX8Gw)K6%Eslp4=PGbU;v?sjtCDGk5@ViFh3W^dxSKgCZ+Z zE%Fp|Ga@8oHgS z13F5ewY#=SY2}%?VNgV5%lFh$nRS5crPCdvq&hx^tFF_F#4Xj*2D#w-JKNzBFy`$Yh>-w~xg9^kYvDIORFZ1ty<}h_3G4swi2dbU2QS`5b^OezS5re!G6Z4J zLAMJ;H)hWfy%LxbQr0MK)uVN-$GL&q?UVA;5_l9D5i2SogNrZ%VJx@3 z&|EbUHSE`@ctOospf`PY<{*mD=s)^C_tsMfF?0+w8)88|40u)=Y0|K@B+zd||LaZV zr{2#;K;j(el)-(MKe6~QQ18Y|PPh)33G_~JpZI)IR%=>u`}nL&Sgk@wsy?r7A5oq^ z4S}F8g%RBY9ZVkMqgf6k`<6l@eA@c~&a@~H>oW2acKEeh(K&~bBUX@)wo|s+O%Zp( zfx$&M(xmYrR*udA%7{cOk6^4|p@vM2tUzbLyT54JulX7R8VB~iM8JI5DO!TOzc_2B zUb){kqQ%h!3=$GPy1HWN>m9TO_CUZrcLq=Rrss>$Xu}pX@b# zFjQpR5oTLV3gd=-DH8|?ho~lufs}xgZ0@2b@GNl$@Q6EK_G3SqwXFAJFK9pO zy~Z~z-q`z*Z(u893tK^(B6T$1!MNI6o=f+_>wEZ;w%<$)5Wo9*khfiJ5^z2jW{G5{ z4EL0!1A*4QB3U*R7)K%G1;h^PdnYwrQs~hNx+{hZQK+MUnkWKQse$ty*9qzi3x%#M zXf$5-LK|m81L}Uf#YEF3ch=d|HPw-Fbl-iOdc6%ql46LDe3T11W9e3(FQhVa+!EQdduXPt|?Y4 zte$Sh8w3E1!qL|xQuNpqK}OMXr z??8KICa!n@sdIWquTJk)w;28#Y)qN9+o6<$jd+KU;{E6W1lSZbjE0O)Ae~45E{q47 zM??C$vRF>+|4dmXHtK5_%y4hUCj4qgm%Rz$(}A2HCQ43RA0+uuCZ8u-4qVhMGNMpZ zU`V-v0k%jLG}i=-AzC&#!htg(Xkgu_kO=MG?VUKIbgix#*`o$VauI-2FX$g z*5Bvc8F~r5 zv449dFZnL!mQ|EQ63ojgs_T$N+zFFf?U#2ib?nRwBhDjZt|*+=3r4)Ke!Vn+Q-oHM z;O|roAW*a<{u$#TbfiXAbB3fPXqd#;E!=|@)wOEO!iAwTSR(E2A!pQ+k0q5fNrmSN1%p7X_ZN@d89b|*t^0- z5d2Jr+!S3uYcL+tT|4|rM3-V@0uO9(LVI37X$v`dFx#}Yx|MDd=ZvtmDR&`U26QJV zwqe~xU`R+fRCuV+P{N-zJ>Wd(S0@0$gYsc(>gNG3qUWNcm$75OJ`)TJ+PbxPeKLrI zf^c$W)jWgJ6?Gf?x-Vl z(}v+hX)u&2rB{sXd=ospkTakLOM?E$PN@}Vxo;f11Q9t0!5o^<$zMxKT17tCHTnd5 zeIz|SU{L&WTd)-ez>>0MLUEC_!OWqW8{85|1ZT1jM}Eplo`D^K0KNxr@CKX{t}&MB5 zTb&1>gSBW3Id8c8WbPP!=U`SWTE~Boadm{9$N<4^Sg38ENQGsNB%@5{=fsrmgP;5S^mcEmH3tRGr4%~5IlgS)kR$jSCYLWBN?1Be-0L9T0yzO41 z-hdgQiNWT|p8EGPqe&z@nN%p~2;G&d6-uGRO)yfMO+|JMH>JncJ&Y#3&iOBAA;QjA zj1}|6B~z6t2|Ad9$sRZoOd2&hby`SRkfaws$!Lx4Cny6qjbwDk1A~$F`;Nz@UM6hR za8N)*+3dv+aev)&e$cJ+CsNB z{h{&g<)lMtVH+G8v5`N>{i~V9rWm(f1hYbB{YI-Bv2sqo#J?6~zZ7(nphe9)&~xg3 zaEJe6(o%xYqD7!`J=Up$5{Etp#hN>9?b+(r7`Ox??BpULXOu@z9mQ8EcCEr`t_etQ~L!I#ABm_oX;0qDNg857*oT@M5DjFm13Y5k>f}gbXjZn z2GH2{5nntoIU{zg_4Sdm9fM4ixog_1&=`$AIX;$DTOop)g4r(H$m=JzuovM&2GD?cJ6BN~ zN;3AMj5{ySa9P#jzxufoivvm8?A(6i10n61#@cD)=*=l*Zf141xq;T1c1Olv%@YmJ zq+`om5qYmzhD2>bxgltx9-${4%1C=R(b0-z91YccG(INoBn{3Q48R?)F736jx9`jK z+Ta-TcP|L?S7vj3$2;v+CkoZj8r8GfyYWNMk#5onhH>1`;t^NW;jLM5)i}te`LTFd@Eo>ok6*2@sia&%v2_$in6x?$HtuoI&|fx@SutqKIXr?C5jX%S zZE`#P`)6f6D;_yxiKiY2Eckage3{SH0jKET=CKDF<~BZ7*pxY*{2nr7OU!xrk*G%k z+6MaZL>!iaKyRl$_$wOGxw|d$m)k&8@UADxp^x##U^rP61`72I?gRW#pwlYY7#KFF z_b#!d(BASYE16m{P?H!q8)cmhy;1Bg(gg?yT%o~&mCL(6Z>)CK?}2svqZfBKCSw&L zC=Hs!_Kt@TrQ?T~Ft0R`t+Mek|6*!e)?+mBCFeCL3_v+lVAD{CIHmrvIub&&)LdlN~pMK)__gY>*=AnjPv+fV&KX)NGc zg>GXN;^shQQlq&ptY1%i{su?$VaZ2HTSvJgDq`b)O?B0dWFFsOA)S?x}+8qpi^p!2RK&mW^0#PyLOfM#j05_(p1^B!ED zV#1CYB~i_726wv`@nf_;#gK?)fPq8<*rcJ=%OrZT_xF%BUbt0x?P^31J6@wbgR$T7 z@>fmcV&-f_*eIqt)AXyuG$rH?V|1XvkwFe@xc_13J)13T-J&&vKD814vd%TVW^W9T5hSr2So%@!6FKTjR*HWC}gG2<_9PR4|?D!QFrRV_Wr_Fji&RM5?;V{**5%>DmE5arfGt=NMSj25IB7&kahra0T(+G(Ao zSd3#akOm-nV3T@^s$vFAYUdbQbBBAzP6Jd&-~g%Fa*Fgo5Ag+A!If1>bY%G%ku#1C zdH1rCbmAI(klk^c0D1dpLMY}kAv>}F8l>l-AOg8AFaQwA0-5TL!6P)>v`a-CoC?xm zqJgSd*Kc^0pU6Ql9Hid(Q8Dle8} z4Z!R!2xD$^Ptq?MJcl(L;B=}gR~spuHRbL>V;0o*dX+*mYp<;U;cG;=G7_%Lge^j$ zvA?We!7NI*Pc_z$xiJJyCC}I6@U=W}0h1E&q9O>tj;n^a!Xg^9OzV-{D`El;=urry zG`KIWl*+5+)$rN41`M&07<|7fw04)acdWUpJeRNDC2M;ja~ zbhqWi%E*%gr+F1em;Mb_jHG~ap5&a!_M)WNFS1sU?@{XenA#qcf^mE(Px%uOJioTR z=7+HH^R?`UX9W)_onJGu=B!%*F}?UNo8Ac*_33qC7W$cXH)WdXdx(E zb!QpWqtX?tY)LCy@X8#~<5PCJ7}Rc4rQKZNH&YnS6pk}xV$*hh3}V+m5|B8DTB5Kcgxwmz#W-fA(A0z?`vX((k&!m4_)iuj^&JH7+<2EE_+eOH~~&4JOFX3%urcBMBx z>oro>NoGZKy1T^Eeo@je1iR+yq6&aAfl8P5S<-8(@)#^YJJks$&FLL9 zbQxah%mbgrQJ7{X^!lH@4a1lI+o3Uq)fA4iFwfyYg%TZx)DY7lPzzBFf;ITom41b< zh~i1o@?*-%vU(au%7iIcyQq@3e+a7~=KXOoM>Z33!N&z7u0>JEgVOre?sEm3J(rdY zi7c>OesV(-WiL@l)@xPAl85X~NmSB=8AUmC(9mi|WCc#F*CxtzW=f7EuXFC1kBNsM z3{F-Br92OQbo1+o;-csm>Gemku$CxMiba=t6;rJ5)eD`T5Q)vDP*42DVg2U4oNB=A z3Q=?Q1W%SI%!+FvYw^dTYw@?tIa!OpeV?qwU+>7|c6T?pN7#4F=76p$P8gCk*I^`x zdZq1Csc<_wr+R63G>iA*@3<>^dH95R4{NXThp$Dv?QU?7IC0{qC?2j>ng(buP{sjm zp90fn%X|P@9;urN+s|XK>DCr~4_wl|osn(B8xp*4i(C}HZHW!bi4|D8Jy7qhW(eQ# zbr|WhZRT@ijsBKkA!_)y>y7=Sje^t=Bf=t;mHR=qgOL+?D%#!YfTtt>;ii^UAt@nk z3Vb>_3vn@Szdi?lwLi8GH}7^c(-Sw}<-S`E;C0qFBsdej?mTjqUYQ;lk|Vcae4dzACWL*C!qT^p=~Ry9MgN^?u8s2bR1FkOQb49CtfDJ#Q66Bmj?!g zA@!l$QSTDkE>Sn7+@76RcE`jA>_EEVJXTn$9X}(9QF z3lWim*(isIy0TJ5Fv3R(nOpCy+-A=3=)`n9d^miz=ur%J2l?zc`Lq4Cc{ut$BUKxN zuV#uWIYqKTcDTamf!^T?T=SyC6}S=C-r)*_w&-vLE-~5Ribi^eD+pqc9j*{)hz?hf zh1EM;weJ)iuJEY#4p;3Y5Y-P%p9~b>4GmSslC@4uj1f%6?4Ue={CCxCR`OTYdC-_U%p)$!bfwK& z-R7lsh4(0WuVYs9bVk!G6h-Cjl%7!KB2}NLKgfUaT>}$S&{EgieT6y6`$UZePkL4R zo;P^Y!chxX9iDZF*C1jGm@S~TfSa#L7ewuJCl-q{+EXvrOh1Uj8|(wz8!T$JsM>&T z3CUkR=V=n16e#I92*Z*H9B!L)?{?TGN$Agk9iTnl6>pGSbdfDc;PE<3Vfqx!jdx)< zlCzwBgJiL>l0tZg1IDP8mzy%TB31?N>)(t?`X1av1P~*ZIAiM({ergy zKbH0czxd*&`1*XvaBk~mSxgM9AXXMml$S2@aQo z-KHqVtLc%TBGwx?Id}}rpB!J?P9b|{Be^yUsn{7`fuZLozy9|2+K&F9%DHgPZ%6Fd zJ~;VE|DZjK?dql z9(dddHAD)gFOeib;GQ8nA(5T5AkxMvz3cB-86#GcNlxHX>O-=4QGL%@7J6zZ zNfmXt(}VD*w;wvt3sF<2_aDPG>`{})@V39!)K6$6*%&|fOyU!Ik>7qzOe2BP9AzBl zvJI<$#CqzM>Y?Gr8NgD)#JdZknpjvs74z&VZm3R(@QxK>VB@Qi1^hCAoa<2<1dSl}?1{cPG=;sSONtPiJ(Tp5;4y!|iKR>+^{L1{hUSRA^g z&juzArCNrlV%2j0`V_Zj1qz$y?0)wcfneo@l_yr-IDw=^R%g!4iJ9*%%!&m=49uR1 zg~v#RdNa9*A{nV}n$*fe0PMD%yXH_G+CuKaT5*a@b@ZqWop0!`ikU6#gZocoKViL!M2+%yBRY z`=NF*9GwL`{loH0>K=#IAD z6see?`umPC!t{i|As+OW`VumxwrifpLXJ?rrG9>l>M^zaNZiGn7BdsRfv3t(>7T=| z!f$@aBmV~C=;Mev{2=vx$iRq+`V)7Lg-(vOKl+|KjCpxyFP;NE;-rSjxd#l{=!A`( zoRa2eq1d&XgPEgyfc?-RAMbRsl(gc?inD>l8_C71Y}E3U3Fq4Em%#b<-vD3!OvX6$OLkT<{WF^G z5(YFL9L1I70PUkYhOuX>iM=!1K!ucd((Y)wIP&s*r(S&Rg|CK)>U_+$*bTIC|12?2 zDP48nY7L?&-bD35_8rr%UYhyDFF7Qo|M$6rTE3<2(K-MLat-?k)iE~tP+E~2n~rLU z#Fsl#q?T-d%65BC6XIS?FaDNPSFqZg_F2(qa-h{1x%)Li_4ii01TgOaQ6?c|_J{2# zH(==HPb}YZs%j8-wU}Ts9)D09czLeZn)y9BS5I4>?VF_C-#SKZPu-*;9+D8i78}Z) zMo%iGC$t^6Zru>Pf2J^FCiKyf!l><;Qzwe9ql7lq(1j0pnP!uMEmvsPI0^8~;Jdwj z$G-Tx}b6aO>(yq?*)obkjOzUGcBd(Kg#g zjZ8xQl-t0*_aA|;|I8Hnw{7sF_)wITsJA(7d$o((HL?f$1AFbzPG{bloj7*rA%~pT zx|1(RT~_ltHm412yLM2fd5$95uGt1JIkS}`h$8eSEu<|RE2%Y-DlZ@QX#xAU_&FDy zOlartBb6|30MKv2%MQ!%z<%;Z$ErpE5h^j~Hg1otLxT?Y3&TB3Y7iK*u@5QYZ zjxfaz=5n__KlaDBEkYvOJSgB5f?bn7J<$kI88QdQixAI;$Pg}E?N@etNCPq;qQ??t*@kv(?ND!9^~2@{V>jcWlg?$fitRz@{!~E%M)S+w4_O zlFhw_Z=`g$k^@93_*%11Fhdc)Eb8lSy}@8j3Wi#;WutVOeQj>~IINUR3Q^*>@Eyi_S1{Th1VBS)rhf4uaMqYQt%Q=_1B|L5B7Myx4^B$(HO!&-S@ zJ#N4Q2TbybBi9Z_KL}CdQ{aNsoilNJ+uj3LAq6{zPo#76b$tq?CUr~&^i|<6C@Ww_ z8bxZoBHD*gD-l_%r0!yQAIa){Agm*gb#ZOTk3+9g{{kwzgMp;VKNd4a)~)+cBlg6* z={DHmTPTSe(FpUtLedS^TWi_>FHJXnju)#Afs0*BX7R0 zdg7jv#<;KV&209LwK_P<#A7hCD`Sqg_FQI<5wq8;W=6Vf{X2yGtS6xI#H*eFz15of9Qkm9FH?@`Up^$rPw#7`;M32Et#j(nL{l1X=ldE> z-^S1DAKwaXq(yt6?3MkYvNs{eNPi2@sBhxrI|5zT$0qvMR3rOFBy$J&NgCb(n?u{p z)UH$F9Mp?rBDOpK^WXpbKkDuO_6zLjJvS2TC->w@ ztjFAQE3x7(7YHgs%z#aa6RlQGsx)1Kbk6G%dy_@%3A>71&HfY|px#4Rn^eqzs<|AT zsh}oL&kqy@FF3!Sgvj&vpTc!x4iSj2CnBgcn~2F#b<02rs%s%;m_^YHw`w&VC2`f2u50Q3)^PqaQ`1Ag2oI%VYyS~1?Pp~Dys4oy7fG=t30fEyL z0C|Kz7BfQ!U>wlWgf|GyKsZm-G12>?n3d~{)Z+{XMcf@8&p604!$gEaEP{B5K|D(F zK*m9xDH!T_$$+Xa1}`42cp3K?tT<6R61M}9>~WKj=2qU{M=T0VxF0(x!Z@X$wZ+^t zp28HdnCT6sU;xI z3dh3GF3qhq^fzY~V=;2>{u8KooM48nLt3}7KP)vKd#@6T`Qi2@J>(~W``|oPkmGmc zBO4z9wan^WiLmu!_KU|)Xsa6;6#B~53Z+zQ=Dt!y=Yj>Vb`e#F^%8O|jfJylp548b zc>dNT=Ni0G<6mpM>`Hawzy;8Yq$lXqrHU&*t-*>w_T*J* z1>ZKgatUkH^^rp5Ny*C$YgtZyPOl^vcm#@?zLzrfw3|MHCwbOSdj%%i)v4gRIO?UL zdiCRe+G8F>Wi9#iF8?6{5`w48_H2EJ9O_^!n3LnWMG zE6YOyCH&)i3-nAXvfqoP$+L8%`Bql!=!pJL>Z|293I3iE?_4yTsF4Fl-b#|a2I4-f>7wi4jbgKn}D)Zcb;5gd<3IFEowI9o+*o7X9EK`m%s4Tm$If_xXTN-SMD{W8|i=lNR{oZ8Wd*6CM zcy~$E<8@u3pYyt(cBE(kX$8^a!(QLlSlmG@4zAaocEt*Iq|AU8d?I%`1Sz&J`Mdy> z)nrTq7|g=RaK-*s{CUJRQOj>%}<70P-?Cn+9*r zAf8Gvtx;Rpe$6D`W8dhn)8YcwZbGzxbltt;!QY>nd`WR$^hL2D>Thx|i^b~Jye9;! zdi?{h0?4*Q8SW$FspnO%F=Wx~bWoZI&gTpb)`qe*Tya<2DMT_ow6@n^27TibCpd5E z?Z{Z}fr^PM6l^~vRG9J41v-EQsh`UBJi)f-3Di?(*cDAaNxq1GDBA_8dAhHVFX~?+ zni%m+`%+|JKy1-TpdxTz$ zx*Y|4!VcC;J~WJ4*fowGT~=<(01!NVPW1&k^Q9+U^N6q^Ilcf#CU(n2Gfc96MeC#z zV4pulSHXDdHlqO-q^&vVSa=m_0s%z2I*;UcJ}_Rz*iZc%cu1zpUHpmKf>95V9n53& z5l<#f$bT2ncC+yy>1oUC*{o{y+49%VNA|K(Sh9KxnzsGQktFa-8#yA|)Uny{xe0@e zGrUJ^>={HNJnZ-NJ)saU>Jf>Okw?Z7unBkCNh2uyZqVfOF;D^pe3a-2UK+GkV}3|~ zy+3(R0xf5FX=(^svPdFB^KUkzQD^MEO93#V?X+W7%pXX!s@SNqWPxRiG0tgo-RsNz zjNbL&)JfO^N>d?IO{_Wd55YSm4)G`*ga`PV4{(RvuP^^K7eqwn z8H2GoM&NMa4y7Q*DM>G6Q?gLseSPXz6`s_)C5H-^yN?;TFwGq{Nla;ob9(tP1nJ#J zN&b!EyeL!4D|grAPT{>q2n#KbuCd4R6%V*Ik`nD zx}XeSTY&}iACZ@d4K+yRk&(08^WcSW4$V-j9z30r&%==*P;QAU>M4c6(XAR zJ~Nzl1v{tC_A{O61lsrzx&_>U`w(bV8nlT|RXokafUQBuRy@SewwohOJ;zP~gJB`F zFb6^G=*H-oPJRDXzy_Wxm#5Vn<>lp17qlmo={Rbeu?CQjnR^*RoY;1dk+BCV z5o=zJL4^f8{RCBb64D2{^N@$c0Cwb~!w6)|F=$pD-Lk8d1xrRcSTCZb?O=H<*I;Q= zSD)00gaOzQw})rG2i7*H_th z%_DnEqSZ&khYAG5^OmE7jkR5NQh|~=`Zl7fC~DK(@3oQUoqYof$;hpYR8$%YTX=iGTF9{MrA#4mq#m8C2vY=- z9FZ3!0mDDG_ks@6wZOcDt!!7hc}qJy^2C)jfB~8hbNQTpX97Rp8kl2}SUYwRvW1P4 zqN-5$cdgbp;-dGB;-bMGM0EV?2S#_5ZmzowyqFZwwppF;p0RrXZU;zLT1Xx%rt+*A zB}!BFYG?mvv&n6DoW|$iyLIIB;-K87Mw%YC=UQk~9Os zMTsK~m_{mD*7UI@aHaGW3x#*+x*@JE^6|%~1VHO26~ap7^g=1sgl1u8zoJU;^*K?z z0uvj9r?^`bw`}x`Rbn9Un#JNO_B1ou379_m&Ek#i!+nW+8+2c_yUkJ6wi$gq^wF`l z7K~9j1dve0J(YII8o)Uqe8V3UKYM>yi>=|ej@wvf+eOgpviNB&<5~3e#zMFz zJ+11BFe)4dyffq3pn5wQC$XzJ?y|?%w^ScSYlvLVG!9GE7)4$*NBHLU@&2Y$WoS%p zjFgdiMAm3?Rifj*@owM|k%C)(M#Xbm)J;PVp`9*95L$D#%eEBsh8vnA$(Px>8!W6m#_I2HDx209Qr+ zaqF@JE`zw@w*u?0z2^ICH?HhZtrhW&%Aix2-O?{)n2M9CD)Ki?n2=$%RXbz0{Bp$I z1VjYE?~qR)6N4Q`I^N%fCYlJIDT0lJ`(@;wiFjR%?nSVTKGGyRz_(oUeze8iEH+5K%kX&=M3@CNx0^am-`gv8dJI ziN|E(7N3Ar+2OduA96eENDqj9BuRF{S>EO44xa?sZ2KqodP4`czAQWsx`<8K-hN22 zN=dviLf9-GDqu?|d<WgrG;?_?dhK8n1Z3#mTO{xJM!#fya;-VA|f}qZdI*FMLXyRZg znrN#aTo$%_IF=T)ONS^@T8Qew8!O`JHd~H&xeHW@fp#=d z`DQ&Mbp2e3rFLf}N)|WDr4jPFlVr>*H>%yjob%zAet9W?7ff4^jahO&Uu^x#0OnFt z@`*%$ecP9{FUjW`li&95~d2cGo?Fv14V= zOl)^mtDJ}k&0tOFL#5pnPLW&-&pJf>DZEflA+&o+k6VmYM)x08wSQ|yJq}Y$JN7Z^ z&Mg0?v_qe%gYVgPY_ZaV8R5&qA?`ZhW21ODeA!KEg#l)yKUya^9#p zGJ<2K^4$hvtIFV3J9cJ{Su{QSr89JTL+DsMj|7Dc5$Hmg207;@6MNhrKDfsUAVH&u z=4g}IgcNPk4l0qUk+uEkRi-sDU<{0L##Yx&Pq5K!beQ$z^0Rc@x7u@lOIofr$@av* z7CfiE|HsmwYb#_7?xcL6<66Qj{)#fGm2o3K=uW7toSm;3L$feJGr^)L0)qkjL*#BF z{jD^zd3T!8+{v7Ux^ihm&8rE=8$7<;^-o%0)5v-#xwc4a`Xi<($gq%QhpZaM-Y{6A zJj;d@I5N40xU@c`g-n+L@2B9Yqy9Y*lnMZ@R_20^lj=h}J?M?06jAaESj^T_587&k zvj=T8L=)GJ^LT(!P=tZa4(vV53(BbQTiWNx*nv9@912awBr}k{QFg20rdLs6J2Aup-Ur z8;VHXI<0r5)Q(5L>9%i!R^%~t>^ihBFP?wrIAG|n(&loRC6DJO)zs`((jMGs%_-(Z z;2yb9Xsw@qQ+^^im%G9l5gei`5wQV}#N2SO1bqmkT!%VAd|aB54){E>$`buvVbN0vKzy0k8M-a`8M{h!LxF0wEY1YS3Tvb z{ZOY|wai4Fa@FqADOYVsr(CtitCXwl1oLjUZox;3l&d3rn3StFqEfD^a-vhNU__=| zwO^@}t9B2jT)iyt?;tT%lKxuZdVNqY zpNBkRujJ3}YjTw63{%8u>O@z;pP37aob$z`q~oa{r1c91BeV5gKEF#=>4Eaha^fhA zbXC4a|Hr!#{4VytyYR+xWSIz=fgeAAD#5D*00auPB{5XevP@_OLkMusGttmtsL=sSi#!c5U6k(4iKb2{4@9>Z>ctsAXz0{`7*eVKAZ=9Yf50J; z`VT|0u>b%Mo%|1CDv9dKgS!ULT1n)IglM=+RYTeEhoTw^44o2#*}DeM5<}g5xCKnV z>(2su#Z}w|L*W$j0@{ZxjFUVh%HOodW9Wz(>NR;cM4G~j3fQf~Bu0>@sL%umY!fID zXqrXQ?`VFN@olQ4M!uI8Cjo`ZiT-%Hl>3EeH71 zp;Uuq|M=Qa7SE_x>X@cGwkJ=xGHVy=^UGSzblQsR zQOcAAn~P57THJJcPntzHt+_^mJO38Rq`G>iuI%Z;zC>6e+ot`UHhsdTSE#)W5dwMi zoSfiy>@-Gr$r%g4LQlEz@8kp?qrbpMjgch#sO8`O_?S9=ZHn%LjuveXNv|vIOW*Xw z|ME`YV=eSnI)3LaSfuZ{5PBf{IVlhyyTakr;ajc`j$V9v%RFrt-Q1P~|gVXh|0Uhi$54a$Ry=n7fYX;@xdTbwLZK?SfWEbQiSxE8PXHQA2e>3!17CG!Wed zt&ONIXxqtM&}R48=lFMx=HusVzsrBSr;ixvLA&@XP9-T-p7eUwH+E93;=ST^0K>Vg ziG5T-(yM0I@Rlg+YPXYk%F^5IIY+HjOkfNGn0RXB8@YJ0x)xPMHJm32vmT@SvJX)t^RsB2d#hf-Dx_j*aS& z0&GR~Pr#A=4PD|+*xsB^t|D0Vk7+c5iymgABp9fth8T$>`n>w3_Y;S|vw0|+$uX?B zjKZn!Hp8{jMnCAOzDW8h6@vvFgdZ|$lPK$vzU z{@E(I-q6rN2EhaLg6_dbUGEr8)O1Ui-{>izlCj$l^Kd`wTEKb>j=+wJPNH2Ot? z$YeldC<96`l0!C?K^$s&zQd5}`CgxeJ>Mrc4IYIia?$Dr&x~q^W6za8d-{C7dS=ck z=hS`3bVIY%H4$@N#!MeFmYef7X58mY?P>oU^C}vV&DHc=?U(4zZLYB!&9iT}>RS)G z9a;kaW$$Hn#1GlaECQzQx7@Jr5p+MadV^}IRtLH>1>b^qJY3+fk0A}`w(jQ|Pe7_= zZ3D+mdjYQSI|Pnya0-52Sz5_LkFF(0#wl1o!}^)0^6wlXwa}q`f4r%4`?A%fHRAhMeKSHovZ?xP>Ms4yYKIjv(M9 zlpCL=J`4G15-e74EmllADjr{MC^&#QE7f>taGd6=SYOwe)k&t2zp1tM_w69mHClz1u#cdJOfjCZm$ptcs!S z7D96aJ3=aUXb-Gm5oLI|28Yia&whFb(wW%Im=&EH^q4Ai&Qmi)WUWBoCN~Szj#)VD zH>|ja$28`hIg@8xmakd9r}(0j_f5%a90S-x4$M>tr5=em58I#NU9nIGSDI@deOidmTz#x}y=FeEo+Ibdn{O##EU^1=1;0x_$02hM*(?^gkbPi1$H zVZ>iN(PXDBRkzy@;Xc*wDveqJ132l_287fqLJsz6jH=R8tv1bSDr~Bl=ttr)hHC!gSK+a1!jsAItQRHUl$(D1%hn1R~aZS=<|2iCyY3_WGa^LJmQ~@xw%IS+2@3PAqySP zL$YZ<3q8xxER3LV{98&GP04$lvj=sV1slo3tL$@e{Byu|JZqXUFXnEZ0Y2oS_6GL| z`;rMC=UKWBd6IoTTOzh`yV&sMmTw3X;?8bZ5;)%e8^Fn*$q0wBovD(zb2|IJc zo(mBgli>huq^J9mU1(nT!gM2@tc*?>nr*v&d9vTqi+s5$s7*n>Y15k`EeyOo+e!5O zyR(hZ$nQvcws8IOWSq^kcKPyDueQp5 zda4I>&x&#f!1c>>ox}sYKUZkQnm07O;AGqN%ags-68e?1Rh_~6uBY0rU!Lm3TlhZH zYROkCwOFIc;>ha);TZw;oBX@>Yu_OmvXITQMjn*j{&UaZI4m5T3k@a`8AV%p;ShSH zNvi0nK9UP#VM~g_X}DYKN5Y9irQKiF9>TkSreQCJuY4@WJW`FP z^$QL*31bZ6O^L{5N}C7!=}-K3HPJ?lm(E?Q0F!GtxXB<^3s1c;9R_ZvjSW4mkHd`+ zM5)|5LY!1JO8n^L!dbDvJu!5LI2@>&LPkGpr~fuE3Pntq{CJx*?FaaM;aZ_!*Kb{1 z+CVIFrc?}~7O=iw%yhs2__!zPf}_vBWnY%_TCrgyo{`lSW;l>!A)W)M;`uA9>?_Cy zF;ZGbqgwg`2OREgj+6GD4fQ++Ha(*AsHu+B_z~0iN**q%8>sYngUMg(S>6=JT5y5R(Xm&W-Ok>oSWCzdZ$d?Yb~qbh7)07t1of%3 zu1i~3z4~u|?lX$R2Zm|&@e}*RkR!6R&kfZHN8#(O?)**M_)L^1_%g?=is~I}lq|EA zoo$?-cwcVuF>&25y?3$}0lT^0&SB=G8Qn<15gxEVYNvOp$2X4F&+T6^Fn#yqMgO}K z^+TJ>2F~;!Y;o}{$uh0G$FwDQ1mb-o?)cPs+gocSI0aFOHDG_c7YAC^8x7&Z=)ing z!6=Jb9IUy_>>RAUgcKF@l@g?j)5tQN1a5Q?D0(%C$SmaWchsz!exrks55+^>gRD1P zgowE}P^cKi4-t;ptu^5dVq7qOwIdW2=6)Kw%{x~;1dh9W< zPqV`BECAXb@{P!2g=Qt%SoZ+98Vl`H($w041PYU+vDeD)@XghlI7E78?tExa9@@IE zfHG@EvsSjTPwvAQFn{<y7uflXJj4v5UODw*y!ofAC?g*RRsyg3EN^)d-)*x=GK+L(-IU6V9xGx9e%s zgS4kRoBIllo5|8=?e^oylfQH9es_agU8#T6$yUGRzx-GGSKYz?^S^DZ{rvyvgjWZ9 zBTVKO|7&}3quZyzu3tp5a2%h_fm$S424qWnyQ5|=-ltz}KnZOqnTYMq|NQs={*QY5 zzx_)4<74@0d0OkSrFCgDL`U!U3HpNRb*q6LdU?j*6!}Hd6KcE}dU?j*6#a$M>qZ4L z^74GYDF6&-Cv0kZ8u37dGb#w_^8joBHRvi3lpqCSt0wx@8DlYi*TF zkogNW`5)AORkZDlHUwymP}>-_AGW@?x9e?#@aNW>sb$?AT*ffLFN&_fwS?Ntqu>4zCsUqniIv?UZ zYOJ{UdH*%epiZFg&O=VHRkBlGAU*(J-rn8MnVmwvXEKHUj===v{DxCdUuc&>6KApr zio}B@FpD%=1hw4#%+Yz_V9Ww#3wqAMNvDO==xd4NHbgVsW!v{Ff~HYrg=V{dmvS7I86ut5DTnP~F*xS&s#jgmz;5 z5hU@5@F0fk^haNl0@m@9!fP1t#2&9TZ`l($CsrZW>Qvidf9_22(JAYyg!OgOwHo zmhOO+0i+x+!T_G0&O+tD%1Fk0ATWap7AbVJ@es1O8|)+OJ0_TEF`!9&i2GQL-M#?4 zylGoPyHZ6W<#(|y{Y*IWiXpTgs{}QtZ>&906SSHQm(TZ7F1{s61g3VAu#sB6ZG8Fi zOfR{kBJ{63R0)V$Zv*>3t|ld1&bc;c?`7;-cHC{w`)`*X65C8upaMea#@reTcquy&gWS1+RO{Gln@;v_0NB{_;5(p;1-Up#$xgQg+aK4dbtO&Sykf?EnIB(hFN=h4$?II4q;|^{@bQTE zjzwr3YU!sQ2O{@+4OlUQ`>-n}){aWWX`O5AaQU0%4Pl9gGtkaylCJ4rzf;E0gYS8k z=hcnWKY0PkDFz(VZ+4iv9q{~wR?J{Y<;?`wXMmPHJpm3xJw+j2qR_Fm9eUfTTb$6Q z^@Ya`u=@?+KD}*ih|ehHGh86W-^R|zp6j*IIHpG0AF5qcKI(x7rK$n;6F#z??GOaeG<2qx3n#Ky6~W zqj4+4NTSm1EA*bPXdp$#btj07GamAu7V@W_gYh@mB-z^bXj#++unG# zy4h0-O@GmH?@jQi18P|xMQyRQl0Dzln#etBTW@wX(mKB1beKr>``bRb?ZUkCNWEvf z-Mb^Z+3H%2239qYZ(t%0?s&Mme+Q|C9)2Gn+ve9PV2@@@khU&1-$^O|5O%~fuu2mR{uj-&=7alBFdG~ToCuI zCgTB&X?-BI6^!q@JA-+ps*t2qhG*2!Uv%1QPx=<}5RX}f=2k6yYtaF5pO$4dALG7O zn`K`8y06H8K{k?G^zMz*5K2^2YTccW^4g%# z7Ki$aHwr4NP-V&1SD-J!2pIN(h0xj$?>b371_nrNqI`AFJeez0iNCj^k5BBT){)|- zrqO0{(h#(S*~SQ|fubigWGJJXYpME~&>rbP^1wPjh`vL9Bt(<(|{T zdR2yAmpfh?>DBr5=Vf5f8=&fsZ{X6yh3tVuy;H zTpA2-OTC+J@X+?8#(16mQ8LVN`+y)v8(BI_hw(WZ;cR!*vgLEE)Zz+n@{jwwH8c{d zfhFQOIvTe;z%~r$?snKV@#kh_R8LrH9w9z7HQ66-z<;BGHZgoH9nL!*o}cct*mgXr zHzAgepL0_49xGf4R8-#V=vkW5C?GqH&y_uQ;$X4?b4|_0w*iD|$nxA;bfglp;-n9G zfn^qknJ7*(;6sj6-DFD>kfkw@()tVB<|QI4S~Ia4vy_z82qT#5@gw^WL@>7_+QsS4 z=QvX8#Rd_?43w7*@<0=#F}!En*_MJ&YCNTzpmt(BJhbi@u3vYeM`lZo|b@ zYE0lq8BlgI8xSGR5ENYvoFqN@F{A;uXPiBkRmN1e zIozh8e%z;kGcXgly?^UdYzRAXK)89rf)ltMNR_mqCP6n$rhsqA(<$gVjwhi$bg&qj zN{glA;z`{XLy$@=mS0i1=8};ie>hHTzH`&zu+?Y=svK3RYb+!q(EFXDs$Di<|2iCyY3_WGa^LJmQ~@xw%IS+2@3Pos=Opnulc5einL`qgfb1 z;rO?dFq)G0IA@2DX2C}C@GARU9RD1!9nYF(%so{W+7BK`bW6f@~A56(uy1 zen+eg*O%GVbiwV~eu#_(D<|09`0{pDKg7asO)sW#3+OLyXxe@Y_X^dQNaecq$(Oh5dL`E5hAI$*oSn=D`TKZRsK!K_8G=aK z_%jg{H)<<5JX^ZFzbt%q9m~|K(bkw#h`vzak1S;AB>o|pcB7MmEV^Ie7hE~OttVZ! z&UK#L)shJrj$St?J`dnw5hnJNpB24vinmWE=$+VzbORjWj)6|q2MV`e7d~iDbn!&D znZBDiZl7I0(R)VCdYc?j($VXNp!<@aa++_M5decge808>FQfP-bmlN*s4er@GZ*TR zxz}N1lRN|jEvP2GFYw+^=?*5)?7(BO-KEd`ZGRsOcKCZ)<$y6iuDuv)+ZG3|N0!l| zh^?1s$ByR@*b8af5w>wdz6G#1Wd`Ryj)Ubn^KoJHc#LC*f-R?qVn6QUP~L`3SMCBP z1CGs!K5%i+wd}eO87PVWHpOd50^H<90vR)Sa1ZHoOb(l$=_igsi7nV}8M{2UByDO+ z#PPU7oBG@SE~;=M63<0hO%@er`w;2FI-KLOz`ms$F?kGUvY>5G{`$6n3^whUUQ-H) z1L0^YqC6UUl{X8i+ro$f6qejIXk;$FCO#G|Aeq|W)T!|&X&d- z9akb)c^$Ycz+;c@-Oj}As{E$VV;7ITO8Bt=BMQUP43*=B`cD|+q48!JztebQ*D$-r zonC?qDC;EPlSnM9W3Bz>!oasvtz4M%_iN?(zs6Q%K!5-V$9SfQKs89+U)dyOkyJ>5 zRu0E@Bo~uV*yMhK@}P?-zYc_M;Xoxr3DC2g;=<-Aj-(>DWtsL!m)sS|3CminecT>o z>~|=VZV6_CaT*gr1e4-B>R~OGd`EdXv_*!H_{ zSrbFH!SMtMAmYlh7E?&*e}_sTc|Fm#;mkaQ@{H~j=9}@Nbn?=Fz#xAY0PDuZ(_IF#R4 z#^(J_`(Es;e=w^S@N31xbl}%o6u;ISpZ&wH^+tZJ4*g9zcqu@pcM4wW!Ml|sjs{3R zgVVZ?$=e@-@&TU~j27Jip+(b?ziAGEly6A|SPN!w7@j$sL4%bb>Ic&R@>JdD*z&b( zd{Y|NTw4(>t3p+buw7>;k_*=rvYoaglz^-Njf}JY?K{d+0PFXXq9}>YAwU?tB&G;> zzhJjW*UYoE-OSL7##J701B}F4U2)0ZeL5!*jiz4K39bwo! zyacJ8JFFGHt4bZQ>m_<^^vCJvOr(J?P;46`1Ze*u)Or(mn;@Ue@4{{$57cx^ zYH8&c>v3VxJ^~;ff7sR2EUrZegsZYyvdw~SmV1u}6k^Dl)U~s?__L5)CH7HAV`}MO zivd_A%)`jcK{qd6D}LKOrVq0Yb=bm!4~I@XfH4TCh<^xpSlr-%g#jK8m^kEOkxd!+ zWMHJR)0@GHTB(X_*)cRJESjaI)h)keoW!fQUETK)ih&LeS{UddzMZF-!Z2l&V{nkE zgsEbo5(0u1p;2S7QRBeT9-)@+D-SgbaMTEcCYoHmD=WN10cDh6L4u&}G&n@V6o+CA z%Fz(01dkexkE9EsMPCw~y#cKJ6$!My5q=!okoT;@4H|*xHBz8}1_9E>@KP+qC+gap zs`l@w=||%Eka4nWdpn!{*I78%x|>KzLnw8%mugWdL`t~{XJr` z)rk-Y9KE+9A*?vv39vzEr;{F>eaaY`Gu*}V;MKo))0l$*N_BNGbws6`j;-@$hl!(z zJCn#aIg@GB9RZJ(FohIf$4u^sVO|LaI~B;7VAwI&g2Sz%r%pXuRaK&;vFQ`%+?w%v zk%BgI$IIx;_x2FVrh`F{8QPMw3vC64he{NRxlw1b*bR_%RHPcl8*)nic!x|>N|{Yf z%F~^9aY2th2L5G>sE%lf_!PB9Hm1ZhH)Eo+l@CK(80KL@>X5i^Oexd`O6y7o(BhU6 zDWmgi@SZM^*9^X;$zdS)r7pbSA5)7y{nO8~pI!e%A05@pwvz*@FTTNz6uN_Y*mW>{ z*XfZg;x9qfEj%4|wwX;P_Nvz*zip@|M4A>su!{ofdFwYsoZ_ z(iwBcbxBSS1|D8!$-^xhxZYd&iuPZKWtx@2f_{b_(GkV`_~1pBEq@GVQSjg#L`F%- zuG8YsT9Bx2!3Ac)TsfhoqeYF-U^Iez(T4T2Vq1eQvdA?yX2!-)uAmY8Ov96J;gaQl zA;`Nngmyd035*Lmc!s(x$b-%6jk@l>2&U++z#~>^WaICywK+El+l(DI@Gt@mwiT=h z@gQVs>|e>2(OubPo&38=N$6wFah=&Yma`@sSQB0tB!5Dfs@+Xjxa@ccYwgN zFvQ&=wM0Wx(@y-LC4dwY9jI;M^0{yrS(?IaRu+l2c9^sGNryAIqZdbWdsyj&uTNlo z!=Y=B?nq#6-{!jhNW__Zx{~^21H}uUUL?KHrH4onye$?)DnP3qy#l?g>wg~8=5bb7 zSj^IMeHr^nbnBKu7^)K-LB)LH3l6J9EVJ+!T3{@}3Q|25nh<=AFMw0(A-n5+Ix^<~Z77A& zgWad26W~6jAFEI9uiA0@)wOW4G68P z4vlIR?iCunh4pQld6`Hnu5aVa#H2l9z&@upNVf=XtTwNb#BY}t!LZOXK*tq_AW?** z)w#>0Y3YG6WXik*0mn63I^OQ9T|aiJigf2V>ikw+otBy3^f6oRqof+gmiSMSA{|>| zHHopr<{ECFGZ6}$<}V>5FTDJD-T8lyWi}4}Fm~TdY4$E7rm_&7GAq4#)}NZ@*9>+0 z$|D;`j|Fzya98@fU}Tm0#7N!s%Zr9PbA85md$*_G#F~5kZ?%~A|>TeI)*Z5Iq|dyw{dI9&*!`sQ27+f9#h$4 zEPKr5j=}bPz8-~RG=0!^cMg1H1AWTX?gux}=l;I!xb#q)=J(9G+pbPkV}Y11=UsCA zub*_3dKmYiyF+Ds^H6z1muBfZRbo_)*HneWYjeVVS5OtFMCZvO98F*W(@rSbN5%NC zSQnSN6HLvartl`?P*Zvp;~?7-wIlcLLC$@$w$8P5LzxGadanx*K-<@QQifT#yPMM>smFG zw8$bZf;@F7tV&-oUkIh$erXo~PTi>Id$h~*ED+xucHhx}W*T2DWzDgcoCsDRLab*aIVw zfa(^1#|DRdR0GnOjDwF<~5QuSP1G}m1BW~a$ssaL}g&0Eyyd`F5 z?5Qg0J6qBE>`oxnzxbi}Cid8!U#99)CIZqx1DeNH&b)vVR8svek3Hi14z+gX6c#TT zh2F`u#Ig!QR4UA7jE_pX<7JQZzGKBa%KD4y9DmEyI|zUFjl&Ap(gIE$)_$nJ}Ekm}jjLDsNP1GzL5bas}GmEWGm zWNfWFskHXV<#AVWS|w6ZHC`XpG#0D0g4#QwKiw_`7xB-&%hJD%-{7S-msxRkv@7rhJz0P<383%oqZst4Rc8g0cxn1ASWXYlW z5}iVfyy#~`r|?VCw4v&`+8lOxFQzBQ40mPYx^12dmgpSB@tx7 z?b=>Rf^$Q*#Hq4rgn8kD+qL}+=RMb!=v}s9o3;rr^2mRN^PX!f$aUTDK-U7pUzv}6rxSXzb^1oiyIyPMXI8>ZairP_ zVyq4Pc6~0oU*i*NVf2Uq=`bCva2$?QudodXIJAk>DsekXKGVdwmh85I@^l!chopXr zqabmtAg3p9dHUyunBkI)@g1?gfTMM0#hg3f18Z&K9<1eqZVK7jARpQN2fZ9-WpjRb`2n>$xtXQIm_rx>{Ij zW1uxHwZ+9($UCQE_M_BR;dssdlN099ZWT|KWAA*M-Ab*Reo?)kuJhVlz6=>xck3c+Ipb`V)g@hpG|W9`@~ zm92?w8<%-ea#tK@c3TFN9?HY+eNKpyr9tGK6Sp$W(&&X_hESmhpSvrI*HVxy)519X zcyze^-rf`vZ1z+nsq1G9C(A{Bn@LY!&^ZVGS;Kv#-3I>kLxQaKd zgWL!tWi9s#aYNy@A)_()^}wlADAL=Bk02endyhNThfM9k8QhJ9NEwid3fDG!04rSH zX=ypU9fVx9J%{e9?Rj*jXSXY5xcb?s=`)p2GinMeS>ROfmgQqtW^V?rh^8h8xrb*2 z%AnMgU~AdvD~-Rv6;oYm%3cxl*0ky)#OgEv7953}}1m1>i1? z_-CXm4gFa@D2J!P&+ta2>w z?Eevr#2r7M5L}pN?qKT7pj3xf0=cw?ye?w&(HV$~C3z7~6!E`>l{S5&sqcn&U11^UqY49{(3ze#4@vLqVCc9dc% zh;7?a#yi4rB)>ilQ}`E!nC|?~fB*0Qh`0a!v%8uY9hlYT{KNpZ%x?+&w1Ne*$JMdU zYD$j4*;&}XW`?~9Qg$wItdG@5wa8qb>CyZoe!oVy-h*p1JBz#Lw?+=kXPWhwt-|mS zjHj*&VTa1JF*Ph!LA20z!Jybo%Uuu-_)L8#mAXK5wpi9%^v-5Yy1fJ~-n4TZdP*$C zC!ga?sh=ppSpa`$QuX*d{YIh+?9OpVgPhx8(>}e6cKT7`R^m1rMnZO%U z$BWbl1LQfSDB=;RaVd^ie?O-2hA3Hb`5$ErZIeFUtv)4`tbndxA8dyu2 zpJ7tfPy%-1r%Gl4(xWI~Y@hxrc1@->mx5Dr>zmDPb`MH=89upzpo9LFzvprH;IAY?ak0~;5$nSt` z-c;p$2epgeLM@*pRmlqw?dwmaH`#w-G=-n~WeugW2sj0^uOzLG)HB_vfue#&{b7`g zQanZ}S)C;`T2`e_{TCG!i$*EMeVy2-x;edW)P7kTi`)}xNwMOz!q#13dP_hRuk)N< z^s2LWXBHHz)4f&goE5lL^KXVK1#m952p(4+Zx9Lqwght> z6!v=+#?T&P@9z@~gm;hU4M3i2MWAkRx`*kNZGx#^p$4LTh22SGwkM6-pX}@p3cI*+ z51ia0ShQRN)gF4+z`4Wb8Q`DTDfnC5e#34^D*KhjZdjzZ=fy3;$E{3gVTyQU{4G|d z?*t{s2Ihk!$~p0ux8(UbC&GbOVnjYs&oP?wxti(fwOW28kR{pQMH=SbCSm?1k(?og z=yS4d$bCGDz0og;;#?y>;|$%?Go^HTB@k}!4Dfa}*K~ro(!O^|zN>J3yP_|gzfrQU zKC|Sl(rqEcdm)qdK@(xU8!*#0gY_12#I6iJ)*9D}m=%=3x`X3BaT(8BIG^?U)ak5y znY?;QhvAUB`nF`R#F<_g4&|m#bQDT{F@2tPVSIhsoeD!ufbJ~6SZ*e;3tS;VD@|e9 zXK8QJrh=4jJYA>5lbj2^Hy0@_`fd4C0$(E+p5}dDH08ncP+5!@mE<@8%ZTKiryFw0 z!dM{lDANZ_PG+n~>0O#Rv?;x85!LZ+$@HZvzqF{UToUG_wsJb<7}zt)Y|4Gg^1`{4 z`zdYe`R4(T{qqab4V#h&~EmhW~gqX3BkW9`rny=fJ*1cMQ@t+xMXRMuX{RCbKG$HkLjk8VWzc;fT zex|uq-b&e^PQVDtKgOE6#frvx|*bGGR~U zf(J2MJ^nw})l2$dWZQb7i>_=t5Ogb!haQz*CTR*XJ8?%EA~Qc>(mBdX&=G4?tPlkFpuLcMEIIM>{WJ2?Ph(Smjj^{5m810zlCHGt2wrrTrvTdVa|TS zEg+qaba;}YlxY`2~JLI>T6jlJ*ELvPlKFC)(V zUi#Dy?*1N(RqQhnk+QDIE86 zMbqVr^}KG8xp)@l4o)wL;L?#@`rDlOUKquA1UK|dQGjQ3BU|Y36mNs8YexkG6bw+X zBAn$*@?nI8O?b>3@i5$g$H4ic01M#qZl_*9G;b^M`@T=E8H|exx}?SDv04<)K!$Hm z5klsYxKrI$PmlA1`y|Ystumj z99lR{c-L7%;n!=2N_TbS&z>23i5Y>?MkCIx>bo-1@! z_b5#J1$KhEE50hMybhFZfT>p;=&t^K+2Kw=Q;9$BxLMg>-tDXRVUTV%|ytQWj>*=bdop| zY;IzoaoNl0xG{-98kq?s$3DmFbD`#wdRPRTV~DAYao2f3R2mR|nj=I-pnX;fMG5v=fpUA7<8^>*I40t;g1vnTL?WD62{)m>ImK>SnJoMj+)3?&u|71 zP&cES)&}k&j(b3r6VI9;Y*YR|QFc9iLwvy?z7apM=CiI`huDl>{!S2!UeMStG^PfP zt0KNav;x0EEj?cN{l*J{7oaf+lGoobmKy%qv9v{wCz#5neWD5EQD?kkOjeA3b6m+Zj$ujg@2LMV&iCh)Q&p?@`(3SuJupmCQdM0_8DE)bLTI zw3a@8Q%;aeg&5|?2{Hq<`gbCzr#EB@d-@8q+*3_*MH+vPe@|mS)tIU@uC9%5Ph%SW z2TGnutuinZ$JZ#*f&wEY>Sx@Z3aw0QKlQzKDC_d9Uc3f6(xgt!xmOewX+@EtGA-6a zDQs5@Q%m;(+th+4&vLSo+|!|qBW;J3R>sqc)GC#V>hb!iromXn71ZDfed=!Uud!dM zsCBNYZ_ZUkdNoWT>AjFJ=QM1nGwHpEFG2VHhS-GfRE^cMsdKKUL%&TcMZ_9iMY>G! zN+aoaWS`>tW^RS~xkNrxO_%UHvQTB|GG9g?P`a8BVJ2F#oU5Vvm=*0Eyx?b_Ky0LEuuJYwMrTQuwsOu}lXO}eQtQtCGQcnf< ztNWQ1E!s~PLj=CT-jHf+=;+>-#Ya}E*^qf+I?80s@d$qH9z?F3s`Ok}q!UB7wMfAB z$aGQBlW0h0TgfIIz?GIL$dX5Kf~i5#!%4QTkZ7HOi7OS%$i+s)voXIbswZM*>N?;Q zLhh!mvH|Wu64n^rD=Ql}@!(2`+@#wK%)FzpZ3*bd4ctb{GXOo5$#(O9=TkOo}pmY6qhEOMNpg1CdliR}9HQjU?7x z?9~Sm-95k)VtFVEXYl=#%y7&b7rQhlTH{1&9WoJEA{b20UBnc&jeC4#!J)l-jl0)gFllY#90y3~Jl_nE{0)B(V=o7Z9zz@W9+Om%26dY@ zQS~xS>Vfi$dyOfLIASb~F8c{;h?L8EIWMf2uq1U!i!#ZYTBF=5;84vYrF%{b2i8}? zNekJ;C;5wNC*rZbgVUn9oTA$7z8)z6IzjTB`MO(Rbr8H~goIs*U`uo0zOX&<`zwcB z9qjga(J#RsLzHk(0n3RZ8X~z!u9&4&G!B9OA#;}7g*D4JXEFDK(pKVlIsTJh=g3?$ zw9&t>|2}h#ULB(*o7L)hpp)~mTfl86QNWZK7y;X5WgM7OA}XVqjX`KuWcKtl8$!J> zPF*Ij?^GF0oS%x7D#DA2z(*G4j;y*cC`_wCZ*Bhpt&WOqHsXo;FVK=T`J&8~5O{B> z-gZ}p)t$i7j~ZQ_9e^iCn*#h4U21p9Ym$FHBrywIxR}>3gm3koI?s5Uns)o?#knZ^pyrd9}kgjgEowEgSI!3A{H@& zAt9E)D9aYjptbP9y8@|L0zLBI>b-ViZ*XZ2nT_Zfac?T2pLw_HHF#9uI5;BWgrYH$ z3TYvh%CbtQoSjs3D8?@jflr8r51_us%Snz*yZ^KM!z=J6?x%w^JrwK{m$tKcqQs#+ zN`#MDrZSUJH$U|@Av!{~x+Kn-v0SA02_JzwavQEJIYNZa!ebvRm?K@o<2FidqO>I5 zjz^ArbQ>9gEJ`Op+_u;(%5qs-Y#6HQzEpO4RS*HLJ7@U8i1cl=hLvq)Cq%L7(3XhA zz_7I^3$<4#Se6!`?kO*O7$NF3;GO7$jeBj$^mhTQN;C5r#St)~E}EhRP6KJsVhr)M z%Jwl93gjuJIivh|IJOu88_u6Pwrm~`nGId_>xmuD=*&o?IY$sk|j1`d}f!^z<879SSk?~za(Y2J`~$G#&9Os`s>`LVpshm)^?6R{8#!b!lM8A zXDUmN|BFU-gc3BC8IPk~$CB(rW=QfyE=O0g8g*3apVFdWHmgBIHh;a?PD zy7NE({lEVs-v0N`V)$r7l<8+9K!7mqO#4dIpqVRlAWqjR?JEROXJ1eIimpXOl@puD zB)C`!qC^FLRDKvgU!i+#(zn^^*F4*FI9?UqtN%XTQ~J7iz5lkVTIuVmWhMDb!IWgL zCF><``=%g!)x}xwW_(W;mQn4F#uZ>MAJJ{duN7x+OD|Ff!*BExJj%yi`0A|UL6EGy z-S3TgL8D*as82VhUX81GquX|OUESNT<$$@A1SH4PO)2jL2HP#E6%+=zLdKlDIO-@u z3M?S3!SVCm`gF!WSp{3i#y6yK zjkOh#aw=3LHM7caE-RV^nL9zY(sqInPU<=q942?knPri35C$KTcu(C^QFsr?=*)!V z0r>(1uQ^;3t$E7pD{qKdv@yhxUeauz8RTc;ABsyHZ^&fhGln@59XWhOlA5RAiPIdb znSY0d@blQt^!_*Ct#3aj?WdGv_jiG_kH<}xbdL(6c535D0jfFbX0V#vMdgb+!6*!) zPK>hg+Q{iEq0X}2EGQlkMIYqn#~oeQnA#OSu9Ujhvm$QZEERq^vEsJf;rmSYt3)4K z?>WWjRHxOgMa@eZ&*&?s&y2ov`p|1kt5Pc}H|ykr-d4K(%`l{bss*&S(C`@8JN)Sp zs)ew%Ee2y?3zGNoy~5w-(IU97U~CPsEyAtF}VRFw$D$d)Iw+je}3(0|dnZSi-` z8Qa6|GIPNvK0L`Pzv#rn`2!}2aZhh<^_?<3t*H!rjOvP2@h#!>xVkF&{hDF4pMX+3 zr>7ly&>cC0?S^zgGg6M*VTC@;w~QmCk`S-KdvYROd`lx^K6<`|`ug&2^a}cV!-`Q+ z!7I8{Q-btiL66AH@3HO2gDHwzDcHoHBUFAz%;?K2l;2NI`UL@lF2n6gF zP(YcN1gTkK>Y7)uRae1*ji0R7l#Wvsx0Q}lUni7~RFOB-j#oNPSvY-SHICCsPHib& zBHqB-M(Ly5%H{>{b@O+JV8{geUeiP=4N!M_;&vc+$w7qae1u9`Fq%g25G{ac1k=C* zt8^^E7#>~r$}GAL`;SSj%3^Ks*$WI*N{vXZ0eWO0(G676Q^`uc2c{2_j~te~BDU*n zcyC<;7VveB*|qRmDB1h1y0`^tT1+p?Pz8?=B$2J6(+R-8BdKgx$;r}!#skilnyiAL ziAhv5Od%71iiN3Xdbk FS?1SsYiSc^fNok3gX%dXteS9!Ae)R+Je>8S$pb{kWL; z#K^LctpSx~OsfVFVlp$W7bWL~)e)+*+mD=XBQ=2L$U8~!=vKD0v51Bmpyh$K4Da4i{T02R$* z!E5Nim4D1Elju7~w`#SqnWgAy@1g zkruWky|s&~1nx)$W1tx49$q@GQMbJNC{!D(qdY{6;)!MUq+K#HIF)XUpHz6ZWVk&hYK{emV;a)ql6l=1aK@5U z?@J;_mJIQ0au4k1+(j!y^=(D%!jC1s*KK4`3Ao{efnD%`XnGQ4;2?#OT;RYlj6NK9 zci{Vjlawm5&~)N@WM?C&y_lp6Punq<u$jA1>7NeQZ!d@MQY^bc&ACb)5lZaaG~^#hP9;72Y}Jbf?Xi#Bk|2_E9)Czc85N$!g4s z&@)-UR?sKh%UhogXri~JqT`Yw6%0@ieF@Apd7VP)sBXk}2E1X^A8ph9czw5DuiG-a z(_4{iHuI9&F6#DbNjL*GzC5W(+*AbMZR)lql|=Mc-&8oDQ~*=PdU+DU9G{5XM|>9C zYUq1Xr(QjGIr+B%+Ib#Z8?3j|dP8pMoS5#QLyngZe2TZUH_qkm>e`?69Vo~&7mQxY zcU$!l&w*1enLn7A<(++W4QuQ|O& zQN2UW9C(&J3P;uUEZd%SyR-0J=k-VFG`)1*`i_hO0T&72aeV>x?sR$VN=< z<7XZ7N=|~#ELnA{tNX+mr@5+EUEMKHdG6iq;EGd-^O9Ch%s0FEZU;-h@mn2ihw5Pm z7c9>^?%I2P*47of?ybG&^sUCiVOM`+lB+LuFllruftWD(QA?zd3VMjFm-!4DnLTBI zNh@;L=og$xq%f&Rb1sA7A&BhLr)BmUNOYjLeudh3 zy!L&)_g$ZQH5z%p$8qF##;wwnv{Tm2>Emo$UQuU#;?rE!m8H{U@?n9T>{?LLS;a(K zvV|3WY3f%?vo)1vFXU2?yIFw>l9x-EmV4HXUKd(zX|za1)i`xj)>m1dIfZ9cqEVSn zr5crMHF8;D=L%|-f2bS(;)h$`sQ6ND7-?r*ldf7h3r`CZCR4BXj-VZ99p|Wl#ORsh zoygjW1s*c9FiE_r!3wil5X`rlfxfpK^`LE-!@f!1CxZLNJ>RUbXIxOGHLya zXKuhJzm<$V9@H`C{M_PxmT2i`+?lrecV@N6H)P&>`bzu=n*>t&xsh zF;rxxg4?zIOolb8E%E!r@T*u^#qjgd3~SfxN~|(NT%u>ZzFpUkq)y|yGLh049X6O| z`gU!vS+e}j40@t@;2m4HNu@~x_+08bf*3Y@np@( zm$b~8w!y853+`9pvqHuL zcFi2QEpwQ0n>Qcra}98gA8D{td!KWQDU*>XFsATEl{0Z{-kP=%Ob8u4&mNLduSpRY z52ifk&4nPJ3k&!ZbU?4Qp;ic+WZK|vLp`v6VWP40PG%z8-rd3t$e_DHaO9mMqP8wl zcx7hUNOTW}8j&?NJ+V$HT#lH!V#AS#s~@hrx&3ebeK5+?-&2?#$^$eN;Lp(`4U8v9 zQ`#rSNMv`c=4X&+3acj#A$?94FK6aO-@0OCV^GT9@Cahfvy zL(&{?vno1tFezNz_|FSeWqhj(?~e{0w;~cLY%UT?v7{*b2>F(W;z%{R6DD~o;Y91v zvldF|iy;~oQXO&*a}6U3>ohEda1*l$s)q`7vd{zpR1`=*OOhx?;I2dv1G-H`VO!+)bq+B*xbJbQU-~_EDdDdIhAa$9 zGiZ+2=r-XyBG-IZfyOW=^u>(Eb0Fl1bwWwfnr3uKR)sOeckrLyFcORK0TxhsqlcC?85 zx>e%71A%NRbLrHc;sP2PFhXKm_9kv=iXjLcC)lFK7mDz?yYhG;nX3W2#{B=`^*@|dCsi^PL>1yV5w7C?GDAQ3SB(hM>i#xvrM6wN(vD!m4e3LFQ=R*GONi!sT$|*`G<*2C$A=9r?(wg{8)r}QHm950 zP8!();B&Yd@o~kyB!A{EJGW@PeaXmX~9l_lr|q}vvswNoa?%Ibris5XXyaTr50TSN!+`V8U+1K~Gl zkS$#&1mdizyYf)mX-07WhW3tG6^s}es!j{u2~5~T*MggfHsD=AvC>d{MyX^|a+VPZ zgqGmGUw48WPUu1TTKpWq&yxx{Z{|(csI0!(HVURm+*1(EDIv86A#^$ z#kp8uW4n!tA!Ot3F@{s81chUS^Lu~+Q+cfLrhX{f=WoHRkT*@TM*$ z<;{~C@~&`f6h14ss|SiIs?d#ZYNY2tCFbaz9wPp0#q?nm0jBBz8;d!UbEk*-S^Rvr zKAnX_R>9U$R3Xy@TXJ<>4=pEGjh;fyOdy()QpeuVDH#quPIAU3s_&-Hl4zv(Mc6Yuu8K=YY(yAN;!GmBg5@tA|Gl{chJvZH!QbkA+YSDJ-bhsp0b z{m$&*_=Zd$4&SH}kYgqD@6Zf>9$Ps{HkWs$pO2YYR7RqZQZ8oV@MgtaGlF`0JR}bv zApwu@w)U@y3nmd*!wRbF0#zY~ZG1jIKJIddH&_Gqx_8ev^nF7j?rV|nD%V4O$k#(v zvs@3+&QgzPF_nA7%G>vd?XzN!h|bTm4&OzPB_`HX_KUeUwA||mcMy(@DR!~}0Dq+) z;b}f0#<$nV#2fc}V_wjh_c!|Mjjdecs^91qz5$bc`vGjf>CW!A;kVC+VHOvBu@bx0 z`UrKHg|V=7s&%!9dT=#1YqeR)%{uRafB^~uMF>^u7JSAT2CO+S=fAJ2XTEN+ltVZQ zhZ&gWft;1O?Guj{4Wg8)Q{xQ>NE~Fbn5GPQ2y7Ur;Gl$o8V-thuwuYW8S7*$RDeqg zQoR|lxaHHX&qWX+@Qh#ej?qkEc`Yr%ex)v>D_-h77T546JG#uG)b#7Ki3p=T>wFSq!9U+zka(;DAFJSQuQ9amfL)aX*{q z&FhPp3hMR-!1AII2@OaQeT=`vi1eKh1n5$jGI)4!3ce1*WkuRMNkEhylyt?g{%0cs zJT8;&F`bf4;8%GQ7nq7Ps-8V3VOMQn<|SPXYJ_H&8%7L-<)nLK4_;1!Mtz2}MNYam zwcyQ=Z<#RnXnqadlhga*TXF_K`qFFU$2%smgR`c(`M;aN1&A_1Z!OQ)RMTG);W)uT z#JqCW9VnQ>E0I?piEhMP_FPrGeyye-iEM16N6tg$R3Cj#^Ph#~%xqDP8_;FD)*3pAkGKsGm-Xk+64aQVstb}5+k zN@aBiM2;1>d?DjOSAj5%gUy7_KLq}V3iMY=#4X8b3Hqyg7Pl`|=r3xS*d+Jxw@LcqA4 zOn>EipzAZ+)hj~#QPeE;B&f}vdVatHu?pO8)D_r__%JIfq&&`qEIphN(9Jz~j7p}L zLGl3yVu`7V2zlNxtSmsFcn9(8l~ib-$$a{I$nMV}_o0P(MryV1qM+zt z0=2X!Ur^)BVv%e3q&EM|ig41DXtQExX_!JT>@S*WbJ;0(Isfhjv}k@&KEYML1w|*; zp{C#cK2zHCnevwowUWg^C|OuKra&>b%?z}*W3mU4(tvP>ohhQsACP#E<9$GO|?aD9Ia^{xq}D%c&<%6agrtUu;A zZ8pmN6m4FKZ+V#+P>n#qOf;ZF6tFIUM^L`;onZXMu2$EF;(hx;-3@hltRO#kW;cVx z14OEPi$*ny%BwM{R*I^pt|Wyfvr4X_9P>PLy4|XN)WG{%Qmb>X@XJa&uNZkj5gK*c zFk@6~+w@yVCMlq^C0sXvrWe0{TKV)H$3GB0ZGf_@K4Cl^b?8I1Aexl@vzW&~2GZd+GL zMt}KTg#$|^M5WD{CxOiInaF+EXK}5>yeC!a)pM7Ve=CHYr?IuidW)?y>iU!HfIJ&- zJ@F~ta_3m?uCBeCTkkH?a_#}SU@VCFZnHk(FmTE{?*|jTyt9+8fsI`^xrcY7Q;w{K z-?bm!T~Sss>opX13#q-+(e3KrFFD2uL@aR6D;`|_*Pn8&`|##L85EqkVNe||trWHQ zS=)xTe7s?%8!L~t06F`RwjWgon>9NrqtqL8OUW(Ey3X07YIm4zPrLnb_`dt{qjaQR zI(9D}&WmH*N70MVxcc24zvr?W756)8z?8O6<<3!VKGm~r4OZ^9u9kzy`mkANxMBoK zqh0C9gU!0P)nZ?2j&$NZ>Lb-?9ImDI=+ka^1!us%V2rFf(pA0SteafbkFM&9r+xMA zc5THYM8pc6>c?Ua)cetdIf)(+9jl|JKGBu3nt3paIi>=Xk^*rtOfJl+9tpJ*P~~H; z^nf_*-fzr(^`%ZFh1>}`V^f3q3uGLBfMqa4Z^0TrJSlGi$MCDiUETzFu-O_udzU*Q zq%ka0Hpo0tkk~-iTO@s0;e@l4JwdUZn*0g62I?cW2C90EdA7-kA&3Um=1*8KZ^clP zyq2w(J@(8}mc7Z0A#_tqsdA?=XLJJ7NjC;sG#26w0LuGE%8~#({b@i2wV<)2#hpLh zF;SLCdP{uCAioqpw6ZftQdeA?Xwpfq5jVLPHSSxDtxe-A+!UI{pQF|vuZVwq@-VA? z9}nWcMSWHjm`Zr3rl6gob_%;W?zMnb6J-s)2(D$VhW50m(QoF_V)B`?5>tupj2_-o zqNZ|%M0aX|DCusI?9PaOUwfK`%?rMoe5Rm2od&6Cnu0>ADy^*7yzVO~NT)@;rgiUe zpQ`EeT;D>g?Ba2#KL7IPU|*;kF*yz^Ch&=)*_FHm8bx8hJS0avPR}tr1>we!iRSqg zBdUV_A!zE=*S8-hMRA{=&0inD)M~!IeSG5Dt?33l-2oLK-_XGKS2VaHv@~_V8%o~? z<43PZpVapkS-r+QkJ4SUmw=VMk_}a#g-7jcObr@JN`wLu{bM_jMBGp+RhiSUTUNB` z^%FYx%>zhcqJkccddr+1*(MDnJQ_s$9r$fV=Sh6D>w8jgSTIZXu>9>N{w{uw*|lc* ze6xUGA$_1xAE#frYDB$5cqnavbsO8ZZQHhO+cr;Z+qP}nPEKq)Iq}WcfA@3eHKfWoF!KR6~(u?ms&l35m=N~RBBOQ4;gHro=UU0;jDBb#GA?w>F-q;tE4 zZ14MAN>o5)rb8b=8Sq$00q$1`IYL|{Bcd&bSDoMjJm_=_h>3~9zUy~{>8>rQCM&K> zJ3%*Ene1j;jZpB0nZeakV15ph>x*}CAL0kcYnREo_YZ?VWqmX03&vK~uHZ*m5_X*v zq!KSnvJSTN?c3}mi;x%Y5SQSqlj4OUc<4lAVY!#acyBT~J8l^(h+h6$c#&;e%mhsQ zMv)KKctMk1*uj<*2vfQ^0k(~o2(WtLyx#*Bw74U_+^;Pyd>NY zY*j?K=*Yt(h;X!mP#r(d4G!j4?IZE+Ce8`V5qi>2{ejaSz3E+E(lT4F@xVE~XlhPu zN7ZLoJnbu(0{4XvrI)A+HJotI!UIg^ZGtT!j1JO13H%fW9pJri+L57753W5!$b(2c zEWln4W|)twQz;Ts0#Po|8r$})I7coYJbf7tRXt(Ur2VS>(IExpU{m*8pX7P-365qE z%(-*EDXyc{I$IzxM!H?~%V>AYlq_vAhx5#5lNapqYEoK;CxZAMSmBnf%IkH>Heqko z715<$|8Obie2D42)|hfssxDY}Bsa z#lL+kWHL6YZd_kEgGQNDe1&YcB2Hu>PG;bVee6%7yadB-xUMH_PKiO_ zOgNRd``6m1i)|2Fa0 zX58?U?9sHSYtGX#CJ=?{)K47e22(EI#}wn%x2L@U%_bU%nBXzJ#Wk^OEYs^J+~iw? zzH6a2Dfjy|aqeFF9*S;4c84dq%ADrWOn{KWu}uFHNxL^z5SVmi;;D}I2DgNN&yjz{ zk$8(md`Cj1IZ@aP&=5R6-5Cna1VbiZu? zyYAXM^v5UhFSd0&RlIq64R|FNUp8}#Lf(DL8A*q`F}}SGwQrsVqocG-oQCHI-hj`a zzvjK-GOwqcVf4nK*KZrrha*fuXa_@AwZSf9(+xe>yrGKIA5Y9*P;rlljNLt>H{0uZ z*pD8@J3Hxd?5$2QRenWS|G-#YuF2~cc>TU?$FCpn6Gle#ss}?_yzregh6~VTy0X#k z;cAD?Qq-v1HMg%1Zu)oER~$nhws zC@5D-gRsydJgR?#4a5tC>3WWV1Be(V90*5>k$`lj(Fu(4A`;Nz9T?TCPD`|7CMN`j z(Hd7j&Sq#cLs?q7o)FMZpsEKfd&Pi2NH9@}=mc|h#0*qK9Z*FMf&F_C&{d4HW3DkG zcKC9ZyT=^oKV~!_GtRTLCur3eG)wEd&<_2Cp-{yP;Y7lTz7od%tnyiDX$>gL*RTr5 zqC<#SF+?{Q{t^3U+yi3(CV9jExD6M1T{z&`y0(iGuVCY?)gEBwGut@MroHZHlWZIV z!mhagG4Z$*_ED}OP!n9#HGLRDn*hguN|4)OdM8mfL_lZD<+AS+BAu>faVN<#%F^YO z#@$S0e4bHIk$())_l)Xx8-s0eyNt6(qe&eglrU6G@|D$eH z&4)C$-cnkta;K%sk2EHc(dVr6yOp)vL5sZat;*zGF`` z@&zi|anB$BoqBT~>1l4h6Xx5|-Vx%5mH!tMBw(lXgC^ip-U0dt8vuNRZHJHgnP*e# z@^n64v3!jdbVG2)zrnKm6tfoaQzd7CpFTHcoageyN4*F_+<2OvOJO4{#$c#onh#N+ zB7y@(Z#jI~YcYalAB%@i<)x}aJE)`o1yC%>rtF#1sJ z)=?@1e*O*sH5%#Ot)`C0>~xusiq!A~X_y4K>2>jjx1wx%ql=tj-`Q+}Y$7Sevnxnv z60U+y{hKYU>@*-Vu}B&2Y7CP{x;jG?S9L8?bv+J!XV9S>ZyoTax@;#S<4NSWu}sje zi8M9!5(;Q6<$%&>&CAnJaF)m0w39%XO(K$!2H&1Lf@SV00mdQ?jn^N*o$@$6X@!Py z(z2?ww}2~>sJ>WYk_qMW&ly$Yi}Qf5nQ3m^{Ym!|Nf7rw6y!X8m5;TgKv?ZNA)-pl zlO{yG9TUGb|0;dIm(AY6dxMgl^XEmRB1M1LyzK#fx$bW!8o=q!T2TvtIsn;K$S~}L z9>KD8)T0v=iaj=bv|)|huvam?!3w??+;s8QJ6r8hGt@$796{td(~!^{BCFZ~&=?1| zO0zJ!J|q|X(-;Oty4P^oDC^FrTUisYvy|#Mw^`~VhuTKqwEdz_@&}DpZ{nf%rWitZ zW&w!-xtQAUUgQ}k3NxwoTuvP{T*>E4QWtjTqlUKM&F>51q91`5qnCV7k&>=zxww$B zvT##IA#;YRr?7CEdFITc2LM91yNUFZOxc6~00UfPCKh0b!lhua1Amj)zvYIr2 zo$NK!u=KTBG637!4L-vp3Vc23Zr_~v<|ih9L(32>NqXCT6N z$^E>6-FlgwVDqc@ecJETN_Tkk8!h?z`}eJv~{U@ zZ>2On-iY5?N8tKztz)XXZQJYdCJ?>8{I7uZwz;3a%$q)owrI)iX@@>jTuDDFl<0&tu?v;^$o% z&k|p5u!wEjOt{wl(vAK<9tF?>dH~z3vnkBNI-;T2f?L|P-4i&5X|G$j3#Xl#7mB?5 z24)=(=|lO*w{BPboTSr5OP6N}%{(uz@HE3wzKc7w&O5W)Ovz!75FKHUf)n+7neAMy zX>wMOREH_9?jSLeK0Ma1VmOy&H6)g2t=d?7=AIV2FXU7QP4lo<`Fgm}}KIv0* zjLKdXRYvvZ=!;G*P>0oB-dJ}hB54!S!HH4fnV}-bf*Lp8b-iad{ry7PR~joxAin`K zO9cpYS(7?MkwOG>LU3 zi89>FfRr;ONOEG2ulRDmQd6d!AoJXNusD;VM5R8l)tB(yN^#M~G zxWqG)l9@_jkzXkkWY|wer*BV=y=klNtY?8pq>!6z5?j(ff*$iI?I29;_-}$Wa@-QZ zm}~DuPr2i+m5nWy{(k8^%{NZVw@1q7VQm;kv3}m}p`6mP85L-5W`JMhrld~#=`o9k zly)-e2N6e#E>Smb&qZ_2La3HD)Sl{+)d-JAXAkPi1(nu#Xc=03p%yu(rXb#>N*lmC zX=7qlX}(g9T7_j^P+}!jWA$Y>9}R_UnP$(+{|h?){ZG&lkVw5y?Ek+e@@& zEQ2ko8&(5_yvCFP14EGPDLHyx zTNa*<_KA52$#VAPA~9d7Z|*YqC#Zf+2SZu%jSs{G8MK)!m?QEQ@{ zwrII~mHKkF@<8i6d&kGY=Ktv z`H)pbG^8QYS!%vgvPdi@u_X>0Rd;z;hf~|Pg{vD|l?-(;X9b7B8mffal`({ z$)|*^+nFHMT#_X#jMRyoDQdWN#F&+tH=NCxZ1hY@ zEfr~j_vr&2`O(<(fB=-oov^e9K^7+9aNU3g7xfGQRV;~7whZj|qfEg!?XIXiLNGRj zCxw&4jSIvuFdP3hJOD>kO1C5FwC)ndD@aYhe-RgoLbsK)%zsWxBm0D$B5gBDi85qZ zIS%^S8!JUWUkp6qoL>pqfNKmqBoQVDf;Xb%BJP8nh^a^+9)`(dVX5Gbtflu1BWMzG zHznkgLSEp=Sfk_H47}mdSmMX^W(S>Mp7YF2x*l}4C)RRVbv1>T!4N-p1#H)n3CkRi zpmu~ihq88uL>#+Hc#o3zgI}S9j$gMeIrx+8p4Xk-890m^>`t3@j}|!~=htitg${=i zs1E>egd*Vi1!JD*`d~UGmSpaRWJ+G??G@zV&EEo$u~TfTi#u*~fLvi2`2^d6^s3l^ z(5--Tvygj8&-sIGc*h(Bh|pYru@u2vdsGMaS3onId5`d_fj-qI)DFK+{ zHn($!Y}0wLo-Mf27=*11b!h{Ffx0I|ojj>&J+sK9I{BhTYJ-IOIcs`HMC>}Omq1|n-TelrxliZTUmsxIm&bfGyInW@DpUIgD-@D^$c+raXU1?Ux+Y+J&i zLR(RMnF)~Dk$>yDo;nTXnw~aOS4<3Gys2SZ_g4|bbeCoV#UuO(29Qm3SPS@|_}$d; zkqfl}Ic<8nW`K3{)9f8B+&LWr_CKE{QO>a7;&IW}hypQY3aC>LPulmU8cyob54=@0T%K(>dAgsHG%OqpFp@OS| zo4~Q5t?WX&n47`}n}x74B8*^duOZg18h3#T&Ru1(-Zz#=SvS;o!x`?`pl6981XFgP zYK`57(h-SFwi^%wVrCy~nYNe`%V`!(FXH);EY{5yvsRq@MAoymfof|MzXW{FUV#>2IS+>!ne`&RG^E}{$sEE*b{r0Q z2f+kWE00U;yiC&3CRARa#xPSmPm%*AC?cmF3xG5@SIpq@Z%Lw(-UPS?QEPl_1Z7iK+hDmVK^ z-5iit<|dZ}daPA>))qd_PZu-@(&Ub()nYQQ10OzM?o>Aizkn0X!E8=or^eD*Vh>=o>(`EjdvLlNdf`XZ5vFHM zoi0GP6teOOk)z>Yl&ajenF@$RyJAMl4&4(7h(>CGL5NZ%ZfGhIZ72D!*5n{p%5lWiq_1ba_Arri-Cy8=rK453oC}Bc5gAdpF>47 znLj~L#Xf}5#n2Vf6-^5=?^t!fI8IsJ8$!BCdjQ&>vgRL$@ZuONLg3kos;CXPg*qP! zh>d5h(jQwJddNszZ!gnV5bN__HI zSe^);J#Gt+jujGpYdZr;h`(xmDg>ntOe=-WMy(IS8Lmb2V$9Wgs*ivB6w8^j&z0fp zD-k9q>^05GZ<2$Scy%}t@QRY6<9ML8*F&6J?|^=Jn2Kvyf>z!DI?`Y?l$~wnQ$ESk zSvJO-M(>#8M`Ffw7MuFBe+cqb@eurz7%w@k*8`cugeW+Gq8AbM4xDMmzBFzEK*rgtA*8 zM>SKRv!>yhu`H5I2?HS1ebX0J^8N^Hl~k)ogcWk7mGNEk%FH!NLBC> zQh9E`QqH73ZGL?zm6C==zAj@lPq|v2m5wPE@HaJfFjx63>kRHefBn!DBJ|duGcIE< z=!<0ig8D`e;3CVAwu&hF;B)lu-JOW)Dr*@IG8U}}QUe12`d-ml2s89>QW4TSsMK>k z*F@?cSn5%{h!x+C9fJv_O0rADdFnuttZ5NnX&%CGOmCeyrY_YRSfjR!2v+JQ?T*}7 z7}kvK3%@X3msM*A$wQYPW~>Vm&f0J|@ryi}^Tex*ARPAZ%_iU4b23SmdO-n)t>OB7@(WfU4Hjc85r9(t|2>Y^aX zXgDY$sK#p5A3dH%^no1hmC}TQn`};$5%JCY8Tx7unU@>n67SG|d2RzaZ>3VK2 z2#(4pN!l=nI+`7fp7Q>4^LM8Luk&_Xuk9xOsQSVHpv^%}SbyFjt1-+y#iUQe1iEIg zZW08!tY-isX%3r*CuW!L$=To?JO;6u9$y+n-19D@`#@buq~wP8JGvxBHFlTljQ4JecLW?YduS(M<(Wt$^Ret61*u6?CBjZ?)c~aUi7yQGLMq8dgQp#8`q6-jcmx9 z=E88mB}*hHRLW zFo$AhDFfyozsCV4e1MpyDvd`&EqaZnd-co7*-;_}9WEWu-?ur+7LlD#cMcN93em==FUi~nZk)kDnZs#m1T%##CsM0?;kLre=AyZwx zUJHA!;6COZ6B|9rCtYihze!CKNDHXx6{;IFmn${Y6y(awaRp}~s3}lmfgLh>#91BO zCvX2fhQtp{j z+CTMAkfd;u@+TJ}r(^wU|40$J4Ac)}T+m4TBQ;!(c` zuxq7<4MscO8=RG#=FK7vf3>b#@;8c{SG3tbQ{-a@;rEIz9&CCG?&A0I_Levv6UF{(Me)#@56w$&G&rMgQuZVn?Q>+TM*f}9%zOyeV?{mVus zvD_Mej_$mdtyNA_w-jzSgFrpVXU)h3Mn~qChiu#mU7s*Gt`6*{JD*B+aAF{Z?0wR` z7*TwJO!@3-u`)2giR@K-iN3&aZR~^=oQvO!@m~SoNDKefxIvbpDWRT!3S_4fTtez6 zyD?*(0v#9KM zhamIbjTd8o@zDMBa&M2n`rH-8)mPL_QTg@zTbSDzD&g_He@5lG_!c?YP@FAquU`{n(eZpa6jQh})&zjGK#8Qzumz1F&amkzwsTGCTlO4s}P6Vt91|A9G7aV6| z?yMDu(2OZ};8o;?ChD#j$FJC2L2K;%T~>8B@_S5|0OiKK zB5%gK0lk@@&m`ql(ue_ZZ1S9@=%DliIc=F1Jy>~wo*Rj$bFQ;n6g1k;INjK6$8d=c3djEVqsTMo3tExFr_LmqI25r0cUR+81cwh=f zbm9Y#&VKD#>Y$u^ku!f^r*RpG1E&jhxcKPuO>?U#_82nlBlu4CxY?8No2| z%Lthrkdgy0Gs~>@E$Qt&-7Qp}F}xjN0xg%VVD3;p&AcWjsDdq)C8wxDZD!Ty&5*P04WX@8Pvi74g0Nca90cm<)~x;ZOH<{Qx3p zg+QCwT+SX;4CGd@0n@Hmkv7QETkDVw`GIdV6&vm>#Nt1`o!R0Ca482Yf)pOcVk-la z25=p6+_<{rJ$>LSaiUscdLx2H<@D7eu_m;!DLh>cO5nB~Oy0e4n3wa65|fMgkTm4z z$J~*WaCS}uh5in_@-ErXEdo!0Q$R~P!`e-tMyl$1(D3-Eqs0^SEk6vSIDiV^2n&D*X3$U5bQp8z;0WGc{B4eGf)W=IF@=c!ZNEa1dS;Sl3#_@1 zxDOI&tl!~K-1}*Kk$q$@imfyda%R)eiqyy!4@-9ZL-IILK+wl4#}}Lw!8rE*OgpNN z8X#!;yNDlSVK3RqRCt|APjp`oJn{v0G7~SXwr&@<{rv{@jlq6}lw4A3FvnTM1#P5b z5jC{M(C18LSAQ@&oton2U{>@h_{WF_Z40f`d)z0K=OWuxCSy*j%0UqzB&IxJ;s*#S zg8YqlLo=39Vjx>xm~aKw=NSYPz=|HvhZ&2L_hiFveY6L99VIRVc*1(!Y+EbqB{n;I zLIjT++}9RHc>-A&Kl4lF>UIcIG%kdN_rs0mngrU25~KLYQLPS&%DjmmmEn_OBff1$ zG@Eu}+{f%QofyV{R52~3X-ai=9UnCK7)o(!(s)mIe|+cfwajm-!RAinT&h1^5rdH1 zR_Qf$84Iau;ba=co4n5+8vL!)r1L+OkkOuhKOc2Z>dRsOCku_aFULu=_+MG*Q7+I^ zucXCxBS7E<#fTEZRw?x1e_6(EDSI3GU?0V>%c=kOhyRaw_t!0dJ>YnPz+UVo)X#K2 zQGyawCJrsv$mv5jUS54eSwDl1*1V222ylx5+!@^9 z<=Z)=an-oAJ`G?aT26$)A-d$O-Ijqq`gAZ^;ZU>)HnHOxKCTjI5_OYRj8)Y&EGZee z80lGcP}lWV{7sZcX;%QJeE5lH21BrzSrwicS2Uu}ngcwe-k8m(28&ZQpy&MwJL|o7 z&95gQP?2Gca(DP@`KeOIKz3IdXT2goqrPJG4bBRyFGM?!&&8d#)-++an4c2;8Z_q0 za~U?7RojWBjJSo$^ciRkM_$Ea?1d0#T4Kb;3JBE@&)g@F#45MSW<~a$?_=>J4Ex>d z-6J=+7j8dcqG#KB+1v(K1ymUq=CIYyu!6ifAd=UR)Yg0OMWusWB<<8wBJ1BYQjZfG z(ce|~E%_!+pldKG`yrDB>_{AwzX;m{?DN+DnzQ&yAgY1~)eoUC)NuSiURnOHTAI8$ zf<}QICQkl2<0VK`Ph3B@zQfLzoOMT|-AHP^>a@1P<|rm;UCia<)B2uh3xZ6beE7(XhO$M2!;o}oH)DZkeqfQLS_e%=RlVd|f>jK(gM zA%{2ILSJ)cG)IjWr?!5+Pkpu{0@E%-2t%(xB4Qkqy1{qA6emYjcKm_t2B5B5h-Q9z zlQQ;+kFM|X{_%wkk~v1Rt= zN4k(fIBv*w{0>eD%%$#6v|hwucZFgxn;0ZBWk5zSqdI8m;kT`0CZN00R=b`jIRp6r z&@l;_C-x>d(~{@vI{RBplmlM5i3A3&|90WoyP#*q7L4C=^bt zHK5WWdiQ&)Z-A1tD~W*-4uBovi}3>z>0La6UK5+L zVO$y6Mi9B>X|dJ7=pA~POO>CMCpuly3! z+FaaY1Y?JkV=2w|K!;mXk#Rt_*H40l)3SvCoYL;rDjp~iHtz8bH-{NsJ665-`tbnL zjlU-o30a&}!-XsXUR=YGACGpa@ru$)X|jxv9D-c$kVj^##+;w!8E}{ik%~xkH{=>h z`7PCyR|biXq08Fy$%)R-LN(W3?TaoeCIRl~aaAPe3v>d13mIDyidey$-yF8rZSOTv ziN}yZPCURidJ21g_c9#~)2}tRrTlnScy@^7X0{6I-O;jeiJFto02GoaY2rrS+E|@ zq8vC2NlZH+E}!90dLTanx2hK2^y3A%1DoqXgWB)L#tsjuY&l)ysaG^g>#H~=ZJC05 zNVkH#s-swK2}{0mh^McbZcfY3JdBvNd2NprH+!W|3-@W0@XiuwYKCot%t>0p=X@yp z-=g3e=pSKRM`rS({z*9v-gX#S5`C%C`iip<mURZzaALez~4Dd63Q~!PWrhXqz#EcwkmBA zQ6j(o4{{BFBg8}&(cC|z$HWEd-?PXgK&r6D@|2S=%Y@4@eY6&{$g5bYJsT^UX0LM& z_IM!$L|?-V^SYq#O{ed2<&FPK!Z_9XPX=FsHx2(s!Wf3@s@I0OKP%m&{*o|t>%Sxn zz`3i3D|ArL9PZ^W3Da&*Sx${GOD!k%9|;5aao5|g0hx^|n2AySR`4Qc-5O68!#?e5 z+}>b@YyOfTR&e3)*h*q*?G@~If1|fUJdMZMC2Z+!bsg98x^07BQgpv~?|C1un?1%C z`Ta0j@qL5A*8se^wQv_-aak+$qXCZ+Ck~Z=YzJ-48C~6#5u<VC9e8dK*F?MSSMT(~i-^az8{`!xO+64{ok(alT~V;7;s(>4xmVSN znX_*69^_)i3R|9T6bUS_d=VP4C_hMjfDLvZ^DlxG|L~ZLU) zn6ZXe536rygKjthtEO-Fki?0|HaFAKjcT((D}5$}(x1t8M`ejqj+V0K*kx1iLLjhV zGE@3=ikZqo-xmv2e=1!ZdUzz;Q(S9_)}bVpql}}5j*>b%NUf5xwtBPrfqOCU#{CiK zH6-$THpK<@zmbmvb0ht7RAaL&QPa*0$M<^`sD;eue?KJGUozg@W+h{k6Oa~Xv>7UT zz2+jc446h|gs2ya?RD_yQ42@hl1DohxjqITR0xYDeMQOAa2%_c}mqDsJ z`O36-m7JZeePs=hu^KDg=?yoWgMDueY@4RrWogu{T#c=k6zmE!mQRnoL%EaKk*nxl(%`I&)Urj)7I>p^Pksw`-L_NcA-R^vf)EmLZhMdh@< zKy9CYUK9eX__A}zT9raW7XG)2%55I*fZ}psAAa&rE=7|UhI>M$uQa}JS_KeM*F$#b z%**1+(X`8U40y^0Bc;~6_8Mr+SGZiw+oRGabU9YzP6{q6uKh&em`U~NT?a2T;56;% zwXl+D>iJLY(Gqn>4&On{j4SC)i!7kdf#~-Hh`x&E!C$}|Skb&k=|%4a8KM^oE}cug zii?zL@U;|lWS#+okjt&#bD~AMTIxsT7~pmijE9Oiv+GWsZ5aU8vT>#M-rvbo7sMnU z$KOXC=(v+VK4=wKwBMx%Ue+U9)wJwT*Vn2WmKU7}cxRa#!|4ItQls zv^~vK{YD+#VvC4!<-w5iN^!94`nQ(}TF061syMZKDa~!VPW-yiq3pbBCX%|-Q_Nmv zAc`NhkKmwUac*o^?S28p#yi?NVL}t_DEt5&q-JK>b=or_b^}T2ST8F3KmX&~b${VHI&Yj+7lK~dx_Mrb6w9V-8D&K>o|sy%^HMtd zhPB+890#*)M z5a3nkSSRSY0{)~U8-eG+;&Ly;;1Etq3Nteu7~%$@JF`c?G;6y!A#beG6Z`uz60*DS zQJ_ZghvaMV1S36Lwx#xqC2COfxz*f23nXwNmEDc6l-A%v5hW(9r!&G#VL`MJ?fNS> zFFXEYHd@fT#3&}zT2UA`#uicUDTWYzbE?Tfpjh4nPG}Ob30=y6(0?^puQ~K?e@y(i zn4Dl4aYxd&+OLAFR=0Fb@Ca2FLouH)H9XqMOpbYKg5dB@_SllN%!VPlQ8PS)=6F=o zya;>a$fm&uPp+6u(kh4H1 z?8v}Htexi^Xr=4mSf^JD2q^6^8E7g-?W&N_W-tp$5jlouABC3}!i0138}21uaTfN@gTK&|>;j`%~c_ z=J&B4@9})&vcZb@QF99(7}apalcXLzHHz#GM`-a;$Rv=unxwR~O{XJ$xE+7w;*V#j z;%y-yePXA7lLzogpl6XHsEVN-m$f65IAL>Pe=RA1D1mY<_~4?dYpI?6i1g0~s(`iC3;BOJ z3*|&PY102c%3?(SNS5I$oyn&A|BR`@LeN7ApGJ#ozXhVb7TU~%Hpti8pD+CTm%g9= zUO6y|x{01n)SEfBW%~rhb!Hv`LkZia$;^?f(nXh$YQ!&O}W)$Ea#C2)>xPwxqQS$kG8yG4*2K;Y3mq@*u>6j zw(ahJ!AS|03yHm3)e@BSt}~7G!~& z@u@TX$K39q>vNJ!q`lB5gdyVlBSS@#--Hzx?OPyH+x-gW*9A+U(1&lK;TCax6g=do zGeJbh8SJf^RLM$qh=Sh#MY5cN{_u!^!xNFJR)efL%PC@XkiOrugzaevPO~dVX-wh4 zwtXJgJs^@3Ykog7QAk*6K61UDl*%L-A0gOAt>x*-k1@XMw zB%QTl_Ej=pVQg(lyGLRe{)Mgr_@3n-!d@=`?2TU_m0%qj2K>Zt^bYnFjHJ7H1jkYa zeD9fHZx@?4uP?9pKe&$;6 zh<5vXpsiDIO{F)g2LlAfV2FPsfstsggV^txt{#d5=cv)IIKWd{_-zS&4V5lUI3z^O zGfd+Wbpl3P>p~w920djGL-qCHYhEHMJ=Iapw z5Dyy?ed2RKdIU(GedxOT$lLTqxLGr(G4M2e;kI&67IHHey)l=wWJ#KI zpzxJN{?9}RV}iUX&lyJLEo#OscX$ta3b=&;+p>A6UI^Cx&SX|nN7=u2GvY+?z;TBu z2|W6{wHG7I(r@nl%ZnLj^&=)cwvEf5 zSNTS7vs%EVV^u|NbANIcxr1iv3*34k571W{xaXYi+7VH$Zv)+icY!jjwfh2ZN51zT z_uPQYmg5NGy^oHnN-Fe4n3$uF}6)O0eSx}w#>-$c#a2G`q$>^OFrqHZcMC% z%OmHkzP0;Dto=4KgNz7-r1)pdA+jNSj+|z&9!|U8=5x8rh|6z@tOY|=RE7j`y+hLt zSt>F$bE%dh%s2Ii@g4nO<_P4g3f*!7N82f#6jAy~LsFfB_C{B39423NYIL6xbl}dhJl4qPQ>94qC)kQKqPGUn>pVfk$Hum0x(XlS%Ing@a_-~8eBL~W;Bi#SpW*5kR{zidX__T z(PydChVdI8nFYQv(mLw7#Wp+KKT&p=Z5;eN@B_6L%5DW3J}x)RTUpdEiB@0Q2!1ss z;IB%jra5g0MvzkEs5A9^WuRfEI2(tJutGBE>;vPtn>s9I4PDoz7CJBKPBh<%_L&96 zy6q$}cYfH4Pk+O);|Rxy@-58{-~_;%a!-*ws$`#@@vbiK5iCRG9bM5f$$6Wdhsc2C z=1ra=K{-M!;aTdVbl^n*h23_4CR`ZN@5FE9Ho{AGXciv2X5QBU?|!%H;g;^of(TEB zc!m%khQj(AD;>U!Wa&5IZ?i|!mFuB}+FeYZD6&s%g5pKYup7lSnoki>zI!8~tTU6AbzQYJ}8)VNG6EB$$$} zWSif_`?mpa5&k~_lt630Y$75nRdFX(H<)bD9ylEC=fGQs(ef zjaYt8x>4`e=Pd{HhXG#SNay#;p1Ec%RO7809gD?-AI%?m6xZGMtJs=XZKqrI)k~wL zuKxRebd|7Tnf-DnCP@F~y^&dOHt)rT-?#&~uRwYcYVVVt2kDh~!9-Rb810`?-W%!L zsg5e^6cSFO7l4P3$I{_i@(5XE16M1x^Pc0LunoA^djSf5a6A7X|GNvP?uQOY4Mw`{85JHu_$r+q6hQ=ycAeS zK_DRL1Net@DHdKthdKbw{w$m>+aF8#m^?tVu(B#!=#Rsc;~4Q9U;U2 z6llR1Fl40f7Yr_o>G=?&GLMKxF@rzxYsfAK zpu!p_!NkRShDDk;ZmGg82SH|B>BYiZPh7zB3FCNOD~M}W1w$DpRumuUIcc2ehR0CL z*TMp%4vIKH>cFkRni?i~*!2M63JhATbO6<$u0>|^9{a8O5`cw11kykG$<;@qWJ?S! zdH$~mb(w2vKo=97aiwbu?yB~gH;b8=Ia#)Ub#lOO{vbUDosoDJq!7eX4@;&QNVE|5ft9iuN!*#rWM5tMr@RBMh>fiGEIiW z(;oNLNDb6+rgr@Ef{~B(d_N2Xap?>310|fRd_M+Y0SR?>9d@ud<`*P6j(9Fd-)L14 z@(sC+^pa8w`VQ9gm#KNksU9g7|zS_!6P|}BFYtG|tZ6?Tzb|t{x zPspD5NK~vIXq^jnU8k=QNgIl)#J>6KhkSv?(e?Dy`|37`cIuRZ z1}}I_5Lr2gF;yjrUHmZat6VrPkiFNlAIhcMC4Ns3G?h3@xh(s%iV{n3;dW`?5(Zty zaTf5I7Lbxv3OzrA5v!Cp%L~OUo`o*lF711WvGUYHJ*aj38q(zJpJAE1LOpQ3tRzts z)vDq+5TZjrgZZkU0x9{$qqsR=xLw*Si_r9L=nPWFE~HmP{bk%SAVGbUR&GF*JSBvZ zWLb#rV))2xr8WOd|Bi8>V=sP&xe?-++um#_SQ|+5?<;k65hIP_< z@645b;>MoK%DE#*$HmP#`AmqvAPCjWr}&DM>2ALjgqGP!~Kl#XL7$I(%=fc*Kz9 z^3h(%L99=?dRSvfp#W|L4fVI9n<{_S|y6*{&IevvmF zImpIohCSvdd&tDfYZvB+CcI-EY6J3c@hBj^!*R-qi}N}VVrM;xKt7_LCi;@+a3VSL zuHma_vb-VJO|4UL9h*nCjvck2F`ul7b)gA&+?WX>0)Y#NvPW!L@GJoY-y{A6)rQ_R zeA(SbyvwwJwp_F#(3UIBR(oJK5L0WGZH3cFRI?c0E62;eFyWOV>x>uHB#nZP+--^{ zviPEn+HKiJJ#LD z^SSII-a2JVc$$krY#U2!;Z%w<2?xcH2#2B-G|7SFT`E%x5+U*T-R3*thPB(KBQ$rn z@#mn2;35io!;Aqbu4uO@L~$;`Q-^Kw;WP))V9Ci9F1w~ z+ag=$VKSC^^^!cwdV>LCoF&H=hxXrHndQVeN!ziwhhE6kl6ALNgj@U#c7*mS7`KD0 z-PF&X3zxN3bZ{t!Py4x0aHJlpH_r5Pj%Z$$XGvj9%Cw?g892?ae zOE@0Gq+&T1aUtLZ^4xBav>;B+UzHPW&k4*~LbX932M0lGnscw}&gZM|z`H$~`y%y1 z4{bk>B8i!ntm1y2BjvSm8CNbbyzAjP=2D&DXy!?+_;U z>(>mTvy%*qI z$|CZr4lR};rxvp1k(WakG{30jY47+ko`k8(quUHC#LA;u-SkQ+uh%E3)v>m+KW3GJ z$t%G6yJg9y7~#HyLfYa`rW8_kXBqphgF}NX6F*H~n1z`G&w=xA!Q;#c*oE@n+ie5K zdQqD118_2DG5UV&(AA#h>Om=$;bP`)S4rA8>a=Zs#V*^U_^RVn+8Xi#$ILL^^O((8c^c{0(Vpr7x7Tn`5rKF)>P zAyvayv2U>iIjbesgFoKF*VD(#gtKMnP+xxXOQAlaOQ8zsmV(vN>kr;U_&o0m+tRu( zY;XB}!8*Q7I(%7Hj;E9na$5B9t@+>y8z}&BR+f)n<}a46fq%|_#W$3=2h0|!h}XB~ z?`?VodqbeM3ooV$Bz0;wTfSH8*(1gJWU%CWy8`iV<^Q2bn(`L&{iM zr35dqW}b9Eq3bD{CesgbKYgZsG9!;>R?HsoC+dDLnzM8i445+}@H4&cLF#@lnlqI? zV2C^9RnQyc2 zMtG{+6WNj``J#MRA^yY{G3rnJ*mIKL4}5C}XE%;V{PJTMrq~rJXEaFyR==nhL>oa} z+Mh#StaJLc-Z;Df>`U90I?&2w*H5tGWXby%a%F9@X8!c#g>1oqSFW`Z@I8^ z;kmM2IsZOg)(+3TnDRsXEwvwhMhMl4*pUE23#F$a{>Eu`%W9MC4( z_S=QMlE!=!0{H^c0fAoDxlov~Z-;uU(-R$VCD~d18#F_Uaz&qYc3kC(g-Pr7u!BA; zrg7YWpmWNVD^^&gUG0iqDyAZ5_Nk&goXT0FVt}s8zXJrF6w!(qE-=-KH1(Noh4_uC z&7@rsuk8Eu)csjoW9ach5!49wXHwX>Jz6d$n?F4T%F0hd4#pOUYOVNt`)Nt(!-m0m zS&;}RhJ*sq%M#LWnBWHn_@GU2&2ayW32s>Tl?kruGTt!3t>v5yXJLYC3w$@5Ct-gZ zGoJ3qQVQDi&L4Ts^uC_{;ft{O!}X*nni$M^>^4bZWg`hP)FfLe{4k4>jX3_N;Tckv z{)(Y^{@+a5dVy?!aEP1VYY`A88E)RM)x{`G5WmXGAX`@EBGDpr8Pe?&sd&)eN0?HMmUXS2 zMi5p<9s^WbLgQ&7*~2U$vgRjOX?X>l%UV{Njlw7mih<%;hiF6K5@JO#>PXH=*v)LH zl2%fbH5XD!16tl$Ye}u)_j~iiP9eEIv()(ny7Oe6j<~`cNS(8FtVg;^8WA&s1{2F% zkx22pthhi_Y?&b&_`vs_Wg=77MZ7{nl0FE`WD*VcJRiRfoe!P5QF-kv@^uoI+w zhKgmzzYPpe0}!Tu)xQtxL(*JVr$GzOwP}kM5#9*v`5Y({J!MJ4Z81wIJ0;-JamcyF z`M!O7*DdmOum=SEM-W))!5E_t&uua13M#e0+xuvkrJE@IY6?#!Y1iVw9&Nhot;#p! zcPxuWI~Vw0lvAQ~TbKZBr!KBwWS1>)C4{`|-h#SRp2JpcJFvn^Z=*qj7Ysf zfb$qC-*;fP(3wXJ8u*+Z1{{FOZeg6V&4lV#{$&6Pi-{&VHiR)1Un}5G~ z*LA+d%l3k;OX%fq$K9@n;YP=8kpX=ekc4i-eb(6VYv6&|HwiRSN7_N`8?%7-#l7Hy z*Sa-73o<*yKF09bxEsudN689+88YWCp`GQBry6<0W-7)&nalg?xxp7p!B(0=BQB(| zFeA=mO5BZggW~6H)0pGw;-$bY-JN=O$!9JYE2X1FJ=OlMpHUN&hhH(`!2(9d`&zH#X9^q2JMV?(jHh?*W)P7?^_n~|F zgzMM?^a}9zbSG@c5*V=oi$67hRFz)yz% zInjZ#u)H#*S7fML;{?O$Xt`=QT{R-l#_XxMzPr6#iRM1h%Q7KIqziey>}MO@>}8V% z^|+5kmetK(mbpX;Tui!=O-Xu`xAY(b$|gz4A#>Q5`~|8g>S3>$OP6>)x=u2%;TZ+t#)>a&N7?Ia^5)Wq1*QbT9d3 zCZch|SdRVCKub-wt>Up(rbhr@>O4}=_=r1&j#A3#o|)J*=|%B9BmY?Z)|R70(v@7G z$YPM}7j~0*QENZengX>>savOV`HR#B$4lqO$Nh!kDgK<$6o(v7fr$rsk{*vuQag+F zJa?eL!3&2T&qIHPNScoB5%@|#WOkTg>2p>Y7y2YGo(*an6!WOB`d+fLBO9B@95Lo}@=W8E{n$dZ* z3ceedRhd|7L?$f&kaTSYM^>PjjPo#4(5&E780dk1gij<=DxCU5`UXy9Rfafy!3DRK z7bIlKWmo~aR2lXn%(;vS?!rJ$t1^SrAQ02DpV)gO_4VpBQUp2)u}` ztp>JsuBhn^DrIRatVwQ5s%fjr(GnvOHWlkHr%$QLTZx?TrheVfeK-ds09reZZVJY8VH9|( zYt*bpT^cJws?@g&{+7_3Ts)@tHb;eTcIkGB-xID)B`&%(6Dp1mT;bjo;2pyB?1P-jmUZkP57PuGpol0xGe<;R9bsV}~lC+bFVN#1SSZ$Jg{@XX5g z7XBx;LXco%JfUCnh5P0G)=Z^R4_b-&>MZ0214zPaxxwodJh1?_`@W$^PG?kWZTGFk zI5tHLFBu-OKt*#te088gpA}7`KI4=a#-)@oml~Wghy$ev1F=VE>G0ue=y4#DwA?VQ z4HKW6b{v4QiyGVOUXr=t%6&sm^3%9o_?pJhkhnDLpt@MUtj)IXm4+TdNM|cB`oI3~ z7Bdw)v>T(Q+ElWXV+d;)8?Fx;VlW;AvXkQK-fMG=++ez_dl#%}GuW5S|5tLQw^6ZI zhS-)l6Pf%sCMO)zBGWO?GU0x9?BaUAk2Op#9akVcN44D;Z_{vz?Y>_~4wF8ar848l ziGM~tdlq{j+Mw>^vB*i{Lmd}L-&THnZ3# z^B2YL!P@7>1a4Bg$`qd|Iz3`<+WZCOHWtoFAC(c8Ih37Xy7q9t=GcBxN9aBMrDI#+7fscXyKJ0ej@?z`{}R53X387#?(|BPY=WLGWk=0t%qYj!y3l|-Y-G>~ge?#;5}^gPR^Xn9 zK0!92a|z#cw+-)ZysSM}8m;y~h{@byli{=wRxHN-ior4ky09ut z1lejse-3jHDYm#R_zmpn2@N)hCH4wDbJz?YPQMVXlmtN0Nco)bFh1%iciGVHWw#7q+Rk&*y3Li zuJJb*5Za#*qjLM6IUJ7KX4!YBn{aqJZm}x^hz3jEX!g`zMZRuD@*lm=tX`8o@Hdzr z(rt5WxendZ9A%`|Y!9#UGp6ZEf5h_O()e;4Wbf{@o$1KAb!cTAdSb&YasxY7%QM{$ zRez(Y@bKT+yV^m#6Zl?_>u*i~I(K>)chP z*XOT3t~=;GK5nKJ_K$Y2>@uejTAmBVs#Fc81|G zA9g)xT8ugh2Dt+!!p8%$krQp^HLUoVXS^Ui!;623W7~@94h7YFAm4rx)K4AySL)7| zwrX3~2A!>sQ)zbTS6X)69UG>f=8lbh^?NMt65;Tl>0fbv|NB4bT6+Ay1ekFMrluM5 zhyR*BoLcUS?R8$%X#GC=5~NJLS)69uM_;@nj7RM^BpPb?FE(Pj^Z)+-uYbhb|Mm_0 zKAzINN ztOrsXW9@YNL-Uo)N}$vznU&CREQ^%5XNkZDb?*C2^+Q7UambID4oOn?(@MmAQw}kQ zoyJ}$Jgl4++Mi81lc&o`nfXzc+)4TdeK_tG|Poz16rRwJq z6X1!SE#HxAmtT`xVCFhcuM(pOlb|dckWGup)Aw*XBLwJEg2E_x%Siw}8sym9C1qiM z2PB#>8Tx=i@}xB%koSr#5-bV{)%PXWH!IPPTe7d7ImS}R)>fm{HPwBh8>)3$lWNP_-1Z7G^5lN&S@tsZiW&gS+@W1o zHg}dl^N_q7{m_%cBOht^OOF$nEbV@sAmKP;MK4Y9{F)s8K%Zj44p^LGd^z{n7q#hQ z3;S5Bi&JiC%RNrTT2=oS*mj?OFh9&2VCc`X1mB+#?b;2Jo=2_wkF6KAzIscrT%ld_ z372-c>I;KF84KE$u*L?rMi}6F#sjD15tg4Z4Q(k{5w+Q+tukvZ36suRecCY8Eie1U zF+7EBS^(BqEY_&;OdrQUs@hOwtXLz%8Y0?MajY57=5Y+8y79y;EYA{C7Tb$WAGK`T zbzQFe74w8yO3rd>*Id0SI}5kFzFRB6x7@N3;TRgi65(b_nTf`>bId=_Nc2q>W3gC+ zrD8QH+s;--*VnPxL~}W9YRy#9Ib~)#CX8bbSaZmlOxk9s+7_M-Qngd8nNsYX6PA;` z#lFYdXuLEpFnykMYoSXk+A-4)ach05F|)uVB1!Tz{z+VY)x?^UVBSoRazXS_aE!K? zNY9Bq;q^*d-MnX#vg)hh8fB$ikOivLKoXhu!~k9@VMW#RQD>p`+|X}cC_58hePUbB zG^pLCc|H3b=~hh;x+$j7{H8)RN}qd9Uj2cu?%*KE@vvWh45J%KqLWys`;ItMiwr|@ zga&zSe{d!S=qEBD-;x(S6y|gYb(v7{hx6?Jkc8-TuDO?O*)p$KpS3&Bgrt9~desDs z-np=J;kmM2IZ;1f)-q%<6r;1c6+a^rI-oY)-mF`(Kg*TdrF~B>bih4Fp^(SJxJX!tHgqeorDn@GkO%X>bcy)TT`ahzXPtMT&iQP6V{`M5)d#NOwfJ#H!`#ry^aMIHqz^$>Cf~!mPzP!;3C2F zI#5ov=yil5-pAglekQ$++au;ZY3pN8%RHjti1HO&Zs@%^>rYSFVyciHhB02oK;jEM z9{s&Ex4pII>th4_n)$8O6Gle8Us{X`;k~OE;YQZsp%H%B1hE zMe(SU|2`C+Jo9gA#z%$-3UU@vIngZe5+f=XRV%4AF(|S$Ic*k+T^F@p?ziw2+x8U@ z$?y*VF;^qt;9?8G{c2r|=xos(DViiSOt`%F%*g~N@?R8r??H%rL+tGOV318&SZai? zF^%mQQcB>vh!Yaz(dH`Ky{od#Mq+Gu5R~la%v)J1}&Md>x24!fF8Lt6`-F zcc6nypm_}|1ehHWEa1wH;6TPdg{P9eYoTTJy?4D$`JViaozYk?1OJ=yPn2$p_I_-O zDebvad(8l|Q%W{Tr3-V`TW6Q(Ic(Lo%W~`3+w#I;E5H1#>;{M)!{+;r%@$HWo6_;- zrvR-6FO6*+ZXS$&gTt-hvP?G#_i`zCuqTorZeiYs>9S6UWkfDA%$|*zLh-ha zth*K1uE%A6&xk14f#uW_=%>(~EeA!-@QyH3Gxzw`{V(I1iNMm8P-3pZ9T8)N)*K{} z@oLhkJq+0ZiTKEh%NXpvA@l~-@FGq+vt3=QO0@P62zD8 z^<2rvo~FmTw*}JK^{Kz3)1X{g(|BC-5FOFOz3e?S(v?K)9wmF%e5p&9_K}6p4LKqx zCqk@=NoLM{&;i%Xkf+s}=Gjc&9)L+Dy016*5EW*n>9Su4Xs?X$lIRwI3pksj;R3b9 z&&1tRxo~%ey@&O>PhAqd?mZFf#|t|eEb|$4k8eEQjpw7hsPOyAlGeCh^a0I{Npj_! z=AaQC{QKhBRHF~W*aRNZ=#NGt@FWgXqLA6m{EgP~P5h3#|4m-#2rAn&{8Ib+AT|V<{ zb&7T4-_n9+Yo+$aT8FLi>3ZkdJss}cJWWge`JR)dyCC`&ZunCHQr}2U_(p@{pd}v0 z{xmi=NW>F5f0w~UcboF!8TI$Z3mx~%9}+KA>E9n7ETsN=cfedc%vW1#v*ngMa=BZt zy;JY;`TqYEV@mrvq$kAqNu(d8y3{!y80DmS!65X4l~g>FIo&nqzxsgKo*+LC&TPC> zXy>HbJI@xUo{b+CuA|5A4&`s(3e~L&GCY`Bako|{_Ck;LHo0PTRCj8pLs_g<;+QUX zYgmaQU@>G(CBm%bk#amdO~$Udv27~+O$5l5hEoxB>}B4&2m?D7X(uE4{D8k)P+pDF z8!~>a@j~2m5L`7%t{!RU1mnqoy}SKeiP1jnUzz1|*u!25k?3EycPHJqI-lvFZ^c2% zaqpVGZFSFisY6bF(SszUNBK-P=Shx~!#@5*KCBOoG>JAwFQj@Ehm)I&KT*bY*%P#! zy$Dl$1&tJYgU{P(XL9hzQF&NZ9X|YtptpQ~H4uj}E;$t}vG4xMYDa<4Uny@(KGHcA50(ABl;{*I16VC7B%Fx$rqF|tT3rn z8N!qybA`jSFpx)W`Vuc_p$yv>*PGYn$hTC=u%!=-wGzy{fUSK&ZtYxA-5aW%uok%; zsg|uOMN1??*i5Xioc^TdZY4lwvYvk3(6u?w7$Ds*Beu$3M5NXlDF0=eG1hwDwt;73 z-oUNisXG=7z07avQ)~$TRQ!@)=_#d&WLfZ3z9+pXh!?f#Yk_^O)#WL- zVfBBRoQH_oK|g;M;g7-vJMRUqRIrZ#*qN_(Qp-v2pn?GogDn0sP=LunF9mQM|Cr6G z7YlbqG0TpJgB!8sX((4%uYlMr6;6lf1;u@7 zEDzbL=vM&Jfl&*#29OPAJGgGKpBLxV7HAqneMolbJT9PL9iq(%DEK4NJ3bO5@06`918Z=!S# z-^=rKqqI`TsxMdWm-xhL7EkY!PqOtpUNOFZmCc5tz5_zO|WC_SPDv)VA3bI34!?2*FAKWp_ zLi2C@3L8AKu2h+6+!~Td#D_xKbE3$1YL&j>I^cWD#fP#?UTj_nOvy@mKVcj^^Y48K zZAE=`pCj{@HixKTyU(JO8%83xvCldbM*x3HoL(^|XdEzZX&q-KnLK_i@%`}}1h?vA zO1kKWGa7d*i4u^!uUrS!QUgC{#!)Wp5xwTe(&FogRb1M!#!^(qSd+q0gCHvB`=T_c zHVRzI{O2nqYbX51V8d)jWukVw^O2|$N z*HJ@Sd&sexF0|!1acB&LO+&$^g?1waE`x4N_aeUVZfib~kEU$1(tNcC^j4s<=b3PQ zn$^IW0$th{(Itp08|I4OV|QEQGVLjA4QX~Bx5mEB85X|JdDI+nMOR&)*8M<+${OUQ zWkur#9=zKiRVoEzF30&XGmHAv?4TAZ8@kgeZE;R-dCymxjHXqbRX8|Cl9Ph9U$&xm ztxU8@Ub)+hC!B?LUv!A|Y1^!J;^*)v!$%Ug{|#*GKHJtBWV~ze3zzta`7MQ;+1On1BGd81{bcgROgVcjqnn!?%G*xk?LZJRuSdV_JH zeGFmvTKb+jA&y#TU*{4I76+H(2D{K`6Sua0^LLqPD;gecV)ZrYV19#HB3(I0jTXrb zo1+xTib>+u-R{=CJ-uq77aJvKtcFf_7cu@Ce2>Q#oAGUT+V|}ma25B8du-NNFV=t? ztnHb+(<`Ty+OXY6?hvx~^thSUnAhg*Ih|&4oLBtlvlkblKQ5Gq?zY8s#wEVxQO;)W zjXpDi)LDmf8d7g87IAKD0$g&j7Ll3p_f2a#D_SNsPxJx{-|7ZGFJPrT%f6}$|_PXX4G`G}~^>#XG`y)PBR5XhlYNZHG?VeOmwh zU;l`=|Lq%$|B@B7A_Z?rgB^jTgk>d7GF7bSmd%DdEG1P8pJ%exl(|&XByX`0EzgG? zk;8;%XiYL%tQWDV@%4f0chf7lJ~v7Y8y8T^l45mXWmyWlY*13{raZdkY>7&e>wTS6IKdEH{oqb0?A;$IOP2XaKT|c!!ayOp<%nuFk)}irldcgG+WnHEs)a;$qN}cIhxZ*$%aV)KFUScYl(Ku0>xOis`HRJRj{x&H z^vY1oBH63284i5`ug;{>MN5#84T8NQFh^x>C&o#I^|IInrA;rZV_V> z+Lo3*VSCCkPn8W@px0P1*2wWpA;(~<+Eiq`Sfj%lCfamytQ*e;atx)qF~uw{&oWaM z+>1>iy_nnOS{nq8!NLqDXO%rNoV>-{UG%kK;9GIou5c`ms{K@Eq_OiHQ_z}=z71nc z7{`LCSW%*+))16cH3popFrB76GM~zPbW9q@KCtGIHKDW(QMENZo1|*DShJGndGSF~%UAL91SEB_C8gPlab}!Qu~USYZKSGA$H$paF`l~w#kv^qpn<)L?qV#D3n>W}0-o*#GS#mj zQ$HB5j~>I=z7bsBnYXy#>!fIZlc_VRYx{$=Ks=L#_MR-y80HxJCmtkGzoLy7p2?zp zOO|JpQVYDWbm6(OUO6;9U)D3K0zV_eGpw+K*qe3BCg@PE+%D~Vay)k^N~p$}y}`8U zpGlj%lH_UseJIw$|J`Nl?_g{ zv&;lH5Sntx{iMNg#kx`d4iEv&G$jJM3p!s@B7oB+Yf22~6(vp#pFRdyb3KU>i~(0s zB7iADznMJ7sp33Dw=5(v!<5XwasN?-CDyDHQ4yBd#P6h*i4Tyl!~mnB2uqAo&EkQu z#Qi~YCF2*mW++x%+^dc_aEcVe%6HTg5I1s3%MnuJ5wj z+|X~xv?YV9Eh%BCCs-mq1l%=p)dZr|CuIeJ&`>SRsLO6jiY&<)c(YJ|DArf^)RJ^2 zA^JP)$|D<-q%e%tIgaFkK#kmSD3BlU0!nrBGsf#JRWUd(@34d@!SXd6?XO<5yHb0r ziL02{8c02aQ@bm>CF)7+oCy-p-Zu*p5Hk_oV)khHmZFS+FUi}g{Gq3IRsD1Em4ISe z6Ya$6l?2}ohWkm;I{1G?y%kvlGlmffEbS2hYK{~c%gh^Sj+ z^+;&1$m;b%wfCmn=tNY-b6F2k@qYZP4&mn3Rx;2$u$ugj}M94%ar+S{jF(->%vHxc$9>(?-=mGp2!=A zl)DDiLWRsef`7Vc#ARR#Pvyzh+{%ykSoL<5d#{@|quxylNSFK2(scnN#iu0Mmymja zW}Fg0!?J>gg}g-1Vaw9tQt9yy51iq`VN1XKr052K9z*6E4~@`b5AkgMb5a8}d}(x( zpz~n-3k=inR)fTXmSwU@sOO8o16x%>xCMC+q{|v177)I;Fq?|_7xpPP(AI+b{EoqIb_Lfr8E^Iqo!;Q6y$h!A2ed85?Q4b+ zM+Z;sv=(W4WIPaZ^^}^fi|5=W z6v8#+>4w^Zan!)8Mm+3{+oTP?SPHh%EE;L%?)Jw~I^2Dn?bw;hsBOA5GLR>qNxG)a2xqRgyrqSm<4810piP3QGlN}IGK+<>^i0{6GSza!r0}Fj=02rL2 zI}AovShBsn;b03$F0o%4;Zj)hP2~#6Y!6uw^m~$K4^KYNoOXJU?m>UREo7v6Sx+F~ zhtrZ2mCv|$-W!Y>=}*4*xNa;xi8k-I+gDxTf+=sw=^Tyf9;B#&^T&%T;;7_icZ zo;)vj15M0p&8(%`5|eF;yR~|YJi@79sc$5Cd!q?*&=L=0Um6=5^EkQ|b}1#e=5AA7 zJSqInaGB#?`NP6xDn0zeV`bD|?+%%ZXQj%^V7w6AMWNjnwRdW_2X~3QVq9tWk9H3k z_mOljRaaogF(o`#FBpVgSc#52(IGe{NJmHU*f5{Rp_+{sD&&O|IYCDzJkp80)&bgg zhw_O%(W5<19yxUc^b9K%%ITU&+K#$g!%Cp869*#$WmF)IjrW(}`p|%tv?}wHDNB~rLT-P{DT<0lJFPLTplfQl$h%32*GcmvDB9(X1?Jq(@&$}u zK&sTI5^$y_E^yx#ZUVaSfLwr=1B=P&1w=X2hh!;CAzR6jkXt%e)AofTU@$$QTUz%7 z>#4QY7m`kb!B&?9*4rXrKX>@`kk_3J)H3>oc!|bz_>B_v@xl~cAE`?GhN5u~uZV9L z%QxaDwj3i8fh!jxruPq%xFx=0n%GNP{gqZ1qcsK1Z(+5eZ&8(x7s-#0`s+bXdHedD za1@OS1~w}2Cg|woq_p!^&ulaG4K^6?s3Cp99|cg4VU~j*v$;$$?0QmzIl)0E5&IF+ znqry`(d$VC=NS*3?2aRtl`CR_P>YWSLM_T_(5YdQgJ2bqV=!ot(xRybT#d*Yu??d8 zh>ztwgwQ|vso4kOV>~Ai^F7cuDzh%lFe{2k{6;fu7BeoBuMmV55%=E2zE2wU^7}=lKC&&Rjp9Jwr#WI5e??0r*zlkSO-xmae2Y^GtfUgE z7p3TUAzS@|+|s$CUSFto%5}+YNwsZNNm`=f!RBK9WqK4Eyp{NvId7OM{Yq5%%ZRPA ze+4{I{Xj{5GeryTn>Hl;nc=xk-I0as=`BUvo<0@7B;t`vY1$cMAId%HMM1o1Z?OQ* zNBUZ;%TsR2MJ{hD70chl>i;r0Pw?ifpU0bHkU`IUg)9#C5%`*!YA3Ut><$_@km2A; zZ5b%wWbjJ?9LGOqa_YsxSx?N8Q^UcH$mT4dE6i75Y?chCOZbxGE(E2u)N*FmJFy}% zlhZ<@#ZL>e4ialDszH{AY*q9t0O`P}1zQ8i2D2Spx7g2%^J)V$bz&cq89I*(D42z4 zasmqeh&+*x1j*_#*h%g5nMNZ?IwbCV{7J*;RqSFfDr}KpO7wvF!tLU|B`Aj#H|t96 zGkfHhZkPByf!b8!tdFwdAsk$|UD~&VX_v8^#c|U1ywSopKZDS!6gLa^L~=>`eY>!4 zp|r|{&1y?iVjk_EVPJa?ofVaoRDZTEIe&zL&s)i?ZU90SW)I1}5o&sG<(j%t)~p&o zr@1Bdwcg7jbq8umj&4fcOsOaLUizXNrIpff6Tf!9%qJGJD942w!>Am&8=+J0=%jMh zwt0o909190N~}Y}g^HtwE~sc{m9AlHn2guFTd^Q{hFZS6p*x0#YoHAygijCXXN^0J zxgq^p*dzpqbVJ>%7>K+=XwbY|4^I0b|Bg|X0hGBqIziYWtV3#R6ljdj`*c^4af~Ud zH$4bg^F#&LGNG}@dg3Epq+QWy&0qOWvV{J$fZ9*{_ul8RTKH?93iGz6*b`6%jbJ@7+0Zzh;*iP;?=dA{ zW)kr0KC77S>b@C>a&hb4nz$byqb_S4BK4V8kZz@XBT|s%3!Yw6;CJd;d?PbD)WRN1 zifVdUx=)y@#u(K0Rs+I`V2~lDH{bd+;4aZj;rqW*jS@VJ;;@AB3jJIc@dgrS&>k-ELE_Zm1-9oXUkeT7l zxKk}~ytw}2K05NZj0@_HezLzsqM=30hi0N(am}K9xCAh)%`VY}ROr_pW5MIR2;_j6 z%Iqlsw$v};`)JO*A&pBfLUEPqH?~S0HRNu6Bzv~lJC0R!p)E&&gn_Ur6l_{(ld)uU z47xGhi}=F3t@#A~W;DaMJ{w=9`DzdBt=VnDz^`m(7F>{KHFTyxm$okJ>e7`7y|wVz z-S&7QNljUn$L+E2Ue=ZGULG|^T*6i7r-eR{ZK5x&7|)Ck-ffVItIe~BI|!%GR`aO| zLQPcmX{Qsr;?A#-U`!^*u@CL0}<;FY@#dBO=8jp<2jeh%?| zo9rI@942K5*hYj-KN&nHX>9S$-IT1{J{F#0J@d_N2N9oGY z?(uAuHY`W>yWQoy(K^|;#M{F5#79kGTrC$`!r9!6!gP>T_b$nUr8n3Y+NWTg4o3~N z*D*R)nGehHbX{n)eDa_7sCJ|2?nfVPWu@!*4R(oi-FOXUT!IG;aa>8i-Y>Q_&e#H- z@C$a3-VR>FV?%6TLAWEj(~fG_Dyuk2*a6qF@ZZW6h5SVF_~Xq<-NIVk%M&-3==D5q zr1fi^Hg7BGG>hYc5~q~n!aQOgvpi*eKT{Il$tWjr_!^=mmb}Pk#*aLfaLz62ZDl-h zmBaGJx+tRuGr!_)yH!q69e;MTvzLMSye}B|=9J}3zwnb7j2(&{4AxLYbnN$BdoWIEScbgJob zmMYp|mXvYm@KWev%5oGA)3p&9UAiQ_%I4B#5iM@|qm&d|lRr)EjWxBsAsR{aMegmE z<*iZNEU=Sh?dwDfQ^c|R;R|fvtTP=664R9_^Vb4j8tQPjGsIcvzqgS!WD)O39@DMi ziq_MXK3qhv(+x!y8{Scrv*9aTfIGGo$!}vJ%b%$t`2|?hnG0XMirPLB!fVq|l;5CwVtk}}o!g3amhB7G?Pbp4 zyRx+Og6EmEGwstNEzUgq6_mt_vh?=F(|+L3`LFnbe2k5sD7F?fYf;=@5_Nky)HZKu z(-qv)?bFX(V~qR!)9kwUXI45EfF$lPYxj{Qq74zVfa(>t zVh-W*tXFTfxT~dKTL#v2;I;*WR^JHV#2vz>du)KTs*r9en5|{4A5Ge!EIHlAx(9R* zIR>S&IytBcE5ukSOuYkhVBywv8+V+JZQHhO+qP}nwr$%^I<{@wH|IU4zPdkR*RyM` zImV13HjKhvK_NgKQu{kH5=RnNFINR)7=^V1ZlIFTToly&WFRO)GwhMS4COw&u4fXf zP6#KBV@vLmYSmr!L88_Ifz_FB^Of{wV$HOY@Ib{g14%CuW*Ddhjjyh;z+BO@3~~^C zB3)d+!}XuBq*3WH|T4QEge zei4pUe0vH)>`TteTq%xKS~m$L8w{{X-7r_=1VIl(LxG|jZegi6Nao|fyZ2Li=$-W2 zrkpXm!fD{koZxyM494AUQ>tgg>}H!8BFk>+CK6;CkCJjoGI)fXac1vSqi8BBZMT{# z)qj*TsmKS7XzJdd)Z^#AA{d7@z}Bn36%nRXucKe0IuVjx4_rS#QY5@u2=(_jK{WyY zsu%9b`n7k)Yzur=jE({2vwvE(q>DysW{f=2X|@&fK%(VHI?4C|4lc@bzXP|3tv@2c zRu%(VwF>j;2C(%`t3t0LxGK*90F?rbMhrO%jfdOIKN5KgZWxk{9WtSGGoFI(G-U|_ zWk~;>yAVl3g>tn|Mb82h0_MU3RMN+95mKaDg$@~z@mc1Hu^f35mkISqeVu1Ptl!?O%BL`> zC>+mxq67x4SX!#_&!KBrg>D|BlEf(>$op0@2nzs50uouuZye&_L}L2tTvj4Mea`Oy zsmOnEE7ZMhfH5(^EdB|2aQ6DP|1`gB@RGaHp8mCr+vz%(+xlYTGKl=5*_Z?wrWmp? zENbY8(%IPtoMfA?X||H0tDppRDkyuk_D)&=z}Yu;0cmE>FGKCCk|q^nj&{g)E)HQu z)P7h6B640Q3;~_WTMpvlZNddlrDh#3Cb}$^+_6-)7~Ex|?Z@$SQ-))qbleB5<#a5f zR#~wZ`q76irZ{b`(c%T3&6dz*%wfOI6tkg`Fbs+j+J8C}y;y$&aJ?daUEhf$f7uv> z282W4Kg`<~kkE?YD0qL(1R?g`J?%S`&TemL4`3KqD~N3cJOH@7H^EY5`{cfox6Lz} zuC9|5OZujZkm_0^o`?L15A>u)?*6YKA<9)DXAqO0#}qbcG;?flujMfQ6$VBkt>mMr zRBOs>XI3~;sf#8miE+hn$c*c$pVTwLEq1=t4)vO+@N_X?Mjq@EDM!Mx`mGArdgpw4 zqSe_|YH7qq88qjC+UBga`wRt%SqC-X)M!}-B3)ltJ-`2u*aKFx`O0oErBhRf&FUx> zmv4*jpJA2PfjUwK2|muKuMAl32sMNSmNib47pM-xiiMaOUxO55_%*^CE?Budv89j$_!n@?IX_%;C;g{enC#Ej}ws&mbqq| z=@q@Hn;qPUXRmrX2{!IkM91rZm}hh+MLb5M5`(BFb_m4`AnALUYNb_r-GGyVLy#n9 zTlEnvKbDvzOx^wc-iO(z08j-F?x&)qIY3#W(#V5*Fljs?VzZ>5y@Wn zobZGh7;S=HzzRj)6KzRqHUwY1D@%Fp7e2Iw8#i*+M3Zl5I@Wy?Y+L6_)u$!7e{Azi z-OJ03DRgM0TF9@L`NO9v`?;&rZ~MaK9gxuO!xt&pY<*tAwtlIXHJrQPGHjyQoW zV?2-GpsLCrZ{cDq zeWO#w+w*nk0J{B<7hhb1^k4|q+ZB0r0SK{=3{#WuOG8i+A~(51LW{)=b8zKR0@5l{Kgiooyh)iBjh$9MV_BL5wLp z@|n>sPQ+7a$d}qG(`z#T8cE@ODU`ClAJgXpjMXj^pF8SSKlP9u!h^Q#a!bMR5EcI= zk->cfnCDi{;6VWEb4L+h7!C57f=6*hnsaj#M@b%?L0WQ8lWj+%-zL57C8e~^T%}xp zgny1!Ne#FrJDU2Gn*9-o=w`HPJR5AA3` zRQ=49$uNkJ9U$KAoMs>Mmpiz0PlmFx;NeAzZQ8%rZKB~K>W6rUuZ?P41}>FB58eyZ zgY004c~A2r0!5;3PaZBKtpMpQL;_t;kurHl7+nc}O9A8_SHaHj3~@=J+FY`tx>8^! zBl0P2p?3DPT4?;=*bFVVHo?;y&v8~DaO}{@hr4jDj!LI4u$2R+vnWbnX)98{+q)7< z@=epFSErNEMAlby65tHT<-+K|kny#${RDOU(2;bp&YP#&hpxy8gqk$$)QrIz{i>d6 z4`;M}kaT)-k+YspXrL+uof6H)l;8S> zCo$N8hk4`rEM(}?*~?W!PcSfLYI2ZmOJ9(kP3jXjv>H0R7>P}B*=b_O3~gRthx~d~ zD38H*)NGR{rRY-hyh-yjOf*e?_><0iIcKDx3hEyg!LO{eD$njb9}F1Y7N6xHcHF2l=NT2NR-Ln_w%C!Y1)=X-;_5cnq# zxZ&3Prmjg==;>d#w&8-2`;1#s!?aYCx9yL;k;RpKgA-3-ETmj3fB=&J0p&c;8DE!BqE8(YEjn^8;VsZN#&YKalmRqb%u)oG0YAC*|W$24AD)KJb`y3^{u zbOi40=$o`@`KA>PT_fKGEF2EqQS2R;f!eeV@KI}PnQBD17?Cko#nX*~Wwd^s3PNsK zeg1f^<8e@_VvkrR0|}*~y1ijHh3pR@n>5{vLW4DMR@598V_RdZLDC0mJg6BA3_(HA z0GWxwaNU$DL}=dDK30EsXCzOk zIJ!Ur`2%L!q#;Wx^Q_y-?)V_sn;n6lJ%62q%k;?*^W9zR&C|%To*;pcz`ptNcjg0YPgLxh8p2YsFPvkNo3V38P|FxNbwB@EaVwWXk`E) z&2q2Idb!peJGgMd-c*}@#cU>xHO~bzoh1|QrRY7w39q-GZjJ_{w!8qn({5&mUlB`n zq4q6uI-2pAj}*&qfZOf2$m{D^+C5jJuX5+#7U~%7%+fxJXZ!C71+4PX7Kb&#Id3I% z_>N9FMlJIk{_X=JNkY@imhJ^57oEp&W(Fr~A>2a|oi~&16mCDjfv>}~f_6fn#mDks zy+>~^Gck#=8$nhxg&4QBuBDMj;X>4V7v8upSn@!9^L?mm2KPKY^8Y9ojGxy=`o*$qnB$frxLC^!&xI2tOgUV!4Kp=U<|$RKT$F1 zx88hxe^z++uY5ggxpUiOAoZ?Q)@Q-**2RRO?9&ADP#6O%&bzs*x{2-k-DQcQEFw^@ zbP#fKns_nV;;g;+2ZL-rirO#3pAF#C18i!7mCivOYGGm6rWECh(eMEyA&x6h$7$J* z{G#gVMMEYm^b$?o4VG{T&#)Q0^=f&I3^}{;JE0`{KY%ndJ9_dMdMG20Y|3h+SsZcO znGe+^vxu=d2cfXZ9uvf&d}-$U3zas8Wfu=UG#_4AdJObz&6Y?tlmk>!>mfkbBq?@4s$>LXifJxclEQ$g`6eHP%in=7hX$T0S~$B-?9v_-58FaFJD8!t0<@3yaMs>zVi zY7>@%s^WS<+%xH!^CjAu?#=p30aqX|8n<2gwfeg?gM|_A50^wS`BnS>q6QJ!Gc4F6 z9L&#^EOylpmlzYvSx zq+4>Q0TIXJkAjX2jiVkBJLFkUj&! zuaJ=vR41ZVcc58GagIa`Qrcm$b&0Mh0fLHYD#PL95SHD6VnqAylLJDw4w zggG}kL0EVQ27)7I02rH|eMolZtXp@9PO;sfo-Jrq1S(qsa!f~ThjjcEZ}s;~r#P$} z7Lb}Ws`DM-AXD)4fadZEq$!0WyyqMB_y9!0l2}Z48u>baFMHtvy#tvjKtkafNhCA0 z$pR2cHiT1Cqb5THP(joe4XHf6gm;j{I8wE{V*;5vX{}5>l-%oVUGcQtZ?yKZq50>b z%~xfFOS>W@hM&H1Gm|#|NnRQ)XudGeMUlWoBdoo*s`0c%kTi+|6)Z7r8l8A!DdgFK zC|A|1rSONJKexY;t{**~H;Kh%9`X`*^KzCrm=Cr~I71^x zoW+2Y8CFi&oMsf4P7|0ADW(!whwi+_-|t%LR1znJ&SIRdUMWyL069Weaz4k5!Z2;z{8=nzb`?EF(qMAmhO%Ny*W(PV7QA5S`5^AU* zId9DI-xWN>R?&U!lGl_Td61o5u|uMyFAfK87gJcff@g6JNPnwxqb}0&r!K-Y`8KP) z(HbWNHm^NgdzO+fHTnV3_H{G%*FffO;-#hnkJ{~CC6LSdMc||R*eV{QF`g+DYtKUs ztVMC~OQ3c0$ZhS&;R{hE@zF0lO5m%Y<;g;j3sQZsPdtDz4Ct#9T|GVfv zf`$U~Zf@V~Z_XG6OabD0?sU7z3gUkcZb|ZM^9<5;v1W-EdHZ-FmQbdsky4%cs1O_= z^q&#(G^1wmEFQ6seK0s1o<&xNt=UIR`7c~bp0D7A4jL(~Cl|=w$PhSy z6QYfbuY7>9u-|_rxky(hPd+)?pkl?psI&AaTDKKv@0z}237QqY>y(S(hVBkU*AC~S zoofLLj(RoA(ZZ#nJ29Mv!G%Vo5$BMAJ^V`(H;Tdy<7-dosyLx`#;ro@vE*5lJ+9~@ z76!;%2$_6~xhVZfOQ>3w|8-bQ#iQ%zD_RepshxyiuXqeL*|fw0p^rO|BnYYHX6UZb z@XH7jgUiu1(z^~EYUQv-Wop&OmPhvu9b)z{H@r?MrTq@?PU^MKihl_em5y6O6>@Jh zhg=(U`N}^e8faeY868e>^T&D^;6mbmk7m2i=F>5zXdjWGR5%Db@;)Pup*lKZ>~i!z z_9F9QcIHEWMX_}5#*k{F?1+oxR_;AdcZ-b1AX9e|g*@E2+>gcPfg1m80|F9Mk?LI! zy0a$u8Ur!s``FT26!N~c>~=UmL=iqdirRRTSI#R51A`v6OofL^PdQY(Fv?kD%e*Ih=Z4D)j;8Omc|m)_&~A+sQ{4;|S6>lk6Z_4Fkl z@JXcy# z8pSQr5}`%&V&M@Ai5&|=!=@|TH+O294)hxv2{~u0=aOlQ4dZQ+pQ2cNyB_1NPjzo% z9WM;JvXem*CQzAgv@3#fYIR6HRYl|=0FrcC6z8TXe$92Ziwxs7SF(~YXZl`RE78GLP8OJ zk<008L(L+M)1OedcBg5l5Ed8CJ%Uo(_jbT})wrfk>C5NRp8{k_$8rxaQZFlG7u`t_ z_LfQ&MqZlfIvMySoS69ibKPry30aBj=H_`y*fjuC$lvfFO){5wt56(7yi0wK+oW~$ zVTtM#hw*mLDD9`4tonem0fp16sNx8R@qpA`kYP&XIYh;`P}$f_8vhJiD+7mDXo*_~ zpO;6WMpo1?w;0M+kMAG|Fah!uqJfm1{|allaT72Aaw`!4$rqU{>~M~I2_S7v%cIyX z!eBWQhnYaxZW53c_ZyAJ z0)!c_Qcf+fiQgXhp$a@y?46YN_FX8=Dm;@&5T@OXQKabcNM$TBwvN=PX@gtZA% z%Lnkepo#(K6pIQfel)@Eb2zQ5%0Q-em*Cz|x&?cp9R>bLDHeo5pxhe(-^IkHLP3vS zzIuxi_|mpmt%FS1f|>>+S0gDEc%!RqF;hpJ*jV62DRVPNPE)msn-%$jejAqvLzX{o z2t6%Yns}uL1P_YF;_8<*eufQi{$-6TxYeIa3whSa2Z73I5}QsXW^ zN@5NBZ%EQ$lqmMtC&6xCrRBGZGX zYrGAdjao{D#h?mNEU9rU#VYVq|JW)2rD8kFEAQ6=o&;;dwrhm~pq;L)o&%xv7GpW% zqS3zh3^DTsLirApii!=II1gVPms_tHol8xI6v5Z#BRo^q(ypbjUFHerZcd?Wo%~2C z!&KR(0*R8S7g#?ntrI$$Pe59Lr6Bz3(q3&HQcfL62!jY8gAh*0?MG3DoJ4YGd3W!u zvc-=wNQ+Z;6o@GE-}wblaQ>AktW$k3(u(O)5_xY=U^y3dX{no1quQXpKn^Zoi;WpL zA5a`#T-W}!)tOJ5XK6zWhFt&kFI^+0PG;%rRV9FVKsn1GS#0w`yOdD1*#`y5%sa$9 z@D9TmL-dsaV9XPj156}Orj&_mCQUzM3YxWn-~64K$IMq|9^rPCZ(O%thjHqaD{~QK z?6Ehz6ob+!^qM}9#f&-Ope6^J4Ytd*L4@*Bgwzv+Iw08zg2*u1{FYS(AY zf7HWldVcdb8QakY;Qpdy9q$fon=b&|{m^(X6kK z_%VTnrxp61DSkA^+7PEBH7oslwRaB*h#@pDJmZX(EGxz`!iR z{XkB|xIi0w?u3cRrpxc~uBMB8YqL}Ql$Oc|SuTIYE!p`~5+!3zuNld!%?~|%<8UB> z8FCr;=4k-P0v5#LmqA1r))ByHTw~eYdMX^xU=P1Un&e5y5@m&A0%>n5daP!Yvv!b% zvMkn;Qr1}N&_exh+po5%osm1RUo+v$SysnsMPR!n*fhKLw#pans-r>Unev}plQM^n zhwmH=cDu<48RN@Y4SGAndh$a)Ji2s)(GXIil%{p)sV*Jcz9otlY*4@Vh+bQhY^wJ~FAWf={?>^JyLYR47JnEWd$#{noOOb^1>$~F88ZLeNA-DEE>5>pW5e78}7X0WSD$gWXflm zz-(S{*R^0AJ;wT1%hqk@6-B0oC0!&ANA+Wn?m*ZBTf1pJM%g3C=$TRm1jAW)5U;%9 zvofO6Z~)y!ByNzQbw1C+2z3jm5A?AE>5q{Le|QdzmYZvKl(h|IGEwBzdt%hqoY=(j zJ?A2X@n%b>DzaH@j5=2D&Je}lwocO|zDW^jt;vP-uOz3U%TXLlqPu@}c02emA~Wq{ zugrOw_GsF{OGnj;m0{t&WzmLu0nEw0O`aLGxbp3a1oGkRRZ`RmW#p)s4eD#DU_Zh~ z>%&&kkM-wYj=-KMmku{4G~;;9nM`L5E_2LN!mS|px8_GNh3V3cnaL1^ExxBDQ2NJMRP-{ORCTJ{?Q-7lQT zP7%V(Uq8nj!2hdN;PKLw{r_tfDOZsg)aRBYmA3y!mDCme7b-#11^*cqk#has+4*^j zb^F-awmcHmN%|F8N$a|Cr77~WPJ|+K)S|U&AP+~|`lZce0q%8?;}MIYcqkwF@5hN) z_3FzYq522&X^JAELS;zAANZC-EBpe2_{jNvnKa`2Z4(|%$IS1NGU7twnwse<%gfKv zHdPusry;KIBCfc}AurKrkf7yv)t19Au8Va%AjV>fSQ`2D$5Vo^PgsxFK~-%H3Z&XO?wz;cWZd_5DSeQ{EkWx8H({1rKoj}Q-Gnp_U-o$rvVcQ zNIARZ^5_`_R3*b*_hBfk+zJv<)D$@-ETiiY-+8u;Q&Q=v?2i2J3^N8`h8ccDe{lUS z(iZpQ?NZ3=XUZn!5Dj9@Q?P$NzAvG7$Skhq>3FgyQKw(r14bLjxHjdD4)&;pRdIS0 z6H7)7Qg{`W@1g2y7*Rvq2RuF=1J{WhzYe6jTTAUd#O#B-ELhghDoh)py1{|}8%4~4 z8{tnBq{X&JVFAl2)8Lvo*Mq_zHG#&@Ui(#RpRR=fYpHFHDSo=dc(a<>Ln|b8 z!OA(h&=^~ed3NPr`|B$8B#If!aMKl?pi9(vRe}C9^6V=0Gl3(Nx~3wzys-utZsJJc z(DbIqD4)K$yw8FO)qMA#7-G#v>LcQ+R{E#Goo&@OjrRhz4DR-(x39&0o-tUb+^kHB zcZl&ReR;yavH9KfF{cKNBwjuG4*XJ_`#Qq7d6sHry@EM;wfPpCC7kw7j2J~N6nzrk zP|N7GV>Xl1y;M&sD^;YP_I^I2V|J!P<}yoi(nGIs69)#nI|Bf8>7XZnk^#JOz)*oD-wHOkJ8DXNtMeD25x`UtHTnv@W4EzI z_!RMRLaJ8)2qLM!%l*g*^FUfc@IvUfrU>F~yjC<3J(t>yD3UZ_EDN*b2|&O%F-?pI z4Dpu2L=7xdMK%XRkBBC#oYYP_ayjRm+y#l16J#tBLg(P|ki)#YaEX9uVN|7UKagyK z*}E@kUx}C@)CNGCeq*8nV8gfPIU3RbjL3Rn7nRC|xg-1rCG@a!%2qU~1l8Hds2?SF zMe$Z7H6;Pn{J<((yc0P~h@9{29zr@hIX7BMS#1q2N?2?P(2}Dwx2%V!mkFM&?Hhk_ z_+{EtI!nTx2HPKzHQ3dQ3=f(A+J{OHushCqRrqNxX z@d#GuGn@Xq$>i&hk}>K{l?uuDIjK?` z6%J=cD#azWVZR(88pctK6l!bhE_Yi>*?FjSzY<i(ZQ^U82#I%#tx_TW`I7B1cDIUSEOKu$z5$v?j-tZHf+zY{!^o9xzaP0@6h_KQJkgX zif{GJ86J8aoFS2%gpk9$$o6YQ>LctEopYi601YwqEZN5gnxxxdJWYDs0^ks*SXRB% zcTgc45XWCYGuG|Sy63t$n)t>7pd$B(H0_x*CCoBm@vpF2vEP~r&#k3nwBPVM>wjaY zuJ4fgB*`HKCS;fsZ4)ou@R(>S^*D+06( zah7z~|J2%&ZlC>jDO}+<5R!DU5!n?uZFC0CK4gYF&{7oJ? z`N-J6;UL2%(NXETHBzV4!FI;5N9V1@5z|8RT2JeylA)IMK|`R{HClN#kH=w=L&R=? zjd;hFr6h4C9tV?#r;7h{h`w#e?AFYs4RX>Cg8ESClKC9ySrSiiAQ<`?8Co8E_{V6P zg_1(;6nOdNL;QasMLK`M0`VODNc82l&Z3C#eRQ95;c-vw<0t90M}6h4^TOzR+5HOE zG4HtO#wlX?aq;&D>uqD#a-2p5HT_yin`UJz8FE%c)VoMcGwV9$AL={0+2VSCx>!Mr z1GVFLreAFaf%3%5$OzW2HUkAy@$3K>2d(f|n=z}!b&Grra6$e1we0DHtV0!>3V2ZK z(3dsoig;KjiHg2^Rz%hwkR#L-p+@mwIvNZrICVvbkImt8vXq?IiIQpu+NkLo~)UWl>*F3wLjbQ?fqh zl{LuoBcxFV7foa?{Oo4gIJt%O48J^KAk`W$09t~5Vi#{a>wZrWo0D*9`sOyikBh0g zi8GPXbN#oCjs_%?D0WJ;0ZVCWibGGbfTv`V0P?&60?!i2Ja1xqHVMi`_jI}C%fGu> z#bZ#8^e|ED@S7^&o^Wo?#QMXG%zs*L=;|YUlS+Myr-zVxU0w!xOL6GrOj<%%oW4x!lIoDD;UZZrgTDA96+9LEo`0-%yQI3VBBZ`;QX=pc41R#)(1_6?X zlHK*`a5-_O|4;6m#C}vS8B&@9TM!=_T&F(pWQ6LlSE=Qf!Z5gB%&A^glelN?re}Y)Xrd z!6xMzX&c!x>;H&U#o<^`F6b937k8=ci5&=JN@#iUaAC=}Mb+OPNfJ753dg)1pbJ*L ziJFe2vR+@Pc;INs?jK(vYV3FDfd~wS>bKyaZvVGMo)m?dyADEab1rX3v`%?0Ih$8eMZB944&7os#8D2 zp6w5}DNE4u z2KG{hCvy4_zwSHe2M_%H?$Vxby;YSL7e6!!tUJGz;@=U}78c|4FuMR! z$NEp*LPx)*Lq}!ab;G12+NZNhHLSQMHMz3MHhR9tgVt~{`Up=lOmVC#&cTybaqel~ zA)jSaOpLm)_3wR?p+wpJf1O$vtdkMtR3xdu$C)FvkBvrxP;2=V113~gpl?cd^qG`r_dX4`1W9d(g= z5PesvGcT=8tl34UW0f9h)wlg1+E79Ds0bhDa)PSi331%cmE%5=EQIphv zL}CZlpBe=ONEK|Q*$b*__%t<>hR$j8f@Drv>-y*zHNjoif;NT;X5pQl0j#no$^U#t zdQoScul1Zl-D`avMDuA*P#XQy>`r)0N7UY`I%4Q&)lu`(6uODz2y*wzB+M3)dRm`gdmT6G;H&>%N zwXZgR;|aI* zPYWKoi=?gjvrEe6LW4$1>0-7-JGH32Na%8LSmGOnbS=ZFzS136&D)?*8b3Ymjc6?V zj?Pi;P;L-3&7mfya1=FIKVvPw2uBDUPOB)mnUPo)NxsY@N1&kBvB>m@hxBgrm@_tY zQQu5o8`D(jn7CjSbj}`+vk<*U`s8 z+gF&beexew@gm}ENm!)|$d#9rdG^8|A}x}a+0{ksTOKQ?*0#;UW7YGTniREY6TGg! zO6(=A&x+pFDKgD;T+6lQ^$z#%$kRve%%3d8APYxf z)(k8$OOlpo9f7+}HhADGzmd;~PHI*5J14E_5o~Y2x#Ot9<$%jeLcRNcKdDgsHqz^; ziGLRCEhZ#EltW=2!pD<0Yo8slEbA+MVvDsCc^SVbX##$}Wjj)EerU6OMvV!Zr~bD# zW2ZYMi^YuRgMmLEkR6rFd1U_3m z{CVvcSW5h?i?BpM#3wb^)~%ecn^xDK9NUPnN(va{5GK7dWPyF>duQAFG)?$CY20JD z*2k~Mw*ZX}q~UT#Wl6xh?w&5PL{@i_dA;T zt(6pW5fR(khPYR7?mD*v#j~DVE63&G1S>Q=>LcV1J7J4LVVJb#Zj{>PV*fDdA63Nv zwJL$o7p$6e*kDcSAp%&o-U0kTs(jyZ6FsvCBcvV)^%=0zHWK8CxrPmIO z_@rgU2-EFeLD~@68U}!YhvY-%G`Cw=KOUe8V}dRY;#W>RMwn*kc8Mft*dAJ+0V8Oy zKSr{Qou^7@I^J-R0o4-B2GYM6Pz`|3)#6r7udUys zhM;3rYbLpp(Xg&jllExkyN8w^`T=Em!SP(zoNn2fZRNsQ;_e+OUy`-;mpzlj)>4`A zAvxJL>T^OyFlFfsOIf#bAs*(~HF|q3{GUFeocd3Ub@j_%i^#e2-p=Rt=6y<&p8ESq znY}w5!Jj3r+7^b(4_dn4{TS~24RVeD?8k6>m$*CZQdWPXW9M5M@Ed*hE-ZAcA~Ra# zqx;ClD_535T8PH()XK>*2n`F|vfj3K4@dmAySfkdevmvjx$R2dt^cDDE9wE5e?#t6JJiZ z8xu0j-fR$i%ckrBxDAh|;fvj5IzV6bnzAicRu13#=E}$H0mT0`l=&!*d(kSxR0L0= z7eE(Fv1J`hejLsu)2K+d0G>;>sJGpfdwpyEiHI-wws!wXT-J|%@`ca(IdC8OK?E-O zvjTAPxr0OZ9eRI(-s20ZpT6r$m|pitDZl2}@MDdj^%J$mo2?9)nRPBER1DYPR9!2(DC#(usKR(7xY z&z*!pi>V!ya`*^LLoJ9L=;Y%2M znq!xlw8ETtb<6s14)^4Tib-(=LMff;-5EbAZQX z0m$V$*&ZN`I!_F=P@dV$Tn?J!afFz9Iuch-osqzr!8NxC@=9I+IJ z&H4-Y*1!&;$b|64U4GrMktmZazX>!2VkBEinPZSAo}fJ}3v98aUBQSYv{ay44 zci%f&Nm0iGxt#^SL}6M`@}EGRy(BPtSUZGIw%-xBlK$?#Z(xw5xN7{ZKZgwjVW5IE zq*D&(a_`Q$?u_(7z~dsDngI+<<9))0;L^MWhj5y(N9yr&hC9r9mZG*84UfLjl-6^5 zo^w3~Jm`ENwD)ZZ9L}4Tet(tzBcq5mloIk}?vkKX+{lYb_gE|N$y_;>0$km{M!TO_ z?(MO6%MCo;!x6UPYnZ1r3ya=ZfgUU;K}nLw{ejIl7hs-yjJ+6e$c z`1oZqW(Gb8f@!%q{qoEhC?&9{$CReppE#+u_*g-a2%-ZjZY#c|<;v-b>vxDu;ZUrK z$s1Dj2@ye0uGtQ-upEWZh|*IfT~Fp-JbK*z-;m1<=L}J~nvr#(q#^Wv2W|LQjp8(Y z*#3MnsifxJWm;qKB!K5r*xrEHV#-ajVX{c>E?u35UZ03$o9xAVT|Wm#ePE0ohdVxw zDAhZ{M6K+cV{nuoWtV4bdMl5vgk0l)92A>?px(rQ>d@&~sT{4;B=C=#}wdwD86T<2oHMLq2@ zd%H%Hf521{Q`eOmcK{O2{X3C8plrYOu@+bv;=1R?*vx`G;v@K(1YQ7Pm=gcb zHS|23da{sO3v$+zaFCz{C*`a_?;hdgwn7JBQS4~Nx&_G3E zFkK82J*;rh>9Z2kV24Asd_lK8n8gVWH!lA@p0=5}hUr#c8aGYdA}CBL(P zULBL7RFK4L5kbHrocNg9MwCfrEEydvi2d*Px+2hFsMTcD!5Yb)pnTXwO?Kw=OZzood5}`>dMdzNA>kM-)D0H5%(qqmn*v<4W4~a=nQS!= zEcOOnxL)Jw>>ubcy!iXX_WKvG9AD9?EQ5if40bNan>0I>nb&CYNY@92zDB9dOdWit zr3;N?xe4kks6Pc3>UjoQ16+NotXzTof{MwYP>}-1I^rxf*tV1O4+aLF68KLLJba@M zC9-u{QXknCiXi*-JvBM(mUPRuUAhq!9OOAxA({%{;iRlsK#-RAH^UsjB!4m5vvScrmp?oJfP36M~#oz(rjfE6`EQ|b6!UZI!oQ|;d( znMe9%nct{6$X?3;u=A@KiLbhnAJ)@fVL90TDhPfD2!d50rP!Alx|HbPW)TlnF))v9 zgt<)@v;w&Wcba(Hb%@k5ARqp|S1JtMi{Zs_>RA}D%sLi)OMaB~W1*CP<|*=2<>mlN z15|>$AX8y%EVWE`e4DM)^@`xe2eL-DMx^XetHu4gaN||)5aH=vhHlc^u*o(L{JG@X z;1UM7b4I@l?0i!Ox)H}%@GHb1U8N6Ef1uSK(nhfJau?cMht|r;aM`0dc~gpj=rLYk z%jKcU^(ZEQ30(O(*Va{sH2${c6F8z8i&wZs?aZctz&@WVT^AJDh%0$p!$k)}I3U={ ze?7#R$2VsdIkA2ff(6la;){pSV;jUkmpa3RtaJ~0r46{TjY_c{i}rJ}y&29vUY{uj zIMHV-JG_fJOHv3yiXBtkxM3dnCKZ#nij}x7ej+Q~biI#~yhV<02d~(XSGDL-M$Ox@ zY4qwBmTj9)mQeOo*wt zrldZ9u)6@`3FRKi_KwDz(+-i9Xp(M$_>g+Y9`DHZh&|N(9`;s?gKYmH4n!)f8;DK0 z%B^B)S1KRHA?Y~BtFK?4s{$IvBIy{G2ev889Z%gNG*dO0Upns20n7g}zc8C}-^Vs< zmGo05S(LapNEFRnSk_1Zb2mQ0Tib8;_B0?oKwqetvzC5Xe~xe*xxnr#{E|vf-iDpp zDtG7XSkD=-BG1AW&gRxhT0f&wb~SY*W(n{yJ)h5unZmBa|HTXS#Kr zo0LT87xZu!4r>d;Ge||C*KtE8HlVm9ln~NM6%-hvnENyX4p1b$_1lJLLqXf{f)iiL zvi0E?3=#%A(5C8eBWeNr$C2CfQo5TR>P*NugXkN%nJ~j3e>v$?t)jveLPq6Nuo6h@rqh>%bp=xDAR+w$=^Y zjYxyXj4*lT?Bl~}{)LAC@j@@HzDvyOvWv|i_+tmz1UkSO24c-cR1^BBm75B!M&o6| zkeufe($&*?`E-i6|M>(U5Y^uUz_bX_+OpQ)?vJl*cInR>b+=l0_ryD5G$Z+oFsqLb zl|2)_T?+4Ej8r`H$b3j@wpC)XB?hQ(^=X?lrBdie%zTd=PhYp~hgc$evNk$PZcx`d zGHUjDNsdo1b+&xw^Tuu9bjP)>UVR)Rv~pw4NfQLA?+NS;rJo6q45NpUkS^@^3GycH zSiIB}Co4#a#3yXn$S9c`X~h~XxGVHud&42s>P_q$4Y$oh`7zkLKkj$F)KYAP+PkjTx)7h zcSS@l{EHdxA!7pHuMofe1y9hz%LU3U zYHee?#(xb(|BT-7Io8GR8+fhT`BYLBRbjnwkKcB_UY)-p-Ev-VrhA|NP10gj5L1?( z^7ql_?^;(mdk_78Z=76yQiUN>UeM=W+`z?kh>S4?RvA5`2pK>1-K_7g4S(bR)_2qY zTi;FnUwt=DJ7$1^9Zb=%KBfFJUuFQfwLIp3{+S8SK6TITi)y`CiF(&wX zTf_Qk{Tv_awy$Hb)J96CuBNtg>);PQw}xYir$bIhyzU~(RFbjod`efT`kbROqiA{N zciOS;@r4x6nRLs4v8Fz~utrlj18dN+34ZdI5qN&_JO@<12B(sS?*!?CVI|l(=J@xw zm?MnECrtI9n5e0w8$7E@{?lDf1dLNoiv}pd8$e%EPngWcG;;pzt!QZ^6z)DJgAEsvR@jDx>kbqKu)>}E zowcMdgVv!PU#h$LHo2CFHyW|JRKfAdY$ufe1nz_mfxu($$6G^un#}kH28uNmb4qhN zS2@g3+FDcu@h5SG1ZJ-%?_sI{+drpnY}xw~4qD<9cQn=ezJaj8H{~|4!qg9P&%Z$! zdJS6;To$fIk36Dh(artN8^7PjR&x8Yj5Tn~p`5~(4yjbbrJ2z&^VUw?K{2*g1J+ID zl_azlmu{6y+))a#_GF50cGCBr!;5<3 zkxq?u*Td#oRU(FI7?_YVHOxBVfT_Js_X?5hfAF%dvjh^Kdr6BpXrr}v6$S%ZtCf)*WT+?Bva4o?66nlwZdM;zSpV}0-e7stvysolS+l*A zeBx^4?{;V117t}YOHtrr-{!`FwC*?3x4$D{n{HIS9`-rthWD5@Cl-gPTZb@euvzn;HIR9ythY%K^TI@P@#*! zYX^>G@Ib+PMa9~Z1k5itzfW;~;ra|{o&CwAS{TfpHtH{3u!gE!vBTKom}9*yZFzH5 zoG9PM!+t|pi3k(qPD8TGe$C4p2w4WgUw>Mns%F3?i?ubnx7IqzOB48!50ktS0=pIE zvBAw2;MRUfGppR962n>3ui8D={;q-&_27gSFR3X7Ds7Gq;Pnh*8GI>WsN^aTNUTtd z4%4TdR)7+un>x96kHS7kVbLY)>Ii%CUJoG|1$X$x;#Fy1Y zWAnb7cnz)fMqv=NJtn_eq&)wLV!G_wy!4v!{6#7R>&YI`tWI&8D3f!Z{rrbWHp@;D zhpJ9*zv@o4SsZ7cbVxPMuMK4rW)_*8`@x}-bd(*!>faQ4pq2BPmgqqtvsBlV4`GaN zzm$e~h?5LHQ3)M{)eXcRTV51S>=|mBWnt)aHdKz+6kpp0 z`!=5`;Qoks#Ri-KzFYsbtIh zzj5@?gu#DS43rM9z_=w$_&$_{O*Apovb~34cMb`%iyqQR7EOEJOV%4(1?%Xf)+?fx zud`2`>o5?lkF032jy{JJ-<~aG4@)tzyQLu9HGZQFh~dZZr3IsEp_yJE2yFhx%v!UO`PqDveejMl_qHL0ey*m8;o7|xvj+uxM|<% z)?&v#9~5@Rt60US;8$sn++V^`?`j4^W}So5W%{Q9i(efur`syp$^!qW7Zc6a$D|f$ z@g&C&c49|tCEbb`Ut1){dOm`B1^Y;UeJ8P&!b=HHEg`gr$b4oQ{7aQ&TXX6WRCcGr=^VuOdWl7utInJ51^ zXWv)l4c?YU?ISvCy3;kpfm3YHg~f*KSM8gT{BB6AlOm+gUhC(le+<} zMh``@xIs_%oK+3uES~>4c!vhg_|ui4v#xfn-yEg`<{h|BnBw0mGIk=8DJ`D`Ot*z* zao{!#q>oKW{4u~xRe94Z$=U3XJ7A3w#Thm!Dk5o>P2zg`qFCJKJX0m+i3(u+mt99- z-Oh?@wy%i}dT4zm;2;1C9HK9SIimO7PK-k_$ zmr6$X1=*6}{Sv<3_ieuyi+Pt{2$4M%iA|qcR`RHRB%H(q)oS+_7qrN6n zYa^O=T0fK9!8MT!w1issP3Dj9ENW�)ZQudvGWHWY^>XHUxF#qIj8QcaBuIjpov$ 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 literal 0 HcmV?d00001 diff --git a/assets/images/expensify-logo--adhoc.svg b/assets/images/expensify-logo--adhoc.svg index 273002deca9b..52b381dc4b78 100644 --- a/assets/images/expensify-logo--adhoc.svg +++ b/assets/images/expensify-logo--adhoc.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/assets/images/expensify-logo--dev.svg b/assets/images/expensify-logo--dev.svg index e8e3fb5033d9..2c9ae142e283 100644 --- a/assets/images/expensify-logo--dev.svg +++ b/assets/images/expensify-logo--dev.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/assets/images/expensify-logo--staging.svg b/assets/images/expensify-logo--staging.svg index 78dcc1581f99..a1e7482c133b 100644 --- a/assets/images/expensify-logo--staging.svg +++ b/assets/images/expensify-logo--staging.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/assets/images/home-background--mobile-new.svg b/assets/images/home-background--mobile-new.svg index 0da937cae059..d81f2a18cc78 100644 --- a/assets/images/home-background--mobile-new.svg +++ b/assets/images/home-background--mobile-new.svg @@ -1,8835 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/new-expensify.svg b/assets/images/new-expensify.svg index 38276ecd9385..7bfef1fd38b4 100644 --- a/assets/images/new-expensify.svg +++ b/assets/images/new-expensify.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/images/product-illustrations/payment-hands.svg b/assets/images/product-illustrations/payment-hands.svg index bf76b528ee76..2dbebd24994b 100644 --- a/assets/images/product-illustrations/payment-hands.svg +++ b/assets/images/product-illustrations/payment-hands.svg @@ -1 +1,140 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/product-illustrations/telescope.svg b/assets/images/product-illustrations/telescope.svg index 95617c801789..1830dff0fe3c 100644 --- a/assets/images/product-illustrations/telescope.svg +++ b/assets/images/product-illustrations/telescope.svg @@ -1,79 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/signIn/google-logo.svg b/assets/images/signIn/google-logo.svg index 4fbdc804a0a2..169ea34b23ee 100644 --- a/assets/images/signIn/google-logo.svg +++ b/assets/images/signIn/google-logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__bigrocket.svg b/assets/images/simple-illustrations/simple-illustration__bigrocket.svg index 1afd5f66b6ea..64d6dc2200f0 100644 --- a/assets/images/simple-illustrations/simple-illustration__bigrocket.svg +++ b/assets/images/simple-illustrations/simple-illustration__bigrocket.svg @@ -1,100 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__commentbubbles.svg b/assets/images/simple-illustrations/simple-illustration__commentbubbles.svg index 829d3ee2e3fe..ab9d3ae4db70 100644 --- a/assets/images/simple-illustrations/simple-illustration__commentbubbles.svg +++ b/assets/images/simple-illustrations/simple-illustration__commentbubbles.svg @@ -1,22 +1 @@ - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__handcard.svg b/assets/images/simple-illustrations/simple-illustration__handcard.svg index 7419b33d425c..a49e0ee5b77f 100644 --- a/assets/images/simple-illustrations/simple-illustration__handcard.svg +++ b/assets/images/simple-illustrations/simple-illustration__handcard.svg @@ -1,41 +1 @@ - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__hotdogstand.svg b/assets/images/simple-illustrations/simple-illustration__hotdogstand.svg index 471b978bb97e..5b5e12a99a9b 100644 --- a/assets/images/simple-illustrations/simple-illustration__hotdogstand.svg +++ b/assets/images/simple-illustrations/simple-illustration__hotdogstand.svg @@ -1,98 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__hourglass.svg b/assets/images/simple-illustrations/simple-illustration__hourglass.svg index 539e1e45b795..683e74a657e8 100644 --- a/assets/images/simple-illustrations/simple-illustration__hourglass.svg +++ b/assets/images/simple-illustrations/simple-illustration__hourglass.svg @@ -1,56 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__mailbox.svg b/assets/images/simple-illustrations/simple-illustration__mailbox.svg index 81b1f508fb52..7af7c71e24f3 100644 --- a/assets/images/simple-illustrations/simple-illustration__mailbox.svg +++ b/assets/images/simple-illustrations/simple-illustration__mailbox.svg @@ -1,71 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__smallrocket.svg b/assets/images/simple-illustrations/simple-illustration__smallrocket.svg index 0f8f166c849f..388bb968a762 100644 --- a/assets/images/simple-illustrations/simple-illustration__smallrocket.svg +++ b/assets/images/simple-illustrations/simple-illustration__smallrocket.svg @@ -1,45 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/simple-illustrations/simple-illustration__trashcan.svg b/assets/images/simple-illustrations/simple-illustration__trashcan.svg index 4e66efa0a67e..66cc9ee27550 100644 --- a/assets/images/simple-illustrations/simple-illustration__trashcan.svg +++ b/assets/images/simple-illustrations/simple-illustration__trashcan.svg @@ -1,52 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/assets/images/thumbs-up.svg b/assets/images/thumbs-up.svg index ef81c88fc854..3e2a4a5125b6 100644 --- a/assets/images/thumbs-up.svg +++ b/assets/images/thumbs-up.svg @@ -1,8 +1 @@ - - - - - + \ No newline at end of file diff --git a/babel.config.js b/babel.config.js index d8ad66917b82..0a17f2b0f01c 100644 --- a/babel.config.js +++ b/babel.config.js @@ -22,7 +22,7 @@ const webpack = { }; const metro = { - presets: [require('metro-react-native-babel-preset')], + presets: [require('@react-native/babel-preset')], plugins: [ // This is needed due to a react-native bug: https://github.com/facebook/react-native/issues/29084#issuecomment-1030732709 // It is included in metro-react-native-babel-preset but needs to be before plugin-proposal-class-properties or FlatList will break diff --git a/contributingGuides/CONTRIBUTING.md b/contributingGuides/CONTRIBUTING.md index 6e02cae677bb..186d7def3423 100644 --- a/contributingGuides/CONTRIBUTING.md +++ b/contributingGuides/CONTRIBUTING.md @@ -5,7 +5,7 @@ Welcome! Thanks for checking out the New Expensify app and taking the time to co If you would like to become an Expensify contributor, the first step is to read this document in its **entirety**. The second step is to review the README guidelines [here](https://github.com/Expensify/App/blob/main/README.md) to understand our coding philosophy and for a general overview of the code repository (i.e. how to run the app locally, testing, storage, our app philosophy, etc). Please read both documents before asking questions, as it may be covered within the documentation. #### Test Accounts -You can create as many accounts as needed in order to test your changes directly from [the app](https://new.expensify.com/). An initial account can be created when logging in for the first time, and additional accounts can be created by opening the "New Chat" or "Group Chat" pages via the Global Create menu, inputting a valid email or phone number, and tapping the user's avatar. +You can create as many accounts as needed in order to test your changes directly from [the app](https://new.expensify.com/). An initial account can be created when logging in for the first time, and additional accounts can be created by opening the "New Chat" or "Group Chat" pages via the Global Create menu, inputting a valid email or phone number, and tapping the user's avatar. Do use Expensify employee or customer accounts for testing. **Notes**: diff --git a/desktop/main.js b/desktop/main.js index 5ae02377e2b9..c9d614d3de15 100644 --- a/desktop/main.js +++ b/desktop/main.js @@ -511,6 +511,15 @@ const mainWindow = () => { } }); + browserWindow.on('swipe', (e, direction) => { + if (direction === 'right') { + browserWindow.webContents.goBack(); + } + if (direction === 'left') { + browserWindow.webContents.goForward(); + } + }); + browserWindow.on(ELECTRON_EVENTS.FOCUS, () => { browserWindow.webContents.send(ELECTRON_EVENTS.FOCUS); }); diff --git a/docs/assets/images/send-money.svg b/docs/assets/images/send-money.svg index e858f0d5c327..7abce818f09e 100644 --- a/docs/assets/images/send-money.svg +++ b/docs/assets/images/send-money.svg @@ -1,25 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/assets/images/subscription-annual.svg b/docs/assets/images/subscription-annual.svg index a4b99a43b16e..f74ce086b2c7 100644 --- a/docs/assets/images/subscription-annual.svg +++ b/docs/assets/images/subscription-annual.svg @@ -1,23 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/ios/NewExpensify.xcodeproj/project.pbxproj b/ios/NewExpensify.xcodeproj/project.pbxproj index c239f4da183f..acd08500fc11 100644 --- a/ios/NewExpensify.xcodeproj/project.pbxproj +++ b/ios/NewExpensify.xcodeproj/project.pbxproj @@ -370,7 +370,7 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "NewExpensifyTests" */; buildPhases = ( - 89BAEBD1F6440299C91536C7 /* [CP] Check Pods Manifest.lock */, + A3D1E02743106A34295E533A /* [CP] Check Pods Manifest.lock */, 04B99F6AA578E2A877802F05 /* [Expo] Configure project */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, @@ -614,7 +614,7 @@ "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipMessageCenterResources.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipPreferenceCenterResources.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/GoogleSignIn/GoogleSignIn.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( @@ -624,7 +624,7 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipMessageCenterResources.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipPreferenceCenterResources.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -688,7 +688,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 89BAEBD1F6440299C91536C7 /* [CP] Check Pods Manifest.lock */ = { + A3D1E02743106A34295E533A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -783,7 +783,7 @@ "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipMessageCenterResources.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipPreferenceCenterResources.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/GoogleSignIn/GoogleSignIn.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( @@ -793,7 +793,7 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipMessageCenterResources.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipPreferenceCenterResources.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -946,7 +946,7 @@ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 368M544MTT; ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/NewExpensify/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -984,7 +984,7 @@ DEVELOPMENT_TEAM = 368M544MTT; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 368M544MTT; INFOPLIST_FILE = NewExpensify/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1573,9 +1573,15 @@ ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "$(inherited)"; OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); PRODUCT_BUNDLE_IDENTIFIER = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; }; name = DebugDevelopment; }; @@ -1633,10 +1639,16 @@ MTL_ENABLE_DEBUG_INFO = NO; OTHER_CFLAGS = "$(inherited)"; OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); PRODUCT_BUNDLE_IDENTIFIER = ""; PRODUCT_NAME = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; VALIDATE_PRODUCT = YES; }; name = ReleaseDevelopment; @@ -1703,9 +1715,15 @@ ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "$(inherited)"; OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); PRODUCT_BUNDLE_IDENTIFIER = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; }; name = DebugProduction; }; @@ -1724,7 +1742,7 @@ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 368M544MTT; ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/NewExpensify/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1839,9 +1857,15 @@ ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "$(inherited)"; OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); PRODUCT_BUNDLE_IDENTIFIER = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; }; name = DebugAdHoc; }; @@ -1860,7 +1884,7 @@ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 368M544MTT; ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/NewExpensify/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1967,10 +1991,16 @@ MTL_ENABLE_DEBUG_INFO = NO; OTHER_CFLAGS = "$(inherited)"; OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); PRODUCT_BUNDLE_IDENTIFIER = ""; PRODUCT_NAME = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; VALIDATE_PRODUCT = YES; }; name = ReleaseProduction; @@ -1989,7 +2019,7 @@ DEVELOPMENT_TEAM = 368M544MTT; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 368M544MTT; INFOPLIST_FILE = NewExpensify/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2093,10 +2123,16 @@ MTL_ENABLE_DEBUG_INFO = NO; OTHER_CFLAGS = "$(inherited)"; OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); PRODUCT_BUNDLE_IDENTIFIER = ""; PRODUCT_NAME = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; VALIDATE_PRODUCT = YES; }; name = ReleaseAdHoc; @@ -2115,7 +2151,7 @@ DEVELOPMENT_TEAM = 368M544MTT; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 368M544MTT; INFOPLIST_FILE = NewExpensify/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/ios/NewExpensify/AppDelegate.mm b/ios/NewExpensify/AppDelegate.mm index 7dbdb20c73b5..f5ddba46f5f1 100644 --- a/ios/NewExpensify/AppDelegate.mm +++ b/ios/NewExpensify/AppDelegate.mm @@ -67,7 +67,13 @@ - (BOOL)application:(UIApplication *)application restorationHandler:restorationHandler]; } -- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ + return [self getBundleURL]; +} + +- (NSURL *)getBundleURL +{ #if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 2dc6d59d5e4f..c76c947aafd9 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.4.24 + 1.4.25 CFBundleSignature ???? CFBundleURLTypes @@ -40,7 +40,7 @@ CFBundleVersion - 1.4.24.4 + 1.4.25.7 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes @@ -54,24 +54,9 @@ NSAppTransportSecurity NSAllowsArbitraryLoads + + NSAllowsLocalNetworking - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - NSIncludesSubdomains - - - www.expensify.com.dev - - NSExceptionAllowsInsecureHTTPLoads - - NSIncludesSubdomains - - - NSCameraUsageDescription Your camera is used to create chat attachments, documents, and facial capture. diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index 5f68b5ba2579..1dde1a528b3c 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.4.24 + 1.4.25 CFBundleSignature ???? CFBundleVersion - 1.4.24.4 + 1.4.25.7 diff --git a/ios/NotificationServiceExtension/Info.plist b/ios/NotificationServiceExtension/Info.plist index ccc7422fe3b4..b840fa5cd80a 100644 --- a/ios/NotificationServiceExtension/Info.plist +++ b/ios/NotificationServiceExtension/Info.plist @@ -2,6 +2,10 @@ + CFBundleShortVersionString + 1.4.25 + CFBundleVersion + 1.4.25.7 NSExtension NSExtensionPointIdentifier @@ -9,9 +13,5 @@ NSExtensionPrincipalClass $(PRODUCT_MODULE_NAME).NotificationService - CFBundleVersion - 1.4.23.0 - CFBundleShortVersionString - 1.4.23 - \ No newline at end of file + diff --git a/ios/Podfile b/ios/Podfile index c12596d3191e..aa87c3e295f3 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -16,7 +16,7 @@ node_require('react-native/scripts/react_native_pods.rb') node_require('react-native-permissions/scripts/setup.rb') # Our min supported iOS version is higher than the default (min_ios_version_supported) to support libraires such as Airship -platform :ios, 13 +platform :ios, 13.4 prepare_react_native_project! setup_permissions([ @@ -84,14 +84,8 @@ target 'NewExpensify' do config = use_native_modules! - # Flags change depending on the env values. - flags = get_default_flags() - use_react_native!( :path => config[:reactNativePath], - # Hermes is now enabled by default. Disable by setting this flag to false. - :hermes_enabled => flags[:hermes_enabled], - :fabric_enabled => flags[:fabric_enabled], # Enables Flipper. # # Note that if you have use_frameworks! enabled, Flipper will not work and @@ -117,7 +111,6 @@ target 'NewExpensify' do config[:reactNativePath], :mac_catalyst_enabled => false ) - __apply_Xcode_12_5_M1_post_install_workaround(installer) __apply_Xcode_14_3_RC_post_install_workaround(installer) installer.pods_project.targets.each do |target| diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 77c390c46416..f433c4f1e1e2 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -27,35 +27,34 @@ PODS: - AppAuth/Core (1.6.2) - AppAuth/ExternalUserAgent (1.6.2): - AppAuth/Core - - boost (1.76.0) + - boost (1.83.0) - BVLinearGradient (2.8.1): - React-Core - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - EXApplication (5.3.1): + - Expo (50.0.0-preview.7): - ExpoModulesCore - - Expo (49.0.21): - - ExpoModulesCore - - ExpoImage (1.8.1): + - ExpoImage (1.10.1): - ExpoModulesCore - SDWebImage (~> 5.17.0) - SDWebImageAVIFCoder (~> 0.10.1) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.13.0) - - ExpoModulesCore (1.5.12): - - RCT-Folly (= 2021.07.22.00) + - ExpoModulesCore (1.11.4): + - glog + - RCT-Folly (= 2022.05.16.00) - React-Core - React-NativeModulesApple - React-RCTAppDelegate - ReactCommon/turbomodule/core - - FBLazyVector (0.72.4) - - FBReactNativeSpec (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.72.4) - - RCTTypeSafety (= 0.72.4) - - React-Core (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) + - FBLazyVector (0.73.2) + - FBReactNativeSpec (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - RCTRequired (= 0.73.2) + - RCTTypeSafety (= 0.73.2) + - React-Core (= 0.73.2) + - React-jsi (= 0.73.2) + - ReactCommon/turbomodule/core (= 0.73.2) - Firebase/Analytics (8.8.0): - Firebase/Core - Firebase/Core (8.8.0): @@ -125,7 +124,7 @@ PODS: - FirebaseInstallations (~> 8.0) - GoogleUtilities/Environment (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - - Flipper (0.182.0): + - Flipper (0.201.0): - Flipper-Folly (~> 2.6) - Flipper-Boost-iOSX (1.76.0.1.11) - Flipper-DoubleConversion (3.2.0.1) @@ -139,48 +138,46 @@ PODS: - OpenSSL-Universal (= 1.1.1100) - Flipper-Glog (0.5.0.5) - Flipper-PeerTalk (0.0.4) - - FlipperKit (0.182.0): - - FlipperKit/Core (= 0.182.0) - - FlipperKit/Core (0.182.0): - - Flipper (~> 0.182.0) + - FlipperKit (0.201.0): + - FlipperKit/Core (= 0.201.0) + - FlipperKit/Core (0.201.0): + - Flipper (~> 0.201.0) - FlipperKit/CppBridge - FlipperKit/FBCxxFollyDynamicConvert - FlipperKit/FBDefines - FlipperKit/FKPortForwarding - SocketRocket (~> 0.6.0) - - FlipperKit/CppBridge (0.182.0): - - Flipper (~> 0.182.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.182.0): + - FlipperKit/CppBridge (0.201.0): + - Flipper (~> 0.201.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.201.0): - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.182.0) - - FlipperKit/FKPortForwarding (0.182.0): + - FlipperKit/FBDefines (0.201.0) + - FlipperKit/FKPortForwarding (0.201.0): - CocoaAsyncSocket (~> 7.6) - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.182.0) - - FlipperKit/FlipperKitLayoutHelpers (0.182.0): + - FlipperKit/FlipperKitHighlightOverlay (0.201.0) + - FlipperKit/FlipperKitLayoutHelpers (0.201.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0): + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.201.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutHelpers - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutPlugin (0.182.0): + - FlipperKit/FlipperKitLayoutPlugin (0.201.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutHelpers - FlipperKit/FlipperKitLayoutIOSDescriptors - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0) - - FlipperKit/FlipperKitNetworkPlugin (0.182.0): + - FlipperKit/FlipperKitLayoutTextSearchable (0.201.0) + - FlipperKit/FlipperKitNetworkPlugin (0.201.0): - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.182.0): + - FlipperKit/FlipperKitReactPlugin (0.201.0): - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0): + - FlipperKit/FlipperKitUserDefaultsPlugin (0.201.0): - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.182.0): + - FlipperKit/SKIOSNetworkPlugin (0.201.0): - FlipperKit/Core - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) @@ -205,7 +202,7 @@ PODS: - GoogleUtilities/Network (~> 7.4) - "GoogleUtilities/NSData+zlib (~> 7.4)" - nanopb (~> 2.30908.0) - - GoogleDataTransport (9.2.3): + - GoogleDataTransport (9.3.0): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) @@ -213,33 +210,33 @@ PODS: - AppAuth (~> 1.5) - GTMAppAuth (< 3.0, >= 1.3) - GTMSessionFetcher/Core (< 4.0, >= 1.1) - - GoogleUtilities/AppDelegateSwizzler (7.11.1): + - GoogleUtilities/AppDelegateSwizzler (7.12.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.11.1): + - GoogleUtilities/Environment (7.12.0): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/ISASwizzler (7.11.1) - - GoogleUtilities/Logger (7.11.1): + - GoogleUtilities/ISASwizzler (7.12.0) + - GoogleUtilities/Logger (7.12.0): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.11.1): + - GoogleUtilities/MethodSwizzler (7.12.0): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.11.1): + - GoogleUtilities/Network (7.12.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.11.1)" - - GoogleUtilities/Reachability (7.11.1): + - "GoogleUtilities/NSData+zlib (7.12.0)" + - GoogleUtilities/Reachability (7.12.0): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.11.1): + - GoogleUtilities/UserDefaults (7.12.0): - GoogleUtilities/Logger - GTMAppAuth (2.0.0): - AppAuth/Core (~> 1.6) - GTMSessionFetcher/Core (< 4.0, >= 1.5) - - GTMSessionFetcher/Core (3.1.1) - - hermes-engine (0.72.4): - - hermes-engine/Pre-built (= 0.72.4) - - hermes-engine/Pre-built (0.72.4) + - GTMSessionFetcher/Core (3.2.0) + - hermes-engine (0.73.2): + - hermes-engine/Pre-built (= 0.73.2) + - hermes-engine/Pre-built (0.73.2) - libaom (3.0.0): - libvmaf (>= 2.2.0) - libavif (0.11.1): @@ -262,8 +259,8 @@ PODS: - libwebp/sharpyuv (1.3.2) - libwebp/webp (1.3.2): - libwebp/sharpyuv - - lottie-ios (4.3.3) - - lottie-react-native (6.4.0): + - lottie-ios (4.3.4) + - lottie-react-native (6.4.1): - lottie-ios (~> 4.3.3) - React-Core - MapboxCommon (23.6.0) @@ -280,50 +277,55 @@ PODS: - nanopb/encode (= 2.30908.0) - nanopb/decode (2.30908.0) - nanopb/encode (2.30908.0) - - Onfido (28.3.0) + - Onfido (28.3.1) - onfido-react-native-sdk (8.3.0): - Onfido (~> 28.3.0) - React - OpenSSL-Universal (1.1.1100) - Plaid (4.7.0) - - PromisesObjC (2.2.0) - - RCT-Folly (2021.07.22.00): + - PromisesObjC (2.3.1) + - RCT-Folly (2022.05.16.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Default (= 2022.05.16.00) + - RCT-Folly/Default (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Default (= 2021.07.22.00) - - RCT-Folly/Default (2021.07.22.00): + - RCT-Folly/Fabric (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Futures (2021.07.22.00): + - RCT-Folly/Futures (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - libevent - - RCTRequired (0.72.4) - - RCTTypeSafety (0.72.4): - - FBLazyVector (= 0.72.4) - - RCTRequired (= 0.72.4) - - React-Core (= 0.72.4) - - React (0.72.4): - - React-Core (= 0.72.4) - - React-Core/DevSupport (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-RCTActionSheet (= 0.72.4) - - React-RCTAnimation (= 0.72.4) - - React-RCTBlob (= 0.72.4) - - React-RCTImage (= 0.72.4) - - React-RCTLinking (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - React-RCTSettings (= 0.72.4) - - React-RCTText (= 0.72.4) - - React-RCTVibration (= 0.72.4) - - React-callinvoker (0.72.4) - - React-Codegen (0.72.4): + - RCTRequired (0.73.2) + - RCTTypeSafety (0.73.2): + - FBLazyVector (= 0.73.2) + - RCTRequired (= 0.73.2) + - React-Core (= 0.73.2) + - React (0.73.2): + - React-Core (= 0.73.2) + - React-Core/DevSupport (= 0.73.2) + - React-Core/RCTWebSocket (= 0.73.2) + - React-RCTActionSheet (= 0.73.2) + - React-RCTAnimation (= 0.73.2) + - React-RCTBlob (= 0.73.2) + - React-RCTImage (= 0.73.2) + - React-RCTLinking (= 0.73.2) + - React-RCTNetwork (= 0.73.2) + - React-RCTSettings (= 0.73.2) + - React-RCTText (= 0.73.2) + - React-RCTVibration (= 0.73.2) + - React-callinvoker (0.73.2) + - React-Codegen (0.73.2): - DoubleConversion - FBReactNativeSpec - glog @@ -338,255 +340,821 @@ PODS: - React-rncore - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-Core (0.72.4): + - React-Core (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) + - RCT-Folly (= 2022.05.16.00) + - React-Core/Default (= 0.73.2) - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/CoreModulesHeaders (0.72.4): + - React-Core/CoreModulesHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/Default (0.72.4): + - React-Core/Default (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/DevSupport (0.72.4): + - React-Core/DevSupport (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) + - RCT-Folly (= 2022.05.16.00) + - React-Core/Default (= 0.73.2) + - React-Core/RCTWebSocket (= 0.73.2) - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - - React-jsinspector (= 0.72.4) + - React-jsinspector (= 0.73.2) - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.72.4): + - React-Core/RCTActionSheetHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTAnimationHeaders (0.72.4): + - React-Core/RCTAnimationHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTBlobHeaders (0.72.4): + - React-Core/RCTBlobHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTImageHeaders (0.72.4): + - React-Core/RCTImageHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTLinkingHeaders (0.72.4): + - React-Core/RCTLinkingHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTNetworkHeaders (0.72.4): + - React-Core/RCTNetworkHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTSettingsHeaders (0.72.4): + - React-Core/RCTSettingsHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTTextHeaders (0.72.4): + - React-Core/RCTTextHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTVibrationHeaders (0.72.4): + - React-Core/RCTVibrationHeaders (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTWebSocket (0.72.4): + - React-Core/RCTWebSocket (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) + - RCT-Folly (= 2022.05.16.00) + - React-Core/Default (= 0.73.2) - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-CoreModules (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/CoreModulesHeaders (= 0.72.4) - - React-jsi (= 0.72.4) + - React-CoreModules (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - RCTTypeSafety (= 0.73.2) + - React-Codegen + - React-Core/CoreModulesHeaders (= 0.73.2) + - React-jsi (= 0.73.2) + - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTImage (= 0.73.2) + - ReactCommon - SocketRocket (= 0.6.1) - - React-cxxreact (0.72.4): - - boost (= 1.76.0) + - React-cxxreact (0.73.2): + - boost (= 1.83.0) + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) + - React-callinvoker (= 0.73.2) + - React-debug (= 0.73.2) + - React-jsi (= 0.73.2) + - React-jsinspector (= 0.73.2) + - React-logger (= 0.73.2) + - React-perflogger (= 0.73.2) + - React-runtimeexecutor (= 0.73.2) + - React-debug (0.73.2) + - React-Fabric (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.73.2) + - React-Fabric/attributedstring (= 0.73.2) + - React-Fabric/componentregistry (= 0.73.2) + - React-Fabric/componentregistrynative (= 0.73.2) + - React-Fabric/components (= 0.73.2) + - React-Fabric/core (= 0.73.2) + - React-Fabric/imagemanager (= 0.73.2) + - React-Fabric/leakchecker (= 0.73.2) + - React-Fabric/mounting (= 0.73.2) + - React-Fabric/scheduler (= 0.73.2) + - React-Fabric/telemetry (= 0.73.2) + - React-Fabric/templateprocessor (= 0.73.2) + - React-Fabric/textlayoutmanager (= 0.73.2) + - React-Fabric/uimanager (= 0.73.2) + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/animations (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/attributedstring (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistry (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistrynative (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/inputaccessory (= 0.73.2) + - React-Fabric/components/legacyviewmanagerinterop (= 0.73.2) + - React-Fabric/components/modal (= 0.73.2) + - React-Fabric/components/rncore (= 0.73.2) + - React-Fabric/components/root (= 0.73.2) + - React-Fabric/components/safeareaview (= 0.73.2) + - React-Fabric/components/scrollview (= 0.73.2) + - React-Fabric/components/text (= 0.73.2) + - React-Fabric/components/textinput (= 0.73.2) + - React-Fabric/components/unimplementedview (= 0.73.2) + - React-Fabric/components/view (= 0.73.2) + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/inputaccessory (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/legacyviewmanagerinterop (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/modal (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/rncore (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/root (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/safeareaview (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/scrollview (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/text (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/textinput (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/unimplementedview (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/view (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric/core (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/imagemanager (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/leakchecker (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/mounting (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/scheduler (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/telemetry (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/templateprocessor (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/textlayoutmanager (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager (0.73.2): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-debug (= 0.72.4) - - React-jsi (= 0.72.4) - - React-jsinspector (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-runtimeexecutor (= 0.72.4) - - React-debug (0.72.4) - - React-hermes (0.72.4): + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-FabricImage (0.73.2): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.72.4) + - RCT-Folly/Fabric (= 2022.05.16.00) + - RCTRequired (= 0.73.2) + - RCTTypeSafety (= 0.73.2) + - React-Fabric + - React-graphics + - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.72.4) - - React-jsinspector (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-jsi (0.72.4): - - boost (= 1.76.0) + - React-jsiexecutor (= 0.73.2) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - Yoga + - React-graphics (0.73.2): + - glog + - RCT-Folly/Fabric (= 2022.05.16.00) + - React-Core/Default (= 0.73.2) + - React-utils + - React-hermes (0.73.2): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.72.4): + - RCT-Folly (= 2022.05.16.00) + - RCT-Folly/Futures (= 2022.05.16.00) + - React-cxxreact (= 0.73.2) + - React-jsi + - React-jsiexecutor (= 0.73.2) + - React-jsinspector (= 0.73.2) + - React-perflogger (= 0.73.2) + - React-ImageManager (0.73.2): + - glog + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - React-jserrorhandler (0.73.2): + - RCT-Folly/Fabric (= 2022.05.16.00) + - React-debug + - React-jsi + - React-Mapbuffer + - React-jsi (0.73.2): + - boost (= 1.83.0) - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-jsinspector (0.72.4) - - React-logger (0.72.4): + - RCT-Folly (= 2022.05.16.00) + - React-jsiexecutor (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) + - React-cxxreact (= 0.73.2) + - React-jsi (= 0.73.2) + - React-perflogger (= 0.73.2) + - React-jsinspector (0.73.2) + - React-logger (0.73.2): + - glog + - React-Mapbuffer (0.73.2): + - glog + - React-debug - react-native-airship (15.3.1): - AirshipFrameworkProxy (= 2.1.1) - React-Core @@ -600,8 +1168,6 @@ PODS: - React-Core - react-native-document-picker (8.2.1): - React-Core - - react-native-flipper (0.159.0): - - React-Core - react-native-geolocation (3.0.6): - React-Core - react-native-image-manipulator (1.0.5): @@ -610,9 +1176,9 @@ PODS: - React-Core - react-native-key-command (1.0.6): - React-Core - - react-native-netinfo (9.3.10): + - react-native-netinfo (11.2.1): - React-Core - - react-native-pager-view (6.2.0): + - react-native-pager-view (6.2.2): - React-Core - react-native-pdf (6.7.3): - React-Core @@ -627,17 +1193,15 @@ PODS: - React-Core - react-native-render-html (6.3.1): - React-Core - - react-native-safe-area-context (4.4.1): - - RCT-Folly - - RCTRequired - - RCTTypeSafety + - react-native-safe-area-context (4.7.4): - React-Core - - ReactCommon/turbomodule/core - - react-native-view-shot (3.6.0): + - react-native-view-shot (3.8.0): - React-Core - - react-native-webview (11.23.0): + - react-native-webview (13.6.3): - React-Core - - React-NativeModulesApple (0.72.4): + - React-nativeconfig (0.73.2) + - React-NativeModulesApple (0.73.2): + - glog - hermes-engine - React-callinvoker - React-Core @@ -646,114 +1210,169 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.72.4) - - React-RCTActionSheet (0.72.4): - - React-Core/RCTActionSheetHeaders (= 0.72.4) - - React-RCTAnimation (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTAnimationHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTAppDelegate (0.72.4): + - React-perflogger (0.73.2) + - React-RCTActionSheet (0.73.2): + - React-Core/RCTActionSheetHeaders (= 0.73.2) + - React-RCTAnimation (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTAnimationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTAppDelegate (0.73.2): - RCT-Folly - RCTRequired - RCTTypeSafety - React-Core - React-CoreModules - React-hermes + - React-nativeconfig - React-NativeModulesApple + - React-RCTFabric - React-RCTImage - React-RCTNetwork - React-runtimescheduler - - ReactCommon/turbomodule/core - - React-RCTBlob (0.72.4): + - ReactCommon + - React-RCTBlob (0.73.2): - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.4) - - React-Core/RCTBlobHeaders (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTImage (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTImageHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTLinking (0.72.4): - - React-Codegen (= 0.72.4) - - React-Core/RCTLinkingHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTNetwork (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTNetworkHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTSettings (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTSettingsHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTText (0.72.4): - - React-Core/RCTTextHeaders (= 0.72.4) - - React-RCTVibration (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.4) - - React-Core/RCTVibrationHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-rncore (0.72.4) - - React-runtimeexecutor (0.72.4): - - React-jsi (= 0.72.4) - - React-runtimescheduler (0.72.4): + - RCT-Folly (= 2022.05.16.00) + - React-Codegen + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-NativeModulesApple + - React-RCTNetwork + - ReactCommon + - React-RCTFabric (0.73.2): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-graphics + - React-ImageManager + - React-jsi + - React-nativeconfig + - React-RCTImage + - React-RCTText + - React-rendererdebug + - React-runtimescheduler + - React-utils + - Yoga + - React-RCTImage (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTNetwork + - ReactCommon + - React-RCTLinking (0.73.2): + - React-Codegen + - React-Core/RCTLinkingHeaders (= 0.73.2) + - React-jsi (= 0.73.2) + - React-NativeModulesApple + - ReactCommon + - ReactCommon/turbomodule/core (= 0.73.2) + - React-RCTNetwork (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTNetworkHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTSettings (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTText (0.73.2): + - React-Core/RCTTextHeaders (= 0.73.2) + - Yoga + - React-RCTVibration (0.73.2): + - RCT-Folly (= 2022.05.16.00) + - React-Codegen + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-rendererdebug (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - RCT-Folly (= 2022.05.16.00) + - React-debug + - React-rncore (0.73.2) + - React-runtimeexecutor (0.73.2): + - React-jsi (= 0.73.2) + - React-runtimescheduler (0.73.2): + - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) - React-callinvoker + - React-cxxreact - React-debug - React-jsi + - React-rendererdebug - React-runtimeexecutor - - React-utils (0.72.4): + - React-utils + - React-utils (0.73.2): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-debug - - ReactCommon/turbomodule/bridging (0.72.4): + - ReactCommon (0.73.2): + - React-logger (= 0.73.2) + - ReactCommon/turbomodule (= 0.73.2) + - ReactCommon/turbomodule (0.73.2): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - ReactCommon/turbomodule/core (0.72.4): + - RCT-Folly (= 2022.05.16.00) + - React-callinvoker (= 0.73.2) + - React-cxxreact (= 0.73.2) + - React-jsi (= 0.73.2) + - React-logger (= 0.73.2) + - React-perflogger (= 0.73.2) + - ReactCommon/turbomodule/bridging (= 0.73.2) + - ReactCommon/turbomodule/core (= 0.73.2) + - ReactCommon/turbomodule/bridging (0.73.2): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) + - RCT-Folly (= 2022.05.16.00) + - React-callinvoker (= 0.73.2) + - React-cxxreact (= 0.73.2) + - React-jsi (= 0.73.2) + - React-logger (= 0.73.2) + - React-perflogger (= 0.73.2) + - ReactCommon/turbomodule/core (0.73.2): + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) + - React-callinvoker (= 0.73.2) + - React-cxxreact (= 0.73.2) + - React-jsi (= 0.73.2) + - React-logger (= 0.73.2) + - React-perflogger (= 0.73.2) - RNAppleAuthentication (2.2.2): - React-Core - - RNCAsyncStorage (1.19.3): + - RNCAsyncStorage (1.21.0): - React-Core - RNCClipboard (1.12.1): - React-Core - - RNCPicker (2.4.4): + - RNCPicker (2.5.1): - React-Core - RNDeviceInfo (10.3.0): - React-Core @@ -776,11 +1395,13 @@ PODS: - Firebase/Performance (= 8.8.0) - React-Core - RNFBApp - - RNFlashList (1.6.1): + - RNFlashList (1.6.3): - React-Core - RNFS (2.20.0): - React-Core - - RNGestureHandler (2.12.0): + - RNGestureHandler (2.14.0): + - glog + - RCT-Folly (= 2022.05.16.00) - React-Core - RNGoogleSignin (10.0.1): - GoogleSignIn (~> 7.0) @@ -803,13 +1424,15 @@ PODS: - RNReactNativeHapticFeedback (1.14.0): - React-Core - RNReanimated (3.6.1): - - RCT-Folly (= 2021.07.22.00) + - glog + - RCT-Folly (= 2022.05.16.00) - React-Core - ReactCommon/turbomodule/core - - RNScreens (3.21.0): + - RNScreens (3.29.0): + - glog + - RCT-Folly (= 2022.05.16.00) - React-Core - - React-RCTImage - - RNSVG (13.14.0): + - RNSVG (14.0.0): - React-Core - SDWebImage (5.17.0): - SDWebImage/Core (= 5.17.0) @@ -823,46 +1446,43 @@ PODS: - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) - SocketRocket (0.6.1) - - Turf (2.6.1) + - Turf (2.7.0) - VisionCamera (2.16.2): - React - React-callinvoker - React-Core - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) DEPENDENCIES: - AirshipServiceExtension - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - - EXApplication (from `../node_modules/expo-application/ios`) - Expo (from `../node_modules/expo`) - ExpoImage (from `../node_modules/expo-image/ios`) - ExpoModulesCore (from `../node_modules/expo-modules-core`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - Flipper (= 0.182.0) + - Flipper (= 0.201.0) - Flipper-Boost-iOSX (= 1.76.0.1.11) - Flipper-DoubleConversion (= 3.2.0.1) - Flipper-Fmt (= 7.1.7) - Flipper-Folly (= 2.6.10) - Flipper-Glog (= 0.5.0.5) - Flipper-PeerTalk (= 0.0.4) - - FlipperKit (= 0.182.0) - - FlipperKit/Core (= 0.182.0) - - FlipperKit/CppBridge (= 0.182.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0) - - FlipperKit/FBDefines (= 0.182.0) - - FlipperKit/FKPortForwarding (= 0.182.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0) - - FlipperKit/FlipperKitReactPlugin (= 0.182.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) + - FlipperKit (= 0.201.0) + - FlipperKit/Core (= 0.201.0) + - FlipperKit/CppBridge (= 0.201.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.201.0) + - FlipperKit/FBDefines (= 0.201.0) + - FlipperKit/FKPortForwarding (= 0.201.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.201.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.201.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.201.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.201.0) + - FlipperKit/FlipperKitReactPlugin (= 0.201.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.201.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.201.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - libevent (~> 2.1.12) @@ -870,6 +1490,7 @@ DEPENDENCIES: - "onfido-react-native-sdk (from `../node_modules/@onfido/react-native-sdk`)" - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -881,17 +1502,22 @@ DEPENDENCIES: - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native/ReactCommon`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - "react-native-airship (from `../node_modules/@ua/react-native-airship`)" - react-native-blob-util (from `../node_modules/react-native-blob-util`) - "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)" - react-native-config (from `../node_modules/react-native-config`) - react-native-document-picker (from `../node_modules/react-native-document-picker`) - - react-native-flipper (from `../node_modules/react-native-flipper`) - "react-native-geolocation (from `../node_modules/@react-native-community/geolocation`)" - "react-native-image-manipulator (from `../node_modules/@oguzhnatly/react-native-image-manipulator`)" - react-native-image-picker (from `../node_modules/react-native-image-picker`) @@ -906,18 +1532,21 @@ DEPENDENCIES: - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - react-native-view-shot (from `../node_modules/react-native-view-shot`) - react-native-webview (from `../node_modules/react-native-webview`) + - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) @@ -999,7 +1628,6 @@ SPEC REPOS: - SDWebImageWebPCoder - SocketRocket - Turf - - YogaKit EXTERNAL SOURCES: boost: @@ -1008,8 +1636,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-linear-gradient" DoubleConversion: :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" - EXApplication: - :path: "../node_modules/expo-application/ios" Expo: :path: "../node_modules/expo" ExpoImage: @@ -1024,7 +1650,7 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 + :tag: hermes-2023-11-17-RNv0.73.0-21043a3fc062be445e56a2c10ecd8be028dd9cc5 lottie-react-native: :path: "../node_modules/lottie-react-native" onfido-react-native-sdk: @@ -1049,16 +1675,28 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/cxxreact" React-debug: :path: "../node_modules/react-native/ReactCommon/react/debug" + React-Fabric: + :path: "../node_modules/react-native/ReactCommon" + React-FabricImage: + :path: "../node_modules/react-native/ReactCommon" + React-graphics: + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" React-hermes: :path: "../node_modules/react-native/ReactCommon/hermes" + React-ImageManager: + :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jserrorhandler: + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" React-logger: :path: "../node_modules/react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../node_modules/react-native/ReactCommon" react-native-airship: :path: "../node_modules/@ua/react-native-airship" react-native-blob-util: @@ -1069,8 +1707,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-config" react-native-document-picker: :path: "../node_modules/react-native-document-picker" - react-native-flipper: - :path: "../node_modules/react-native-flipper" react-native-geolocation: :path: "../node_modules/@react-native-community/geolocation" react-native-image-manipulator: @@ -1099,6 +1735,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-view-shot" react-native-webview: :path: "../node_modules/react-native-webview" + React-nativeconfig: + :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: @@ -1111,6 +1749,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -1123,6 +1763,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-rendererdebug: + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: :path: "../node_modules/react-native/ReactCommon" React-runtimeexecutor: @@ -1185,16 +1827,15 @@ SPEC CHECKSUMS: AirshipFrameworkProxy: ea1b6c665c798637b93c465b5e505be3011f1d9d AirshipServiceExtension: 89c6e25a69f3458d9dbd581c700cffb196b61930 AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570 - boost: 57d2868c099736d80fcd648bf211b4431e51a558 + boost: d3f49c53809116a5d38da093a8aa78bf551aed09 BVLinearGradient: 421743791a59d259aec53f4c58793aad031da2ca CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - EXApplication: 042aa2e3f05258a16962ea1a9914bf288db9c9a1 - Expo: 61a8e1aa94311557c137c0a4dfd4fe78281cfbb4 - ExpoImage: e35fb1acb84c01575b4f5c5f6260906639a3320b - ExpoModulesCore: c480fd4e3c7c8e81f0a6ba3a7c56869f25fe016d - FBLazyVector: 5d4a3b7f411219a45a6d952f77d2c0a6c9989da5 - FBReactNativeSpec: 3fc2d478e1c4b08276f9dd9128f80ec6d5d85c1f + DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 + Expo: cd2dc043dd1cc3d9e8e4e035fb9a41b421e8f13f + ExpoImage: 1cdaa65a6a70bb01067e21ad1347ff2d973885f5 + ExpoModulesCore: 01c0abfa6cd9c41c4bd76d8a1a079e6b591db10f + FBLazyVector: fbc4957d9aa695250b55d879c1d86f79d7e69ab4 + FBReactNativeSpec: 86de768f89901ef6ed3207cd686362189d64ac88 Firebase: 629510f1a9ddb235f3a7c5c8ceb23ba887f0f814 FirebaseABTesting: 10cbce8db9985ae2e3847ea44e9947dd18f94e10 FirebaseAnalytics: 5506ea8b867d8423485a84b4cd612d279f7b0b8a @@ -1204,123 +1845,130 @@ SPEC CHECKSUMS: FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd FirebasePerformance: 0c01a7a496657d7cea86d40c0b1725259d164c6c FirebaseRemoteConfig: 2d6e2cfdb49af79535c8af8a80a4a5009038ec2b - Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818 + Flipper: c7a0093234c4bdd456e363f2f19b2e4b27652d44 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 + FlipperKit: 37525a5d056ef9b93d1578e04bc3ea1de940094f fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 GoogleAppMeasurement: 5ba1164e3c844ba84272555e916d0a6d3d977e91 - GoogleDataTransport: f0308f5905a745f94fb91fea9c6cbaf3831cb1bd + GoogleDataTransport: 57c22343ab29bc686febbf7cbb13bad167c2d8fe GoogleSignIn: b232380cf495a429b8095d3178a8d5855b42e842 - GoogleUtilities: 9aa0ad5a7bc171f8bae016300bfcfa3fb8425749 + GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 GTMAppAuth: 99fb010047ba3973b7026e45393f51f27ab965ae - GTMSessionFetcher: e8647203b65cee28c5f73d0f473d096653945e72 - hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 + GTMSessionFetcher: 41b9ef0b4c08a6db4b7eb51a21ae5183ec99a2c8 + hermes-engine: b361c9ef5ef3cda53f66e195599b47e1f84ffa35 libaom: 144606b1da4b5915a1054383c3a4459ccdb3c661 libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libvmaf: 27f523f1e63c694d14d534cd0fddd2fab0ae8711 libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 - lottie-ios: 25e7b2675dad5c3ddad369ac9baab03560c5bfdd - lottie-react-native: 3a3084faddd3891c276f23fd6e797b83f2021bbc + lottie-ios: 3d98679b41fa6fd6aff2352b3953dbd3df8a397e + lottie-react-native: a2ae9c27c273b060b2affff2957bc0ff7fdca353 MapboxCommon: 4a0251dd470ee37e7fadda8e285c01921a5e1eb0 MapboxCoreMaps: eb07203bbb0b1509395db5ab89cd3ad6c2e3c04c MapboxMaps: af50ec61a7eb3b032c3f7962c6bd671d93d2a209 MapboxMobileEvents: de50b3a4de180dd129c326e09cd12c8adaaa46d6 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Onfido: c7d010d9793790d44a07799d9be25aa8e3814ee7 + Onfido: 564f60c39819635ec5b549285a1eec278cc9ba67 onfido-react-native-sdk: b346a620af5669f9fecb6dc3052314a35a94ad9f OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c Plaid: 431ef9be5314a1345efb451bc5e6b067bfb3b4c6 - PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef - RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 - RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 - RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f - React: a1be3c6dc0a6e949ccd3e659781aa47bbae1868f - React-callinvoker: 1020b33f6cb1a1824f9ca2a86609fbce2a73c6ed - React-Codegen: a0a26badf098d4a779acda922caf74f6ecabed28 - React-Core: 52075b80f10c26f62219d7b5d13d7d8089f027b3 - React-CoreModules: 21abab85d7ad9038ce2b1c33d39e3baaf7dc9244 - React-cxxreact: 4ad1cc861e32fb533dad6ff7a4ea25680fa1c994 - React-debug: 17366a3d5c5d2f5fc04f09101a4af38cb42b54ae - React-hermes: 37377d0a56aa0cf55c65248271866ce3268cde3f - React-jsi: 6de8b0ccc6b765b58e4eee9ee38049dbeaf5c221 - React-jsiexecutor: c7f826e40fa9cab5d37cab6130b1af237332b594 - React-jsinspector: aaed4cf551c4a1c98092436518c2d267b13a673f - React-logger: da1ebe05ae06eb6db4b162202faeafac4b435e77 + PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 + RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0 + RCTRequired: 9b1e7e262745fb671e33c51c1078d093bd30e322 + RCTTypeSafety: a759e3b086eccf3e2cbf2493d22f28e082f958e6 + React: 805f5dd55bbdb92c36b4914c64aaae4c97d358dc + React-callinvoker: 6a697867607c990c2c2c085296ee32cfb5e47c01 + React-Codegen: c4447ffa339f4e7a22e0c9c800eec9084f31899c + React-Core: 49f66fecc7695464e9b7bc7dc7cd9473d2c60584 + React-CoreModules: 710e7c557a1a8180bd1645f5b4bf79f4bd3f5417 + React-cxxreact: 345857b5e4be000c0527df78be3b41a0677a20ce + React-debug: f1637bce73342b2f6eee4982508fdfb088667a87 + React-Fabric: 4dfcff8f14d8e5a7a60b11b7862dad2a9d99c65b + React-FabricImage: 4a9e9510b7f28bbde6a743b18c0cb941a142e938 + React-graphics: dd5af9d8b1b45171fd6933e19fed522f373bcb10 + React-hermes: a52d183a5cf8ccb7020ce3df4275b89d01e6b53e + React-ImageManager: c5b7db131eff71443d7f3a8d686fd841d18befd3 + React-jserrorhandler: 97a6a12e2344c3c4fdd7ba1edefb005215c732f8 + React-jsi: a182068133f80918cd0eec77875abaf943a0b6be + React-jsiexecutor: dacd00ce8a18fc00a0ae6c25e3015a6437e5d2e8 + React-jsinspector: 03644c063fc3621c9a4e8bf263a8150909129618 + React-logger: 66b168e2b2bee57bd8ce9e69f739d805732a5570 + React-Mapbuffer: 9ee041e1d7be96da6d76a251f92e72b711c651d6 react-native-airship: 6ded22e4ca54f2f80db80b7b911c2b9b696d9335 react-native-blob-util: 99f4d79189252f597fe0d810c57a3733b1b1dea6 react-native-cameraroll: 8ffb0af7a5e5de225fd667610e2979fc1f0c2151 react-native-config: 7cd105e71d903104e8919261480858940a6b9c0e react-native-document-picker: 69ca2094d8780cfc1e7e613894d15290fdc54bba - react-native-flipper: dc5290261fbeeb2faec1bdc57ae6dd8d562e1de4 react-native-geolocation: 0f7fe8a4c2de477e278b0365cce27d089a8c5903 react-native-image-manipulator: c48f64221cfcd46e9eec53619c4c0374f3328a56 react-native-image-picker: c33d4e79f0a14a2b66e5065e14946ae63749660b react-native-key-command: 5af6ee30ff4932f78da6a2109017549042932aa5 - react-native-netinfo: ccbe1085dffd16592791d550189772e13bf479e2 - react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df + react-native-netinfo: 8a7fd3f7130ef4ad2fb4276d5c9f8d3f28d2df3d + react-native-pager-view: 02a5c4962530f7efc10dd51ee9cdabeff5e6c631 react-native-pdf: b4ca3d37a9a86d9165287741c8b2ef4d8940c00e react-native-performance: cef2b618d47b277fb5c3280b81a3aad1e72f2886 react-native-plaid-link-sdk: df1618a85a615d62ff34e34b76abb7a56497fbc1 react-native-quick-sqlite: bcc7a7a250a40222f18913a97cd356bf82d0a6c4 react-native-render-html: 96c979fe7452a0a41559685d2f83b12b93edac8c - react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a - react-native-view-shot: 705f999ac2a24e4e6c909c0ca65c732ed33ca2ff - react-native-webview: e771bc375f789ebfa02a26939a57dbc6fa897336 - React-NativeModulesApple: edb5ace14f73f4969df6e7b1f3e41bef0012740f - React-perflogger: 496a1a3dc6737f964107cb3ddae7f9e265ddda58 - React-RCTActionSheet: 02904b932b50e680f4e26e7a686b33ebf7ef3c00 - React-RCTAnimation: 88feaf0a85648fb8fd497ce749829774910276d6 - React-RCTAppDelegate: 5792ac0f0feccb584765fdd7aa81ea320c4d9b0b - React-RCTBlob: 0dbc9e2a13d241b37d46b53e54630cbad1f0e141 - React-RCTImage: b111645ab901f8e59fc68fbe31f5731bdbeef087 - React-RCTLinking: 3d719727b4c098aad3588aa3559361ee0579f5de - React-RCTNetwork: b44d3580be05d74556ba4efbf53570f17e38f734 - React-RCTSettings: c0c54b330442c29874cd4dae6e94190dc11a6f6f - React-RCTText: 9b9f5589d9b649d7246c3f336e116496df28cfe6 - React-RCTVibration: 691c67f3beaf1d084ceed5eb5c1dddd9afa8591e - React-rncore: 142268f6c92e296dc079aadda3fade778562f9e4 - React-runtimeexecutor: d465ba0c47ef3ed8281143f59605cacc2244d5c7 - React-runtimescheduler: 4941cc1b3cf08b792fbf666342c9fc95f1969035 - React-utils: b79f2411931f9d3ea5781404dcbb2fa8a837e13a - ReactCommon: 4b2bdcb50a3543e1c2b2849ad44533686610826d + react-native-safe-area-context: 2cd91d532de12acdb0a9cbc8d43ac72a8e4c897c + react-native-view-shot: 6b7ed61d77d88580fed10954d45fad0eb2d47688 + react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0 + React-nativeconfig: d753fbbc8cecc8ae413d615599ac378bbf6999bb + React-NativeModulesApple: 964f4eeab1b4325e8b6a799cf4444c3fd4eb0a9c + React-perflogger: 29efe63b7ef5fbaaa50ef6eaa92482f98a24b97e + React-RCTActionSheet: 69134c62aefd362027b20da01cd5d14ffd39db3f + React-RCTAnimation: 3b5a57087c7a5e727855b803d643ac1d445488f5 + React-RCTAppDelegate: a3ce9b69c0620a1717d08e826d4dc7ad8a3a3cae + React-RCTBlob: 26ea660f2be1e6de62f2d2ad9a9c7b9bfabb786f + React-RCTFabric: bb6dbbff2f80b9489f8b2f1d2554aa040aa2e3cd + React-RCTImage: 27b27f4663df9e776d0549ed2f3536213e793f1b + React-RCTLinking: 962880ce9d0e2ea83fd182953538fc4ed757d4da + React-RCTNetwork: 73a756b44d4ad584bae13a5f1484e3ce12accac8 + React-RCTSettings: 6d7f8d807f05de3d01cfb182d14e5f400716faac + React-RCTText: 73006e95ca359595c2510c1c0114027c85a6ddd3 + React-RCTVibration: 599f427f9cbdd9c4bf38959ca020e8fef0717211 + React-rendererdebug: f2946e0a1c3b906e71555a7c4a39aa6a6c0e639b + React-rncore: 74030de0ffef7b1a3fb77941168624534cc9ae7f + React-runtimeexecutor: 2d1f64f58193f00a3ad71d3f89c2bfbfe11cf5a5 + React-runtimescheduler: df8945a656356ff10f58f65a70820478bfcf33ad + React-utils: f5bc61e7ea3325c0732ae2d755f4441940163b85 + ReactCommon: 45b5d4f784e869c44a6f5a8fad5b114ca8f78c53 RNAppleAuthentication: 0571c08da8c327ae2afc0261b48b4a515b0286a6 - RNCAsyncStorage: c913ede1fa163a71cea118ed4670bbaaa4b511bb + RNCAsyncStorage: 618d03a5f52fbccb3d7010076bc54712844c18ef RNCClipboard: d77213bfa269013bf4b857b7a9ca37ee062d8ef1 - RNCPicker: 0b65be85fe7954fbb2062ef079e3d1cde252d888 + RNCPicker: 529d564911e93598cc399b56cc0769ce3675f8c8 RNDeviceInfo: 4701f0bf2a06b34654745053db0ce4cb0c53ada7 RNDevMenu: 72807568fe4188bd4c40ce32675d82434b43c45d RNFBAnalytics: f76bfa164ac235b00505deb9fc1776634056898c RNFBApp: 729c0666395b1953198dc4a1ec6deb8fbe1c302e RNFBCrashlytics: 2061ca863e8e2fa1aae9b12477d7dfa8e88ca0f9 RNFBPerf: 389914cda4000fe0d996a752532a591132cbf3f9 - RNFlashList: 236646d48f224a034f35baa0242e1b77db063b1e + RNFlashList: 4b4b6b093afc0df60ae08f9cbf6ccd4c836c667a RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 - RNGestureHandler: dec4645026e7401a0899f2846d864403478ff6a5 + RNGestureHandler: 61bfdfc05db9b79dd61f894dcd29d3dcc6db3c02 RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0 RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81 rnmapbox-maps: 6f638ec002aa6e906a6f766d69cd45f968d98e64 RNPermissions: 9b086c8f05b2e2faa587fdc31f4c5ab4509728aa RNReactNativeHapticFeedback: 1e3efeca9628ff9876ee7cdd9edec1b336913f8c - RNReanimated: fdbaa9c964bbab7fac50c90862b6cc5f041679b9 - RNScreens: d037903436160a4b039d32606668350d2a808806 - RNSVG: d00c8f91c3cbf6d476451313a18f04d220d4f396 + RNReanimated: 57f436e7aa3d277fbfed05e003230b43428157c0 + RNScreens: b582cb834dc4133307562e930e8fa914b8c04ef2 + RNSVG: 255767813dac22db1ec2062c8b7e7b856d4e5ae6 SDWebImage: 750adf017a315a280c60fde706ab1e552a3ae4e9 SDWebImageAVIFCoder: 8348fef6d0ec69e129c66c9fe4d74fbfbf366112 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: af09429398d99d524cae2fe00f6f0f6e491ed102 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 - Turf: 469ce2c3d22e5e8e4818d5a3b254699a5c89efa4 - VisionCamera: 95f969b8950b411285579d633a1014782fe0e634 - Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2 + VisionCamera: 7d13aae043ffb38b224a0f725d1e23ca9c190fe7 + Yoga: 13c8ef87792450193e117976337b8527b49e8c03 -PODFILE CHECKSUM: c403784ee1fdf281bcc552696504207f3022cb66 +PODFILE CHECKSUM: 0ccbb4f2406893c6e9f266dc1e7470dcd72885d2 -COCOAPODS: 1.12.1 +COCOAPODS: 1.13.0 diff --git a/package-lock.json b/package-lock.json index 5416b5d4ea19..148bf7157119 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.4.24-4", + "version": "1.4.25-7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.4.24-4", + "version": "1.4.25-7", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -23,23 +23,23 @@ "@kie/mock-github": "^1.0.0", "@oguzhnatly/react-native-image-manipulator": "github:Expensify/react-native-image-manipulator#5cdae3d4455b03a04c57f50be3863e2fe6c92c52", "@onfido/react-native-sdk": "8.3.0", - "@react-native-async-storage/async-storage": "^1.17.10", + "@react-native-async-storage/async-storage": "^1.19.5", "@react-native-camera-roll/camera-roll": "5.4.0", "@react-native-clipboard/clipboard": "^1.12.1", "@react-native-community/geolocation": "^3.0.6", - "@react-native-community/netinfo": "^9.3.10", + "@react-native-community/netinfo": "11.2.1", "@react-native-firebase/analytics": "^12.3.0", "@react-native-firebase/app": "^12.3.0", "@react-native-firebase/crashlytics": "^12.3.0", "@react-native-firebase/perf": "^12.3.0", "@react-native-google-signin/google-signin": "^10.0.1", - "@react-native-picker/picker": "^2.4.3", + "@react-native-picker/picker": "2.5.1", "@react-navigation/material-top-tabs": "^6.6.3", "@react-navigation/native": "6.1.8", "@react-navigation/stack": "6.3.16", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "^10.0.11", - "@shopify/flash-list": "^1.6.1", + "@shopify/flash-list": "^1.6.3", "@types/node": "^18.14.0", "@ua/react-native-airship": "^15.3.1", "@vue/preload-webpack-plugin": "^2.0.0", @@ -51,16 +51,16 @@ "date-fns-tz": "^2.0.0", "dom-serializer": "^0.2.2", "domhandler": "^4.3.0", - "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#398bf7c6a6d37f229a41d92bd7a4324c0fd32849", - "expo": "^49.0.0", - "expo-image": "1.8.1", + "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#c6bb3cfa56d12af9fa02e2bfc729646f5b64ef44", + "expo": "^50.0.0-preview.7", + "expo-image": "1.10.1", "fbjs": "^3.0.2", "htmlparser2": "^7.2.0", "idb-keyval": "^6.2.1", - "jest-expo": "^49.0.0", + "jest-expo": "50.0.1", "jest-when": "^3.5.2", "lodash": "4.17.21", - "lottie-react-native": "^6.4.0", + "lottie-react-native": "6.4.1", "mapbox-gl": "^2.15.0", "onfido-sdk-ui": "13.1.0", "patch-package": "^8.0.0", @@ -74,7 +74,7 @@ "react-dom": "18.1.0", "react-error-boundary": "^4.0.11", "react-map-gl": "^7.1.3", - "react-native": "0.72.4", + "react-native": "0.73.2", "react-native-android-location-enabler": "^1.2.2", "react-native-blob-util": "^0.17.3", "react-native-collapsible": "^1.6.1", @@ -84,7 +84,7 @@ "react-native-document-picker": "^8.2.1", "react-native-draggable-flatlist": "^4.0.1", "react-native-fs": "^2.20.0", - "react-native-gesture-handler": "2.12.0", + "react-native-gesture-handler": "2.14.0", "react-native-google-places-autocomplete": "2.5.6", "react-native-haptic-feedback": "^1.13.0", "react-native-image-pan-zoom": "^2.1.12", @@ -94,9 +94,9 @@ "react-native-linear-gradient": "^2.8.1", "react-native-localize": "^2.2.6", "react-native-modal": "^13.0.0", - "react-native-onyx": "1.0.118", - "react-native-pager-view": "^6.2.0", - "react-native-pdf": "^6.7.3", + "react-native-onyx": "1.0.126", + "react-native-pager-view": "6.2.2", + "react-native-pdf": "6.7.3", "react-native-performance": "^5.1.0", "react-native-permissions": "^3.9.3", "react-native-picker-select": "git+https://github.com/Expensify/react-native-picker-select.git#7a407cd4174d9838a944c1c2e1cb4a9737ac69c5", @@ -105,16 +105,16 @@ "react-native-quick-sqlite": "^8.0.0-beta.2", "react-native-reanimated": "^3.6.1", "react-native-render-html": "6.3.1", - "react-native-safe-area-context": "4.4.1", - "react-native-screens": "3.21.0", - "react-native-svg": "^13.13.0", + "react-native-safe-area-context": "4.7.4", + "react-native-screens": "3.29.0", + "react-native-svg": "14.0.0", "react-native-tab-view": "^3.5.2", "react-native-url-polyfill": "^2.0.0", - "react-native-view-shot": "^3.6.0", + "react-native-view-shot": "3.8.0", "react-native-vision-camera": "^2.16.2", "react-native-web": "^0.19.9", "react-native-web-linear-gradient": "^1.1.2", - "react-native-webview": "^11.17.2", + "react-native-webview": "13.6.3", "react-pdf": "^6.2.2", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", @@ -147,7 +147,8 @@ "@octokit/plugin-paginate-rest": "3.1.0", "@octokit/plugin-throttling": "4.1.0", "@react-native-community/eslint-config": "3.0.0", - "@react-native/metro-config": "^0.72.11", + "@react-native/babel-preset": "^0.73.19", + "@react-native/metro-config": "^0.73.3", "@react-navigation/devtools": "^6.0.10", "@storybook/addon-a11y": "^6.5.9", "@storybook/addon-essentials": "^7.0.0", @@ -169,7 +170,7 @@ "@types/lodash": "^4.14.195", "@types/mapbox-gl": "^2.7.13", "@types/pusher-js": "^5.1.0", - "@types/react": "^18.2.12", + "@types/react": "18.2.45", "@types/react-beautiful-dnd": "^13.1.4", "@types/react-collapse": "^5.0.1", "@types/react-dom": "^18.2.4", @@ -217,13 +218,11 @@ "jest-environment-jsdom": "^29.4.1", "jest-transformer-svg": "^2.0.1", "memfs": "^4.6.0", - "metro-react-native-babel-preset": "0.76.8", "onchange": "^7.1.0", "portfinder": "^1.0.28", "prettier": "^2.8.8", "pusher-js-mock": "^0.3.3", "react-native-clean-project": "^4.0.0-alpha4.0", - "react-native-flipper": "https://gitpkg.now.sh/facebook/flipper/react-native/react-native-flipper?9cacc9b59402550eae866e0e81e5f0c2f8203e6b", "react-native-performance-flipper-reporter": "^2.0.0", "react-test-renderer": "18.2.0", "reassure": "^0.10.1", @@ -533,14 +532,14 @@ "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", - "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -641,22 +640,22 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -766,9 +765,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -782,9 +781,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -935,6 +934,7 @@ }, "node_modules/@babel/plugin-proposal-export-namespace-from": { "version": "7.18.9", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.9", @@ -1247,9 +1247,9 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1608,9 +1608,9 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1925,9 +1925,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1954,12 +1954,12 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.3.tgz", + "integrity": "sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, @@ -2000,10 +2000,11 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "license": "MIT", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2013,14 +2014,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.18.10", - "license": "MIT", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.18.10" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" @@ -2030,11 +2032,11 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2070,12 +2072,12 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2479,16 +2481,16 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -2587,11 +2589,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -3362,53 +3364,62 @@ } }, "node_modules/@expo/cli": { - "version": "0.10.16", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.10.16.tgz", - "integrity": "sha512-EwgnRN5AMElg0JJjFLJTPk5hYkVXxnNMLIvZBiTfGoCq+rDw6u7Mg5l2Bbm/geSHOoplaHyPZ/Wr23FAuZWehA==", + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.16.5.tgz", + "integrity": "sha512-4SAAymmV97OeskbYbpiJ/HFSUHLIyYmP8RlZE0svH+A1Z2lsAbjm8G7t5dFt5WPZGHWuj0y/DzIT8eElqvwHEg==", "dependencies": { "@babel/runtime": "^7.20.0", "@expo/code-signing-certificates": "0.0.5", - "@expo/config": "~8.1.0", - "@expo/config-plugins": "~7.2.0", - "@expo/dev-server": "0.5.5", + "@expo/config": "~8.5.0", + "@expo/config-plugins": "~7.8.0", "@expo/devcert": "^1.0.0", - "@expo/env": "0.0.5", + "@expo/env": "~0.2.0", + "@expo/image-utils": "^0.4.0", "@expo/json-file": "^8.2.37", - "@expo/metro-config": "~0.10.0", + "@expo/metro-config": "~0.17.0", "@expo/osascript": "^2.0.31", - "@expo/package-manager": "~1.1.0", - "@expo/plist": "^0.0.20", - "@expo/prebuild-config": "6.2.6", + "@expo/package-manager": "^1.1.1", + "@expo/plist": "^0.1.0", + "@expo/prebuild-config": "6.7.2", "@expo/rudder-sdk-node": "1.1.1", + "@expo/server": "^0.3.0", "@expo/spawn-async": "1.5.0", - "@expo/xcpretty": "^4.2.1", + "@expo/xcpretty": "^4.3.0", + "@react-native/dev-middleware": "^0.73.6", "@urql/core": "2.3.6", "@urql/exchange-retry": "0.3.0", "accepts": "^1.3.8", - "arg": "4.1.0", + "arg": "5.0.2", "better-opn": "~3.0.2", "bplist-parser": "^0.3.1", "cacache": "^15.3.0", "chalk": "^4.0.0", "ci-info": "^3.3.0", + "connect": "^3.7.0", "debug": "^4.3.4", "env-editor": "^0.4.1", + "find-yarn-workspace-root": "~2.0.0", "form-data": "^3.0.1", "freeport-async": "2.0.0", "fs-extra": "~8.1.0", "getenv": "^1.0.0", + "glob": "^7.1.7", "graphql": "15.8.0", "graphql-tag": "^2.10.1", "https-proxy-agent": "^5.0.1", "internal-ip": "4.3.0", + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1", "js-yaml": "^3.13.1", "json-schema-deref-sync": "^0.13.0", - "md5-file": "^3.2.3", + "lodash.debounce": "^4.0.8", "md5hex": "^1.0.0", - "minipass": "3.1.6", + "minimatch": "^3.0.4", + "minipass": "3.3.6", "node-fetch": "^2.6.7", "node-forge": "^1.3.1", "npm-package-arg": "^7.0.0", + "open": "^8.3.0", "ora": "3.4.0", "pretty-bytes": "5.6.0", "progress": "2.0.3", @@ -3416,12 +3427,15 @@ "qrcode-terminal": "0.11.0", "require-from-string": "^2.0.2", "requireg": "^0.2.2", + "resolve": "^1.22.2", "resolve-from": "^5.0.0", + "resolve.exports": "^2.0.2", "semver": "^7.5.3", "send": "^0.18.0", "slugify": "^1.3.4", "structured-headers": "^0.4.1", "tar": "^6.0.5", + "temp-dir": "^2.0.0", "tempy": "^0.7.1", "terminal-link": "^2.1.1", "text-table": "^0.2.0", @@ -3442,13 +3456,14 @@ } }, "node_modules/@expo/cli/node_modules/@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "dependencies": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "dependencies": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -3459,19 +3474,39 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, + "node_modules/@expo/cli/node_modules/@expo/config-plugins/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@expo/cli/node_modules/@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "node_modules/@expo/cli/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -3479,9 +3514,9 @@ } }, "node_modules/@expo/cli/node_modules/@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "dependencies": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -3503,9 +3538,9 @@ } }, "node_modules/@expo/cli/node_modules/arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/@expo/cli/node_modules/better-opn": { "version": "3.0.2", @@ -3592,6 +3627,25 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/@expo/cli/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@expo/cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3683,17 +3737,6 @@ "node": ">=4" } }, - "node_modules/@expo/cli/node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@expo/cli/node_modules/onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", @@ -3849,13 +3892,13 @@ } }, "node_modules/@expo/config": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-8.1.2.tgz", - "integrity": "sha512-4e7hzPj50mQIlsrzOH6XZ36O094mPfPTIDIH4yv49bWNMc7GFLTofB/lcT+QyxiLaJuC0Wlk9yOLB8DIqmtwug==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-8.5.2.tgz", + "integrity": "sha512-UYy9kWxjQAEDwlX7gwLk0+8IxGPcHJMLnYRYtR5C5xGIV+ML7tCA+qFz1p4gHZRPkJD+k7iZyqBtyqt8xm+zXw==", "dependencies": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~7.2.0", - "@expo/config-types": "^49.0.0-alpha.1", + "@expo/config-plugins": "~7.8.2", + "@expo/config-types": "^50.0.0", "@expo/json-file": "^8.2.37", "getenv": "^1.0.0", "glob": "7.1.6", @@ -3974,13 +4017,14 @@ } }, "node_modules/@expo/config/node_modules/@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "dependencies": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "dependencies": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -3991,19 +4035,20 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "node_modules/@expo/config/node_modules/@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "node_modules/@expo/config/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -4011,9 +4056,9 @@ } }, "node_modules/@expo/config/node_modules/@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "dependencies": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -4118,222 +4163,6 @@ "node": ">=4.0" } }, - "node_modules/@expo/dev-server": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.5.5.tgz", - "integrity": "sha512-t0fT8xH1exwYsH5hh7bAt85VF+gXxg24qrbny2rR/iKoPTWFCd2JNQV8pvfLg51hvrywQ3YCBuT3lU1w7aZxFA==", - "dependencies": { - "@expo/bunyan": "4.0.0", - "@expo/metro-config": "~0.10.0", - "@expo/osascript": "2.0.33", - "@expo/spawn-async": "^1.5.0", - "body-parser": "^1.20.1", - "chalk": "^4.0.0", - "connect": "^3.7.0", - "fs-extra": "9.0.0", - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1", - "node-fetch": "^2.6.0", - "open": "^8.3.0", - "resolve-from": "^5.0.0", - "serialize-error": "6.0.0", - "temp-dir": "^2.0.0" - } - }, - "node_modules/@expo/dev-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@expo/dev-server/node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/@expo/dev-server/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/@expo/dev-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@expo/dev-server/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@expo/dev-server/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/dev-server/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@expo/dev-server/node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@expo/dev-server/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/dev-server/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@expo/dev-server/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/@expo/dev-server/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@expo/dev-server/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/@expo/dev-server/node_modules/serialize-error": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-6.0.0.tgz", - "integrity": "sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA==", - "dependencies": { - "type-fest": "^0.12.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@expo/dev-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/dev-server/node_modules/type-fest": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", - "integrity": "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@expo/dev-server/node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@expo/devcert": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.0.tgz", @@ -4401,9 +4230,9 @@ } }, "node_modules/@expo/env": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.0.5.tgz", - "integrity": "sha512-UXuKAqyXfhMQC3gP0OyjXmFX08Z1fkVWiGBN7bYzfoX8LHatjeHrDtI6w5nDvd8XPxPvmqaZoEDw1lW3+dz3oQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.2.1.tgz", + "integrity": "sha512-deZmRS7Dvp18VM8s559dq/ZjPlV1D9vtLoLXwHmCK/JYOvtNptdKsfxcWjI7ewmo6ln2PqgNI9HRI74q6Wk2eA==", "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", @@ -4492,17 +4321,97 @@ "node": ">=8" } }, + "node_modules/@expo/fingerprint": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.6.0.tgz", + "integrity": "sha512-KfpoVRTMwMNJ/Cf5o+Ou8M/Y0EGSTqK+rbi70M2Y0K2qgWNfMJ1gm6sYO9uc8lcTr7YSYM1Rme3dk7QXhpScNA==", + "dependencies": { + "@expo/spawn-async": "^1.5.0", + "chalk": "^4.1.2", + "debug": "^4.3.4", + "find-up": "^5.0.0", + "minimatch": "^3.0.4", + "p-limit": "^3.1.0", + "resolve-from": "^5.0.0" + }, + "bin": { + "fingerprint": "bin/cli.js" + } + }, + "node_modules/@expo/fingerprint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@expo/fingerprint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@expo/fingerprint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@expo/fingerprint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@expo/fingerprint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/fingerprint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@expo/image-utils": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz", - "integrity": "sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.4.1.tgz", + "integrity": "sha512-EZb+VHSmw+a5s2hS9qksTcWylY0FDaIAVufcxoaRS9tHIXLjW5zcKW7Rhj9dSEbZbRVy9yXXdHKa3GQdUQIOFw==", "dependencies": { "@expo/spawn-async": "1.5.0", "chalk": "^4.0.0", "fs-extra": "9.0.0", "getenv": "^1.0.0", "jimp-compact": "0.16.1", - "mime": "^2.4.4", "node-fetch": "^2.6.0", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", @@ -4687,22 +4596,33 @@ } }, "node_modules/@expo/metro-config": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.10.7.tgz", - "integrity": "sha512-uACymEiyX0447hI4unt+2cemLQkTZXKvTev936NhtsgVnql45EP0V0pzmo/0H0WlHaAGXgvOBZJl8wFqcJ3CbQ==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.17.1.tgz", + "integrity": "sha512-ZOE0Jx0YTZyPpsGiiE09orGEFgZ5sMrOOFSgOe8zrns925g/uCuEbowyNq38IfQt//3xSl5mW3z0l4rxgi7hHQ==", "dependencies": { - "@expo/config": "~8.1.0", - "@expo/env": "0.0.5", - "@expo/json-file": "~8.2.37", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "@expo/config": "~8.5.0", + "@expo/env": "~0.2.0", + "@expo/json-file": "~8.3.0", + "@expo/spawn-async": "^1.7.2", + "babel-preset-fbjs": "^3.4.0", "chalk": "^4.1.0", "debug": "^4.3.2", "find-yarn-workspace-root": "~2.0.0", + "fs-extra": "^9.1.0", "getenv": "^1.0.0", + "glob": "^7.2.3", "jsc-safe-url": "^0.2.4", "lightningcss": "~1.19.0", "postcss": "~8.4.21", "resolve-from": "^5.0.0", "sucrase": "^3.20.0" + }, + "peerDependencies": { + "@react-native/babel-preset": "*" } }, "node_modules/@expo/metro-config/node_modules/@babel/code-frame": { @@ -4714,15 +4634,26 @@ } }, "node_modules/@expo/metro-config/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", "write-file-atomic": "^2.3.0" } }, + "node_modules/@expo/metro-config/node_modules/@expo/spawn-async": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz", + "integrity": "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==", + "dependencies": { + "cross-spawn": "^7.0.3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@expo/metro-config/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -4768,6 +4699,25 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/@expo/metro-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@expo/metro-config/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -4782,9 +4732,9 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/@expo/metro-config/node_modules/postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", "funding": [ { "type": "opencollective", @@ -4800,7 +4750,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -4956,14 +4906,14 @@ } }, "node_modules/@expo/prebuild-config": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.2.6.tgz", - "integrity": "sha512-uFVvDAm9dPg9p1qpnr4CVnpo2hmkZIL5FQz+VlIdXXJpe7ySh/qTGHtKWY/lWUshQkAJ0nwbKGPztGWdABns/Q==", - "dependencies": { - "@expo/config": "~8.1.0", - "@expo/config-plugins": "~7.2.0", - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/image-utils": "0.3.22", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.7.2.tgz", + "integrity": "sha512-Z1GyWfl923wU29YQg6Xik4URls4qcIddWA4vLhW6mUgiRhC3HCf1keHEzK5AtWsrga4bH/H+usAY0OltgABW1w==", + "dependencies": { + "@expo/config": "~8.5.0", + "@expo/config-plugins": "~7.8.0", + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/image-utils": "^0.4.0", "@expo/json-file": "^8.2.37", "debug": "^4.3.1", "fs-extra": "^9.0.0", @@ -4984,13 +4934,14 @@ } }, "node_modules/@expo/prebuild-config/node_modules/@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "dependencies": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "dependencies": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -5001,19 +4952,20 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "node_modules/@expo/prebuild-config/node_modules/@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "node_modules/@expo/prebuild-config/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -5021,9 +4973,9 @@ } }, "node_modules/@expo/prebuild-config/node_modules/@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "dependencies": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -5156,6 +5108,17 @@ "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==", "license": "MIT" }, + "node_modules/@expo/server": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@expo/server/-/server-0.3.0.tgz", + "integrity": "sha512-5oIqedpLVMnf1LGI9Xd5OOGmK3DjgH9VpuqVN4e/6DwLT05RZJMyI7ylfG6QSy1e44yOgjv242tLyg0e/zdZ+A==", + "dependencies": { + "@remix-run/node": "^1.19.3", + "abort-controller": "^3.0.0", + "debug": "^4.3.4", + "source-map-support": "~0.5.21" + } + }, "node_modules/@expo/spawn-async": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.5.0.tgz", @@ -5234,9 +5197,9 @@ "integrity": "sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==" }, "node_modules/@expo/xcpretty": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz", - "integrity": "sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.0.tgz", + "integrity": "sha512-whBbvHZ2Q10T5TNmN0z5NbO6C9ZDw+XUTu8h6vVMnMzQrbGexc9oaCCZfz+L3Q7TEL5vfr+9L86nY62c3Bsm+g==", "dependencies": { "@babel/code-frame": "7.10.4", "chalk": "^4.1.0", @@ -5541,7 +5504,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -5558,7 +5520,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, "engines": { "node": ">=12" }, @@ -5570,7 +5531,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, "engines": { "node": ">=12" }, @@ -5581,14 +5541,12 @@ "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -5605,7 +5563,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -5620,7 +5577,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5633,6 +5589,14 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", + "engines": { + "node": ">=12" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -5977,22 +5941,22 @@ } }, "node_modules/@jest/create-cache-key-function": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz", - "integrity": "sha512-LIDZyZgnZss7uikvBKBB/USWwG+GO8+GnwRWT+YkCGDGsqLQlhm9BC3z6+7+eMs1kUlvXQIWEzBR8Q2Pnvx6lg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "dependencies": { - "@jest/types": "^29.5.0" + "@jest/types": "^29.6.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dependencies": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -6004,9 +5968,9 @@ } }, "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", + "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", "dependencies": { "@types/yargs-parser": "*" } @@ -6076,14 +6040,14 @@ } }, "node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.2" + "jest-mock": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6201,16 +6165,16 @@ } }, "node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7957,7 +7921,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "optional": true, "engines": { "node": ">=14" @@ -8551,14 +8514,14 @@ } }, "node_modules/@react-native-async-storage/async-storage": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.19.3.tgz", - "integrity": "sha512-CwGfoHCWdPOTPS+2fW6YRE1fFBpT9++ahLEroX5hkgwyoQ+TkmjOaUxixdEIoVua9Pz5EF2pGOIJzqOTMWfBlA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz", + "integrity": "sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag==", "dependencies": { "merge-options": "^3.0.4" }, "peerDependencies": { - "react-native": "^0.0.0-0 || 0.60 - 0.72 || 1000.0.0" + "react-native": "^0.0.0-0 || >=0.60 <1.0" } }, "node_modules/@react-native-camera-roll/camera-roll": { @@ -8580,44 +8543,44 @@ } }, "node_modules/@react-native-community/cli": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", - "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", - "dependencies": { - "@react-native-community/cli-clean": "11.3.6", - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-doctor": "11.3.6", - "@react-native-community/cli-hermes": "11.3.6", - "@react-native-community/cli-plugin-metro": "11.3.6", - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "@react-native-community/cli-types": "11.3.6", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.0.tgz", + "integrity": "sha512-XeQohi2E+S2+MMSz97QcEZ/bWpi8sfKiQg35XuYeJkc32Til2g0b97jRpn0/+fV0BInHoG1CQYWwHA7opMsrHg==", + "dependencies": { + "@react-native-community/cli-clean": "12.3.0", + "@react-native-community/cli-config": "12.3.0", + "@react-native-community/cli-debugger-ui": "12.3.0", + "@react-native-community/cli-doctor": "12.3.0", + "@react-native-community/cli-hermes": "12.3.0", + "@react-native-community/cli-plugin-metro": "12.3.0", + "@react-native-community/cli-server-api": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", + "@react-native-community/cli-types": "12.3.0", "chalk": "^4.1.2", "commander": "^9.4.1", + "deepmerge": "^4.3.0", "execa": "^5.0.0", "find-up": "^4.1.0", "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", + "prompts": "^2.4.2", "semver": "^7.5.2" }, "bin": { "react-native": "build/bin.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@react-native-community/cli-clean": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", - "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.0.tgz", + "integrity": "sha512-iAgLCOWYRGh9ukr+eVQnhkV/OqN3V2EGd/in33Ggn/Mj4uO6+oUncXFwB+yjlyaUNz6FfjudhIz09yYGSF+9sg==", "dependencies": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", - "execa": "^5.0.0", - "prompts": "^2.4.0" + "execa": "^5.0.0" } }, "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { @@ -8685,11 +8648,11 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", - "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.0.tgz", + "integrity": "sha512-BrTn5ndFD9uOxO8kxBQ32EpbtOvAsQExGPI7SokdI4Zlve70FziLtTq91LTlTUgMq1InVZn/jJb3VIDk6BTInQ==", "dependencies": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -8808,34 +8771,33 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", - "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.0.tgz", + "integrity": "sha512-w3b0iwjQlk47GhZWHaeTG8kKH09NCMUJO729xSdMBXE8rlbm4kHpKbxQY9qKb6NlfWSJN4noGY+FkNZS2rRwnQ==", "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", - "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", - "dependencies": { - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.0.tgz", + "integrity": "sha512-BPCwNNesoQMkKsxB08Ayy6URgGQ8Kndv6mMhIvJSNdST3J1+x3ehBHXzG9B9Vfi+DrTKRb8lmEl/b/7VkDlPkA==", + "dependencies": { + "@react-native-community/cli-config": "12.3.0", + "@react-native-community/cli-platform-android": "12.3.0", + "@react-native-community/cli-platform-ios": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "command-exists": "^1.2.8", - "envinfo": "^7.7.2", + "deepmerge": "^4.3.0", + "envinfo": "^7.10.0", "execa": "^5.0.0", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5", "node-stream-zip": "^1.9.1", "ora": "^5.4.1", - "prompts": "^2.4.0", "semver": "^7.5.2", "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", "wcwidth": "^1.0.1", "yaml": "^2.2.1" } @@ -8921,12 +8883,12 @@ } }, "node_modules/@react-native-community/cli-hermes": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", - "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.0.tgz", + "integrity": "sha512-G6FxpeZBO4AimKZwtWR3dpXRqTvsmEqlIkkxgwthdzn3LbVjDVIXKpVYU9PkR5cnT+KuAUxO0WwthrJ6Nmrrlg==", "dependencies": { - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-platform-android": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -9002,13 +8964,14 @@ } }, "node_modules/@react-native-community/cli-platform-android": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", - "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.0.tgz", + "integrity": "sha512-VU1NZw63+GLU2TnyQ919bEMThpHQ/oMFju9MCfrd3pyPJz4Sn+vc3NfnTDUVA5Z5yfLijFOkHIHr4vo/C9bjnw==", "dependencies": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "execa": "^5.0.0", + "fast-xml-parser": "^4.2.4", "glob": "^7.1.3", "logkitty": "^0.7.1" } @@ -9078,11 +9041,11 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", - "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.0.tgz", + "integrity": "sha512-H95Sgt3wT7L8V75V0syFJDtv4YgqK5zbu69ko4yrXGv8dv2EBi6qZP0VMmkqXDamoPm9/U7tDTdbcf26ctnLfg==", "dependencies": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -9155,696 +9118,17 @@ } }, "node_modules/@react-native-community/cli-plugin-metro": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", - "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", - "dependencies": { - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "readline": "^1.3.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/@types/yargs": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", - "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", - "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro": "src/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", - "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", - "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", - "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", - "dependencies": { - "metro-core": "0.76.7", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", - "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", - "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", - "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", - "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", - "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", - "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", - "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - }, - "engines": { - "node": ">=16" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-inspector-proxy": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", - "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", - "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro-inspector-proxy": "src/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-terser": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", - "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", - "dependencies": { - "terser": "^5.15.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-uglify": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", - "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", - "dependencies": { - "uglify-es": "^3.1.9" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-preset": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", - "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.4.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", - "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", - "dependencies": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", - "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", - "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", - "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.7", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", - "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", - "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.0.tgz", + "integrity": "sha512-tYNHIYnNmxrBcsqbE2dAnLMzlKI3Cp1p1xUgTrNaOMsGPDN1epzNfa34n6Nps3iwKElSL7Js91CzYNqgTalucA==" }, "node_modules/@react-native-community/cli-server-api": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", - "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.0.tgz", + "integrity": "sha512-Rode8NrdyByC+lBKHHn+/W8Zu0c+DajJvLmOWbe2WY/ECvnwcd9MHHbu92hlT2EQaJ9LbLhGrSbQE3cQy9EOCw==", "dependencies": { - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-debugger-ui": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -9932,9 +9216,9 @@ } }, "node_modules/@react-native-community/cli-tools": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", - "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.0.tgz", + "integrity": "sha512-2GafnCr8D88VdClwnm9KZfkEb+lzVoFdr/7ybqhdeYM0Vnt/tr2N+fM1EQzwI1DpzXiBzTYemw8GjRq+Utcz2Q==", "dependencies": { "appdirsjs": "^1.2.4", "chalk": "^4.1.2", @@ -9944,7 +9228,8 @@ "open": "^6.2.0", "ora": "^5.4.1", "semver": "^7.5.2", - "shell-quote": "^1.7.3" + "shell-quote": "^1.7.3", + "sudo-prompt": "^9.0.0" } }, "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { @@ -10031,9 +9316,9 @@ } }, "node_modules/@react-native-community/cli-types": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", - "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.0.tgz", + "integrity": "sha512-MgOkmrXH4zsGxhte4YqKL7d+N8ZNEd3w1wo56MZlhu5WabwCJh87wYpU5T8vyfujFLYOFuFK5jjlcbs8F4/WDw==", "dependencies": { "joi": "^17.2.1" } @@ -10323,8 +9608,9 @@ } }, "node_modules/@react-native-community/netinfo": { - "version": "9.3.10", - "license": "MIT", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-11.2.1.tgz", + "integrity": "sha512-n9kgmH7vLaU7Cdo8vGfJGGwhrlgppaOSq5zKj9I7H4k5iRM3aNtwURw83mgrc22Ip7nSye2afZV2xDiIyvHttQ==", "peerDependencies": { "react-native": ">=0.59" } @@ -10394,53 +9680,314 @@ } }, "node_modules/@react-native-picker/picker": { - "version": "2.4.4", - "license": "MIT", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.5.1.tgz", + "integrity": "sha512-/sADUfQsosMRYtrqqL3ZYZSECRygj0fXtpRLqxJfwuMEoqfvfn40756R6B1alzusVvDRZFI0ari0iQid56hA/Q==", "peerDependencies": { "react": ">=16", "react-native": ">=0.57" } }, "node_modules/@react-native/assets-registry": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", - "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" + "version": "0.73.1", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", + "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.2.tgz", + "integrity": "sha512-PadyFZWVaWXIBP7Q5dgEL7eAd7tnsgsLjoHJB1hIRZZuVUg1Zqe3nULwC7RFAqOtr5Qx7KXChkFFcKQ3WnZzGw==", + "dependencies": { + "@react-native/codegen": "0.73.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-preset": { + "version": "0.73.19", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.19.tgz", + "integrity": "sha512-ujon01uMOREZecIltQxPDmJ6xlVqAUFGI/JCSpeVYdxyXBoBH5dBb0ihj7h6LKH1q1jsnO9z4MxfddtypKkIbg==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "@react-native/babel-plugin-codegen": "0.73.2", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/babel-preset/node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/@react-native/codegen": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", - "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.2.tgz", + "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", "dependencies": { "@babel/parser": "^7.20.0", "flow-parser": "^0.206.0", + "glob": "^7.1.1", + "invariant": "^2.2.4", "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", "nullthrows": "^1.1.1" }, + "engines": { + "node": ">=18" + }, "peerDependencies": { "@babel/preset-env": "^7.1.6" } }, + "node_modules/@react-native/codegen/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.73.12", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.12.tgz", + "integrity": "sha512-xWU06OkC1cX++Duh/cD/Wv+oZ0oSY3yqbtxAqQA2H3Q+MQltNNJM6MqIHt1VOZSabRf/LVlR1JL6U9TXJirkaw==", + "dependencies": { + "@react-native-community/cli-server-api": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", + "@react-native/dev-middleware": "0.73.7", + "@react-native/metro-babel-transformer": "0.73.13", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "metro": "^0.80.3", + "metro-config": "^0.80.3", + "metro-core": "^0.80.3", + "node-fetch": "^2.2.0", + "readline": "^1.3.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.73.3", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", + "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.73.7", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz", + "integrity": "sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg==", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.73.3", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^1.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "open": "^7.0.3", + "serve-static": "^1.13.1", + "temp-dir": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/@react-native/dev-middleware/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@react-native/gradle-plugin": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", - "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==" + "version": "0.73.4", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", + "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", + "engines": { + "node": ">=18" + } }, "node_modules/@react-native/js-polyfills": { - "version": "0.72.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", - "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", - "license": "MIT" + "version": "0.73.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", + "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/metro-babel-transformer": { + "version": "0.73.13", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.13.tgz", + "integrity": "sha512-k9AQifogQfgUXPlqQSoMtX2KUhniw4XvJl+nZ4hphCH7qiMDAwuP8OmkJbz5E/N+Ro9OFuLE7ax4GlwxaTsAWg==", + "dependencies": { + "@babel/core": "^7.20.0", + "@react-native/babel-preset": "0.73.19", + "hermes-parser": "0.15.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } }, "node_modules/@react-native/metro-config": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.11.tgz", - "integrity": "sha512-661EyQnDdVelyc0qP/ew7kKkGAh6N6KlkuPLC2SQ8sxaXskVU6fSuNlpLW4bUTBUDFKG8gEOU2hp6rzk4wQnGQ==", + "version": "0.73.3", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.73.3.tgz", + "integrity": "sha512-aIVh+lM52n7/RFDXLDiIp1vI21jc9thm2VxdkP7KwxMut7VvW+2tO38zKt74/2ker2ca0205tbf3pyCYBvV6Ww==", "dev": true, "dependencies": { - "@react-native/js-polyfills": "^0.72.1", - "metro-config": "0.76.8", - "metro-react-native-babel-transformer": "0.76.8", - "metro-runtime": "0.76.8" + "@react-native/js-polyfills": "0.73.1", + "@react-native/metro-babel-transformer": "0.73.13", + "metro-config": "^0.80.3", + "metro-runtime": "^0.80.3" + }, + "engines": { + "node": ">=18" } }, "node_modules/@react-native/normalize-color": { @@ -10450,18 +9997,21 @@ "license": "MIT" }, "node_modules/@react-native/normalize-colors": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", - "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==" + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", + "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==" }, "node_modules/@react-native/virtualized-lists": { - "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", - "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "version": "0.73.4", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", + "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, + "engines": { + "node": ">=18" + }, "peerDependencies": { "react-native": "*" } @@ -10598,6 +10148,124 @@ "loose-envify": "^1.1.0" } }, + "node_modules/@remix-run/node": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-1.19.3.tgz", + "integrity": "sha512-z5qrVL65xLXIUpU4mkR4MKlMeKARLepgHAk4W5YY3IBXOreRqOGUC70POViYmY7x38c2Ia1NwqL80H+0h7jbMw==", + "dependencies": { + "@remix-run/server-runtime": "1.19.3", + "@remix-run/web-fetch": "^4.3.6", + "@remix-run/web-file": "^3.0.3", + "@remix-run/web-stream": "^1.0.4", + "@web3-storage/multipart-parser": "^1.0.0", + "abort-controller": "^3.0.0", + "cookie-signature": "^1.1.0", + "source-map-support": "^0.5.21", + "stream-slice": "^0.1.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@remix-run/node/node_modules/cookie-signature": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.1.tgz", + "integrity": "sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/@remix-run/router": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.7.2.tgz", + "integrity": "sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@remix-run/server-runtime": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.19.3.tgz", + "integrity": "sha512-KzQ+htUsKqpBgKE2tWo7kIIGy3MyHP58Io/itUPvV+weDjApwr9tQr9PZDPA3yAY6rAzLax7BU0NMSYCXWFY5A==", + "dependencies": { + "@remix-run/router": "1.7.2", + "@types/cookie": "^0.4.1", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie": "^0.4.1", + "set-cookie-parser": "^2.4.8", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@remix-run/server-runtime/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@remix-run/server-runtime/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@remix-run/web-blob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-blob/-/web-blob-3.1.0.tgz", + "integrity": "sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==", + "dependencies": { + "@remix-run/web-stream": "^1.1.0", + "web-encoding": "1.1.5" + } + }, + "node_modules/@remix-run/web-fetch": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.4.2.tgz", + "integrity": "sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==", + "dependencies": { + "@remix-run/web-blob": "^3.1.0", + "@remix-run/web-file": "^3.1.0", + "@remix-run/web-form-data": "^3.1.0", + "@remix-run/web-stream": "^1.1.0", + "@web3-storage/multipart-parser": "^1.0.0", + "abort-controller": "^3.0.0", + "data-uri-to-buffer": "^3.0.1", + "mrmime": "^1.0.0" + }, + "engines": { + "node": "^10.17 || >=12.3" + } + }, + "node_modules/@remix-run/web-file": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-file/-/web-file-3.1.0.tgz", + "integrity": "sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==", + "dependencies": { + "@remix-run/web-blob": "^3.1.0" + } + }, + "node_modules/@remix-run/web-form-data": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz", + "integrity": "sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==", + "dependencies": { + "web-encoding": "1.1.5" + } + }, + "node_modules/@remix-run/web-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-stream/-/web-stream-1.1.0.tgz", + "integrity": "sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==", + "dependencies": { + "web-streams-polyfill": "^3.1.1" + } + }, "node_modules/@rnmapbox/maps": { "version": "10.0.11", "resolved": "https://registry.npmjs.org/@rnmapbox/maps/-/maps-10.0.11.tgz", @@ -10708,9 +10376,9 @@ "license": "0BSD" }, "node_modules/@shopify/flash-list": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.6.1.tgz", - "integrity": "sha512-SlBlpP7+zol6D1SKaf402aS30Qgwdjwb8/Qn2CupYwXnTcu2l8TiXB766vcsIvKTqUO7ELfQnCwCq8NXx55FsQ==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.6.3.tgz", + "integrity": "sha512-XM2iu4CeD9SOEUxaGG3UkxfUxGPWG9yacga1yQSgskAjUsRDFTsD3y4Dyon9n8MfDwgrRpEwuijd+7NeQQoWaQ==", "dependencies": { "recyclerlistview": "4.2.0", "tslib": "2.4.0" @@ -20952,6 +20620,11 @@ "@types/node": "*" } }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, "node_modules/@types/debug": { "version": "4.1.8", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", @@ -21381,9 +21054,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.12.tgz", - "integrity": "sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==", + "version": "18.2.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.45.tgz", + "integrity": "sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -22334,6 +22007,11 @@ "webpack": "^5.20.0 || ^4.1.0" } }, + "node_modules/@web3-storage/multipart-parser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", + "integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==" + }, "node_modules/@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -22692,6 +22370,12 @@ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "license": "BSD-2-Clause" }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, "node_modules/7zip-bin": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", @@ -24347,6 +24031,7 @@ }, "node_modules/babel-plugin-module-resolver": { "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { "find-babel-config": "^2.0.0", @@ -24361,6 +24046,7 @@ }, "node_modules/babel-plugin-module-resolver/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -24370,6 +24056,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -24388,6 +24075,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -24549,18 +24237,27 @@ } }, "node_modules/babel-preset-expo": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-9.5.2.tgz", - "integrity": "sha512-hU1G1TDiikuXV6UDZjPnX+WdbjbtidDiYhftMEVrZQSst45pDPVBWbM41TUKrpJMwv4FypsLzK+378gnMPRVWQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-10.0.1.tgz", + "integrity": "sha512-uWIGmLfbP3dS5+8nesxaW6mQs41d4iP7X82ZwRdisB/wAhKQmuJM9Y1jQe4006uNYkw6Phf2TT03ykLVro7KuQ==", "dependencies": { "@babel/plugin-proposal-decorators": "^7.12.9", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-object-rest-spread": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.12.17", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.22.15", "@babel/preset-env": "^7.20.0", - "babel-plugin-module-resolver": "^5.0.0", + "@babel/preset-react": "^7.22.15", + "@react-native/babel-preset": "^0.73.18", "babel-plugin-react-native-web": "~0.18.10", - "metro-react-native-babel-preset": "0.76.8" + "react-refresh": "0.14.0" + } + }, + "node_modules/babel-preset-expo/node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "engines": { + "node": ">=0.10.0" } }, "node_modules/babel-preset-fbjs": { @@ -24783,6 +24480,14 @@ "node": ">=0.10.0" } }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -26141,6 +25846,23 @@ "node": ">=10" } }, + "node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + }, + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -26150,6 +25872,19 @@ "node": ">=6.0" } }, + "node_modules/chromium-edge-launcher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", + "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, "node_modules/chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -26364,9 +26099,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", - "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "engines": { "node": ">=6" }, @@ -26418,10 +26153,9 @@ } }, "node_modules/clipboard": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", - "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", - "license": "MIT", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", "dependencies": { "good-listener": "^1.2.2", "select": "^1.1.2", @@ -26749,11 +26483,6 @@ "node": ">=0.10.0" } }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" - }, "node_modules/complex.js": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.1.1.tgz", @@ -26775,9 +26504,12 @@ "license": "MIT" }, "node_modules/component-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz", - "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", + "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/compressible": { "version": "2.0.18", @@ -27836,6 +27568,14 @@ "isobject": "^3.0.1" } }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/css-loader": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", @@ -28164,6 +27904,14 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "engines": { + "node": ">= 6" + } + }, "node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -28554,8 +28302,7 @@ "node_modules/delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "license": "MIT" + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, "node_modules/delegates": { "version": "1.0.0", @@ -29065,8 +28812,7 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/ee-first": { "version": "1.1.1", @@ -29583,8 +29329,9 @@ } }, "node_modules/envinfo": { - "version": "7.8.1", - "license": "MIT", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", "bin": { "envinfo": "dist/cli.js" }, @@ -31845,37 +31592,26 @@ }, "node_modules/expensify-common": { "version": "1.0.0", - "resolved": "git+ssh://git@github.com/Expensify/expensify-common.git#398bf7c6a6d37f229a41d92bd7a4324c0fd32849", - "integrity": "sha512-H7UrLgWIr8mCoPc1oxbeYW2RwLzUWI6jdjbV6cRnrlp8cDW3IyZISF+BQSPFDj7bMhNAbczQPtEOE1gld21Cvg==", + "resolved": "git+ssh://git@github.com/Expensify/expensify-common.git#c6bb3cfa56d12af9fa02e2bfc729646f5b64ef44", + "integrity": "sha512-a/UBkrerB57nB9xbBrFIeJG3IN0lVZV+/JWNbGMfT0FHxtg8/4sGWdC+AHqR3Bm01gwt67dd2csFferlZmTIsg==", "license": "MIT", "dependencies": { "classnames": "2.3.1", - "clipboard": "2.0.4", - "html-entities": "^2.3.3", + "clipboard": "2.0.11", + "html-entities": "^2.4.0", "jquery": "3.6.0", "localforage": "^1.10.0", "lodash": "4.17.21", - "prop-types": "15.7.2", + "prop-types": "15.8.1", "react": "16.12.0", "react-dom": "16.12.0", - "semver": "^7.3.5", + "semver": "^7.5.2", "simply-deferred": "git+https://github.com/Expensify/simply-deferred.git#77a08a95754660c7bd6e0b6979fdf84e8e831bf5", - "string.prototype.replaceall": "^1.0.6", + "string.prototype.replaceall": "^1.0.8", "ua-parser-js": "^1.0.35", "underscore": "1.13.6" } }, - "node_modules/expensify-common/node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, "node_modules/expensify-common/node_modules/react": { "version": "16.12.0", "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", @@ -31935,107 +31671,66 @@ } }, "node_modules/expo": { - "version": "49.0.21", - "resolved": "https://registry.npmjs.org/expo/-/expo-49.0.21.tgz", - "integrity": "sha512-JpHL6V0yt8/fzsmkAdPdtsah+lU6Si4ac7MDklLYvzEil7HAFEsN/pf06wQ21ax4C+BL27hI6JJoD34tzXUCJA==", + "version": "50.0.0-preview.7", + "resolved": "https://registry.npmjs.org/expo/-/expo-50.0.0-preview.7.tgz", + "integrity": "sha512-FyoEJVf42Tr1On0IFa0dL7Qs9gnl252ah3e0B8FsU96G7Hi93cDz5Rcn81ezRiO6YIF4nFV3+bh6BHsm/nsA0A==", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.10.16", - "@expo/config": "8.1.2", - "@expo/config-plugins": "7.2.5", + "@expo/cli": "0.16.5", + "@expo/config": "8.5.2", + "@expo/config-plugins": "7.8.2", + "@expo/metro-config": "0.17.1", "@expo/vector-icons": "^13.0.0", - "babel-preset-expo": "~9.5.2", - "expo-application": "~5.3.0", - "expo-asset": "~8.10.1", - "expo-constants": "~14.4.2", - "expo-file-system": "~15.4.5", - "expo-font": "~11.4.0", - "expo-keep-awake": "~12.3.0", - "expo-modules-autolinking": "1.5.1", - "expo-modules-core": "1.5.12", + "babel-preset-expo": "~10.0.1", + "expo-asset": "~9.0.1", + "expo-file-system": "~16.0.2", + "expo-font": "~11.10.0", + "expo-keep-awake": "~12.8.0", + "expo-modules-autolinking": "1.9.0", + "expo-modules-core": "1.11.4", "fbemitter": "^3.0.0", - "invariant": "^2.2.4", - "md5-file": "^3.2.3", - "node-fetch": "^2.6.7", - "pretty-format": "^26.5.2", - "uuid": "^3.4.0" + "whatwg-url-without-unicode": "8.0.0-3" }, "bin": { "expo": "bin/cli" } }, - "node_modules/expo-application": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-5.3.1.tgz", - "integrity": "sha512-HR2+K+Hm33vLw/TfbFaHrvUbRRNRco8R+3QaCKy7eJC2LFfT05kZ15ynGaKfB5DJ/oqPV3mxXVR/EfwmE++hoA==", - "peerDependencies": { - "expo": "*" - } - }, "node_modules/expo-asset": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.10.1.tgz", - "integrity": "sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-9.0.1.tgz", + "integrity": "sha512-hoCzQ8ga6ZOmkwABQeAIStXmshpK+1oNpGNNeJCJ1QdoU6hlCu6DKnikreLZYr6FQzaQTS3yel86zuRQtwNpaQ==", "dependencies": { + "@react-native/assets-registry": "~0.73.1", "blueimp-md5": "^2.10.0", - "expo-constants": "~14.4.2", - "expo-file-system": "~15.4.0", + "expo-constants": "~15.4.0", + "expo-file-system": "~16.0.0", "invariant": "^2.2.4", - "md5-file": "^3.2.3", - "path-browserify": "^1.0.0", - "url-parse": "^1.5.9" + "md5-file": "^3.2.3" } }, - "node_modules/expo-asset/node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, "node_modules/expo-constants": { - "version": "14.4.2", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-14.4.2.tgz", - "integrity": "sha512-nOB122DOAjk+KrJT69lFQAoYVQGQjFHSigCPVBzVdko9S1xGsfiOH9+X5dygTsZTIlVLpQJDdmZ7ONiv3i+26w==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-15.4.2.tgz", + "integrity": "sha512-goJ44MsjRkJQbi/w49n7HIsBnp7Caa4mPMDUgTwk07BCUM5yKPb3Ny2/0QsaUcqBNgke2IXxr4OhqDYLd1jWOQ==", "dependencies": { - "@expo/config": "~8.1.0", - "uuid": "^3.3.2" + "@expo/config": "~8.5.0" }, "peerDependencies": { "expo": "*" } }, - "node_modules/expo-constants/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/expo-file-system": { - "version": "15.4.5", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.4.5.tgz", - "integrity": "sha512-xy61KaTaDgXhT/dllwYDHm3ch026EyO8j4eC6wSVr/yE12MMMxAC09yGwy4f7kkOs6ztGVQF5j7ldRzNLN4l0Q==", - "dependencies": { - "uuid": "^3.4.0" - }, + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-16.0.2.tgz", + "integrity": "sha512-oqiM3aq4mGugdv6DRH0wjrULWdZFm4EMLgKmR24on/f9ZCDG9VB3waSy+9J3XaDTAXBaB9ta82ACnNzk8KPdMw==", "peerDependencies": { "expo": "*" } }, - "node_modules/expo-file-system/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/expo-font": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.4.0.tgz", - "integrity": "sha512-nkmezCFD7gR/I6R+e3/ry18uEfF8uYrr6h+PdBJu+3dawoLOpo+wFb/RG9bHUekU1/cPanR58LR7G5MEMKHR2w==", + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.10.0.tgz", + "integrity": "sha512-yqlsoOKWiYv8aBMFqheHSUKKEY/lrB7zHjzDc60OF1xGa1q8kh7mKQVwSaRMS0G77GEUvvk8Vb/uKw51KY1kGA==", "dependencies": { "fontfaceobserver": "^2.1.0" }, @@ -32044,27 +31739,30 @@ } }, "node_modules/expo-image": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-1.8.1.tgz", - "integrity": "sha512-YHoP3F6zRcI9ULjB84jPt62ggSrdGLtpSxZTUxwmfI+WfuucNd/zqqXx0edsCyREIA6VvoyWBT48BBgvi+H1TA==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-1.10.1.tgz", + "integrity": "sha512-NwJt2FS6sZXeP92RpsZxBKSnCPWMdcJ2Q2bXHc8WgOkLLInvRd0yBKAzEusXTZ6+N+RqAcWVojlh3EBbSQhkiA==", + "dependencies": { + "@react-native/assets-registry": "~0.73.1" + }, "peerDependencies": { "expo": "*" } }, "node_modules/expo-keep-awake": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.3.0.tgz", - "integrity": "sha512-ujiJg1p9EdCOYS05jh5PtUrfiZnK0yyLy+UewzqrjUqIT8eAGMQbkfOn3C3fHE7AKd5AefSMzJnS3lYZcZYHDw==", + "version": "12.8.0", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.8.0.tgz", + "integrity": "sha512-KMk9nnOEEI2w4aYr/PMnLT6ryXwmHfsb/baeHX/RSLNBZ4a5JVkNXP+mT66UNnYfXxy3pABruusd7KjeKW+F0A==", "peerDependencies": { "expo": "*" } }, "node_modules/expo-modules-autolinking": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.5.1.tgz", - "integrity": "sha512-yt5a1VCp2BF9CrsO689PCD5oXKP14MMhnOanQMvDn4BDpURYfzAlDVGC5fZrNQKtwn/eq3bcrxIwZ7D9QjVVRg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.9.0.tgz", + "integrity": "sha512-FVRuclmR7w6FZRXZmTwPdIr9PNCP7FUWMhpzaxbKU/xm7DbNw5ORAv2gaM8t9OaMxYjIAMSNYi0NnmLIinzBKA==", "dependencies": { - "@expo/config": "~8.1.0", + "@expo/config": "~8.5.0", "chalk": "^4.1.0", "commander": "^7.2.0", "fast-glob": "^3.2.5", @@ -32148,11 +31846,10 @@ } }, "node_modules/expo-modules-core": { - "version": "1.5.12", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.5.12.tgz", - "integrity": "sha512-mY4wTDU458dhwk7IVxLNkePlYXjs9BTgk4NQHBUXf0LapXsvr+i711qPZaFNO4egf5qq6fQV+Yfd/KUguHstnQ==", + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.11.4.tgz", + "integrity": "sha512-MeDvWvdI3cHJO2VsASXsNYVoou1sdEO/SGBdLh2lxRhNpCLB0IIEZ3uPZwQQ8WBfFyPk4QT7M3XhCdPCKaT21A==", "dependencies": { - "compare-versions": "^3.4.0", "invariant": "^2.2.4" } }, @@ -32165,13 +31862,14 @@ } }, "node_modules/expo/node_modules/@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "dependencies": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "dependencies": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -32182,19 +31880,20 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "node_modules/expo/node_modules/@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "node_modules/expo/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -32202,23 +31901,15 @@ } }, "node_modules/expo/node_modules/@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "dependencies": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", "xmlbuilder": "^14.0.0" } }, - "node_modules/expo/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/expo/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -32272,25 +31963,6 @@ "node": ">=8" } }, - "node_modules/expo/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/expo/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, "node_modules/expo/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -32302,15 +31974,6 @@ "node": ">=8" } }, - "node_modules/expo/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/expo/node_modules/xml2js": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", @@ -32643,17 +32306,17 @@ "license": "MIT" }, "node_modules/fast-xml-parser": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.1.tgz", - "integrity": "sha512-viVv3xb8D+SiS1W4cv4tva3bni08kAkx0gQnWrykMM8nXPc1FxqZPU00dCEVjkiCg4HoXd2jC4x29Nzg/l2DAA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" } ], "dependencies": { @@ -32947,6 +32610,7 @@ }, "node_modules/find-babel-config": { "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { "json5": "^2.1.1", @@ -32958,6 +32622,7 @@ }, "node_modules/find-babel-config/node_modules/path-exists": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -33096,9 +32761,9 @@ "dev": true }, "node_modules/flow-enums-runtime": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", - "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==" }, "node_modules/flow-parser": { "version": "0.206.0", @@ -33861,7 +33526,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", - "license": "MIT", "dependencies": { "delegate": "^3.1.2" } @@ -34504,16 +34168,16 @@ } }, "node_modules/hermes-estree": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", - "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==" + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", + "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==" }, "node_modules/hermes-parser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", - "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", + "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", "dependencies": { - "hermes-estree": "0.12.0" + "hermes-estree": "0.15.0" } }, "node_modules/hermes-profile-transformer": { @@ -34606,9 +34270,19 @@ } }, "node_modules/html-entities": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.5.tgz", - "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] }, "node_modules/html-escaper": { "version": "2.0.2", @@ -34699,6 +34373,18 @@ "node": ">=6" } }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/htmlparser2": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", @@ -35254,9 +34940,9 @@ } }, "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "dependencies": { "queue": "6.0.2" }, @@ -35264,7 +34950,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/immediate": { @@ -35797,7 +35483,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -36124,7 +35809,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -36723,10 +36407,9 @@ } }, "node_modules/jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", - "dev": true, + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -37631,25 +37314,27 @@ } }, "node_modules/jest-environment-node": { - "version": "29.4.1", - "license": "MIT", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dependencies": { - "@jest/environment": "^29.4.1", - "@jest/fake-timers": "^29.4.1", - "@jest/types": "^29.4.1", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.4.1", - "jest-util": "^29.4.1" + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "29.4.1", - "license": "MIT", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dependencies": { - "@jest/schemas": "^29.4.0", + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -37661,9 +37346,9 @@ } }, "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", + "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", "dependencies": { "@types/yargs-parser": "*" } @@ -37672,7 +37357,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -37687,7 +37371,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -37703,7 +37386,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -37714,14 +37396,12 @@ "node_modules/jest-environment-node/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/jest-environment-node/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", "engines": { "node": ">=8" } @@ -37730,7 +37410,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -37739,11 +37418,12 @@ } }, "node_modules/jest-expo": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-49.0.0.tgz", - "integrity": "sha512-nglYg6QPYSqCsrsOFiGosQi+m1rrqmYluPbFXNnXNEOrB2MvxMOgQJeWfMHDExHMX1ymLWX+7y8mYo6XVJpBJQ==", + "version": "50.0.1", + "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-50.0.1.tgz", + "integrity": "sha512-osvA63UDLJ/v7MG9UHjU7WJ0oZ0Krq9UhXxm2s6rdOlnt85ARocyMU57RC0T0yzPN47C9Ref45sEeOIxoV4Mzg==", "dependencies": { - "@expo/config": "~8.1.0", + "@expo/config": "~8.5.0", + "@expo/json-file": "^8.2.37", "@jest/create-cache-key-function": "^29.2.1", "babel-jest": "^29.2.1", "find-up": "^5.0.0", @@ -37752,12 +37432,31 @@ "jest-watch-typeahead": "2.2.1", "json5": "^2.2.3", "lodash": "^4.17.19", - "react-test-renderer": "18.2.0" + "react-test-renderer": "18.2.0", + "stacktrace-js": "^2.0.2" }, "bin": { "jest": "bin/jest.js" } }, + "node_modules/jest-expo/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/jest-expo/node_modules/@expo/json-file": { + "version": "8.2.37", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", + "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.2", + "write-file-atomic": "^2.3.0" + } + }, "node_modules/jest-get-type": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", @@ -38002,17 +37701,17 @@ } }, "node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -38109,13 +37808,13 @@ } }, "node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-util": "^29.6.2" + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -38751,9 +38450,9 @@ } }, "node_modules/jest-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -39453,9 +39152,9 @@ } }, "node_modules/joi": { - "version": "17.10.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz", - "integrity": "sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "dependencies": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -39606,17 +39305,6 @@ "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/jscodeshift/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -39628,17 +39316,6 @@ "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/jsdoc-type-pratt-parser": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", @@ -40109,6 +39786,28 @@ "immediate": "~3.0.5" } }, + "node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "dependencies": { + "debug": "^2.6.9", + "marky": "^1.2.2" + } + }, + "node_modules/lighthouse-logger/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/lighthouse-logger/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/lightningcss": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.19.0.tgz", @@ -40738,9 +40437,9 @@ } }, "node_modules/lottie-react-native": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.4.0.tgz", - "integrity": "sha512-wFO/gLPN1KliyznBa8OtYWkc9Vn9OEmIg1/b1536KANFtGaFAeoAGhijVxYKF3UPKJgjJYFmqg0W//FVrSXj+g==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.4.1.tgz", + "integrity": "sha512-DPsUPSxLc3ZffeRQ/AtKtcUl4PzmJEEPt965tNpWSE4vhDkoGFxRe0TPZ45xX8/3HbGsUl48aMdLlAu28MEDsQ==", "peerDependencies": { "@dotlottie/react-player": "^1.6.1", "@lottiefiles/react-lottie-player": "^3.5.3", @@ -41002,6 +40701,11 @@ "react": ">= 0.14.0" } }, + "node_modules/marky": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", + "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==" + }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -41996,10 +41700,9 @@ } }, "node_modules/metro": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", - "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.3.tgz", + "integrity": "sha512-7u6HjWVQR7wA/HbxzB0n6iQ0GI9s/fr49N++dZQ41BcrcFxrguIGaRe4W8VI5DtYifCVCjXDIFw6e9+MAccx/Q==", "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/core": "^7.20.0", @@ -42009,7 +41712,6 @@ "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "accepts": "^1.3.7", - "async": "^3.2.2", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", @@ -42017,28 +41719,25 @@ "denodeify": "^1.2.1", "error-stack-parser": "^2.0.6", "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", + "hermes-parser": "0.18.2", "image-size": "^1.0.2", "invariant": "^2.2.4", - "jest-worker": "^27.2.0", + "jest-worker": "^29.6.3", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.8", - "metro-cache": "0.76.8", - "metro-cache-key": "0.76.8", - "metro-config": "0.76.8", - "metro-core": "0.76.8", - "metro-file-map": "0.76.8", - "metro-inspector-proxy": "0.76.8", - "metro-minify-terser": "0.76.8", - "metro-minify-uglify": "0.76.8", - "metro-react-native-babel-preset": "0.76.8", - "metro-resolver": "0.76.8", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "metro-symbolicate": "0.76.8", - "metro-transform-plugins": "0.76.8", - "metro-transform-worker": "0.76.8", + "metro-babel-transformer": "0.80.3", + "metro-cache": "0.80.3", + "metro-cache-key": "0.80.3", + "metro-config": "0.80.3", + "metro-core": "0.80.3", + "metro-file-map": "0.80.3", + "metro-minify-terser": "0.80.3", + "metro-resolver": "0.80.3", + "metro-runtime": "0.80.3", + "metro-source-map": "0.80.3", + "metro-symbolicate": "0.80.3", + "metro-transform-plugins": "0.80.3", + "metro-transform-worker": "0.80.3", "mime-types": "^2.1.27", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", @@ -42054,68 +41753,76 @@ "metro": "src/cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-babel-transformer": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", - "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.3.tgz", + "integrity": "sha512-Si1GO9fhiLi3DfHseFDaZcU+Y6iYHx54rszILnBIx80aas3pRZpL3z/UsEZ7coTQZTFsblt2QDIE+Izxlq4mwQ==", "dependencies": { "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", + "hermes-parser": "0.18.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=16" + "node": ">=18" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", + "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", + "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", + "dependencies": { + "hermes-estree": "0.18.2" } }, "node_modules/metro-cache": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", - "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.3.tgz", + "integrity": "sha512-7gHcOIXdAHCBzsovF4b+VgcfIZtCpCIFiT2zx9amU58xrmkx+PRIl1KZDIUfRBbGrO9HJtZxH7lr7/hoiLIUWA==", "dependencies": { - "metro-core": "0.76.8", + "metro-core": "0.80.3", "rimraf": "^3.0.2" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-cache-key": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", - "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.3.tgz", + "integrity": "sha512-WNrtDpbhtW2Yqjp1t0WxJhKNR/Zbo1LZ4WvHsdv/PraAs2mr+SaM5bbiptBSKOOGJkV/FIQveW5riZi53JnCbw==", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-config": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", - "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.3.tgz", + "integrity": "sha512-cE7KPT1Usdrd2nLEVpzukKWmeBU1PufHPkuD9BjjtoABbzdj35gMLDnK+mhjSq9km2vF2QEPtE0M+WKvq9pXfQ==", "dependencies": { "connect": "^3.6.5", "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.8", - "metro-cache": "0.76.8", - "metro-core": "0.76.8", - "metro-runtime": "0.76.8" + "jest-validate": "^29.6.3", + "metro": "0.80.3", + "metro-cache": "0.80.3", + "metro-core": "0.80.3", + "metro-runtime": "0.80.3" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-config/node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", @@ -42130,7 +41837,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dev": true, "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" @@ -42143,7 +41849,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -42156,129 +41861,49 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true, "engines": { "node": ">=4" } }, "node_modules/metro-core": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", - "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.3.tgz", + "integrity": "sha512-X2ZfAvR55TdD/Rv9i4gYVI68JpRPHcpKpkr6IVtidFPoNjf4Fodh1qH7gEAJUnO5FL3a1JyPffbW6eFaXPxkFw==", "dependencies": { "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.8" + "metro-resolver": "0.80.3" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-file-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", - "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.3.tgz", + "integrity": "sha512-4qu1ABPZRvboGGB8Q2RlQ26kZRWRCMDiktgCCrX/57V6cnWgdbdTrpnsgmU3i0Q7iiw+FevOGlfD4HqdauQ59g==", "dependencies": { "anymatch": "^3.0.3", "debug": "^2.2.0", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", + "jest-worker": "^29.6.3", "micromatch": "^4.0.4", "node-abort-controller": "^3.1.1", "nullthrows": "^1.1.1", "walker": "^1.0.7" }, "engines": { - "node": ">=16" + "node": ">=18" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, - "node_modules/metro-file-map/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", - "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/metro-file-map/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/metro-file-map/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/metro-file-map/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/metro-file-map/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/metro-file-map/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { "ms": "2.0.0" } @@ -42287,217 +41912,60 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/metro-file-map/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/metro-file-map/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/metro-file-map/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dependencies": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/metro-file-map/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/metro-file-map/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/metro-file-map/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/metro-inspector-proxy": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", - "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", - "dev": true, - "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro-inspector-proxy": "src/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/metro-inspector-proxy/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/metro-inspector-proxy/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro-inspector-proxy/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/metro-inspector-proxy/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/metro-inspector-proxy/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" - } - }, - "node_modules/metro-inspector-proxy/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" }, - "engines": { - "node": ">=12" - } - }, - "node_modules/metro-inspector-proxy/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/metro-minify-terser": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", - "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.3.tgz", + "integrity": "sha512-gVFwoL86emFoYbI2DZKk1Ved2CklYv//huWriF0UpLJHmVEO9ii2ajTx3aIxgSeuxFLPJhdp8RgUB2EDCooaJw==", "dependencies": { "terser": "^5.15.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/metro-minify-uglify": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", - "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", - "dev": true, - "dependencies": { - "uglify-es": "^3.1.9" - }, - "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-react-native-babel-preset": { "version": "0.76.8", "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "dev": true, + "peer": true, "dependencies": { "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", @@ -42548,75 +42016,48 @@ }, "node_modules/metro-react-native-babel-preset/node_modules/react-refresh": { "version": "0.4.3", + "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/metro-react-native-babel-transformer": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", - "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.8", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, "node_modules/metro-resolver": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", - "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.3.tgz", + "integrity": "sha512-zwa0i32rj/TI3NivcvMXHJwTG2gUgo2dXdcnAJlhEKKQvyN+7AfhNdQSlDdDqMQmU7FaLRdeWORnQJbYCrprQQ==", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-runtime": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", - "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.3.tgz", + "integrity": "sha512-16RKcwpxriNnPdE5eKWJu7/KLgxE+AaDAdYthoS6zbzjaOu7RiY2zPM1Elz175Rw//74kOwtKXgxTW8ADHB8SQ==", "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "@babel/runtime": "^7.0.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/metro-runtime/node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", - "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, "node_modules/metro-source-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", - "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.3.tgz", + "integrity": "sha512-5DYcOLPjDLx84ZCZ1i0DuWSPU7AY5G/7tR+u/WN6CZNxLyYEe3TwUBdIUgQj4HgZJl/zZ/7bGYJQOHd7ubuO0w==", "dependencies": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", + "metro-symbolicate": "0.80.3", "nullthrows": "^1.1.1", - "ob1": "0.76.8", + "ob1": "0.80.3", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-source-map/node_modules/source-map": { @@ -42628,12 +42069,12 @@ } }, "node_modules/metro-symbolicate": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", - "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.3.tgz", + "integrity": "sha512-baIt8Ss2vTGbxolRTa5yg+tKVAIAB1OpwMzJ0FSUjLs+HDAzaOtSpGbNd3DPc+pzX8Gj/rdbDOA0wPuOhVsHKQ==", "dependencies": { "invariant": "^2.2.4", - "metro-source-map": "0.76.8", + "metro-source-map": "0.80.3", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "through2": "^2.0.1", @@ -42643,7 +42084,7 @@ "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-symbolicate/node_modules/source-map": { @@ -42655,10 +42096,9 @@ } }, "node_modules/metro-transform-plugins": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", - "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.3.tgz", + "integrity": "sha512-/2hGGRdJPrNfB9lz8unukaqQpGpDhYwNM0Odfh37OVFjygMB30Ffd8neQ4FNqnHnFxhl5j8VTcopUg6QhygMGQ==", "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -42667,37 +42107,34 @@ "nullthrows": "^1.1.1" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro-transform-worker": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", - "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.3.tgz", + "integrity": "sha512-10ZwMDuSWyHwqNnZ50baNtHNuHhOnqThbTOgv03PsrmPHWmSv4/rrmm7711tEyLUxptY3A1hEgJ+LKYyOIQiUA==", "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", "@babel/parser": "^7.20.0", "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.8", - "metro-babel-transformer": "0.76.8", - "metro-cache": "0.76.8", - "metro-cache-key": "0.76.8", - "metro-source-map": "0.76.8", - "metro-transform-plugins": "0.76.8", + "metro": "0.80.3", + "metro-babel-transformer": "0.80.3", + "metro-cache": "0.80.3", + "metro-cache-key": "0.80.3", + "metro-source-map": "0.80.3", + "metro-transform-plugins": "0.80.3", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/metro/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -42712,7 +42149,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -42727,14 +42163,12 @@ "node_modules/metro/node_modules/ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "node_modules/metro/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -42748,7 +42182,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -42759,14 +42192,12 @@ "node_modules/metro/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/metro/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { "ms": "2.0.0" } @@ -42775,30 +42206,41 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", + "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", + "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", + "dependencies": { + "hermes-estree": "0.18.2" + } + }, "node_modules/metro/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dependencies": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/metro/node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -42812,14 +42254,12 @@ "node_modules/metro/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/metro/node_modules/serialize-error": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -42828,7 +42268,6 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -42837,7 +42276,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -42849,7 +42287,6 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, "engines": { "node": ">=8.3.0" }, @@ -42870,7 +42307,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -42879,7 +42315,6 @@ "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -42897,7 +42332,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, "engines": { "node": ">=12" } @@ -44083,7 +43517,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -44192,9 +43625,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -44612,11 +44045,11 @@ "license": "MIT" }, "node_modules/ob1": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", - "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.3.tgz", + "integrity": "sha512-lKJ/Wp6eSyYKYKYds1lgiDRtD2j9nNhrhx4hwegxYXTBkWz4dqermZV+Bq0iw0SszUIb+fC+btNSXwc4AG1lBQ==", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/object-assign": { @@ -45752,7 +45185,6 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, "dependencies": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -45768,7 +45200,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true, "engines": { "node": "14 || >=16.14" } @@ -45777,7 +45208,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", - "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -45955,6 +45385,7 @@ }, "node_modules/pkg-up": { "version": "3.1.0", + "dev": true, "license": "MIT", "dependencies": { "find-up": "^3.0.0" @@ -45965,6 +45396,7 @@ }, "node_modules/pkg-up/node_modules/find-up": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^3.0.0" @@ -45975,6 +45407,7 @@ }, "node_modules/pkg-up/node_modules/locate-path": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^3.0.0", @@ -45986,6 +45419,7 @@ }, "node_modules/pkg-up/node_modules/p-limit": { "version": "2.3.0", + "dev": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -45999,6 +45433,7 @@ }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^2.0.0" @@ -46328,9 +45763,9 @@ } }, "node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -47247,43 +46682,44 @@ } }, "node_modules/react-native": { - "version": "0.72.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", - "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", - "dependencies": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", - "@react-native/gradle-plugin": "^0.72.11", - "@react-native/js-polyfills": "^0.72.1", - "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.8", + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.2.tgz", + "integrity": "sha512-7zj9tcUYpJUBdOdXY6cM8RcXYWkyql4kMyGZflW99E5EuFPoC7Ti+ZQSl7LP9ZPzGD0vMfslwyDW0I4tPWUCFw==", + "dependencies": { + "@jest/create-cache-key-function": "^29.6.3", + "@react-native-community/cli": "12.3.0", + "@react-native-community/cli-platform-android": "12.3.0", + "@react-native-community/cli-platform-ios": "12.3.0", + "@react-native/assets-registry": "0.73.1", + "@react-native/codegen": "0.73.2", + "@react-native/community-cli-plugin": "0.73.12", + "@react-native/gradle-plugin": "0.73.4", + "@react-native/js-polyfills": "0.73.1", + "@react-native/normalize-colors": "0.73.2", + "@react-native/virtualized-lists": "0.73.4", "abort-controller": "^3.0.0", "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", + "ansi-regex": "^5.0.0", + "base64-js": "^1.5.1", + "deprecated-react-native-prop-types": "^5.0.0", "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.5", + "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", + "jest-environment-node": "^29.6.3", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", + "metro-runtime": "^0.80.3", + "metro-source-map": "^0.80.3", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", "promise": "^8.3.0", - "react-devtools-core": "^4.27.2", - "react-refresh": "^0.4.0", + "react-devtools-core": "^4.27.7", + "react-refresh": "^0.14.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.24.0-canary-efb381bbf-20230505", "stacktrace-parser": "^0.1.10", - "use-sync-external-store": "^1.0.0", "whatwg-fetch": "^3.0.0", "ws": "^6.2.2", "yargs": "^17.6.2" @@ -47292,7 +46728,7 @@ "react-native": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" }, "peerDependencies": { "react": "18.2.0" @@ -47436,6 +46872,7 @@ "integrity": "sha512-M784S/qPuN/HqjdvXg98HIDmfm0sF8mACc56YNg87nzEF90zKSKp0XyOE83SEW+UJX2Gq/rf9BvM2GZeXlrhnQ==", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-native": ">0.62.0" @@ -47460,9 +46897,9 @@ } }, "node_modules/react-native-gesture-handler": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.12.0.tgz", - "integrity": "sha512-rr+XwVzXAVpY8co25ukvyI38fKCxTQjz7WajeZktl8qUPdh1twnSExgpT47DqDi4n+m+OiJPAnHfZOkqqAQMOg==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.14.0.tgz", + "integrity": "sha512-cOmdaqbpzjWrOLUpX3hdSjsMby5wq3PIEdMq7okJeg9DmCzanysHSrktw1cXWNc/B5MAgxAn9J7Km0/4UIqKAQ==", "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", @@ -47597,17 +47034,17 @@ } }, "node_modules/react-native-onyx": { - "version": "1.0.118", - "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.118.tgz", - "integrity": "sha512-w54jO+Bpu1ElHsrxZXIIpcBqNkrUvuVCQmwWdfOW5LvO4UwsPSwmMxzExbUZ4ip+7CROmm10IgXFaAoyfeYSVQ==", + "version": "1.0.126", + "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.126.tgz", + "integrity": "sha512-tUJI1mQaWXLfyBFYQQWM6mm9GiCqIXGvjbqJkH1fLY3OqbGW6DyH4CxC+qJrqfi4bKZgZHp5xlBHhkPV4pKK2A==", "dependencies": { "ascii-table": "0.0.9", "fast-equals": "^4.0.3", "underscore": "^1.13.6" }, "engines": { - "node": ">=16.15.1 <=20.9.0", - "npm": ">=8.11.0 <=10.1.0" + "node": "20.9.0", + "npm": "10.1.0" }, "peerDependencies": { "idb-keyval": "^6.2.1", @@ -47633,9 +47070,9 @@ } }, "node_modules/react-native-pager-view": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.0.tgz", - "integrity": "sha512-pf9OnL/Tkr+5s4Gjmsn7xh91PtJLDa6qxYa/bmtUhd/+s4cQdWQ8DIFoOFghwZIHHHwVdWtoXkp6HtpjN+r20g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.2.tgz", + "integrity": "sha512-MLkJB7iP6v0Hd4/B4/R/gLCSE+YBtjxG/vHZYBDU+fI3U7HBYgKAg4o6ad8HxbKVcWWyRDNeeVRGISw1MUjlHw==", "peerDependencies": { "react": "*", "react-native": "*" @@ -47811,19 +47248,18 @@ "license": "MIT" }, "node_modules/react-native-safe-area-context": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.4.1.tgz", - "integrity": "sha512-N9XTjiuD73ZpVlejHrUWIFZc+6Z14co1K/p1IFMkImU7+avD69F3y+lhkqA2hN/+vljdZrBSiOwXPkuo43nFQA==", - "license": "MIT", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.7.4.tgz", + "integrity": "sha512-3LR3DCq9pdzlbq6vsHGWBFehXAKDh2Ljug6jWhLWs1QFuJHM6AS2+mH2JfKlB2LqiSFZOBcZfHQFz0sGaA3uqg==", "peerDependencies": { "react": "*", "react-native": "*" } }, "node_modules/react-native-screens": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.21.0.tgz", - "integrity": "sha512-SybzBhceTN2LUfzvEQxpZ9SchlFgEdsR/+YOKcpIhKg2BdRObdIyQsRoJBvduZ55lKbO9Gpyl3Ke8tngz3873g==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", + "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -47834,9 +47270,9 @@ } }, "node_modules/react-native-svg": { - "version": "13.14.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.14.0.tgz", - "integrity": "sha512-27ZnxUkHgWICimhuj6MuqBkISN53lVvgWJB7pIypjXysAyM+nqgQBPh4vXg+7MbqLBoYvR4PiBgKfwwGAqVxHg==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.0.0.tgz", + "integrity": "sha512-17W/gWXRUMS7p7PSHu/WyGkZUc1NzRTGxxXc0VqBLjzKSchyb0EmgsiWf9aKmfC6gmY0wcsmKZcGV41bCcNfBA==", "dependencies": { "css-select": "^5.1.0", "css-tree": "^1.1.3" @@ -47871,8 +47307,12 @@ } }, "node_modules/react-native-view-shot": { - "version": "3.6.0", - "license": "MIT", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/react-native-view-shot/-/react-native-view-shot-3.8.0.tgz", + "integrity": "sha512-4cU8SOhMn3YQIrskh+5Q8VvVRxQOu8/s1M9NAL4z5BY1Rm0HXMWkQJ4N0XsZ42+Yca+y86ISF3LC5qdLPvPuiA==", + "dependencies": { + "html2canvas": "^1.4.1" + }, "peerDependencies": { "react": "*", "react-native": "*" @@ -47920,8 +47360,9 @@ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, "node_modules/react-native-webview": { - "version": "11.23.0", - "license": "MIT", + "version": "13.6.3", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.6.3.tgz", + "integrity": "sha512-IApO0JSj0uAWsBGKWagyfgDYoX29piiMYLmkHtRjKeL1rIVjLoR/bMe7KJ/0X47y86b//a6u3cYQtphyay+F2A==", "dependencies": { "escape-string-regexp": "2.0.0", "invariant": "2.2.4" @@ -47992,13 +47433,16 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/react-native/node_modules/deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", + "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", "dependencies": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" + "@react-native/normalize-colors": "^0.73.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=18" } }, "node_modules/react-native/node_modules/mkdirp": { @@ -48040,9 +47484,9 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/react-native/node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", "engines": { "node": ">=0.10.0" } @@ -49874,6 +49318,7 @@ }, "node_modules/reselect": { "version": "4.1.7", + "dev": true, "license": "MIT" }, "node_modules/resolve": { @@ -49942,8 +49387,9 @@ "license": "MIT" }, "node_modules/resolve.exports": { - "version": "2.0.0", - "license": "MIT", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "engines": { "node": ">=10" } @@ -50309,8 +49755,7 @@ "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==", - "license": "MIT" + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" }, "node_modules/select-hose": { "version": "2.0.0", @@ -50585,6 +50030,11 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "license": "ISC" }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -51777,6 +51227,11 @@ "dev": true, "license": "MIT" }, + "node_modules/stream-slice": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "integrity": "sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==" + }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -51826,7 +51281,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -51888,14 +51342,15 @@ } }, "node_modules/string.prototype.replaceall": { - "version": "1.0.6", - "license": "MIT", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.replaceall/-/string.prototype.replaceall-1.0.8.tgz", + "integrity": "sha512-MmCXb9980obcnmbEd3guqVl6lXTxpP28zASfgAlAhlBMw5XehQeSKsdIWlAYtLxp/1GtALwex+2HyoIQtaLQwQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", "is-regex": "^1.1.4" }, "funding": { @@ -51976,7 +51431,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -51988,7 +51442,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -52100,13 +51553,13 @@ "integrity": "sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==" }, "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -52117,7 +51570,7 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/sucrase/node_modules/@jridgewell/gen-mapping": { @@ -52133,6 +51586,14 @@ "node": ">=6.0.0" } }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -52141,6 +51602,75 @@ "node": ">= 6" } }, + "node_modules/sucrase/node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/sudo-prompt": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", @@ -52528,6 +52058,17 @@ "node": ">=0.10.0" } }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -52560,6 +52101,17 @@ "node": ">=12" } }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/tempy": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz", @@ -52831,6 +52383,14 @@ "node": ">=8" } }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/text-table": { "version": "0.2.0", "license": "MIT" @@ -53206,9 +52766,12 @@ } }, "node_modules/traverse": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -53587,27 +53150,6 @@ "node": "*" } }, - "node_modules/uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", - "dependencies": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uglify-es/node_modules/commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -54245,14 +53787,6 @@ } } }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -54311,6 +53845,14 @@ "node": ">= 0.4.0" } }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -54869,6 +54411,29 @@ "defaults": "^1.0.3" } }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, + "node_modules/web-encoding/node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/web-namespaces": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", @@ -55834,7 +55399,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -55851,7 +55415,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -55866,7 +55429,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -55877,8 +55439,7 @@ "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", @@ -56537,14 +56098,14 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", - "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -56617,19 +56178,19 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.23.0" } }, "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" } }, "@babel/helper-module-transforms": { @@ -56703,9 +56264,9 @@ } }, "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" }, "@babel/helper-validator-identifier": { "version": "7.22.20", @@ -56713,9 +56274,9 @@ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" }, "@babel/helper-wrap-function": { "version": "7.22.5", @@ -56808,6 +56369,7 @@ }, "@babel/plugin-proposal-export-namespace-from": { "version": "7.18.9", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -56994,9 +56556,9 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -57215,9 +56777,9 @@ } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -57405,9 +56967,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -57422,12 +56984,12 @@ } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.3.tgz", + "integrity": "sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } @@ -57450,26 +57012,31 @@ } }, "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.18.10", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.18.10" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "dev": true, + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.22.5" } }, "@babel/plugin-transform-react-jsx-self": { @@ -57485,11 +57052,12 @@ } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "dev": true, + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-regenerator": { @@ -57772,15 +57340,16 @@ } }, "@babel/preset-react": { - "version": "7.18.6", - "dev": true, + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" } }, "@babel/preset-typescript": { @@ -57853,11 +57422,11 @@ } }, "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "requires": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } @@ -58429,53 +57998,62 @@ } }, "@expo/cli": { - "version": "0.10.16", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.10.16.tgz", - "integrity": "sha512-EwgnRN5AMElg0JJjFLJTPk5hYkVXxnNMLIvZBiTfGoCq+rDw6u7Mg5l2Bbm/geSHOoplaHyPZ/Wr23FAuZWehA==", + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.16.5.tgz", + "integrity": "sha512-4SAAymmV97OeskbYbpiJ/HFSUHLIyYmP8RlZE0svH+A1Z2lsAbjm8G7t5dFt5WPZGHWuj0y/DzIT8eElqvwHEg==", "requires": { "@babel/runtime": "^7.20.0", "@expo/code-signing-certificates": "0.0.5", - "@expo/config": "~8.1.0", - "@expo/config-plugins": "~7.2.0", - "@expo/dev-server": "0.5.5", + "@expo/config": "~8.5.0", + "@expo/config-plugins": "~7.8.0", "@expo/devcert": "^1.0.0", - "@expo/env": "0.0.5", + "@expo/env": "~0.2.0", + "@expo/image-utils": "^0.4.0", "@expo/json-file": "^8.2.37", - "@expo/metro-config": "~0.10.0", + "@expo/metro-config": "~0.17.0", "@expo/osascript": "^2.0.31", - "@expo/package-manager": "~1.1.0", - "@expo/plist": "^0.0.20", - "@expo/prebuild-config": "6.2.6", + "@expo/package-manager": "^1.1.1", + "@expo/plist": "^0.1.0", + "@expo/prebuild-config": "6.7.2", "@expo/rudder-sdk-node": "1.1.1", + "@expo/server": "^0.3.0", "@expo/spawn-async": "1.5.0", - "@expo/xcpretty": "^4.2.1", + "@expo/xcpretty": "^4.3.0", + "@react-native/dev-middleware": "^0.73.6", "@urql/core": "2.3.6", "@urql/exchange-retry": "0.3.0", "accepts": "^1.3.8", - "arg": "4.1.0", + "arg": "5.0.2", "better-opn": "~3.0.2", "bplist-parser": "^0.3.1", "cacache": "^15.3.0", "chalk": "^4.0.0", "ci-info": "^3.3.0", + "connect": "^3.7.0", "debug": "^4.3.4", "env-editor": "^0.4.1", + "find-yarn-workspace-root": "~2.0.0", "form-data": "^3.0.1", "freeport-async": "2.0.0", "fs-extra": "~8.1.0", "getenv": "^1.0.0", + "glob": "^7.1.7", "graphql": "15.8.0", "graphql-tag": "^2.10.1", "https-proxy-agent": "^5.0.1", "internal-ip": "4.3.0", + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1", "js-yaml": "^3.13.1", "json-schema-deref-sync": "^0.13.0", - "md5-file": "^3.2.3", + "lodash.debounce": "^4.0.8", "md5hex": "^1.0.0", - "minipass": "3.1.6", + "minimatch": "^3.0.4", + "minipass": "3.3.6", "node-fetch": "^2.6.7", "node-forge": "^1.3.1", "npm-package-arg": "^7.0.0", + "open": "^8.3.0", "ora": "3.4.0", "pretty-bytes": "5.6.0", "progress": "2.0.3", @@ -58483,12 +58061,15 @@ "qrcode-terminal": "0.11.0", "require-from-string": "^2.0.2", "requireg": "^0.2.2", + "resolve": "^1.22.2", "resolve-from": "^5.0.0", + "resolve.exports": "^2.0.2", "semver": "^7.5.3", "send": "^0.18.0", "slugify": "^1.3.4", "structured-headers": "^0.4.1", "tar": "^6.0.5", + "temp-dir": "^2.0.0", "tempy": "^0.7.1", "terminal-link": "^2.1.1", "text-table": "^0.2.0", @@ -58506,13 +58087,14 @@ } }, "@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "requires": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "requires": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -58523,19 +58105,35 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "requires": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -58543,9 +58141,9 @@ } }, "@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "requires": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -58561,9 +58159,9 @@ } }, "arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "better-opn": { "version": "3.0.2", @@ -58626,6 +58224,19 @@ "universalify": "^0.1.0" } }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -58698,14 +58309,6 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, - "minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "requires": { - "yallist": "^4.0.0" - } - }, "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", @@ -58831,13 +58434,13 @@ } }, "@expo/config": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-8.1.2.tgz", - "integrity": "sha512-4e7hzPj50mQIlsrzOH6XZ36O094mPfPTIDIH4yv49bWNMc7GFLTofB/lcT+QyxiLaJuC0Wlk9yOLB8DIqmtwug==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-8.5.2.tgz", + "integrity": "sha512-UYy9kWxjQAEDwlX7gwLk0+8IxGPcHJMLnYRYtR5C5xGIV+ML7tCA+qFz1p4gHZRPkJD+k7iZyqBtyqt8xm+zXw==", "requires": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~7.2.0", - "@expo/config-types": "^49.0.0-alpha.1", + "@expo/config-plugins": "~7.8.2", + "@expo/config-types": "^50.0.0", "@expo/json-file": "^8.2.37", "getenv": "^1.0.0", "glob": "7.1.6", @@ -58857,13 +58460,14 @@ } }, "@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "requires": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "requires": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -58874,19 +58478,20 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "requires": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -58894,9 +58499,9 @@ } }, "@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "requires": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -59044,166 +58649,6 @@ "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz", "integrity": "sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==" }, - "@expo/dev-server": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.5.5.tgz", - "integrity": "sha512-t0fT8xH1exwYsH5hh7bAt85VF+gXxg24qrbny2rR/iKoPTWFCd2JNQV8pvfLg51hvrywQ3YCBuT3lU1w7aZxFA==", - "requires": { - "@expo/bunyan": "4.0.0", - "@expo/metro-config": "~0.10.0", - "@expo/osascript": "2.0.33", - "@expo/spawn-async": "^1.5.0", - "body-parser": "^1.20.1", - "chalk": "^4.0.0", - "connect": "^3.7.0", - "fs-extra": "9.0.0", - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1", - "node-fetch": "^2.6.0", - "open": "^8.3.0", - "resolve-from": "^5.0.0", - "serialize-error": "6.0.0", - "temp-dir": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "serialize-error": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-6.0.0.tgz", - "integrity": "sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA==", - "requires": { - "type-fest": "^0.12.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", - "integrity": "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==" - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - } - } - }, "@expo/devcert": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.0.tgz", @@ -59264,9 +58709,9 @@ } }, "@expo/env": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.0.5.tgz", - "integrity": "sha512-UXuKAqyXfhMQC3gP0OyjXmFX08Z1fkVWiGBN7bYzfoX8LHatjeHrDtI6w5nDvd8XPxPvmqaZoEDw1lW3+dz3oQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.2.1.tgz", + "integrity": "sha512-deZmRS7Dvp18VM8s559dq/ZjPlV1D9vtLoLXwHmCK/JYOvtNptdKsfxcWjI7ewmo6ln2PqgNI9HRI74q6Wk2eA==", "requires": { "chalk": "^4.0.0", "debug": "^4.3.4", @@ -59330,17 +58775,75 @@ } } }, + "@expo/fingerprint": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.6.0.tgz", + "integrity": "sha512-KfpoVRTMwMNJ/Cf5o+Ou8M/Y0EGSTqK+rbi70M2Y0K2qgWNfMJ1gm6sYO9uc8lcTr7YSYM1Rme3dk7QXhpScNA==", + "requires": { + "@expo/spawn-async": "^1.5.0", + "chalk": "^4.1.2", + "debug": "^4.3.4", + "find-up": "^5.0.0", + "minimatch": "^3.0.4", + "p-limit": "^3.1.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "@expo/image-utils": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz", - "integrity": "sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.4.1.tgz", + "integrity": "sha512-EZb+VHSmw+a5s2hS9qksTcWylY0FDaIAVufcxoaRS9tHIXLjW5zcKW7Rhj9dSEbZbRVy9yXXdHKa3GQdUQIOFw==", "requires": { "@expo/spawn-async": "1.5.0", "chalk": "^4.0.0", "fs-extra": "9.0.0", "getenv": "^1.0.0", "jimp-compact": "0.16.1", - "mime": "^2.4.4", "node-fetch": "^2.6.0", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", @@ -59476,17 +58979,25 @@ } }, "@expo/metro-config": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.10.7.tgz", - "integrity": "sha512-uACymEiyX0447hI4unt+2cemLQkTZXKvTev936NhtsgVnql45EP0V0pzmo/0H0WlHaAGXgvOBZJl8wFqcJ3CbQ==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.17.1.tgz", + "integrity": "sha512-ZOE0Jx0YTZyPpsGiiE09orGEFgZ5sMrOOFSgOe8zrns925g/uCuEbowyNq38IfQt//3xSl5mW3z0l4rxgi7hHQ==", "requires": { - "@expo/config": "~8.1.0", - "@expo/env": "0.0.5", - "@expo/json-file": "~8.2.37", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "@expo/config": "~8.5.0", + "@expo/env": "~0.2.0", + "@expo/json-file": "~8.3.0", + "@expo/spawn-async": "^1.7.2", + "babel-preset-fbjs": "^3.4.0", "chalk": "^4.1.0", "debug": "^4.3.2", "find-yarn-workspace-root": "~2.0.0", + "fs-extra": "^9.1.0", "getenv": "^1.0.0", + "glob": "^7.2.3", "jsc-safe-url": "^0.2.4", "lightningcss": "~1.19.0", "postcss": "~8.4.21", @@ -59503,15 +59014,23 @@ } }, "@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "requires": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", "write-file-atomic": "^2.3.0" } }, + "@expo/spawn-async": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz", + "integrity": "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==", + "requires": { + "cross-spawn": "^7.0.3" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -59542,6 +59061,19 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -59553,11 +59085,11 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", "requires": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -59683,14 +59215,14 @@ } }, "@expo/prebuild-config": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.2.6.tgz", - "integrity": "sha512-uFVvDAm9dPg9p1qpnr4CVnpo2hmkZIL5FQz+VlIdXXJpe7ySh/qTGHtKWY/lWUshQkAJ0nwbKGPztGWdABns/Q==", - "requires": { - "@expo/config": "~8.1.0", - "@expo/config-plugins": "~7.2.0", - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/image-utils": "0.3.22", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.7.2.tgz", + "integrity": "sha512-Z1GyWfl923wU29YQg6Xik4URls4qcIddWA4vLhW6mUgiRhC3HCf1keHEzK5AtWsrga4bH/H+usAY0OltgABW1w==", + "requires": { + "@expo/config": "~8.5.0", + "@expo/config-plugins": "~7.8.0", + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/image-utils": "^0.4.0", "@expo/json-file": "^8.2.37", "debug": "^4.3.1", "fs-extra": "^9.0.0", @@ -59708,13 +59240,14 @@ } }, "@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "requires": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "requires": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -59725,19 +59258,20 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "requires": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -59745,9 +59279,9 @@ } }, "@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "requires": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -59849,6 +59383,17 @@ "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==" }, + "@expo/server": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@expo/server/-/server-0.3.0.tgz", + "integrity": "sha512-5oIqedpLVMnf1LGI9Xd5OOGmK3DjgH9VpuqVN4e/6DwLT05RZJMyI7ylfG6QSy1e44yOgjv242tLyg0e/zdZ+A==", + "requires": { + "@remix-run/node": "^1.19.3", + "abort-controller": "^3.0.0", + "debug": "^4.3.4", + "source-map-support": "~0.5.21" + } + }, "@expo/spawn-async": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.5.0.tgz", @@ -59908,9 +59453,9 @@ "integrity": "sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==" }, "@expo/xcpretty": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz", - "integrity": "sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.0.tgz", + "integrity": "sha512-whBbvHZ2Q10T5TNmN0z5NbO6C9ZDw+XUTu8h6vVMnMzQrbGexc9oaCCZfz+L3Q7TEL5vfr+9L86nY62c3Bsm+g==", "requires": { "@babel/code-frame": "7.10.4", "chalk": "^4.1.0", @@ -60166,7 +59711,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "requires": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -60179,26 +59723,22 @@ "ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -60209,7 +59749,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "requires": { "ansi-regex": "^6.0.1" } @@ -60218,7 +59757,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -60227,6 +59765,11 @@ } } }, + "@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==" + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -60466,19 +60009,19 @@ } }, "@jest/create-cache-key-function": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz", - "integrity": "sha512-LIDZyZgnZss7uikvBKBB/USWwG+GO8+GnwRWT+YkCGDGsqLQlhm9BC3z6+7+eMs1kUlvXQIWEzBR8Q2Pnvx6lg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "requires": { - "@jest/types": "^29.5.0" + "@jest/types": "^29.6.3" }, "dependencies": { "@jest/types": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "requires": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -60487,9 +60030,9 @@ } }, "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", + "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", "requires": { "@types/yargs-parser": "*" } @@ -60540,14 +60083,14 @@ } }, "@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "requires": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.2" + "jest-mock": "^29.7.0" }, "dependencies": { "@jest/types": { @@ -60634,16 +60177,16 @@ } }, "@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "requires": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "dependencies": { "@jest/types": { @@ -61973,7 +61516,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "optional": true }, "@pmmmwh/react-refresh-webpack-plugin": { @@ -62286,9 +61828,9 @@ } }, "@react-native-async-storage/async-storage": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.19.3.tgz", - "integrity": "sha512-CwGfoHCWdPOTPS+2fW6YRE1fFBpT9++ahLEroX5hkgwyoQ+TkmjOaUxixdEIoVua9Pz5EF2pGOIJzqOTMWfBlA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz", + "integrity": "sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag==", "requires": { "merge-options": "^3.0.4" } @@ -62306,26 +61848,27 @@ "requires": {} }, "@react-native-community/cli": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", - "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", - "requires": { - "@react-native-community/cli-clean": "11.3.6", - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-doctor": "11.3.6", - "@react-native-community/cli-hermes": "11.3.6", - "@react-native-community/cli-plugin-metro": "11.3.6", - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "@react-native-community/cli-types": "11.3.6", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.0.tgz", + "integrity": "sha512-XeQohi2E+S2+MMSz97QcEZ/bWpi8sfKiQg35XuYeJkc32Til2g0b97jRpn0/+fV0BInHoG1CQYWwHA7opMsrHg==", + "requires": { + "@react-native-community/cli-clean": "12.3.0", + "@react-native-community/cli-config": "12.3.0", + "@react-native-community/cli-debugger-ui": "12.3.0", + "@react-native-community/cli-doctor": "12.3.0", + "@react-native-community/cli-hermes": "12.3.0", + "@react-native-community/cli-plugin-metro": "12.3.0", + "@react-native-community/cli-server-api": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", + "@react-native-community/cli-types": "12.3.0", "chalk": "^4.1.2", "commander": "^9.4.1", + "deepmerge": "^4.3.0", "execa": "^5.0.0", "find-up": "^4.1.0", "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", + "prompts": "^2.4.2", "semver": "^7.5.2" }, "dependencies": { @@ -62441,14 +61984,13 @@ } }, "@react-native-community/cli-clean": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", - "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.0.tgz", + "integrity": "sha512-iAgLCOWYRGh9ukr+eVQnhkV/OqN3V2EGd/in33Ggn/Mj4uO6+oUncXFwB+yjlyaUNz6FfjudhIz09yYGSF+9sg==", "requires": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", - "execa": "^5.0.0", - "prompts": "^2.4.0" + "execa": "^5.0.0" }, "dependencies": { "ansi-styles": { @@ -62497,11 +62039,11 @@ } }, "@react-native-community/cli-config": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", - "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.0.tgz", + "integrity": "sha512-BrTn5ndFD9uOxO8kxBQ32EpbtOvAsQExGPI7SokdI4Zlve70FziLtTq91LTlTUgMq1InVZn/jJb3VIDk6BTInQ==", "requires": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -62589,34 +62131,33 @@ } }, "@react-native-community/cli-debugger-ui": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", - "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.0.tgz", + "integrity": "sha512-w3b0iwjQlk47GhZWHaeTG8kKH09NCMUJO729xSdMBXE8rlbm4kHpKbxQY9qKb6NlfWSJN4noGY+FkNZS2rRwnQ==", "requires": { "serve-static": "^1.13.1" } }, "@react-native-community/cli-doctor": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", - "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", - "requires": { - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.0.tgz", + "integrity": "sha512-BPCwNNesoQMkKsxB08Ayy6URgGQ8Kndv6mMhIvJSNdST3J1+x3ehBHXzG9B9Vfi+DrTKRb8lmEl/b/7VkDlPkA==", + "requires": { + "@react-native-community/cli-config": "12.3.0", + "@react-native-community/cli-platform-android": "12.3.0", + "@react-native-community/cli-platform-ios": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "command-exists": "^1.2.8", - "envinfo": "^7.7.2", + "deepmerge": "^4.3.0", + "envinfo": "^7.10.0", "execa": "^5.0.0", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5", "node-stream-zip": "^1.9.1", "ora": "^5.4.1", - "prompts": "^2.4.0", "semver": "^7.5.2", "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", "wcwidth": "^1.0.1", "yaml": "^2.2.1" }, @@ -62680,12 +62221,12 @@ } }, "@react-native-community/cli-hermes": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", - "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.0.tgz", + "integrity": "sha512-G6FxpeZBO4AimKZwtWR3dpXRqTvsmEqlIkkxgwthdzn3LbVjDVIXKpVYU9PkR5cnT+KuAUxO0WwthrJ6Nmrrlg==", "requires": { - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-platform-android": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -62742,13 +62283,14 @@ } }, "@react-native-community/cli-platform-android": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", - "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.0.tgz", + "integrity": "sha512-VU1NZw63+GLU2TnyQ919bEMThpHQ/oMFju9MCfrd3pyPJz4Sn+vc3NfnTDUVA5Z5yfLijFOkHIHr4vo/C9bjnw==", "requires": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "execa": "^5.0.0", + "fast-xml-parser": "^4.2.4", "glob": "^7.1.3", "logkitty": "^0.7.1" }, @@ -62799,11 +62341,11 @@ } }, "@react-native-community/cli-platform-ios": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", - "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.0.tgz", + "integrity": "sha512-H95Sgt3wT7L8V75V0syFJDtv4YgqK5zbu69ko4yrXGv8dv2EBi6qZP0VMmkqXDamoPm9/U7tDTdbcf26ctnLfg==", "requires": { - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-tools": "12.3.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -62857,533 +62399,17 @@ } }, "@react-native-community/cli-plugin-metro": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", - "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", - "requires": { - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "readline": "^1.3.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", - "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - } - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "metro": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", - "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - } - }, - "metro-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", - "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", - "requires": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", - "nullthrows": "^1.1.1" - } - }, - "metro-cache": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", - "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", - "requires": { - "metro-core": "0.76.7", - "rimraf": "^3.0.2" - } - }, - "metro-cache-key": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", - "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==" - }, - "metro-config": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", - "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", - "requires": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" - } - }, - "metro-core": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", - "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", - "requires": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" - } - }, - "metro-file-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", - "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", - "requires": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - } - }, - "metro-inspector-proxy": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", - "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", - "requires": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - } - }, - "metro-minify-terser": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", - "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", - "requires": { - "terser": "^5.15.0" - } - }, - "metro-minify-uglify": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", - "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", - "requires": { - "uglify-es": "^3.1.9" - } - }, - "metro-react-native-babel-preset": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", - "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", - "requires": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.4.0" - } - }, - "metro-react-native-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", - "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", - "requires": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", - "nullthrows": "^1.1.1" - } - }, - "metro-resolver": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", - "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==" - }, - "metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "metro-symbolicate": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", - "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", - "requires": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.7", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - } - }, - "metro-transform-plugins": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", - "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - } - }, - "metro-transform-worker": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", - "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", - "nullthrows": "^1.1.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==" - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.0.tgz", + "integrity": "sha512-tYNHIYnNmxrBcsqbE2dAnLMzlKI3Cp1p1xUgTrNaOMsGPDN1epzNfa34n6Nps3iwKElSL7Js91CzYNqgTalucA==" }, "@react-native-community/cli-server-api": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", - "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.0.tgz", + "integrity": "sha512-Rode8NrdyByC+lBKHHn+/W8Zu0c+DajJvLmOWbe2WY/ECvnwcd9MHHbu92hlT2EQaJ9LbLhGrSbQE3cQy9EOCw==", "requires": { - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-debugger-ui": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -63444,9 +62470,9 @@ } }, "@react-native-community/cli-tools": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", - "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.0.tgz", + "integrity": "sha512-2GafnCr8D88VdClwnm9KZfkEb+lzVoFdr/7ybqhdeYM0Vnt/tr2N+fM1EQzwI1DpzXiBzTYemw8GjRq+Utcz2Q==", "requires": { "appdirsjs": "^1.2.4", "chalk": "^4.1.2", @@ -63456,7 +62482,8 @@ "open": "^6.2.0", "ora": "^5.4.1", "semver": "^7.5.2", - "shell-quote": "^1.7.3" + "shell-quote": "^1.7.3", + "sudo-prompt": "^9.0.0" }, "dependencies": { "ansi-styles": { @@ -63518,9 +62545,9 @@ } }, "@react-native-community/cli-types": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", - "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.0.tgz", + "integrity": "sha512-MgOkmrXH4zsGxhte4YqKL7d+N8ZNEd3w1wo56MZlhu5WabwCJh87wYpU5T8vyfujFLYOFuFK5jjlcbs8F4/WDw==", "requires": { "joi": "^17.2.1" } @@ -63603,7 +62630,9 @@ "requires": {} }, "@react-native-community/netinfo": { - "version": "9.3.10", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-11.2.1.tgz", + "integrity": "sha512-n9kgmH7vLaU7Cdo8vGfJGGwhrlgppaOSq5zKj9I7H4k5iRM3aNtwURw83mgrc22Ip7nSye2afZV2xDiIyvHttQ==", "requires": {} }, "@react-native-firebase/analytics": { @@ -63646,45 +62675,244 @@ "requires": {} }, "@react-native-picker/picker": { - "version": "2.4.4", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.5.1.tgz", + "integrity": "sha512-/sADUfQsosMRYtrqqL3ZYZSECRygj0fXtpRLqxJfwuMEoqfvfn40756R6B1alzusVvDRZFI0ari0iQid56hA/Q==", "requires": {} }, "@react-native/assets-registry": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", - "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" + "version": "0.73.1", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", + "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==" + }, + "@react-native/babel-plugin-codegen": { + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.2.tgz", + "integrity": "sha512-PadyFZWVaWXIBP7Q5dgEL7eAd7tnsgsLjoHJB1hIRZZuVUg1Zqe3nULwC7RFAqOtr5Qx7KXChkFFcKQ3WnZzGw==", + "requires": { + "@react-native/codegen": "0.73.2" + } + }, + "@react-native/babel-preset": { + "version": "0.73.19", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.19.tgz", + "integrity": "sha512-ujon01uMOREZecIltQxPDmJ6xlVqAUFGI/JCSpeVYdxyXBoBH5dBb0ihj7h6LKH1q1jsnO9z4MxfddtypKkIbg==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "@react-native/babel-plugin-codegen": "0.73.2", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "dependencies": { + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==" + } + } }, "@react-native/codegen": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", - "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.2.tgz", + "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", "requires": { "@babel/parser": "^7.20.0", "flow-parser": "^0.206.0", + "glob": "^7.1.1", + "invariant": "^2.2.4", "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", "nullthrows": "^1.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "@react-native/community-cli-plugin": { + "version": "0.73.12", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.12.tgz", + "integrity": "sha512-xWU06OkC1cX++Duh/cD/Wv+oZ0oSY3yqbtxAqQA2H3Q+MQltNNJM6MqIHt1VOZSabRf/LVlR1JL6U9TXJirkaw==", + "requires": { + "@react-native-community/cli-server-api": "12.3.0", + "@react-native-community/cli-tools": "12.3.0", + "@react-native/dev-middleware": "0.73.7", + "@react-native/metro-babel-transformer": "0.73.13", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "metro": "^0.80.3", + "metro-config": "^0.80.3", + "metro-core": "^0.80.3", + "node-fetch": "^2.2.0", + "readline": "^1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native/debugger-frontend": { + "version": "0.73.3", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", + "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==" + }, + "@react-native/dev-middleware": { + "version": "0.73.7", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz", + "integrity": "sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg==", + "requires": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.73.3", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^1.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "open": "^7.0.3", + "serve-static": "^1.13.1", + "temp-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + } } }, "@react-native/gradle-plugin": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", - "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==" + "version": "0.73.4", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", + "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==" }, "@react-native/js-polyfills": { - "version": "0.72.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", - "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==" + "version": "0.73.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", + "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==" + }, + "@react-native/metro-babel-transformer": { + "version": "0.73.13", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.13.tgz", + "integrity": "sha512-k9AQifogQfgUXPlqQSoMtX2KUhniw4XvJl+nZ4hphCH7qiMDAwuP8OmkJbz5E/N+Ro9OFuLE7ax4GlwxaTsAWg==", + "requires": { + "@babel/core": "^7.20.0", + "@react-native/babel-preset": "0.73.19", + "hermes-parser": "0.15.0", + "nullthrows": "^1.1.1" + } }, "@react-native/metro-config": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.11.tgz", - "integrity": "sha512-661EyQnDdVelyc0qP/ew7kKkGAh6N6KlkuPLC2SQ8sxaXskVU6fSuNlpLW4bUTBUDFKG8gEOU2hp6rzk4wQnGQ==", + "version": "0.73.3", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.73.3.tgz", + "integrity": "sha512-aIVh+lM52n7/RFDXLDiIp1vI21jc9thm2VxdkP7KwxMut7VvW+2tO38zKt74/2ker2ca0205tbf3pyCYBvV6Ww==", "dev": true, "requires": { - "@react-native/js-polyfills": "^0.72.1", - "metro-config": "0.76.8", - "metro-react-native-babel-transformer": "0.76.8", - "metro-runtime": "0.76.8" + "@react-native/js-polyfills": "0.73.1", + "@react-native/metro-babel-transformer": "0.73.13", + "metro-config": "^0.80.3", + "metro-runtime": "^0.80.3" } }, "@react-native/normalize-color": { @@ -63693,14 +62921,14 @@ "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" }, "@react-native/normalize-colors": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", - "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==" + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", + "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==" }, "@react-native/virtualized-lists": { - "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", - "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "version": "0.73.4", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", + "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", "requires": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" @@ -63805,6 +63033,107 @@ } } }, + "@remix-run/node": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-1.19.3.tgz", + "integrity": "sha512-z5qrVL65xLXIUpU4mkR4MKlMeKARLepgHAk4W5YY3IBXOreRqOGUC70POViYmY7x38c2Ia1NwqL80H+0h7jbMw==", + "requires": { + "@remix-run/server-runtime": "1.19.3", + "@remix-run/web-fetch": "^4.3.6", + "@remix-run/web-file": "^3.0.3", + "@remix-run/web-stream": "^1.0.4", + "@web3-storage/multipart-parser": "^1.0.0", + "abort-controller": "^3.0.0", + "cookie-signature": "^1.1.0", + "source-map-support": "^0.5.21", + "stream-slice": "^0.1.2" + }, + "dependencies": { + "cookie-signature": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.1.tgz", + "integrity": "sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==" + } + } + }, + "@remix-run/router": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.7.2.tgz", + "integrity": "sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==" + }, + "@remix-run/server-runtime": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.19.3.tgz", + "integrity": "sha512-KzQ+htUsKqpBgKE2tWo7kIIGy3MyHP58Io/itUPvV+weDjApwr9tQr9PZDPA3yAY6rAzLax7BU0NMSYCXWFY5A==", + "requires": { + "@remix-run/router": "1.7.2", + "@types/cookie": "^0.4.1", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie": "^0.4.1", + "set-cookie-parser": "^2.4.8", + "source-map": "^0.7.3" + }, + "dependencies": { + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, + "@remix-run/web-blob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-blob/-/web-blob-3.1.0.tgz", + "integrity": "sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==", + "requires": { + "@remix-run/web-stream": "^1.1.0", + "web-encoding": "1.1.5" + } + }, + "@remix-run/web-fetch": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.4.2.tgz", + "integrity": "sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==", + "requires": { + "@remix-run/web-blob": "^3.1.0", + "@remix-run/web-file": "^3.1.0", + "@remix-run/web-form-data": "^3.1.0", + "@remix-run/web-stream": "^1.1.0", + "@web3-storage/multipart-parser": "^1.0.0", + "abort-controller": "^3.0.0", + "data-uri-to-buffer": "^3.0.1", + "mrmime": "^1.0.0" + } + }, + "@remix-run/web-file": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-file/-/web-file-3.1.0.tgz", + "integrity": "sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==", + "requires": { + "@remix-run/web-blob": "^3.1.0" + } + }, + "@remix-run/web-form-data": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz", + "integrity": "sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==", + "requires": { + "web-encoding": "1.1.5" + } + }, + "@remix-run/web-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-stream/-/web-stream-1.1.0.tgz", + "integrity": "sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==", + "requires": { + "web-streams-polyfill": "^3.1.1" + } + }, "@rnmapbox/maps": { "version": "10.0.11", "resolved": "https://registry.npmjs.org/@rnmapbox/maps/-/maps-10.0.11.tgz", @@ -63885,9 +63214,9 @@ } }, "@shopify/flash-list": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.6.1.tgz", - "integrity": "sha512-SlBlpP7+zol6D1SKaf402aS30Qgwdjwb8/Qn2CupYwXnTcu2l8TiXB766vcsIvKTqUO7ELfQnCwCq8NXx55FsQ==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.6.3.tgz", + "integrity": "sha512-XM2iu4CeD9SOEUxaGG3UkxfUxGPWG9yacga1yQSgskAjUsRDFTsD3y4Dyon9n8MfDwgrRpEwuijd+7NeQQoWaQ==", "requires": { "recyclerlistview": "4.2.0", "tslib": "2.4.0" @@ -71243,6 +70572,11 @@ "@types/node": "*" } }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, "@types/debug": { "version": "4.1.8", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", @@ -71630,9 +70964,9 @@ "dev": true }, "@types/react": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.12.tgz", - "integrity": "sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==", + "version": "18.2.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.45.tgz", + "integrity": "sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -72264,6 +71598,11 @@ "integrity": "sha512-RoorRB50WehYbsiWu497q8egZBYlrvOo9KBUG41uth4O023Cbs+7POLm9uw2CAiViBAIhvpw1Y4w4i+MZxOfXw==", "requires": {} }, + "@web3-storage/multipart-parser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", + "integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==" + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -72604,6 +71943,12 @@ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" }, + "@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, "7zip-bin": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", @@ -73795,6 +73140,7 @@ }, "babel-plugin-module-resolver": { "version": "5.0.0", + "dev": true, "requires": { "find-babel-config": "^2.0.0", "glob": "^8.0.3", @@ -73805,6 +73151,7 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", + "dev": true, "requires": { "balanced-match": "^1.0.0" } @@ -73813,6 +73160,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -73825,6 +73173,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -73960,18 +73309,26 @@ } }, "babel-preset-expo": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-9.5.2.tgz", - "integrity": "sha512-hU1G1TDiikuXV6UDZjPnX+WdbjbtidDiYhftMEVrZQSst45pDPVBWbM41TUKrpJMwv4FypsLzK+378gnMPRVWQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-10.0.1.tgz", + "integrity": "sha512-uWIGmLfbP3dS5+8nesxaW6mQs41d4iP7X82ZwRdisB/wAhKQmuJM9Y1jQe4006uNYkw6Phf2TT03ykLVro7KuQ==", "requires": { "@babel/plugin-proposal-decorators": "^7.12.9", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-object-rest-spread": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.12.17", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.22.15", "@babel/preset-env": "^7.20.0", - "babel-plugin-module-resolver": "^5.0.0", + "@babel/preset-react": "^7.22.15", + "@react-native/babel-preset": "^0.73.18", "babel-plugin-react-native-web": "~0.18.10", - "metro-react-native-babel-preset": "0.76.8" + "react-refresh": "0.14.0" + }, + "dependencies": { + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==" + } } }, "babel-preset-fbjs": { @@ -74157,6 +73514,11 @@ "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" }, + "base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==" + }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -75133,11 +74495,35 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, + "chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "requires": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + } + }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, + "chromium-edge-launcher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", + "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", + "requires": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, "chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -75288,9 +74674,9 @@ } }, "cli-spinners": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", - "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==" + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" }, "cli-table3": { "version": "0.6.3", @@ -75320,9 +74706,9 @@ "dev": true }, "clipboard": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", - "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", "requires": { "good-listener": "^1.2.2", "select": "^1.1.2", @@ -75561,11 +74947,6 @@ "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", "dev": true }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" - }, "complex.js": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.1.1.tgz", @@ -75579,9 +74960,9 @@ "devOptional": true }, "component-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz", - "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", + "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==" }, "compressible": { "version": "2.0.18", @@ -76379,6 +75760,14 @@ "isobject": "^3.0.1" } }, + "css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "requires": { + "utrie": "^1.0.2" + } + }, "css-loader": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", @@ -76594,6 +75983,11 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" + }, "data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -77249,8 +76643,7 @@ "eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "ee-first": { "version": "1.1.1", @@ -77625,7 +77018,9 @@ "dev": true }, "envinfo": { - "version": "7.8.1" + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==" }, "eol": { "version": "0.9.1", @@ -79272,36 +78667,26 @@ } }, "expensify-common": { - "version": "git+ssh://git@github.com/Expensify/expensify-common.git#398bf7c6a6d37f229a41d92bd7a4324c0fd32849", - "integrity": "sha512-H7UrLgWIr8mCoPc1oxbeYW2RwLzUWI6jdjbV6cRnrlp8cDW3IyZISF+BQSPFDj7bMhNAbczQPtEOE1gld21Cvg==", - "from": "expensify-common@git+ssh://git@github.com/Expensify/expensify-common.git#398bf7c6a6d37f229a41d92bd7a4324c0fd32849", + "version": "git+ssh://git@github.com/Expensify/expensify-common.git#c6bb3cfa56d12af9fa02e2bfc729646f5b64ef44", + "integrity": "sha512-a/UBkrerB57nB9xbBrFIeJG3IN0lVZV+/JWNbGMfT0FHxtg8/4sGWdC+AHqR3Bm01gwt67dd2csFferlZmTIsg==", + "from": "expensify-common@git+ssh://git@github.com/Expensify/expensify-common.git#c6bb3cfa56d12af9fa02e2bfc729646f5b64ef44", "requires": { "classnames": "2.3.1", - "clipboard": "2.0.4", - "html-entities": "^2.3.3", + "clipboard": "2.0.11", + "html-entities": "^2.4.0", "jquery": "3.6.0", "localforage": "^1.10.0", "lodash": "4.17.21", - "prop-types": "15.7.2", + "prop-types": "15.8.1", "react": "16.12.0", "react-dom": "16.12.0", - "semver": "^7.3.5", + "semver": "^7.5.2", "simply-deferred": "git+https://github.com/Expensify/simply-deferred.git#77a08a95754660c7bd6e0b6979fdf84e8e831bf5", - "string.prototype.replaceall": "^1.0.6", + "string.prototype.replaceall": "^1.0.8", "ua-parser-js": "^1.0.35", "underscore": "1.13.6" }, "dependencies": { - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, "react": { "version": "16.12.0", "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", @@ -79340,30 +78725,25 @@ } }, "expo": { - "version": "49.0.21", - "resolved": "https://registry.npmjs.org/expo/-/expo-49.0.21.tgz", - "integrity": "sha512-JpHL6V0yt8/fzsmkAdPdtsah+lU6Si4ac7MDklLYvzEil7HAFEsN/pf06wQ21ax4C+BL27hI6JJoD34tzXUCJA==", + "version": "50.0.0-preview.7", + "resolved": "https://registry.npmjs.org/expo/-/expo-50.0.0-preview.7.tgz", + "integrity": "sha512-FyoEJVf42Tr1On0IFa0dL7Qs9gnl252ah3e0B8FsU96G7Hi93cDz5Rcn81ezRiO6YIF4nFV3+bh6BHsm/nsA0A==", "requires": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.10.16", - "@expo/config": "8.1.2", - "@expo/config-plugins": "7.2.5", + "@expo/cli": "0.16.5", + "@expo/config": "8.5.2", + "@expo/config-plugins": "7.8.2", + "@expo/metro-config": "0.17.1", "@expo/vector-icons": "^13.0.0", - "babel-preset-expo": "~9.5.2", - "expo-application": "~5.3.0", - "expo-asset": "~8.10.1", - "expo-constants": "~14.4.2", - "expo-file-system": "~15.4.5", - "expo-font": "~11.4.0", - "expo-keep-awake": "~12.3.0", - "expo-modules-autolinking": "1.5.1", - "expo-modules-core": "1.5.12", + "babel-preset-expo": "~10.0.1", + "expo-asset": "~9.0.1", + "expo-file-system": "~16.0.2", + "expo-font": "~11.10.0", + "expo-keep-awake": "~12.8.0", + "expo-modules-autolinking": "1.9.0", + "expo-modules-core": "1.11.4", "fbemitter": "^3.0.0", - "invariant": "^2.2.4", - "md5-file": "^3.2.3", - "node-fetch": "^2.6.7", - "pretty-format": "^26.5.2", - "uuid": "^3.4.0" + "whatwg-url-without-unicode": "8.0.0-3" }, "dependencies": { "@babel/code-frame": { @@ -79375,13 +78755,14 @@ } }, "@expo/config-plugins": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", - "requires": { - "@expo/config-types": "^49.0.0-alpha.1", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.2.tgz", + "integrity": "sha512-XM2eXA5EvcpmXFCui48+bVy8GTskYSjPf2yC+LliYv8PDcedu7+pdgmbnvH4eZCyHfTMO8/UiF+w8e5WgOEj5A==", + "requires": { + "@expo/config-types": "^50.0.0-alpha.1", + "@expo/fingerprint": "^0.6.0", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", "@expo/sdk-runtime-versions": "^1.0.0", "@react-native/normalize-color": "^2.0.0", "chalk": "^4.1.2", @@ -79392,19 +78773,20 @@ "resolve-from": "^5.0.0", "semver": "^7.5.3", "slash": "^3.0.0", + "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "@expo/config-types": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "version": "50.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz", + "integrity": "sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==" }, "@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", + "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", "requires": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -79412,20 +78794,15 @@ } }, "@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz", + "integrity": "sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==", "requires": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", "xmlbuilder": "^14.0.0" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -79461,22 +78838,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -79485,11 +78846,6 @@ "has-flag": "^4.0.0" } }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, "xml2js": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", @@ -79508,90 +78864,61 @@ } } }, - "expo-application": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-5.3.1.tgz", - "integrity": "sha512-HR2+K+Hm33vLw/TfbFaHrvUbRRNRco8R+3QaCKy7eJC2LFfT05kZ15ynGaKfB5DJ/oqPV3mxXVR/EfwmE++hoA==", - "requires": {} - }, "expo-asset": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.10.1.tgz", - "integrity": "sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-9.0.1.tgz", + "integrity": "sha512-hoCzQ8ga6ZOmkwABQeAIStXmshpK+1oNpGNNeJCJ1QdoU6hlCu6DKnikreLZYr6FQzaQTS3yel86zuRQtwNpaQ==", "requires": { + "@react-native/assets-registry": "~0.73.1", "blueimp-md5": "^2.10.0", - "expo-constants": "~14.4.2", - "expo-file-system": "~15.4.0", + "expo-constants": "~15.4.0", + "expo-file-system": "~16.0.0", "invariant": "^2.2.4", - "md5-file": "^3.2.3", - "path-browserify": "^1.0.0", - "url-parse": "^1.5.9" - }, - "dependencies": { - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - } + "md5-file": "^3.2.3" } }, "expo-constants": { - "version": "14.4.2", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-14.4.2.tgz", - "integrity": "sha512-nOB122DOAjk+KrJT69lFQAoYVQGQjFHSigCPVBzVdko9S1xGsfiOH9+X5dygTsZTIlVLpQJDdmZ7ONiv3i+26w==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-15.4.2.tgz", + "integrity": "sha512-goJ44MsjRkJQbi/w49n7HIsBnp7Caa4mPMDUgTwk07BCUM5yKPb3Ny2/0QsaUcqBNgke2IXxr4OhqDYLd1jWOQ==", "requires": { - "@expo/config": "~8.1.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } + "@expo/config": "~8.5.0" } }, "expo-file-system": { - "version": "15.4.5", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.4.5.tgz", - "integrity": "sha512-xy61KaTaDgXhT/dllwYDHm3ch026EyO8j4eC6wSVr/yE12MMMxAC09yGwy4f7kkOs6ztGVQF5j7ldRzNLN4l0Q==", - "requires": { - "uuid": "^3.4.0" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-16.0.2.tgz", + "integrity": "sha512-oqiM3aq4mGugdv6DRH0wjrULWdZFm4EMLgKmR24on/f9ZCDG9VB3waSy+9J3XaDTAXBaB9ta82ACnNzk8KPdMw==", + "requires": {} }, "expo-font": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.4.0.tgz", - "integrity": "sha512-nkmezCFD7gR/I6R+e3/ry18uEfF8uYrr6h+PdBJu+3dawoLOpo+wFb/RG9bHUekU1/cPanR58LR7G5MEMKHR2w==", + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.10.0.tgz", + "integrity": "sha512-yqlsoOKWiYv8aBMFqheHSUKKEY/lrB7zHjzDc60OF1xGa1q8kh7mKQVwSaRMS0G77GEUvvk8Vb/uKw51KY1kGA==", "requires": { "fontfaceobserver": "^2.1.0" } }, "expo-image": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-1.8.1.tgz", - "integrity": "sha512-YHoP3F6zRcI9ULjB84jPt62ggSrdGLtpSxZTUxwmfI+WfuucNd/zqqXx0edsCyREIA6VvoyWBT48BBgvi+H1TA==", - "requires": {} + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-1.10.1.tgz", + "integrity": "sha512-NwJt2FS6sZXeP92RpsZxBKSnCPWMdcJ2Q2bXHc8WgOkLLInvRd0yBKAzEusXTZ6+N+RqAcWVojlh3EBbSQhkiA==", + "requires": { + "@react-native/assets-registry": "~0.73.1" + } }, "expo-keep-awake": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.3.0.tgz", - "integrity": "sha512-ujiJg1p9EdCOYS05jh5PtUrfiZnK0yyLy+UewzqrjUqIT8eAGMQbkfOn3C3fHE7AKd5AefSMzJnS3lYZcZYHDw==", + "version": "12.8.0", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.8.0.tgz", + "integrity": "sha512-KMk9nnOEEI2w4aYr/PMnLT6ryXwmHfsb/baeHX/RSLNBZ4a5JVkNXP+mT66UNnYfXxy3pABruusd7KjeKW+F0A==", "requires": {} }, "expo-modules-autolinking": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.5.1.tgz", - "integrity": "sha512-yt5a1VCp2BF9CrsO689PCD5oXKP14MMhnOanQMvDn4BDpURYfzAlDVGC5fZrNQKtwn/eq3bcrxIwZ7D9QjVVRg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.9.0.tgz", + "integrity": "sha512-FVRuclmR7w6FZRXZmTwPdIr9PNCP7FUWMhpzaxbKU/xm7DbNw5ORAv2gaM8t9OaMxYjIAMSNYi0NnmLIinzBKA==", "requires": { - "@expo/config": "~8.1.0", + "@expo/config": "~8.5.0", "chalk": "^4.1.0", "commander": "^7.2.0", "fast-glob": "^3.2.5", @@ -79650,11 +78977,10 @@ } }, "expo-modules-core": { - "version": "1.5.12", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.5.12.tgz", - "integrity": "sha512-mY4wTDU458dhwk7IVxLNkePlYXjs9BTgk4NQHBUXf0LapXsvr+i711qPZaFNO4egf5qq6fQV+Yfd/KUguHstnQ==", + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.11.4.tgz", + "integrity": "sha512-MeDvWvdI3cHJO2VsASXsNYVoou1sdEO/SGBdLh2lxRhNpCLB0IIEZ3uPZwQQ8WBfFyPk4QT7M3XhCdPCKaT21A==", "requires": { - "compare-versions": "^3.4.0", "invariant": "^2.2.4" } }, @@ -79894,9 +79220,9 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fast-xml-parser": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.1.tgz", - "integrity": "sha512-viVv3xb8D+SiS1W4cv4tva3bni08kAkx0gQnWrykMM8nXPc1FxqZPU00dCEVjkiCg4HoXd2jC4x29Nzg/l2DAA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", "requires": { "strnum": "^1.0.5" } @@ -80122,13 +79448,15 @@ }, "find-babel-config": { "version": "2.0.0", + "dev": true, "requires": { "json5": "^2.1.1", "path-exists": "^4.0.0" }, "dependencies": { "path-exists": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true } } }, @@ -80226,9 +79554,9 @@ "dev": true }, "flow-enums-runtime": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", - "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==" }, "flow-parser": { "version": "0.206.0", @@ -81196,16 +80524,16 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "hermes-estree": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", - "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==" + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", + "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==" }, "hermes-parser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", - "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", + "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", "requires": { - "hermes-estree": "0.12.0" + "hermes-estree": "0.15.0" } }, "hermes-profile-transformer": { @@ -81283,9 +80611,9 @@ } }, "html-entities": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.5.tgz", - "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" }, "html-escaper": { "version": "2.0.2", @@ -81342,6 +80670,15 @@ } } }, + "html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "requires": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + } + }, "htmlparser2": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", @@ -81731,9 +81068,9 @@ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, "image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "requires": { "queue": "6.0.2" } @@ -82110,7 +81447,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -82306,7 +81642,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -82691,10 +82026,9 @@ } }, "jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", - "dev": true, + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -83375,20 +82709,24 @@ } }, "jest-environment-node": { - "version": "29.4.1", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "requires": { - "@jest/environment": "^29.4.1", - "@jest/fake-timers": "^29.4.1", - "@jest/types": "^29.4.1", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.4.1", - "jest-util": "^29.4.1" + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "dependencies": { "@jest/types": { - "version": "29.4.1", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "requires": { - "@jest/schemas": "^29.4.0", + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -83397,9 +82735,9 @@ } }, "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", + "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", "requires": { "@types/yargs-parser": "*" } @@ -83450,11 +82788,12 @@ } }, "jest-expo": { - "version": "49.0.0", - "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-49.0.0.tgz", - "integrity": "sha512-nglYg6QPYSqCsrsOFiGosQi+m1rrqmYluPbFXNnXNEOrB2MvxMOgQJeWfMHDExHMX1ymLWX+7y8mYo6XVJpBJQ==", + "version": "50.0.1", + "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-50.0.1.tgz", + "integrity": "sha512-osvA63UDLJ/v7MG9UHjU7WJ0oZ0Krq9UhXxm2s6rdOlnt85ARocyMU57RC0T0yzPN47C9Ref45sEeOIxoV4Mzg==", "requires": { - "@expo/config": "~8.1.0", + "@expo/config": "~8.5.0", + "@expo/json-file": "^8.2.37", "@jest/create-cache-key-function": "^29.2.1", "babel-jest": "^29.2.1", "find-up": "^5.0.0", @@ -83463,7 +82802,28 @@ "jest-watch-typeahead": "2.2.1", "json5": "^2.2.3", "lodash": "^4.17.19", - "react-test-renderer": "18.2.0" + "react-test-renderer": "18.2.0", + "stacktrace-js": "^2.0.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@expo/json-file": { + "version": "8.2.37", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", + "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "requires": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.2", + "write-file-atomic": "^2.3.0" + } + } } }, "jest-get-type": { @@ -83641,17 +83001,17 @@ } }, "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -83723,13 +83083,13 @@ } }, "jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "requires": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-util": "^29.6.2" + "jest-util": "^29.7.0" }, "dependencies": { "@jest/types": { @@ -84192,9 +83552,9 @@ "requires": {} }, "jest-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "requires": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -84628,9 +83988,9 @@ "dev": true }, "joi": { - "version": "17.10.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz", - "integrity": "sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -84743,14 +84103,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -84758,14 +84110,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "requires": { - "rimraf": "~2.6.2" - } } } }, @@ -85114,6 +84458,30 @@ "immediate": "~3.0.5" } }, + "lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "requires": { + "debug": "^2.6.9", + "marky": "^1.2.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, "lightningcss": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.19.0.tgz", @@ -85511,9 +84879,9 @@ } }, "lottie-react-native": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.4.0.tgz", - "integrity": "sha512-wFO/gLPN1KliyznBa8OtYWkc9Vn9OEmIg1/b1536KANFtGaFAeoAGhijVxYKF3UPKJgjJYFmqg0W//FVrSXj+g==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.4.1.tgz", + "integrity": "sha512-DPsUPSxLc3ZffeRQ/AtKtcUl4PzmJEEPt965tNpWSE4vhDkoGFxRe0TPZ45xX8/3HbGsUl48aMdLlAu28MEDsQ==", "requires": {} }, "lottie-web": { @@ -85696,6 +85064,11 @@ "dev": true, "requires": {} }, + "marky": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", + "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==" + }, "matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -86436,10 +85809,9 @@ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, "metro": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", - "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.3.tgz", + "integrity": "sha512-7u6HjWVQR7wA/HbxzB0n6iQ0GI9s/fr49N++dZQ41BcrcFxrguIGaRe4W8VI5DtYifCVCjXDIFw6e9+MAccx/Q==", "requires": { "@babel/code-frame": "^7.0.0", "@babel/core": "^7.20.0", @@ -86449,7 +85821,6 @@ "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "accepts": "^1.3.7", - "async": "^3.2.2", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", @@ -86457,28 +85828,25 @@ "denodeify": "^1.2.1", "error-stack-parser": "^2.0.6", "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", + "hermes-parser": "0.18.2", "image-size": "^1.0.2", "invariant": "^2.2.4", - "jest-worker": "^27.2.0", + "jest-worker": "^29.6.3", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.8", - "metro-cache": "0.76.8", - "metro-cache-key": "0.76.8", - "metro-config": "0.76.8", - "metro-core": "0.76.8", - "metro-file-map": "0.76.8", - "metro-inspector-proxy": "0.76.8", - "metro-minify-terser": "0.76.8", - "metro-minify-uglify": "0.76.8", - "metro-react-native-babel-preset": "0.76.8", - "metro-resolver": "0.76.8", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "metro-symbolicate": "0.76.8", - "metro-transform-plugins": "0.76.8", - "metro-transform-worker": "0.76.8", + "metro-babel-transformer": "0.80.3", + "metro-cache": "0.80.3", + "metro-cache-key": "0.80.3", + "metro-config": "0.80.3", + "metro-core": "0.80.3", + "metro-file-map": "0.80.3", + "metro-minify-terser": "0.80.3", + "metro-resolver": "0.80.3", + "metro-runtime": "0.80.3", + "metro-source-map": "0.80.3", + "metro-symbolicate": "0.80.3", + "metro-transform-plugins": "0.80.3", + "metro-transform-worker": "0.80.3", "mime-types": "^2.1.27", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", @@ -86495,7 +85863,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -86504,7 +85871,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -86513,14 +85879,12 @@ "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -86531,7 +85895,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -86539,14 +85902,12 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -86554,16 +85915,28 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "hermes-estree": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", + "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" + }, + "hermes-parser": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", + "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", + "requires": { + "hermes-estree": "0.18.2" + } }, "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "requires": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -86572,7 +85945,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -86582,26 +85954,22 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "serialize-error": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "dev": true + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==" }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -86610,20 +85978,17 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, "requires": {} }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -86637,58 +86002,67 @@ "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" } } }, "metro-babel-transformer": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", - "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.3.tgz", + "integrity": "sha512-Si1GO9fhiLi3DfHseFDaZcU+Y6iYHx54rszILnBIx80aas3pRZpL3z/UsEZ7coTQZTFsblt2QDIE+Izxlq4mwQ==", "requires": { "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", + "hermes-parser": "0.18.2", "nullthrows": "^1.1.1" + }, + "dependencies": { + "hermes-estree": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", + "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" + }, + "hermes-parser": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", + "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", + "requires": { + "hermes-estree": "0.18.2" + } + } } }, "metro-cache": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", - "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.3.tgz", + "integrity": "sha512-7gHcOIXdAHCBzsovF4b+VgcfIZtCpCIFiT2zx9amU58xrmkx+PRIl1KZDIUfRBbGrO9HJtZxH7lr7/hoiLIUWA==", "requires": { - "metro-core": "0.76.8", + "metro-core": "0.80.3", "rimraf": "^3.0.2" } }, "metro-cache-key": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", - "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", - "dev": true + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.3.tgz", + "integrity": "sha512-WNrtDpbhtW2Yqjp1t0WxJhKNR/Zbo1LZ4WvHsdv/PraAs2mr+SaM5bbiptBSKOOGJkV/FIQveW5riZi53JnCbw==" }, "metro-config": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", - "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.3.tgz", + "integrity": "sha512-cE7KPT1Usdrd2nLEVpzukKWmeBU1PufHPkuD9BjjtoABbzdj35gMLDnK+mhjSq9km2vF2QEPtE0M+WKvq9pXfQ==", "requires": { "connect": "^3.6.5", "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.8", - "metro-cache": "0.76.8", - "metro-core": "0.76.8", - "metro-runtime": "0.76.8" + "jest-validate": "^29.6.3", + "metro": "0.80.3", + "metro-cache": "0.80.3", + "metro-core": "0.80.3", + "metro-runtime": "0.80.3" }, "dependencies": { "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", @@ -86700,7 +86074,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dev": true, "requires": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" @@ -86710,7 +86083,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -86719,26 +86091,23 @@ "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" } } }, "metro-core": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", - "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.3.tgz", + "integrity": "sha512-X2ZfAvR55TdD/Rv9i4gYVI68JpRPHcpKpkr6IVtidFPoNjf4Fodh1qH7gEAJUnO5FL3a1JyPffbW6eFaXPxkFw==", "requires": { "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.8" + "metro-resolver": "0.80.3" } }, "metro-file-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", - "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.3.tgz", + "integrity": "sha512-4qu1ABPZRvboGGB8Q2RlQ26kZRWRCMDiktgCCrX/57V6cnWgdbdTrpnsgmU3i0Q7iiw+FevOGlfD4HqdauQ59g==", "requires": { "anymatch": "^3.0.3", "debug": "^2.2.0", @@ -86746,76 +86115,17 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", + "jest-worker": "^29.6.3", "micromatch": "^4.0.4", "node-abort-controller": "^3.1.1", "nullthrows": "^1.1.1", "walker": "^1.0.7" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", - "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -86823,165 +86133,48 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "requires": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } } } }, - "metro-inspector-proxy": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", - "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", - "dev": true, - "requires": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, "metro-minify-terser": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", - "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.3.tgz", + "integrity": "sha512-gVFwoL86emFoYbI2DZKk1Ved2CklYv//huWriF0UpLJHmVEO9ii2ajTx3aIxgSeuxFLPJhdp8RgUB2EDCooaJw==", "requires": { "terser": "^5.15.0" } }, - "metro-minify-uglify": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", - "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", - "dev": true, - "requires": { - "uglify-es": "^3.1.9" - } - }, "metro-react-native-babel-preset": { "version": "0.76.8", "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "dev": true, + "peer": true, "requires": { "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", @@ -87025,56 +86218,36 @@ }, "dependencies": { "react-refresh": { - "version": "0.4.3" + "version": "0.4.3", + "dev": true, + "peer": true } } }, - "metro-react-native-babel-transformer": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", - "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.8", - "nullthrows": "^1.1.1" - } - }, "metro-resolver": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", - "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", - "dev": true + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.3.tgz", + "integrity": "sha512-zwa0i32rj/TI3NivcvMXHJwTG2gUgo2dXdcnAJlhEKKQvyN+7AfhNdQSlDdDqMQmU7FaLRdeWORnQJbYCrprQQ==" }, "metro-runtime": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", - "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.3.tgz", + "integrity": "sha512-16RKcwpxriNnPdE5eKWJu7/KLgxE+AaDAdYthoS6zbzjaOu7RiY2zPM1Elz175Rw//74kOwtKXgxTW8ADHB8SQ==", "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - }, - "dependencies": { - "react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" - } + "@babel/runtime": "^7.0.0" } }, "metro-source-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", - "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.3.tgz", + "integrity": "sha512-5DYcOLPjDLx84ZCZ1i0DuWSPU7AY5G/7tR+u/WN6CZNxLyYEe3TwUBdIUgQj4HgZJl/zZ/7bGYJQOHd7ubuO0w==", "requires": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", + "metro-symbolicate": "0.80.3", "nullthrows": "^1.1.1", - "ob1": "0.76.8", + "ob1": "0.80.3", "source-map": "^0.5.6", "vlq": "^1.0.0" }, @@ -87087,12 +86260,12 @@ } }, "metro-symbolicate": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", - "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.3.tgz", + "integrity": "sha512-baIt8Ss2vTGbxolRTa5yg+tKVAIAB1OpwMzJ0FSUjLs+HDAzaOtSpGbNd3DPc+pzX8Gj/rdbDOA0wPuOhVsHKQ==", "requires": { "invariant": "^2.2.4", - "metro-source-map": "0.76.8", + "metro-source-map": "0.80.3", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "through2": "^2.0.1", @@ -87107,10 +86280,9 @@ } }, "metro-transform-plugins": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", - "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.3.tgz", + "integrity": "sha512-/2hGGRdJPrNfB9lz8unukaqQpGpDhYwNM0Odfh37OVFjygMB30Ffd8neQ4FNqnHnFxhl5j8VTcopUg6QhygMGQ==", "requires": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -87120,22 +86292,20 @@ } }, "metro-transform-worker": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", - "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", - "dev": true, + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.3.tgz", + "integrity": "sha512-10ZwMDuSWyHwqNnZ50baNtHNuHhOnqThbTOgv03PsrmPHWmSv4/rrmm7711tEyLUxptY3A1hEgJ+LKYyOIQiUA==", "requires": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", "@babel/parser": "^7.20.0", "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.8", - "metro-babel-transformer": "0.76.8", - "metro-cache": "0.76.8", - "metro-cache-key": "0.76.8", - "metro-source-map": "0.76.8", - "metro-transform-plugins": "0.76.8", + "metro": "0.80.3", + "metro-babel-transformer": "0.80.3", + "metro-cache": "0.80.3", + "metro-cache-key": "0.80.3", + "metro-source-map": "0.80.3", + "metro-transform-plugins": "0.80.3", "nullthrows": "^1.1.1" } }, @@ -87938,8 +87108,7 @@ "mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" }, "ms": { "version": "2.1.2", @@ -88028,9 +87197,9 @@ "optional": true }, "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" }, "nanomatch": { "version": "1.2.13", @@ -88342,9 +87511,9 @@ "version": "2.2.2" }, "ob1": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", - "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==" + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.3.tgz", + "integrity": "sha512-lKJ/Wp6eSyYKYKYds1lgiDRtD2j9nNhrhx4hwegxYXTBkWz4dqermZV+Bq0iw0SszUIb+fC+btNSXwc4AG1lBQ==" }, "object-assign": { "version": "4.1.1", @@ -89142,7 +88311,6 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, "requires": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -89151,14 +88319,12 @@ "lru-cache": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, "minipass": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", - "dev": true + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" } } }, @@ -89283,18 +88449,21 @@ }, "pkg-up": { "version": "3.1.0", + "dev": true, "requires": { "find-up": "^3.0.0" }, "dependencies": { "find-up": { "version": "3.0.0", + "dev": true, "requires": { "locate-path": "^3.0.0" } }, "locate-path": { "version": "3.0.0", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -89302,12 +88471,14 @@ }, "p-limit": { "version": "2.3.0", + "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "3.0.0", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -89538,9 +88709,9 @@ } }, "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "requires": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -90178,43 +89349,44 @@ } }, "react-native": { - "version": "0.72.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", - "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", - "requires": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", - "@react-native/gradle-plugin": "^0.72.11", - "@react-native/js-polyfills": "^0.72.1", - "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.8", + "version": "0.73.2", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.2.tgz", + "integrity": "sha512-7zj9tcUYpJUBdOdXY6cM8RcXYWkyql4kMyGZflW99E5EuFPoC7Ti+ZQSl7LP9ZPzGD0vMfslwyDW0I4tPWUCFw==", + "requires": { + "@jest/create-cache-key-function": "^29.6.3", + "@react-native-community/cli": "12.3.0", + "@react-native-community/cli-platform-android": "12.3.0", + "@react-native-community/cli-platform-ios": "12.3.0", + "@react-native/assets-registry": "0.73.1", + "@react-native/codegen": "0.73.2", + "@react-native/community-cli-plugin": "0.73.12", + "@react-native/gradle-plugin": "0.73.4", + "@react-native/js-polyfills": "0.73.1", + "@react-native/normalize-colors": "0.73.2", + "@react-native/virtualized-lists": "0.73.4", "abort-controller": "^3.0.0", "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", + "ansi-regex": "^5.0.0", + "base64-js": "^1.5.1", + "deprecated-react-native-prop-types": "^5.0.0", "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.5", + "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", + "jest-environment-node": "^29.6.3", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", + "metro-runtime": "^0.80.3", + "metro-source-map": "^0.80.3", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", "promise": "^8.3.0", - "react-devtools-core": "^4.27.2", - "react-refresh": "^0.4.0", + "react-devtools-core": "^4.27.7", + "react-refresh": "^0.14.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.24.0-canary-efb381bbf-20230505", "stacktrace-parser": "^0.1.10", - "use-sync-external-store": "^1.0.0", "whatwg-fetch": "^3.0.0", "ws": "^6.2.2", "yargs": "^17.6.2" @@ -90257,13 +89429,13 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", + "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", "requires": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" + "@react-native/normalize-colors": "^0.73.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" } }, "mkdirp": { @@ -90299,9 +89471,9 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==" }, "scheduler": { "version": "0.24.0-canary-efb381bbf-20230505", @@ -90426,9 +89598,11 @@ } }, "react-native-flipper": { - "version": "https://gitpkg.now.sh/facebook/flipper/react-native/react-native-flipper?9cacc9b59402550eae866e0e81e5f0c2f8203e6b", + "version": "0.159.0", + "resolved": "https://gitpkg.now.sh/facebook/flipper/react-native/react-native-flipper?9cacc9b59402550eae866e0e81e5f0c2f8203e6b", "integrity": "sha512-M784S/qPuN/HqjdvXg98HIDmfm0sF8mACc56YNg87nzEF90zKSKp0XyOE83SEW+UJX2Gq/rf9BvM2GZeXlrhnQ==", "dev": true, + "peer": true, "requires": {} }, "react-native-fs": { @@ -90441,9 +89615,9 @@ } }, "react-native-gesture-handler": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.12.0.tgz", - "integrity": "sha512-rr+XwVzXAVpY8co25ukvyI38fKCxTQjz7WajeZktl8qUPdh1twnSExgpT47DqDi4n+m+OiJPAnHfZOkqqAQMOg==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.14.0.tgz", + "integrity": "sha512-cOmdaqbpzjWrOLUpX3hdSjsMby5wq3PIEdMq7okJeg9DmCzanysHSrktw1cXWNc/B5MAgxAn9J7Km0/4UIqKAQ==", "requires": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", @@ -90528,9 +89702,9 @@ } }, "react-native-onyx": { - "version": "1.0.118", - "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.118.tgz", - "integrity": "sha512-w54jO+Bpu1ElHsrxZXIIpcBqNkrUvuVCQmwWdfOW5LvO4UwsPSwmMxzExbUZ4ip+7CROmm10IgXFaAoyfeYSVQ==", + "version": "1.0.126", + "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.126.tgz", + "integrity": "sha512-tUJI1mQaWXLfyBFYQQWM6mm9GiCqIXGvjbqJkH1fLY3OqbGW6DyH4CxC+qJrqfi4bKZgZHp5xlBHhkPV4pKK2A==", "requires": { "ascii-table": "0.0.9", "fast-equals": "^4.0.3", @@ -90538,9 +89712,9 @@ } }, "react-native-pager-view": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.0.tgz", - "integrity": "sha512-pf9OnL/Tkr+5s4Gjmsn7xh91PtJLDa6qxYa/bmtUhd/+s4cQdWQ8DIFoOFghwZIHHHwVdWtoXkp6HtpjN+r20g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.2.tgz", + "integrity": "sha512-MLkJB7iP6v0Hd4/B4/R/gLCSE+YBtjxG/vHZYBDU+fI3U7HBYgKAg4o6ad8HxbKVcWWyRDNeeVRGISw1MUjlHw==", "requires": {} }, "react-native-pdf": { @@ -90657,24 +89831,24 @@ } }, "react-native-safe-area-context": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.4.1.tgz", - "integrity": "sha512-N9XTjiuD73ZpVlejHrUWIFZc+6Z14co1K/p1IFMkImU7+avD69F3y+lhkqA2hN/+vljdZrBSiOwXPkuo43nFQA==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.7.4.tgz", + "integrity": "sha512-3LR3DCq9pdzlbq6vsHGWBFehXAKDh2Ljug6jWhLWs1QFuJHM6AS2+mH2JfKlB2LqiSFZOBcZfHQFz0sGaA3uqg==", "requires": {} }, "react-native-screens": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.21.0.tgz", - "integrity": "sha512-SybzBhceTN2LUfzvEQxpZ9SchlFgEdsR/+YOKcpIhKg2BdRObdIyQsRoJBvduZ55lKbO9Gpyl3Ke8tngz3873g==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", + "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", "requires": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" } }, "react-native-svg": { - "version": "13.14.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.14.0.tgz", - "integrity": "sha512-27ZnxUkHgWICimhuj6MuqBkISN53lVvgWJB7pIypjXysAyM+nqgQBPh4vXg+7MbqLBoYvR4PiBgKfwwGAqVxHg==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.0.0.tgz", + "integrity": "sha512-17W/gWXRUMS7p7PSHu/WyGkZUc1NzRTGxxXc0VqBLjzKSchyb0EmgsiWf9aKmfC6gmY0wcsmKZcGV41bCcNfBA==", "requires": { "css-select": "^5.1.0", "css-tree": "^1.1.3" @@ -90697,8 +89871,12 @@ } }, "react-native-view-shot": { - "version": "3.6.0", - "requires": {} + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/react-native-view-shot/-/react-native-view-shot-3.8.0.tgz", + "integrity": "sha512-4cU8SOhMn3YQIrskh+5Q8VvVRxQOu8/s1M9NAL4z5BY1Rm0HXMWkQJ4N0XsZ42+Yca+y86ISF3LC5qdLPvPuiA==", + "requires": { + "html2canvas": "^1.4.1" + } }, "react-native-vision-camera": { "version": "2.16.2", @@ -90735,7 +89913,9 @@ "requires": {} }, "react-native-webview": { - "version": "11.23.0", + "version": "13.6.3", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.6.3.tgz", + "integrity": "sha512-IApO0JSj0uAWsBGKWagyfgDYoX29piiMYLmkHtRjKeL1rIVjLoR/bMe7KJ/0X47y86b//a6u3cYQtphyay+F2A==", "requires": { "escape-string-regexp": "2.0.0", "invariant": "2.2.4" @@ -92041,7 +91221,8 @@ "version": "1.0.0" }, "reselect": { - "version": "4.1.7" + "version": "4.1.7", + "dev": true }, "resolve": { "version": "1.22.4", @@ -92092,7 +91273,9 @@ "devOptional": true }, "resolve.exports": { - "version": "2.0.0" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==" }, "responselike": { "version": "2.0.1", @@ -92570,6 +91753,11 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, + "set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -93468,6 +92656,11 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "stream-slice": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "integrity": "sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==" + }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -93504,7 +92697,6 @@ "version": "npm:string-width@4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -93546,13 +92738,15 @@ } }, "string.prototype.replaceall": { - "version": "1.0.6", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.replaceall/-/string.prototype.replaceall-1.0.8.tgz", + "integrity": "sha512-MmCXb9980obcnmbEd3guqVl6lXTxpP28zASfgAlAhlBMw5XehQeSKsdIWlAYtLxp/1GtALwex+2HyoIQtaLQwQ==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", "is-regex": "^1.1.4" } }, @@ -93615,7 +92809,6 @@ "version": "npm:strip-ansi@6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" }, @@ -93623,8 +92816,7 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" } } }, @@ -93692,13 +92884,13 @@ "integrity": "sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==" }, "sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "requires": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -93715,10 +92907,57 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" } } }, @@ -94015,6 +93254,24 @@ } } }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -94223,6 +93480,14 @@ "minimatch": "^3.0.4" } }, + "text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "requires": { + "utrie": "^1.0.2" + } + }, "text-table": { "version": "0.2.0" }, @@ -94500,9 +93765,9 @@ } }, "traverse": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==" + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==" }, "tree-kill": { "version": "1.2.2", @@ -94760,22 +94025,6 @@ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==" }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - } - } - }, "uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -95206,12 +94455,6 @@ "tslib": "^2.0.0" } }, - "use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "requires": {} - }, "utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -95263,6 +94506,14 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" }, + "utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "requires": { + "base64-arraybuffer": "^1.0.2" + } + }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -95702,6 +94953,29 @@ "defaults": "^1.0.3" } }, + "web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "requires": { + "@zxing/text-encoding": "0.9.0", + "util": "^0.12.3" + }, + "dependencies": { + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + } + } + }, "web-namespaces": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", @@ -96376,7 +95650,6 @@ "version": "npm:wrap-ansi@7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -96387,7 +95660,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -96396,7 +95668,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -96404,8 +95675,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, diff --git a/package.json b/package.json index 7753368b6632..a842ffd2fdb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.4.24-4", + "version": "1.4.25-7", "author": "Expensify, Inc.", "homepage": "https://new.expensify.com", "description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", @@ -13,10 +13,10 @@ "postinstall": "scripts/postInstall.sh", "clean": "npx react-native clean-project-auto", "android": "scripts/set-pusher-suffix.sh && npx react-native run-android --mode=developmentDebug --appId=com.expensify.chat.dev", - "ios": "scripts/set-pusher-suffix.sh && npx react-native run-ios --list-devices --configuration=\"DebugDevelopment\" --scheme=\"New Expensify Dev\"", + "ios": "scripts/set-pusher-suffix.sh && npx react-native run-ios --list-devices --mode=\"DebugDevelopment\" --scheme=\"New Expensify Dev\"", "pod-install": "cd ios && bundle exec pod install", - "ipad": "concurrently \"npx react-native run-ios --simulator=\\\"iPad Pro (12.9-inch) (6th generation)\\\" --configuration=\\\"DebugDevelopment\\\" --scheme=\\\"New Expensify Dev\\\"\"", - "ipad-sm": "concurrently \"npx react-native run-ios --simulator=\\\"iPad Pro (11-inch) (4th generation)\\\" --configuration=\\\"DebugDevelopment\\\" --scheme=\\\"New Expensify Dev\\\"\"", + "ipad": "concurrently \"npx react-native run-ios --simulator=\\\"iPad Pro (12.9-inch) (6th generation)\\\" --mode=\\\"DebugDevelopment\\\" --scheme=\\\"New Expensify Dev\\\"\"", + "ipad-sm": "concurrently \"npx react-native run-ios --simulator=\\\"iPad Pro (11-inch) (4th generation)\\\" --mode=\\\"DebugDevelopment\\\" --scheme=\\\"New Expensify Dev\\\"\"", "start": "npx react-native start", "web": "scripts/set-pusher-suffix.sh && concurrently npm:web-proxy npm:web-server", "web-proxy": "node web/proxy.js", @@ -71,23 +71,23 @@ "@kie/mock-github": "^1.0.0", "@oguzhnatly/react-native-image-manipulator": "github:Expensify/react-native-image-manipulator#5cdae3d4455b03a04c57f50be3863e2fe6c92c52", "@onfido/react-native-sdk": "8.3.0", - "@react-native-async-storage/async-storage": "^1.17.10", + "@react-native-async-storage/async-storage": "^1.19.5", "@react-native-camera-roll/camera-roll": "5.4.0", "@react-native-clipboard/clipboard": "^1.12.1", "@react-native-community/geolocation": "^3.0.6", - "@react-native-community/netinfo": "^9.3.10", + "@react-native-community/netinfo": "11.2.1", "@react-native-firebase/analytics": "^12.3.0", "@react-native-firebase/app": "^12.3.0", "@react-native-firebase/crashlytics": "^12.3.0", "@react-native-firebase/perf": "^12.3.0", "@react-native-google-signin/google-signin": "^10.0.1", - "@react-native-picker/picker": "^2.4.3", + "@react-native-picker/picker": "2.5.1", "@react-navigation/material-top-tabs": "^6.6.3", "@react-navigation/native": "6.1.8", "@react-navigation/stack": "6.3.16", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "^10.0.11", - "@shopify/flash-list": "^1.6.1", + "@shopify/flash-list": "^1.6.3", "@types/node": "^18.14.0", "@ua/react-native-airship": "^15.3.1", "@vue/preload-webpack-plugin": "^2.0.0", @@ -99,16 +99,16 @@ "date-fns-tz": "^2.0.0", "dom-serializer": "^0.2.2", "domhandler": "^4.3.0", - "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#398bf7c6a6d37f229a41d92bd7a4324c0fd32849", - "expo": "^49.0.0", - "expo-image": "1.8.1", + "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#c6bb3cfa56d12af9fa02e2bfc729646f5b64ef44", + "expo": "^50.0.0-preview.7", + "expo-image": "1.10.1", "fbjs": "^3.0.2", "htmlparser2": "^7.2.0", "idb-keyval": "^6.2.1", - "jest-expo": "^49.0.0", + "jest-expo": "50.0.1", "jest-when": "^3.5.2", "lodash": "4.17.21", - "lottie-react-native": "^6.4.0", + "lottie-react-native": "6.4.1", "mapbox-gl": "^2.15.0", "onfido-sdk-ui": "13.1.0", "patch-package": "^8.0.0", @@ -122,7 +122,7 @@ "react-dom": "18.1.0", "react-error-boundary": "^4.0.11", "react-map-gl": "^7.1.3", - "react-native": "0.72.4", + "react-native": "0.73.2", "react-native-android-location-enabler": "^1.2.2", "react-native-blob-util": "^0.17.3", "react-native-collapsible": "^1.6.1", @@ -132,7 +132,7 @@ "react-native-document-picker": "^8.2.1", "react-native-draggable-flatlist": "^4.0.1", "react-native-fs": "^2.20.0", - "react-native-gesture-handler": "2.12.0", + "react-native-gesture-handler": "2.14.0", "react-native-google-places-autocomplete": "2.5.6", "react-native-haptic-feedback": "^1.13.0", "react-native-image-pan-zoom": "^2.1.12", @@ -142,9 +142,9 @@ "react-native-linear-gradient": "^2.8.1", "react-native-localize": "^2.2.6", "react-native-modal": "^13.0.0", - "react-native-onyx": "1.0.118", - "react-native-pager-view": "^6.2.0", - "react-native-pdf": "^6.7.3", + "react-native-onyx": "1.0.126", + "react-native-pager-view": "6.2.2", + "react-native-pdf": "6.7.3", "react-native-performance": "^5.1.0", "react-native-permissions": "^3.9.3", "react-native-picker-select": "git+https://github.com/Expensify/react-native-picker-select.git#7a407cd4174d9838a944c1c2e1cb4a9737ac69c5", @@ -153,16 +153,16 @@ "react-native-quick-sqlite": "^8.0.0-beta.2", "react-native-reanimated": "^3.6.1", "react-native-render-html": "6.3.1", - "react-native-safe-area-context": "4.4.1", - "react-native-screens": "3.21.0", - "react-native-svg": "^13.13.0", + "react-native-safe-area-context": "4.7.4", + "react-native-screens": "3.29.0", + "react-native-svg": "14.0.0", "react-native-tab-view": "^3.5.2", "react-native-url-polyfill": "^2.0.0", - "react-native-view-shot": "^3.6.0", + "react-native-view-shot": "3.8.0", "react-native-vision-camera": "^2.16.2", "react-native-web": "^0.19.9", "react-native-web-linear-gradient": "^1.1.2", - "react-native-webview": "^11.17.2", + "react-native-webview": "13.6.3", "react-pdf": "^6.2.2", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", @@ -195,7 +195,8 @@ "@octokit/plugin-paginate-rest": "3.1.0", "@octokit/plugin-throttling": "4.1.0", "@react-native-community/eslint-config": "3.0.0", - "@react-native/metro-config": "^0.72.11", + "@react-native/babel-preset": "^0.73.19", + "@react-native/metro-config": "^0.73.3", "@react-navigation/devtools": "^6.0.10", "@storybook/addon-a11y": "^6.5.9", "@storybook/addon-essentials": "^7.0.0", @@ -217,7 +218,7 @@ "@types/lodash": "^4.14.195", "@types/mapbox-gl": "^2.7.13", "@types/pusher-js": "^5.1.0", - "@types/react": "^18.2.12", + "@types/react": "18.2.45", "@types/react-beautiful-dnd": "^13.1.4", "@types/react-collapse": "^5.0.1", "@types/react-dom": "^18.2.4", @@ -265,13 +266,11 @@ "jest-environment-jsdom": "^29.4.1", "jest-transformer-svg": "^2.0.1", "memfs": "^4.6.0", - "metro-react-native-babel-preset": "0.76.8", "onchange": "^7.1.0", "portfinder": "^1.0.28", "prettier": "^2.8.8", "pusher-js-mock": "^0.3.3", "react-native-clean-project": "^4.0.0-alpha4.0", - "react-native-flipper": "https://gitpkg.now.sh/facebook/flipper/react-native/react-native-flipper?9cacc9b59402550eae866e0e81e5f0c2f8203e6b", "react-native-performance-flipper-reporter": "^2.0.0", "react-test-renderer": "18.2.0", "reassure": "^0.10.1", @@ -290,7 +289,9 @@ "yaml": "^2.2.1" }, "overrides": { - "react-native": "$react-native" + "react-native": "$react-native", + "expo": "$expo", + "react-native-svg": "$react-native-svg" }, "expo": { "autolinking": { diff --git a/patches/@onfido+react-native-sdk+8.3.0.patch b/patches/@onfido+react-native-sdk+8.3.0.patch index 12245cb58355..5d3fd51bf826 100644 --- a/patches/@onfido+react-native-sdk+8.3.0.patch +++ b/patches/@onfido+react-native-sdk+8.3.0.patch @@ -1,8 +1,22 @@ diff --git a/node_modules/@onfido/react-native-sdk/android/build.gradle b/node_modules/@onfido/react-native-sdk/android/build.gradle -index b4c7106..d5083d3 100644 +index b4c7106..c6efb0f 100644 --- a/node_modules/@onfido/react-native-sdk/android/build.gradle +++ b/node_modules/@onfido/react-native-sdk/android/build.gradle -@@ -135,9 +135,9 @@ afterEvaluate { project -> +@@ -84,6 +84,13 @@ android { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } ++ ++ publishing { ++ singleVariant('release') { ++ withSourcesJar() ++ withJavadocJar() ++ } ++ } + } + + repositories { +@@ -135,9 +142,9 @@ afterEvaluate { project -> group = "Reporting" description = "Generate Jacoco coverage reports after running tests." reports { diff --git a/patches/@react-native+virtualized-lists+0.72.8.patch b/patches/@react-native+virtualized-lists+0.72.8.patch deleted file mode 100644 index a3bef95f1618..000000000000 --- a/patches/@react-native+virtualized-lists+0.72.8.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js b/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js -index ef5a3f0..2590edd 100644 ---- a/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js -+++ b/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js -@@ -125,19 +125,6 @@ function windowSizeOrDefault(windowSize: ?number) { - return windowSize ?? 21; - } - --function findLastWhere( -- arr: $ReadOnlyArray, -- predicate: (element: T) => boolean, --): T | null { -- for (let i = arr.length - 1; i >= 0; i--) { -- if (predicate(arr[i])) { -- return arr[i]; -- } -- } -- -- return null; --} -- - /** - * Base implementation for the more convenient [``](https://reactnative.dev/docs/flatlist) - * and [``](https://reactnative.dev/docs/sectionlist) components, which are also better -@@ -1019,7 +1006,8 @@ class VirtualizedList extends StateSafePureComponent { - const spacerKey = this._getSpacerKey(!horizontal); - - const renderRegions = this.state.renderMask.enumerateRegions(); -- const lastSpacer = findLastWhere(renderRegions, r => r.isSpacer); -+ const lastRegion = renderRegions[renderRegions.length - 1]; -+ const lastSpacer = lastRegion?.isSpacer ? lastRegion : null; - - for (const section of renderRegions) { - if (section.isSpacer) { diff --git a/patches/expo-image+1.10.1+001+applyFill.patch b/patches/expo-image+1.10.1+001+applyFill.patch new file mode 100644 index 000000000000..5f168040d04d --- /dev/null +++ b/patches/expo-image+1.10.1+001+applyFill.patch @@ -0,0 +1,112 @@ +diff --git a/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt b/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt +index 619daf2..b58a0df 100644 +--- a/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt ++++ b/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt +@@ -1,5 +1,9 @@ + package com.caverock.androidsvg + ++import com.caverock.androidsvg.SVG.SPECIFIED_COLOR ++import com.caverock.androidsvg.SVG.SPECIFIED_FILL ++import com.caverock.androidsvg.SVG.SvgElementBase ++ + internal fun replaceColor(paint: SVG.SvgPaint?, newColor: Int) { + if (paint is SVG.Colour && paint !== SVG.Colour.TRANSPARENT) { + paint.colour = newColor +@@ -19,15 +23,83 @@ internal fun replaceStyles(style: SVG.Style?, newColor: Int) { + replaceColor(style.viewportFill, newColor) + } + +-internal fun applyTintColor(element: SVG.SvgObject, newColor: Int) { +- if (element is SVG.SvgElementBase) { ++internal fun hasStyle(element: SvgElementBase): Boolean { ++ if (element.style == null && element.baseStyle == null) { ++ return false ++ } ++ ++ val style = element.style ++ val hasColorInStyle = style != null && ++ ( ++ style.color != null || style.fill != null || style.stroke != null || ++ style.stroke != null || style.stopColor != null || style.solidColor != null ++ ) ++ ++ if (hasColorInStyle) { ++ return true ++ } ++ ++ val baseStyle = element.baseStyle ?: return false ++ return baseStyle.color != null || baseStyle.fill != null || baseStyle.stroke != null || ++ baseStyle.viewportFill != null || baseStyle.stopColor != null || baseStyle.solidColor != null ++} ++ ++internal fun defineStyles(element: SvgElementBase, newColor: Int, hasStyle: Boolean) { ++ if (hasStyle) { ++ return ++ } ++ ++ val style = if (element.style != null) { ++ element.style ++ } else { ++ SVG.Style().also { ++ element.style = it ++ } ++ } ++ ++ val color = SVG.Colour(newColor) ++ when (element) { ++ is SVG.Path, ++ is SVG.Circle, ++ is SVG.Ellipse, ++ is SVG.Rect, ++ is SVG.SolidColor, ++ is SVG.Line, ++ is SVG.Polygon, ++ is SVG.PolyLine -> { ++ style.apply { ++ fill = color ++ ++ specifiedFlags = SPECIFIED_FILL ++ } ++ } ++ ++ is SVG.TextPath -> { ++ style.apply { ++ this.color = color ++ ++ specifiedFlags = SPECIFIED_COLOR ++ } ++ } ++ } ++} ++ ++internal fun applyTintColor(element: SVG.SvgObject, newColor: Int, parentDefinesStyle: Boolean) { ++ val definesStyle = if (element is SvgElementBase) { ++ val hasStyle = parentDefinesStyle || hasStyle(element) ++ + replaceStyles(element.baseStyle, newColor) + replaceStyles(element.style, newColor) ++ defineStyles(element, newColor, hasStyle) ++ ++ hasStyle ++ } else { ++ parentDefinesStyle + } + + if (element is SVG.SvgContainer) { + for (child in element.children) { +- applyTintColor(child, newColor) ++ applyTintColor(child, newColor, definesStyle) + } + } + } +@@ -36,8 +108,9 @@ fun applyTintColor(svg: SVG, newColor: Int) { + val root = svg.rootElement + + replaceStyles(root.style, newColor) ++ val hasStyle = hasStyle(root) + + for (child in root.children) { +- applyTintColor(child, newColor) ++ applyTintColor(child, newColor, hasStyle) + } + } diff --git a/patches/expo-image+1.10.1+002+TintFix.patch b/patches/expo-image+1.10.1+002+TintFix.patch new file mode 100644 index 000000000000..92b56c039b43 --- /dev/null +++ b/patches/expo-image+1.10.1+002+TintFix.patch @@ -0,0 +1,38 @@ +diff --git a/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt b/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt +index b58a0df..6b8da3c 100644 +--- a/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt ++++ b/node_modules/expo-image/android/src/main/java/com/caverock/androidsvg/SVGStyler.kt +@@ -107,6 +107,7 @@ internal fun applyTintColor(element: SVG.SvgObject, newColor: Int, parentDefines + fun applyTintColor(svg: SVG, newColor: Int) { + val root = svg.rootElement + ++ replaceStyles(root.baseStyle, newColor) + replaceStyles(root.style, newColor) + val hasStyle = hasStyle(root) + +diff --git a/node_modules/expo-image/android/src/main/java/expo/modules/image/ExpoImageViewWrapper.kt b/node_modules/expo-image/android/src/main/java/expo/modules/image/ExpoImageViewWrapper.kt +index 602b570..8becf72 100644 +--- a/node_modules/expo-image/android/src/main/java/expo/modules/image/ExpoImageViewWrapper.kt ++++ b/node_modules/expo-image/android/src/main/java/expo/modules/image/ExpoImageViewWrapper.kt +@@ -31,6 +31,7 @@ import expo.modules.image.records.ImageLoadEvent + import expo.modules.image.records.ImageProgressEvent + import expo.modules.image.records.ImageTransition + import expo.modules.image.records.SourceMap ++import expo.modules.image.svg.SVGPictureDrawable + import expo.modules.kotlin.AppContext + import expo.modules.kotlin.tracing.beginAsyncTraceBlock + import expo.modules.kotlin.tracing.trace +@@ -127,7 +128,12 @@ class ExpoImageViewWrapper(context: Context, appContext: AppContext) : ExpoView( + internal var tintColor: Int? = null + set(value) { + field = value +- activeView.setTintColor(value) ++ // To apply the tint color to the SVG, we need to recreate the drawable. ++ if (activeView.drawable is SVGPictureDrawable) { ++ shouldRerender = true ++ } else { ++ activeView.setTintColor(value) ++ } + } + + internal var isFocusableProp: Boolean = false diff --git a/patches/react-native+0.72.4+001+initial.patch b/patches/react-native+0.72.4+001+initial.patch deleted file mode 100644 index f81762d83c1a..000000000000 --- a/patches/react-native+0.72.4+001+initial.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js b/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js -index 9fb5637..e26d677 100644 ---- a/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js -+++ b/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js -@@ -65,6 +65,7 @@ class KeyboardAvoidingView extends React.Component { - _subscriptions: Array = []; - viewRef: {current: React.ElementRef | null, ...}; - _initialFrameHeight: number = 0; -+ _bottom: number = 0; - - constructor(props: Props) { - super(props); -@@ -112,14 +113,15 @@ class KeyboardAvoidingView extends React.Component { - }; - - _onLayout = async (event: ViewLayoutEvent) => { -- const wasFrameNull = this._frame == null; -+ const oldFrame = this._frame; - this._frame = event.nativeEvent.layout; - if (!this._initialFrameHeight) { - // save the initial frame height, before the keyboard is visible - this._initialFrameHeight = this._frame.height; - } - -- if (wasFrameNull) { -+ // update bottom height for the first time or when the height is changed -+ if (!oldFrame || oldFrame.height !== this._frame.height) { - await this._updateBottomIfNecessary(); - } - -@@ -128,20 +130,32 @@ class KeyboardAvoidingView extends React.Component { - } - }; - -+ // Avoid unnecessary renders if the KeyboardAvoidingView is disabled. -+ _setBottom = (value: number) => { -+ const enabled = this.props.enabled ?? true; -+ this._bottom = value; -+ if (enabled) { -+ this.setState({bottom: value}); -+ } -+ }; -+ - _updateBottomIfNecessary = async () => { - if (this._keyboardEvent == null) { -- this.setState({bottom: 0}); -+ this._setBottom(0); - return; - } - - const {duration, easing, endCoordinates} = this._keyboardEvent; - const height = await this._relativeKeyboardHeight(endCoordinates); - -- if (this.state.bottom === height) { -+ if (this._bottom === height) { - return; - } - -- if (duration && easing) { -+ this._setBottom(height); -+ -+ const enabled = this.props.enabled ?? true; -+ if (enabled && duration && easing) { - LayoutAnimation.configureNext({ - // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m - duration: duration > 10 ? duration : 10, -@@ -151,9 +165,15 @@ class KeyboardAvoidingView extends React.Component { - }, - }); - } -- this.setState({bottom: height}); - }; - -+ componentDidUpdate(_: Props, prevState: State): void { -+ const enabled = this.props.enabled ?? true; -+ if (enabled && this._bottom !== prevState.bottom) { -+ this.setState({bottom: this._bottom}); -+ } -+ } -+ - componentDidMount(): void { - if (Platform.OS === 'ios') { - this._subscriptions = [ diff --git a/patches/react-native+0.72.4+005+fix-boost-dependency.patch b/patches/react-native+0.72.4+005+fix-boost-dependency.patch deleted file mode 100644 index 477cf97b4a02..000000000000 --- a/patches/react-native+0.72.4+005+fix-boost-dependency.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/node_modules/react-native/ReactAndroid/build.gradle b/node_modules/react-native/ReactAndroid/build.gradle -index f44b6e4..818833b 100644 ---- a/node_modules/react-native/ReactAndroid/build.gradle -+++ b/node_modules/react-native/ReactAndroid/build.gradle -@@ -243,7 +243,8 @@ task createNativeDepsDirectories { - } - - task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) { -- src("https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz") -+ def transformedVersion = BOOST_VERSION.replace("_", ".") -+ src("https://archives.boost.io/release/${transformedVersion}/source/boost_${BOOST_VERSION}.tar.gz") - onlyIfModified(true) - overwrite(false) - retries(5) -diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec -index 3d9331c..bbbb738 100644 ---- a/node_modules/react-native/third-party-podspecs/boost.podspec -+++ b/node_modules/react-native/third-party-podspecs/boost.podspec -@@ -10,7 +10,7 @@ Pod::Spec.new do |spec| - spec.homepage = 'http://www.boost.org' - spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.' - spec.authors = 'Rene Rivera' -- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2', -+ spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2', - :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' } - - # Pinning to the same version as React.podspec. diff --git a/patches/react-native+0.72.4+002+NumberOfLines.patch b/patches/react-native+0.73.2+001+NumberOfLines.patch similarity index 88% rename from patches/react-native+0.72.4+002+NumberOfLines.patch rename to patches/react-native+0.73.2+001+NumberOfLines.patch index 75422f84708e..c9ce92f8e1ef 100644 --- a/patches/react-native+0.72.4+002+NumberOfLines.patch +++ b/patches/react-native+0.73.2+001+NumberOfLines.patch @@ -17,7 +17,7 @@ index 55b770d..4073836 100644 * When `false`, if there is a small amount of space available around a text input * (e.g. landscape orientation on a phone), the OS may choose to have the user edit diff --git a/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js b/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js -index 6f69329..d531bee 100644 +index 88d3cc8..664d37d 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js +++ b/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js @@ -144,6 +144,8 @@ const RCTTextInputViewConfig = { @@ -30,23 +30,10 @@ index 6f69329..d531bee 100644 maxLength: true, autoCapitalize: true, diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts b/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts -index 8badb2a..b19f197 100644 +index 2c0c099..5cb6bf1 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts -@@ -347,12 +347,6 @@ export interface TextInputAndroidProps { - */ - inlineImagePadding?: number | undefined; - -- /** -- * Sets the number of lines for a TextInput. -- * Use it with multiline set to true to be able to fill the lines. -- */ -- numberOfLines?: number | undefined; -- - /** - * Sets the return key to the label. Use it instead of `returnKeyType`. - * @platform android -@@ -663,11 +657,30 @@ export interface TextInputProps +@@ -695,11 +695,29 @@ export interface TextInputProps */ maxLength?: number | undefined; @@ -72,16 +59,15 @@ index 8badb2a..b19f197 100644 + * Use it with multiline set to true to be able to fill the lines. + */ + rows?: number | undefined; -+ + /** * Callback that is called when the text input is blurred */ diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js -index 7ed4579..b1d994e 100644 +index 9adbfe9..dc52051 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js -@@ -343,26 +343,12 @@ type AndroidProps = $ReadOnly<{| +@@ -366,26 +366,12 @@ type AndroidProps = $ReadOnly<{| */ inlineImagePadding?: ?number, @@ -108,9 +94,9 @@ index 7ed4579..b1d994e 100644 /** * When `false`, it will prevent the soft keyboard from showing when the field is focused. * Defaults to `true`. -@@ -632,6 +618,12 @@ export type Props = $ReadOnly<{| +@@ -680,12 +666,24 @@ export type Props = $ReadOnly<{| */ - keyboardType?: ?KeyboardType, + maxLength?: ?number, + /** + * Sets the maximum number of lines for a `TextInput`. Use it with multiline set to @@ -119,9 +105,8 @@ index 7ed4579..b1d994e 100644 + maxNumberOfLines?: ?number, + /** - * Specifies largest possible scale a font can reach when `allowFontScaling` is enabled. - * Possible values: -@@ -653,6 +645,12 @@ export type Props = $ReadOnly<{| + * If `true`, the text input can be multiple lines. + * The default value is `false`. */ multiline?: ?boolean, @@ -134,7 +119,7 @@ index 7ed4579..b1d994e 100644 /** * Callback that is called when the text input is blurred. */ -@@ -814,6 +812,12 @@ export type Props = $ReadOnly<{| +@@ -847,6 +845,13 @@ export type Props = $ReadOnly<{| */ returnKeyType?: ?ReturnKeyType, @@ -143,15 +128,16 @@ index 7ed4579..b1d994e 100644 + * `true` to be able to fill the lines. + */ + rows?: ?number, ++ + /** * If `true`, the text input obscures the text entered so that sensitive text * like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'. diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -index 2127191..542fc06 100644 +index 481938f..3ce7422 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -@@ -390,7 +390,6 @@ type AndroidProps = $ReadOnly<{| +@@ -413,7 +413,6 @@ type AndroidProps = $ReadOnly<{| /** * Sets the number of lines for a `TextInput`. Use it with multiline set to * `true` to be able to fill the lines. @@ -159,7 +145,7 @@ index 2127191..542fc06 100644 */ numberOfLines?: ?number, -@@ -403,10 +402,14 @@ type AndroidProps = $ReadOnly<{| +@@ -426,10 +425,15 @@ type AndroidProps = $ReadOnly<{| /** * Sets the number of rows for a `TextInput`. Use it with multiline set to * `true` to be able to fill the lines. @@ -171,11 +157,12 @@ index 2127191..542fc06 100644 + * Sets the maximum number of lines the TextInput can have. + */ + maxNumberOfLines?: ?number, ++ + /** * When `false`, it will prevent the soft keyboard from showing when the field is focused. * Defaults to `true`. -@@ -1069,6 +1072,9 @@ function InternalTextInput(props: Props): React.Node { +@@ -1102,6 +1106,9 @@ function InternalTextInput(props: Props): React.Node { accessibilityState, id, tabIndex, @@ -185,7 +172,7 @@ index 2127191..542fc06 100644 selection: propsSelection, ...otherProps } = props; -@@ -1427,6 +1433,8 @@ function InternalTextInput(props: Props): React.Node { +@@ -1460,6 +1467,8 @@ function InternalTextInput(props: Props): React.Node { focusable={tabIndex !== undefined ? !tabIndex : focusable} mostRecentEventCount={mostRecentEventCount} nativeID={id ?? props.nativeID} @@ -194,7 +181,7 @@ index 2127191..542fc06 100644 onBlur={_onBlur} onKeyPressSync={props.unstable_onKeyPressSync} onChange={_onChange} -@@ -1482,6 +1490,7 @@ function InternalTextInput(props: Props): React.Node { +@@ -1515,6 +1524,7 @@ function InternalTextInput(props: Props): React.Node { mostRecentEventCount={mostRecentEventCount} nativeID={id ?? props.nativeID} numberOfLines={props.rows ?? props.numberOfLines} @@ -203,11 +190,11 @@ index 2127191..542fc06 100644 onChange={_onChange} onFocus={_onFocus} diff --git a/node_modules/react-native/Libraries/Text/Text.js b/node_modules/react-native/Libraries/Text/Text.js -index df548af..e02f5da 100644 +index d737ccc..beee7ce 100644 --- a/node_modules/react-native/Libraries/Text/Text.js +++ b/node_modules/react-native/Libraries/Text/Text.js -@@ -18,7 +18,11 @@ import processColor from '../StyleSheet/processColor'; - import {getAccessibilityRoleFromRole} from '../Utilities/AcessibilityMapping'; +@@ -17,7 +17,11 @@ import flattenStyle from '../StyleSheet/flattenStyle'; + import processColor from '../StyleSheet/processColor'; import Platform from '../Utilities/Platform'; import TextAncestor from './TextAncestor'; -import {NativeText, NativeVirtualText} from './TextNativeComponent'; @@ -219,15 +206,15 @@ index df548af..e02f5da 100644 import * as React from 'react'; import {useContext, useMemo, useState} from 'react'; -@@ -59,6 +63,7 @@ const Text: React.AbstractComponent< +@@ -56,6 +60,7 @@ const Text: React.AbstractComponent< + onStartShouldSetResponder, pressRetentionOffset, - role, suppressHighlighting, + numberOfLines, ...restProps } = props; -@@ -192,14 +197,33 @@ const Text: React.AbstractComponent< +@@ -195,14 +200,34 @@ const Text: React.AbstractComponent< } } @@ -259,11 +246,12 @@ index df548af..e02f5da 100644 + maximumNumberOfLines: numberOfLinesValue, + }; + }, [numberOfLinesValue]); ++ + const hasTextAncestor = useContext(TextAncestor); const _accessible = Platform.select({ -@@ -241,7 +265,6 @@ const Text: React.AbstractComponent< +@@ -251,7 +276,6 @@ const Text: React.AbstractComponent< isHighlighted={isHighlighted} isPressable={isPressable} nativeID={id ?? nativeID} @@ -271,15 +259,15 @@ index df548af..e02f5da 100644 ref={forwardedRef} selectable={_selectable} selectionColor={selectionColor} -@@ -252,6 +275,7 @@ const Text: React.AbstractComponent< +@@ -262,6 +286,7 @@ const Text: React.AbstractComponent< @@ -347,10 +335,10 @@ index 8f4cf7e..6238ebc 100644 @property (nonatomic, copy, nullable) RCTDirectEventBlock onContentSizeChange; - (void)uiManagerWillPerformMounting; -diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m -index 04d2446..9d77743 100644 ---- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m -+++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +index 1f06b79..48172ce 100644 +--- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm ++++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm @@ -218,7 +218,22 @@ - (NSAttributedString *)measurableAttributedText - (CGSize)sizeThatFitsMinimumSize:(CGSize)minimumSize maximumSize:(CGSize)maximumSize @@ -375,10 +363,10 @@ index 04d2446..9d77743 100644 if (!_textStorage) { _textContainer = [NSTextContainer new]; -diff --git a/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m b/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +diff --git a/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm b/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm index 413ac42..56d039c 100644 ---- a/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m -+++ b/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +--- a/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm ++++ b/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm @@ -19,6 +19,7 @@ - (RCTShadowView *)shadowView RCTBaseTextInputShadowView *shadowView = (RCTBaseTextInputShadowView *)[super shadowView]; @@ -442,7 +430,7 @@ index 8cab407..ad5fa96 100644 + public static final int MAXIMUM_NUMBER_OF_LINES = Integer.MAX_VALUE; } diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java -index 3f76fa7..7a5d096 100644 +index fa6eae3..f524753 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java @@ -96,6 +96,7 @@ public class ViewProps { @@ -454,18 +442,18 @@ index 3f76fa7..7a5d096 100644 public static final String ADJUSTS_FONT_SIZE_TO_FIT = "adjustsFontSizeToFit"; public static final String MINIMUM_FONT_SCALE = "minimumFontScale"; diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java -index b5811c7..96eef96 100644 +index d2c2d6e..e4dec5d 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java -@@ -303,6 +303,7 @@ public abstract class ReactBaseTextShadowNode extends LayoutShadowNode { - protected boolean mIsAccessibilityLink = false; +@@ -311,6 +311,7 @@ public abstract class ReactBaseTextShadowNode extends LayoutShadowNode { + protected @Nullable Role mRole = null; protected int mNumberOfLines = UNSET; + protected int mMaxNumberOfLines = UNSET; protected int mTextAlign = Gravity.NO_GRAVITY; protected int mTextBreakStrategy = (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) ? 0 : Layout.BREAK_STRATEGY_HIGH_QUALITY; -@@ -387,6 +388,12 @@ public abstract class ReactBaseTextShadowNode extends LayoutShadowNode { +@@ -395,6 +396,12 @@ public abstract class ReactBaseTextShadowNode extends LayoutShadowNode { markUpdated(); } @@ -479,7 +467,7 @@ index b5811c7..96eef96 100644 public void setLineHeight(float lineHeight) { mTextAttributes.setLineHeight(lineHeight); diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java -index 7b5d0c1..c3032eb 100644 +index f683c24..b5f6f7d 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java @@ -49,8 +49,8 @@ public abstract class ReactTextAnchorViewManager sSpannableCache = new LruCache<>(spannableCacheSize); private static final ConcurrentHashMap sTagToSpannableCache = -@@ -385,6 +387,48 @@ public class TextLayoutManager { +@@ -395,6 +397,48 @@ public class TextLayoutManager { ? paragraphAttributes.getInt(MAXIMUM_NUMBER_OF_LINES_KEY) : UNSET; @@ -619,10 +607,10 @@ index 561a2d0..9409cfc 100644 maximumNumberOfLines == UNSET || maximumNumberOfLines == 0 ? layout.getLineCount() diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java -index 0d118f0..0ae44b7 100644 +index 8cd5764..35a2e9e 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java -@@ -18,6 +18,7 @@ import android.text.SpannableStringBuilder; +@@ -20,6 +20,7 @@ import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.StaticLayout; import android.text.TextPaint; @@ -630,7 +618,7 @@ index 0d118f0..0ae44b7 100644 import android.util.LayoutDirection; import android.util.LruCache; import android.view.View; -@@ -61,6 +62,7 @@ public class TextLayoutManagerMapBuffer { +@@ -66,6 +67,7 @@ public class TextLayoutManagerMapBuffer { public static final short PA_KEY_ADJUST_FONT_SIZE_TO_FIT = 3; public static final short PA_KEY_INCLUDE_FONT_PADDING = 4; public static final short PA_KEY_HYPHENATION_FREQUENCY = 5; @@ -638,7 +626,7 @@ index 0d118f0..0ae44b7 100644 private static final boolean ENABLE_MEASURE_LOGGING = ReactBuildConfig.DEBUG && false; -@@ -399,6 +401,47 @@ public class TextLayoutManagerMapBuffer { +@@ -417,6 +419,46 @@ public class TextLayoutManagerMapBuffer { ? paragraphAttributes.getInt(PA_KEY_MAX_NUMBER_OF_LINES) : UNSET; @@ -681,29 +669,33 @@ index 0d118f0..0ae44b7 100644 + if (numberOfLines != UNSET && numberOfLines != 0) { + maximumNumberOfLines = numberOfLines; + } -+ + int calculatedLineCount = maximumNumberOfLines == UNSET || maximumNumberOfLines == 0 ? layout.getLineCount() diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -index ced37be..ef2f321 100644 +index 081f2b8..0659179 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -@@ -548,7 +548,13 @@ public class ReactEditText extends AppCompatEditText +@@ -546,9 +546,15 @@ public class ReactEditText extends AppCompatEditText { + * android.widget.TextView#isMultilineInputType(int)}} Source: {@Link TextView.java} */ - if (isMultiline()) { -+ // we save max lines as setSingleLines overwrites it -+ // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/TextView.java#10671 -+ int maxLines = getMaxLines(); - setSingleLine(false); -+ if (maxLines != -1) { -+ setMaxLines(maxLines); -+ } - } +- if (isMultiline()) { +- setSingleLine(false); +- } ++ if (isMultiline()) { ++ // we save max lines as setSingleLines overwrites it ++ // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/TextView.java#10671 ++ int maxLines = getMaxLines(); ++ setSingleLine(false); ++ if (maxLines != -1) { ++ setMaxLines(maxLines); ++ } ++ } // We override the KeyListener so that all keys on the soft input keyboard as well as hardware + // keyboards work. Some KeyListeners like DigitsKeyListener will display the keyboard but not diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java index a850510..c59be1d 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java @@ -720,10 +712,10 @@ index a850510..c59be1d 100644 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { editText.setBreakStrategy(mBreakStrategy); diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java -index b27ace4..c6a2d63 100644 +index 8496a7d..e4d975b 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java -@@ -737,9 +737,18 @@ public class ReactTextInputManager extends BaseViewManager= Build.VERSION_CODES.M diff --git a/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp b/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp -index 2994aca..fff0d5e 100644 +index f2317ba..10f342c 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +++ b/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp @@ -16,6 +16,7 @@ namespace facebook::react { - bool ParagraphAttributes::operator==(const ParagraphAttributes &rhs) const { + bool ParagraphAttributes::operator==(const ParagraphAttributes& rhs) const { return std::tie( + numberOfLines, maximumNumberOfLines, ellipsizeMode, textBreakStrategy, -@@ -23,6 +24,7 @@ bool ParagraphAttributes::operator==(const ParagraphAttributes &rhs) const { +@@ -23,6 +24,7 @@ bool ParagraphAttributes::operator==(const ParagraphAttributes& rhs) const { includeFontPadding, android_hyphenationFrequency) == std::tie( @@ -777,7 +769,7 @@ index 2994aca..fff0d5e 100644 rhs.maximumNumberOfLines, rhs.ellipsizeMode, rhs.textBreakStrategy, -@@ -42,6 +44,7 @@ bool ParagraphAttributes::operator!=(const ParagraphAttributes &rhs) const { +@@ -42,6 +44,7 @@ bool ParagraphAttributes::operator!=(const ParagraphAttributes& rhs) const { #if RN_DEBUG_STRING_CONVERTIBLE SharedDebugStringConvertibleList ParagraphAttributes::getDebugProps() const { return { @@ -786,10 +778,10 @@ index 2994aca..fff0d5e 100644 debugStringConvertibleItem("ellipsizeMode", ellipsizeMode), debugStringConvertibleItem("textBreakStrategy", textBreakStrategy), diff --git a/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h b/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h -index f5f87c6..b7d1e90 100644 +index d73f863..1f85b22 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +++ b/node_modules/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h -@@ -30,6 +30,11 @@ class ParagraphAttributes : public DebugStringConvertible { +@@ -29,6 +29,11 @@ class ParagraphAttributes : public DebugStringConvertible { public: #pragma mark - Fields @@ -801,20 +793,20 @@ index f5f87c6..b7d1e90 100644 /* * Maximum number of lines which paragraph can take. * Zero value represents "no limit". -@@ -92,6 +97,7 @@ struct hash { - const facebook::react::ParagraphAttributes &attributes) const { - return folly::hash::hash_combine( - 0, +@@ -89,6 +94,7 @@ struct hash { + size_t operator()( + const facebook::react::ParagraphAttributes& attributes) const { + return facebook::react::hash_combine( + attributes.numberOfLines, attributes.maximumNumberOfLines, attributes.ellipsizeMode, attributes.textBreakStrategy, diff --git a/node_modules/react-native/ReactCommon/react/renderer/attributedstring/conversions.h b/node_modules/react-native/ReactCommon/react/renderer/attributedstring/conversions.h -index 8687b89..eab75f4 100644 +index 445e452..3f0bb36 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/attributedstring/conversions.h +++ b/node_modules/react-native/ReactCommon/react/renderer/attributedstring/conversions.h -@@ -835,10 +835,16 @@ inline ParagraphAttributes convertRawProp( - ParagraphAttributes const &defaultParagraphAttributes) { +@@ -692,10 +692,16 @@ inline ParagraphAttributes convertRawProp( + const ParagraphAttributes& defaultParagraphAttributes) { auto paragraphAttributes = ParagraphAttributes{}; - paragraphAttributes.maximumNumberOfLines = convertRawProp( @@ -831,23 +823,23 @@ index 8687b89..eab75f4 100644 sourceParagraphAttributes.maximumNumberOfLines, defaultParagraphAttributes.maximumNumberOfLines); paragraphAttributes.ellipsizeMode = convertRawProp( -@@ -913,6 +919,7 @@ inline std::string toString(AttributedString::Range const &range) { +@@ -770,6 +776,7 @@ inline std::string toString(const AttributedString::Range& range) { inline folly::dynamic toDynamic( - const ParagraphAttributes ¶graphAttributes) { + const ParagraphAttributes& paragraphAttributes) { auto values = folly::dynamic::object(); + values("numberOfLines", paragraphAttributes.numberOfLines); values("maximumNumberOfLines", paragraphAttributes.maximumNumberOfLines); values("ellipsizeMode", toString(paragraphAttributes.ellipsizeMode)); values("textBreakStrategy", toString(paragraphAttributes.textBreakStrategy)); -@@ -1118,6 +1125,7 @@ constexpr static MapBuffer::Key PA_KEY_TEXT_BREAK_STRATEGY = 2; +@@ -979,6 +986,7 @@ constexpr static MapBuffer::Key PA_KEY_TEXT_BREAK_STRATEGY = 2; constexpr static MapBuffer::Key PA_KEY_ADJUST_FONT_SIZE_TO_FIT = 3; constexpr static MapBuffer::Key PA_KEY_INCLUDE_FONT_PADDING = 4; constexpr static MapBuffer::Key PA_KEY_HYPHENATION_FREQUENCY = 5; +constexpr static MapBuffer::Key PA_KEY_NUMBER_OF_LINES = 6; - inline MapBuffer toMapBuffer(const ParagraphAttributes ¶graphAttributes) { + inline MapBuffer toMapBuffer(const ParagraphAttributes& paragraphAttributes) { auto builder = MapBufferBuilder(); -@@ -1135,6 +1143,8 @@ inline MapBuffer toMapBuffer(const ParagraphAttributes ¶graphAttributes) { +@@ -996,6 +1004,8 @@ inline MapBuffer toMapBuffer(const ParagraphAttributes& paragraphAttributes) { builder.putString( PA_KEY_HYPHENATION_FREQUENCY, toString(paragraphAttributes.android_hyphenationFrequency)); @@ -857,7 +849,7 @@ index 8687b89..eab75f4 100644 return builder.build(); } diff --git a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp -index 9953e22..98eb3da 100644 +index 116284f..5749c57 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +++ b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp @@ -56,6 +56,10 @@ AndroidTextInputProps::AndroidTextInputProps( @@ -865,9 +857,9 @@ index 9953e22..98eb3da 100644 sourceProps.numberOfLines, {0})), + maximumNumberOfLines(CoreFeatures::enablePropIteratorSetter? sourceProps.maximumNumberOfLines : convertRawProp(context, rawProps, -+ "maximumNumberOfLines", -+ sourceProps.maximumNumberOfLines, -+ {0})), ++ "maximumNumberOfLines", ++ sourceProps.maximumNumberOfLines, ++ {0})), disableFullscreenUI(CoreFeatures::enablePropIteratorSetter? sourceProps.disableFullscreenUI : convertRawProp(context, rawProps, "disableFullscreenUI", sourceProps.disableFullscreenUI, @@ -901,10 +893,10 @@ index 9953e22..98eb3da 100644 props["returnKeyLabel"] = returnKeyLabel; props["numberOfLines"] = numberOfLines; diff --git a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h -index ba39ebb..ead28e3 100644 +index 43cbb68..0bf63e7 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +++ b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h -@@ -84,6 +84,7 @@ class AndroidTextInputProps final : public ViewProps, public BaseTextProps { +@@ -81,6 +81,7 @@ class AndroidTextInputProps final : public ViewProps, public BaseTextProps { std::string autoComplete{}; std::string returnKeyLabel{}; int numberOfLines{0}; @@ -913,21 +905,20 @@ index ba39ebb..ead28e3 100644 std::string textBreakStrategy{}; SharedColor underlineColorAndroid{}; diff --git a/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm b/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm -index 368c334..a1bb33e 100644 +index 368c334..ef9ec17 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +++ b/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm -@@ -244,26 +244,51 @@ - (void)getRectWithAttributedString:(AttributedString)attributedString +@@ -244,26 +244,49 @@ - (void)getRectWithAttributedString:(AttributedString)attributedString #pragma mark - Private -- (NSTextStorage *)_textStorageForNSAttributesString:(NSAttributedString *)attributedString -++- (NSTextStorage *)_textStorageForNSAttributesString:(NSAttributedString *)inputAttributedString ++- (NSTextStorage *)_textStorageForNSAttributesString:(NSAttributedString *)inputAttributedString paragraphAttributes:(ParagraphAttributes)paragraphAttributes size:(CGSize)size { - NSTextContainer *textContainer = [[NSTextContainer alloc] initWithSize:size]; -+ NSMutableAttributedString *attributedString = [ inputAttributedString mutableCopy]; -+ ++NSMutableAttributedString *attributedString = [ inputAttributedString mutableCopy]; + /* + * The block below is responsible for setting the exact height of the view in lines + * Unfortunatelly, iOS doesn't export any easy way to do it. So we set maximumNumberOfLines @@ -969,9 +960,8 @@ index 368c334..a1bb33e 100644 + : NSLineBreakByClipping; + textContainer.size = size; + textContainer.maximumNumberOfLines = paragraphAttributes.maximumNumberOfLines; -+ ++ + [textStorage replaceCharactersInRange:(NSRange){0, textStorage.length} withAttributedString:attributedString]; -+ + if (paragraphAttributes.adjustsFontSizeToFit) { CGFloat minimumFontSize = !isnan(paragraphAttributes.minimumFontSize) ? paragraphAttributes.minimumFontSize : 4.0; diff --git a/patches/react-native+0.72.4+004+ModalKeyboardFlashing.patch b/patches/react-native+0.73.2+001+initial.patch similarity index 93% rename from patches/react-native+0.72.4+004+ModalKeyboardFlashing.patch rename to patches/react-native+0.73.2+001+initial.patch index 84a233894f94..673013517e3d 100644 --- a/patches/react-native+0.72.4+004+ModalKeyboardFlashing.patch +++ b/patches/react-native+0.73.2+001+initial.patch @@ -2,7 +2,7 @@ diff --git a/node_modules/react-native/React/Views/RCTModalHostViewManager.m b/n index 4b9f9ad..b72984c 100644 --- a/node_modules/react-native/React/Views/RCTModalHostViewManager.m +++ b/node_modules/react-native/React/Views/RCTModalHostViewManager.m -@@ -79,6 +79,13 @@ RCT_EXPORT_MODULE() +@@ -79,6 +79,13 @@ - (void)presentModalHostView:(RCTModalHostView *)modalHostView if (self->_presentationBlock) { self->_presentationBlock([modalHostView reactViewController], viewController, animated, completionBlock); } else { diff --git a/patches/react-native-vision-camera+2.16.2.patch b/patches/react-native-vision-camera+2.16.2.patch new file mode 100644 index 000000000000..d08f7c11f5f3 --- /dev/null +++ b/patches/react-native-vision-camera+2.16.2.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/frameprocessor/FrameProcessorRuntimeManager.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/frameprocessor/FrameProcessorRuntimeManager.kt +index c0a8b23..653b51e 100644 +--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/frameprocessor/FrameProcessorRuntimeManager.kt ++++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/frameprocessor/FrameProcessorRuntimeManager.kt +@@ -40,7 +40,7 @@ class FrameProcessorRuntimeManager(context: ReactApplicationContext, frameProces + val holder = context.catalystInstance.jsCallInvokerHolder as CallInvokerHolderImpl + mScheduler = VisionCameraScheduler(frameProcessorThread) + mContext = WeakReference(context) +- mHybridData = initHybrid(context.javaScriptContextHolder.get(), holder, mScheduler!!) ++ mHybridData = initHybrid(context.javaScriptContextHolder!!.get(), holder, mScheduler!!) + initializeRuntime() + + Log.i(TAG, "Installing JSI Bindings on JS Thread...") diff --git a/src/CONST.ts b/src/CONST.ts index b1a6b6895de7..d6f3d3cdcef6 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -479,7 +479,9 @@ const CONST = { ONFIDO_TERMS_OF_SERVICE_URL: 'https://onfido.com/terms-of-service/', // Use Environment.getEnvironmentURL to get the complete URL with port number DEV_NEW_EXPENSIFY_URL: 'https://dev.new.expensify.com:', - EXPENSIFY_INBOX_URL: 'https://www.expensify.com/inbox', + OLDDOT_URLS: { + INBOX: 'inbox', + }, SIGN_IN_FORM_WIDTH: 300, @@ -527,6 +529,7 @@ const CONST = { TASKCOMPLETED: 'TASKCOMPLETED', TASKEDITED: 'TASKEDITED', TASKREOPENED: 'TASKREOPENED', + ACTIONABLEMENTIONWHISPER: 'ACTIONABLEMENTIONWHISPER', POLICYCHANGELOG: { ADD_APPROVER_RULE: 'POLICYCHANGELOG_ADD_APPROVER_RULE', ADD_BUDGET: 'POLICYCHANGELOG_ADD_BUDGET', @@ -600,6 +603,12 @@ const CONST = { }, THREAD_DISABLED: ['CREATED'], }, + CANCEL_PAYMENT_REASONS: { + ADMIN: 'CANCEL_REASON_ADMIN', + }, + ACTIONABLE_MENTION_WHISPER_RESOLUTION: { + INVITE: 'invited', + }, ARCHIVE_REASON: { DEFAULT: 'default', ACCOUNT_CLOSED: 'accountClosed', @@ -630,18 +639,13 @@ const CONST = { ANNOUNCE: '#announce', ADMINS: '#admins', }, - STATE: { - OPEN: 'OPEN', - SUBMITTED: 'SUBMITTED', - PROCESSING: 'PROCESSING', - }, STATE_NUM: { OPEN: 0, - PROCESSING: 1, - SUBMITTED: 2, + SUBMITTED: 1, + APPROVED: 2, BILLING: 3, }, - STATUS: { + STATUS_NUM: { OPEN: 0, SUBMITTED: 1, CLOSED: 2, @@ -1440,6 +1444,8 @@ const CONST = { INVISIBLE_CHARACTERS_GROUPS: /[\p{C}\p{Z}]/gu, OTHER_INVISIBLE_CHARACTERS: /[\u3164]/g, + + REPORT_FIELD_TITLE: /{report:([a-zA-Z]+)}/g, }, PRONOUNS: { @@ -2725,7 +2731,7 @@ const CONST = { EXPECTED_OUTPUT: 'FCFA 123,457', }, - PATHS_TO_TREAT_AS_EXTERNAL: ['NewExpensify.dmg'], + PATHS_TO_TREAT_AS_EXTERNAL: ['NewExpensify.dmg', 'docs/index.html'], // Test tool menu parameters TEST_TOOL: { diff --git a/src/ROUTES.ts b/src/ROUTES.ts index 7538a16d1a2c..37003a09a0cd 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -286,10 +286,6 @@ const ROUTES = { route: ':iouType/new/merchant/:reportID?', getRoute: (iouType: string, reportID = '') => `${iouType}/new/merchant/${reportID}` as const, }, - MONEY_REQUEST_WAYPOINT: { - route: ':iouType/new/waypoint/:waypointIndex', - getRoute: (iouType: string, waypointIndex: number) => `${iouType}/new/waypoint/${waypointIndex}` as const, - }, MONEY_REQUEST_RECEIPT: { route: ':iouType/new/receipt/:reportID?', getRoute: (iouType: string, reportID = '') => `${iouType}/new/receipt/${reportID}` as const, @@ -298,10 +294,6 @@ const ROUTES = { route: ':iouType/new/address/:reportID?', getRoute: (iouType: string, reportID = '') => `${iouType}/new/address/${reportID}` as const, }, - MONEY_REQUEST_EDIT_WAYPOINT: { - route: 'r/:threadReportID/edit/distance/:transactionID/waypoint/:waypointIndex', - getRoute: (threadReportID: number, transactionID: string, waypointIndex: number) => `r/${threadReportID}/edit/distance/${transactionID}/waypoint/${waypointIndex}` as const, - }, MONEY_REQUEST_DISTANCE_TAB: { route: ':iouType/new/:reportID?/distance', getRoute: (iouType: string, reportID = '') => `${iouType}/new/${reportID}/distance` as const, @@ -378,9 +370,9 @@ const ROUTES = { getUrlWithBackToParam(`create/${iouType}/tag/${transactionID}/${reportID}`, backTo), }, MONEY_REQUEST_STEP_WAYPOINT: { - route: 'create/:iouType/waypoint/:transactionID/:reportID/:pageIndex', - getRoute: (iouType: ValueOf, transactionID: string, reportID: string, pageIndex = '', backTo = '') => - getUrlWithBackToParam(`create/${iouType}/waypoint/${transactionID}/${reportID}/${pageIndex}`, backTo), + route: ':action/:iouType/waypoint/:transactionID/:reportID/:pageIndex', + getRoute: (action: ValueOf, iouType: ValueOf, transactionID: string, reportID: string, pageIndex = '', backTo = '') => + getUrlWithBackToParam(`${action}/${iouType}/waypoint/${transactionID}/${reportID}/${pageIndex}`, backTo), }, // This URL is used as a redirect to one of the create tabs below. This is so that we can message users with a link // straight to those flows without needing to have optimistic transaction and report IDs. diff --git a/src/components/AddressSearch/index.js b/src/components/AddressSearch/index.js index 9f2635633318..357f5af8cb58 100644 --- a/src/components/AddressSearch/index.js +++ b/src/components/AddressSearch/index.js @@ -363,7 +363,7 @@ function AddressSearch({ }, { maximumAge: 0, // No cache, always get fresh location info - timeout: 5000, + timeout: 30000, }, ); }; diff --git a/src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.js b/src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.tsx similarity index 52% rename from src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.js rename to src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.tsx index 6161ba140726..df8a0a30b129 100644 --- a/src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.js +++ b/src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.tsx @@ -1,6 +1,6 @@ -import PropTypes from 'prop-types'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; +import type {OnyxEntry} from 'react-native-onyx'; import AttachmentView from '@components/Attachments/AttachmentView'; import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback'; import {ShowContextMenuContext, showContextMenuForReport} from '@components/ShowContextMenuContext'; @@ -10,59 +10,52 @@ import * as ReportUtils from '@libs/ReportUtils'; import * as Download from '@userActions/Download'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; -import {defaultProps as anchorForAttachmentsOnlyDefaultProps, propTypes as anchorForAttachmentsOnlyPropTypes} from './anchorForAttachmentsOnlyPropTypes'; - -const propTypes = { - /** Press in handler for the link */ - onPressIn: PropTypes.func, - - /** Press out handler for the link */ - onPressOut: PropTypes.func, +import type {Download as OnyxDownload} from '@src/types/onyx'; +import type AnchorForAttachmentsOnlyProps from './types'; +type BaseAnchorForAttachmentsOnlyOnyxProps = { /** If a file download is happening */ - download: PropTypes.shape({ - isDownloading: PropTypes.bool.isRequired, - }), - - ...anchorForAttachmentsOnlyPropTypes, + download: OnyxEntry; }; -const defaultProps = { - onPressIn: undefined, - onPressOut: undefined, - download: {isDownloading: false}, - ...anchorForAttachmentsOnlyDefaultProps, -}; +type BaseAnchorForAttachmentsOnlyProps = AnchorForAttachmentsOnlyProps & + BaseAnchorForAttachmentsOnlyOnyxProps & { + /** Press in handler for the link */ + onPressIn?: () => void; + + /** Press out handler for the link */ + onPressOut?: () => void; + }; -function BaseAnchorForAttachmentsOnly(props) { - const sourceURL = props.source; - const sourceURLWithAuth = addEncryptedAuthTokenToURL(sourceURL); - const sourceID = (sourceURL.match(CONST.REGEX.ATTACHMENT_ID) || [])[1]; - const fileName = props.displayName; +function BaseAnchorForAttachmentsOnly({style, source = '', displayName = '', download, onPressIn, onPressOut}: BaseAnchorForAttachmentsOnlyProps) { + const sourceURLWithAuth = addEncryptedAuthTokenToURL(source); + const sourceID = (source.match(CONST.REGEX.ATTACHMENT_ID) ?? [])[1]; - const isDownloading = props.download && props.download.isDownloading; + const isDownloading = download?.isDownloading ?? false; return ( {({anchor, report, action, checkIfContextMenuActive}) => ( { if (isDownloading) { return; } Download.setDownload(sourceID, true); - fileDownload(sourceURLWithAuth, fileName).then(() => Download.setDownload(sourceID, false)); + fileDownload(sourceURLWithAuth, displayName).then(() => Download.setDownload(sourceID, false)); }} - onPressIn={props.onPressIn} - onPressOut={props.onPressOut} + onPressIn={onPressIn} + onPressOut={onPressOut} + // @ts-expect-error TODO: Remove this once ShowContextMenuContext (https://github.com/Expensify/App/issues/24980) is migrated to TypeScript. onLongPress={(event) => showContextMenuForReport(event, anchor, report.reportID, action, checkIfContextMenuActive, ReportUtils.isArchivedRoom(report))} - accessibilityLabel={fileName} + accessibilityLabel={displayName} role={CONST.ROLE.BUTTON} > @@ -73,13 +66,11 @@ function BaseAnchorForAttachmentsOnly(props) { } BaseAnchorForAttachmentsOnly.displayName = 'BaseAnchorForAttachmentsOnly'; -BaseAnchorForAttachmentsOnly.propTypes = propTypes; -BaseAnchorForAttachmentsOnly.defaultProps = defaultProps; -export default withOnyx({ +export default withOnyx({ download: { key: ({source}) => { - const sourceID = (source.match(CONST.REGEX.ATTACHMENT_ID) || [])[1]; + const sourceID = (source?.match(CONST.REGEX.ATTACHMENT_ID) ?? [])[1]; return `${ONYXKEYS.COLLECTION.DOWNLOAD}${sourceID}`; }, }, diff --git a/src/components/AnchorForAttachmentsOnly/anchorForAttachmentsOnlyPropTypes.js b/src/components/AnchorForAttachmentsOnly/anchorForAttachmentsOnlyPropTypes.js deleted file mode 100644 index 9452e615d31c..000000000000 --- a/src/components/AnchorForAttachmentsOnly/anchorForAttachmentsOnlyPropTypes.js +++ /dev/null @@ -1,21 +0,0 @@ -import PropTypes from 'prop-types'; -import stylePropTypes from '@styles/stylePropTypes'; - -const propTypes = { - /** The URL of the attachment */ - source: PropTypes.string, - - /** Filename for attachments. */ - displayName: PropTypes.string, - - /** Any additional styles to apply */ - style: stylePropTypes, -}; - -const defaultProps = { - source: '', - style: {}, - displayName: '', -}; - -export {propTypes, defaultProps}; diff --git a/src/components/AnchorForAttachmentsOnly/index.native.js b/src/components/AnchorForAttachmentsOnly/index.native.tsx similarity index 62% rename from src/components/AnchorForAttachmentsOnly/index.native.js rename to src/components/AnchorForAttachmentsOnly/index.native.tsx index 3277d51ec058..2e0e94bc0b88 100644 --- a/src/components/AnchorForAttachmentsOnly/index.native.js +++ b/src/components/AnchorForAttachmentsOnly/index.native.tsx @@ -1,9 +1,9 @@ import React from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as anchorForAttachmentsOnlyPropTypes from './anchorForAttachmentsOnlyPropTypes'; import BaseAnchorForAttachmentsOnly from './BaseAnchorForAttachmentsOnly'; +import type AnchorForAttachmentsOnlyProps from './types'; -function AnchorForAttachmentsOnly(props) { +function AnchorForAttachmentsOnly(props: AnchorForAttachmentsOnlyProps) { const styles = useThemeStyles(); return ( ; +}; + +export default AnchorForAttachmentsOnlyProps; diff --git a/src/components/AttachmentModal.js b/src/components/AttachmentModal.js index 149dd7039151..bd8d535e540f 100755 --- a/src/components/AttachmentModal.js +++ b/src/components/AttachmentModal.js @@ -395,11 +395,13 @@ function AttachmentModal(props) { }, }); } - menuItems.push({ - icon: Expensicons.Download, - text: props.translate('common.download'), - onSelected: () => downloadAttachment(source), - }); + if (!isOffline) { + menuItems.push({ + icon: Expensicons.Download, + text: props.translate('common.download'), + onSelected: () => downloadAttachment(source), + }); + } if (TransactionUtils.hasReceipt(props.transaction) && !TransactionUtils.isReceiptBeingScanned(props.transaction) && props.canEditReceipt) { menuItems.push({ icon: Expensicons.Trashcan, @@ -421,7 +423,7 @@ function AttachmentModal(props) { if (!_.isEmpty(props.report)) { headerTitle = translate(props.isReceiptAttachment ? 'common.receipt' : 'common.attachment'); shouldShowDownloadButton = props.allowDownload && isDownloadButtonReadyToBeShown && !props.isReceiptAttachment && !isOffline; - shouldShowThreeDotsButton = props.isReceiptAttachment && isModalOpen; + shouldShowThreeDotsButton = props.isReceiptAttachment && isModalOpen && threeDotsMenuItems.length !== 0; } return ( diff --git a/src/components/Attachments/AttachmentView/AttachmentViewPdf/index.android.js b/src/components/Attachments/AttachmentView/AttachmentViewPdf/index.android.js index 6d510d234512..db4f4f11d68c 100644 --- a/src/components/Attachments/AttachmentView/AttachmentViewPdf/index.android.js +++ b/src/components/Attachments/AttachmentView/AttachmentViewPdf/index.android.js @@ -15,17 +15,26 @@ function AttachmentViewPdf(props) { const offsetX = useSharedValue(0); const offsetY = useSharedValue(0); + // Reanimated freezes all objects captured in the closure of a worklet. + // Since Reanimated 3, entire objects are captured instead of just the relevant properties. + // See https://github.com/software-mansion/react-native-reanimated/pull/4060 + // Because context contains more properties, all of them (most notably the pager ref) were + // frozen, which combined with Reanimated using strict mode since 3.6.0 was resulting in errors. + // Without strict mode, it would just silently fail. + // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze#description + const shouldPagerScroll = attachmentCarouselPagerContext !== null ? attachmentCarouselPagerContext.shouldPagerScroll : undefined; + const Pan = Gesture.Pan() .manualActivation(true) .onTouchesMove((evt) => { - if (offsetX.value !== 0 && offsetY.value !== 0 && attachmentCarouselPagerContext) { + if (offsetX.value !== 0 && offsetY.value !== 0 && shouldPagerScroll) { // if the value of X is greater than Y and the pdf is not zoomed in, // enable the pager scroll so that the user // can swipe to the next attachment otherwise disable it. if (Math.abs(evt.allTouches[0].absoluteX - offsetX.value) > Math.abs(evt.allTouches[0].absoluteY - offsetY.value) && scaleRef.value === 1) { - attachmentCarouselPagerContext.shouldPagerScroll.value = true; + shouldPagerScroll.value = true; } else { - attachmentCarouselPagerContext.shouldPagerScroll.value = false; + shouldPagerScroll.value = false; } } offsetX.value = evt.allTouches[0].absoluteX; diff --git a/src/components/AvatarCropModal/ImageCropView.js b/src/components/AvatarCropModal/ImageCropView.js index 92cbe3a4da04..f69fe7eb5ecb 100644 --- a/src/components/AvatarCropModal/ImageCropView.js +++ b/src/components/AvatarCropModal/ImageCropView.js @@ -6,7 +6,6 @@ import Animated, {interpolate, useAnimatedStyle} from 'react-native-reanimated'; import Icon from '@components/Icon'; import * as Expensicons from '@components/Icon/Expensicons'; import useStyleUtils from '@hooks/useStyleUtils'; -import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import ControlSelection from '@libs/ControlSelection'; import gestureHandlerPropTypes from './gestureHandlerPropTypes'; @@ -51,7 +50,6 @@ const defaultProps = { }; function ImageCropView(props) { - const theme = useTheme(); const styles = useThemeStyles(); const StyleUtils = useStyleUtils(); const containerStyle = StyleUtils.getWidthAndHeightStyle(props.containerSize, props.containerSize); @@ -90,7 +88,8 @@ function ImageCropView(props) { diff --git a/src/components/BlockingViews/FullPageNotFoundView.tsx b/src/components/BlockingViews/FullPageNotFoundView.tsx index 5993e60861f5..807029addf5e 100644 --- a/src/components/BlockingViews/FullPageNotFoundView.tsx +++ b/src/components/BlockingViews/FullPageNotFoundView.tsx @@ -33,10 +33,10 @@ type FullPageNotFoundViewProps = { linkKey?: TranslationPaths; /** Method to trigger when pressing the back button of the header */ - onBackButtonPress: () => void; + onBackButtonPress?: () => void; /** Function to call when pressing the navigation link */ - onLinkPress: () => void; + onLinkPress?: () => void; }; // eslint-disable-next-line rulesdir/no-negated-variables diff --git a/src/components/Button/index.tsx b/src/components/Button/index.tsx index f8b820d559b7..5fb134648134 100644 --- a/src/components/Button/index.tsx +++ b/src/components/Button/index.tsx @@ -1,6 +1,6 @@ -import {useFocusEffect} from '@react-navigation/native'; +import {useIsFocused} from '@react-navigation/native'; import type {ForwardedRef} from 'react'; -import React, {memo, useCallback, useMemo, useRef} from 'react'; +import React, {useCallback, useMemo} from 'react'; import type {GestureResponderEvent, StyleProp, TextStyle, ViewStyle} from 'react-native'; import {ActivityIndicator, View} from 'react-native'; import Icon from '@components/Icon'; @@ -122,50 +122,37 @@ type KeyboardShortcutComponentProps = Pick {}, pressOnEnter, allowBubble, enterKeyEventListenerPriority}: KeyboardShortcutComponentProps) => { - const isFocused = useRef(false); - const activeElementRole = useActiveElementRole(); +function KeyboardShortcutComponent({isDisabled = false, isLoading = false, onPress = () => {}, pressOnEnter, allowBubble, enterKeyEventListenerPriority}: KeyboardShortcutComponentProps) { + const isFocused = useIsFocused(); + const activeElementRole = useActiveElementRole(); - const shouldDisableEnterShortcut = useMemo(() => accessibilityRoles.includes(activeElementRole ?? '') && activeElementRole !== CONST.ACCESSIBILITY_ROLE.TEXT, [activeElementRole]); + const shouldDisableEnterShortcut = useMemo(() => accessibilityRoles.includes(activeElementRole ?? '') && activeElementRole !== CONST.ACCESSIBILITY_ROLE.TEXT, [activeElementRole]); - useFocusEffect( - useCallback(() => { - isFocused.current = true; - - return () => { - isFocused.current = false; - }; - }, []), - ); - - const keyboardShortcutCallback = useCallback( - (event?: GestureResponderEvent | KeyboardEvent) => { - if (!validateSubmitShortcut(isDisabled, isLoading, event)) { - return; - } - onPress(); - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [isDisabled, isLoading], - ); + const keyboardShortcutCallback = useCallback( + (event?: GestureResponderEvent | KeyboardEvent) => { + if (!validateSubmitShortcut(isDisabled, isLoading, event)) { + return; + } + onPress(); + }, + [isDisabled, isLoading, onPress], + ); - const config = useMemo( - () => ({ - isActive: pressOnEnter && !shouldDisableEnterShortcut && isFocused.current, - shouldBubble: allowBubble, - priority: enterKeyEventListenerPriority, - shouldPreventDefault: false, - }), - // eslint-disable-next-line react-hooks/exhaustive-deps - [shouldDisableEnterShortcut], - ); + const config = useMemo( + () => ({ + isActive: pressOnEnter && !shouldDisableEnterShortcut && isFocused, + shouldBubble: allowBubble, + priority: enterKeyEventListenerPriority, + shouldPreventDefault: false, + }), + // eslint-disable-next-line react-hooks/exhaustive-deps + [shouldDisableEnterShortcut, isFocused], + ); - useKeyboardShortcut(CONST.KEYBOARD_SHORTCUTS.ENTER, keyboardShortcutCallback, config); + useKeyboardShortcut(CONST.KEYBOARD_SHORTCUTS.ENTER, keyboardShortcutCallback, config); - return null; - }, -); + return null; +} KeyboardShortcutComponent.displayName = 'KeyboardShortcutComponent'; diff --git a/src/components/ButtonWithDropdownMenu.js b/src/components/ButtonWithDropdownMenu.tsx similarity index 56% rename from src/components/ButtonWithDropdownMenu.js rename to src/components/ButtonWithDropdownMenu.tsx index 4d3ec8796a31..466c68229a32 100644 --- a/src/components/ButtonWithDropdownMenu.js +++ b/src/components/ButtonWithDropdownMenu.tsx @@ -1,89 +1,89 @@ -import PropTypes from 'prop-types'; +import type {RefObject} from 'react'; import React, {useEffect, useRef, useState} from 'react'; +import type {GestureResponderEvent, StyleProp, ViewStyle} from 'react-native'; import {View} from 'react-native'; -import _ from 'underscore'; +import type {ValueOf} from 'type-fest'; import useStyleUtils from '@hooks/useStyleUtils'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {AnchorPosition} from '@styles/index'; import CONST from '@src/CONST'; +import type IconAsset from '@src/types/utils/IconAsset'; import Button from './Button'; import Icon from './Icon'; import * as Expensicons from './Icon/Expensicons'; -import sourcePropTypes from './Image/sourcePropTypes'; +import type {AnchorAlignment} from './Popover/types'; import PopoverMenu from './PopoverMenu'; -const propTypes = { +type DropdownOption = { + value: string; + text: string; + icon: IconAsset; + iconWidth?: number; + iconHeight?: number; + iconDescription?: string; +}; + +type ButtonWithDropdownMenuProps = { /** Text to display for the menu header */ - menuHeaderText: PropTypes.string, + menuHeaderText?: string; /** Callback to execute when the main button is pressed */ - onPress: PropTypes.func.isRequired, + onPress: (event: GestureResponderEvent | KeyboardEvent | undefined, value: string) => void; /** Call the onPress function on main button when Enter key is pressed */ - pressOnEnter: PropTypes.bool, + pressOnEnter?: boolean; /** Whether we should show a loading state for the main button */ - isLoading: PropTypes.bool, + isLoading?: boolean; /** The size of button size */ - buttonSize: PropTypes.oneOf(_.values(CONST.DROPDOWN_BUTTON_SIZE)), + buttonSize: ValueOf; /** Should the confirmation button be disabled? */ - isDisabled: PropTypes.bool, + isDisabled?: boolean; /** Additional styles to add to the component */ - style: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]), + style?: StyleProp; /** Menu options to display */ /** e.g. [{text: 'Pay with Expensify', icon: Wallet}] */ - options: PropTypes.arrayOf( - PropTypes.shape({ - value: PropTypes.string.isRequired, - text: PropTypes.string.isRequired, - icon: sourcePropTypes, - iconWidth: PropTypes.number, - iconHeight: PropTypes.number, - iconDescription: PropTypes.string, - }), - ).isRequired, + options: DropdownOption[]; /** The anchor alignment of the popover menu */ - anchorAlignment: PropTypes.shape({ - horizontal: PropTypes.oneOf(_.values(CONST.MODAL.ANCHOR_ORIGIN_HORIZONTAL)), - vertical: PropTypes.oneOf(_.values(CONST.MODAL.ANCHOR_ORIGIN_VERTICAL)), - }), + anchorAlignment?: AnchorAlignment; /* ref for the button */ - buttonRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]), + buttonRef: RefObject; }; -const defaultProps = { - isLoading: false, - isDisabled: false, - pressOnEnter: false, - menuHeaderText: '', - style: [], - buttonSize: CONST.DROPDOWN_BUTTON_SIZE.MEDIUM, - anchorAlignment: { +function ButtonWithDropdownMenu({ + isLoading = false, + isDisabled = false, + pressOnEnter = false, + menuHeaderText = '', + style, + buttonSize = CONST.DROPDOWN_BUTTON_SIZE.MEDIUM, + anchorAlignment = { horizontal: CONST.MODAL.ANCHOR_ORIGIN_HORIZONTAL.RIGHT, vertical: CONST.MODAL.ANCHOR_ORIGIN_VERTICAL.TOP, // we assume that popover menu opens below the button, anchor is at TOP }, - buttonRef: () => {}, -}; - -function ButtonWithDropdownMenu(props) { + buttonRef, + onPress, + options, +}: ButtonWithDropdownMenuProps) { const theme = useTheme(); const styles = useThemeStyles(); const StyleUtils = useStyleUtils(); const [selectedItemIndex, setSelectedItemIndex] = useState(0); const [isMenuVisible, setIsMenuVisible] = useState(false); - const [popoverAnchorPosition, setPopoverAnchorPosition] = useState(null); + const [popoverAnchorPosition, setPopoverAnchorPosition] = useState(null); const {windowWidth, windowHeight} = useWindowDimensions(); - const caretButton = useRef(null); - const selectedItem = props.options[selectedItemIndex] || _.first(props.options); - const innerStyleDropButton = StyleUtils.getDropDownButtonHeight(props.buttonSize); - const isButtonSizeLarge = props.buttonSize === CONST.DROPDOWN_BUTTON_SIZE.LARGE; + const caretButton = useRef(null); + const selectedItem = options[selectedItemIndex] || options[0]; + const innerStyleDropButton = StyleUtils.getDropDownButtonHeight(buttonSize); + const isButtonSizeLarge = buttonSize === CONST.DROPDOWN_BUTTON_SIZE.LARGE; useEffect(() => { if (!caretButton.current) { @@ -92,29 +92,31 @@ function ButtonWithDropdownMenu(props) { if (!isMenuVisible) { return; } - caretButton.current.measureInWindow((x, y, w, h) => { - setPopoverAnchorPosition({ - horizontal: x + w, - vertical: - props.anchorAlignment.vertical === CONST.MODAL.ANCHOR_ORIGIN_VERTICAL.TOP - ? y + h + CONST.MODAL.POPOVER_MENU_PADDING // if vertical anchorAlignment is TOP, menu will open below the button and we need to add the height of button and padding - : y - CONST.MODAL.POPOVER_MENU_PADDING, // if it is BOTTOM, menu will open above the button so NO need to add height but DO subtract padding + if ('measureInWindow' in caretButton.current) { + caretButton.current.measureInWindow((x, y, w, h) => { + setPopoverAnchorPosition({ + horizontal: x + w, + vertical: + anchorAlignment.vertical === CONST.MODAL.ANCHOR_ORIGIN_VERTICAL.TOP + ? y + h + CONST.MODAL.POPOVER_MENU_PADDING // if vertical anchorAlignment is TOP, menu will open below the button and we need to add the height of button and padding + : y - CONST.MODAL.POPOVER_MENU_PADDING, // if it is BOTTOM, menu will open above the button so NO need to add height but DO subtract padding + }); }); - }); - }, [windowWidth, windowHeight, isMenuVisible, props.anchorAlignment.vertical]); + } + }, [windowWidth, windowHeight, isMenuVisible, anchorAlignment.vertical]); return ( - {props.options.length > 1 ? ( - + {options.length > 1 ? ( + )} + {/** + These are the actionable buttons that appear at the bottom of a Concierge message + for example: Invite a user mentioned but not a member of the room + https://github.com/Expensify/App/issues/32741 + */} + {actionableItemButtons.length > 0 && ( + + )} ) : ( @@ -766,6 +794,10 @@ export default compose( }, initialValue: {}, }, + policyReportFields: { + key: ({report}) => (report && 'policyID' in report ? `${ONYXKEYS.COLLECTION.POLICY_REPORT_FIELDS}${report.policyID}` : undefined), + initialValue: [], + }, emojiReactions: { key: ({action}) => `${ONYXKEYS.COLLECTION.REPORT_ACTIONS_REACTIONS}${action.reportActionID}`, initialValue: {}, @@ -807,6 +839,8 @@ export default compose( prevProps.shouldHideThreadDividerLine === nextProps.shouldHideThreadDividerLine && lodashGet(prevProps.report, 'total', 0) === lodashGet(nextProps.report, 'total', 0) && lodashGet(prevProps.report, 'nonReimbursableTotal', 0) === lodashGet(nextProps.report, 'nonReimbursableTotal', 0) && - prevProps.linkedReportActionID === nextProps.linkedReportActionID, + prevProps.linkedReportActionID === nextProps.linkedReportActionID && + _.isEqual(prevProps.policyReportFields, nextProps.policyReportFields) && + _.isEqual(prevProps.report.reportFields, nextProps.report.reportFields), ), ); diff --git a/src/pages/home/report/ReportActionItemBasicMessage.tsx b/src/pages/home/report/ReportActionItemBasicMessage.tsx index f0097a6dce26..35141a42b726 100644 --- a/src/pages/home/report/ReportActionItemBasicMessage.tsx +++ b/src/pages/home/report/ReportActionItemBasicMessage.tsx @@ -1,3 +1,4 @@ +import Str from 'expensify-common/lib/str'; import React from 'react'; import {View} from 'react-native'; import Text from '@components/Text'; @@ -12,7 +13,7 @@ function ReportActionItemBasicMessage({message, children}: ReportActionItemBasic const styles = useThemeStyles(); return ( - {message} + {Str.htmlDecode(message)} {children} ); diff --git a/src/pages/home/report/ReportActionItemMessage.tsx b/src/pages/home/report/ReportActionItemMessage.tsx index 3a71ee8356b3..025b0cbb8b0a 100644 --- a/src/pages/home/report/ReportActionItemMessage.tsx +++ b/src/pages/home/report/ReportActionItemMessage.tsx @@ -57,7 +57,7 @@ function ReportActionItemMessage({action, displayAsGroup, reportID, style, isHid const originalMessage = action.actionName === CONST.REPORT.ACTIONS.TYPE.IOU ? action.originalMessage : null; const iouReportID = originalMessage?.IOUReportID; if (iouReportID) { - iouMessage = ReportUtils.getReportPreviewMessage(ReportUtils.getReport(iouReportID), action); + iouMessage = ReportUtils.getIOUReportActionDisplayMessage(action); } } diff --git a/src/pages/home/report/ReportActionItemParentAction.js b/src/pages/home/report/ReportActionItemParentAction.js index c11200ccc4db..d1a294881eb9 100644 --- a/src/pages/home/report/ReportActionItemParentAction.js +++ b/src/pages/home/report/ReportActionItemParentAction.js @@ -24,6 +24,9 @@ const propTypes = { /** The id of the report */ reportID: PropTypes.string.isRequired, + /** Position index of the report parent action in the overall report FlatList view */ + index: PropTypes.number.isRequired, + /** The id of the parent report */ // eslint-disable-next-line react/no-unused-prop-types parentReportID: PropTypes.string.isRequired, @@ -72,7 +75,7 @@ function ReportActionItemParentAction(props) { displayAsGroup={false} isMostRecentIOUReportAction={false} shouldDisplayNewMarker={props.shouldDisplayNewMarker} - index={0} + index={props.index} /> )} diff --git a/src/pages/home/report/ReportActionsListItemRenderer.js b/src/pages/home/report/ReportActionsListItemRenderer.js index ba47e804de06..a9ae2b4c73b9 100644 --- a/src/pages/home/report/ReportActionsListItemRenderer.js +++ b/src/pages/home/report/ReportActionsListItemRenderer.js @@ -61,6 +61,7 @@ function ReportActionsListItemRenderer({ reportID={report.reportID} parentReportID={`${report.parentReportID}`} shouldDisplayNewMarker={shouldDisplayNewMarker} + index={index} /> ) : ( ; + +function ReportAttachments({route}: ReportAttachmentsProps) { + const reportID = route.params.reportID; const report = ReportUtils.getReport(reportID); // In native the imported images sources are of type number. Ref: https://reactnative.dev/docs/image#imagesource - const decodedSource = decodeURI(_.get(props, ['route', 'params', 'source'])); + const decodedSource = decodeURI(route.params.source); const source = Number(decodedSource) || decodedSource; const onCarouselAttachmentChange = useCallback( - (attachment) => { - const route = ROUTES.REPORT_ATTACHMENTS.getRoute(reportID, attachment.source); - Navigation.navigate(route); + (attachment: Attachment) => { + const routeToNavigate = ROUTES.REPORT_ATTACHMENTS.getRoute(reportID, attachment.source); + Navigation.navigate(routeToNavigate); }, [reportID], ); return ( ; -} - -MoneyRequestEditWaypointPage.displayName = 'MoneyRequestEditWaypointPage'; -MoneyRequestEditWaypointPage.propTypes = propTypes; -MoneyRequestEditWaypointPage.defaultProps = defaultProps; -export default MoneyRequestEditWaypointPage; diff --git a/src/pages/iou/NewDistanceRequestWaypointEditorPage.js b/src/pages/iou/MoneyRequestWaypointPage.js similarity index 77% rename from src/pages/iou/NewDistanceRequestWaypointEditorPage.js rename to src/pages/iou/MoneyRequestWaypointPage.js index 269cde577040..2f8b8b9cc729 100644 --- a/src/pages/iou/NewDistanceRequestWaypointEditorPage.js +++ b/src/pages/iou/MoneyRequestWaypointPage.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import ONYXKEYS from '@src/ONYXKEYS'; -import WaypointEditor from './WaypointEditor'; +import IOURequestStepWaypoint from './request/step/IOURequestStepWaypoint'; const propTypes = { /** The transactionID of this request */ @@ -32,9 +32,9 @@ const defaultProps = { // This component is responsible for grabbing the transactionID from the IOU key // You can't use Onyx props in the withOnyx mapping, so we need to set up and access the transactionID here, and then pass it down so that WaypointEditor can subscribe to the transaction. -function NewDistanceRequestWaypointEditorPage({transactionID, route}) { +function MoneyRequestWaypointPage({transactionID, route}) { return ( - iou && iou.transactionID}, -})(NewDistanceRequestWaypointEditorPage); +})(MoneyRequestWaypointPage); diff --git a/src/pages/iou/WaypointEditor.js b/src/pages/iou/WaypointEditor.js deleted file mode 100644 index ab8874091152..000000000000 --- a/src/pages/iou/WaypointEditor.js +++ /dev/null @@ -1,292 +0,0 @@ -import {useNavigation} from '@react-navigation/native'; -import lodashGet from 'lodash/get'; -import PropTypes from 'prop-types'; -import React, {useMemo, useRef, useState} from 'react'; -import {withOnyx} from 'react-native-onyx'; -import _ from 'underscore'; -import AddressSearch from '@components/AddressSearch'; -import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; -import ConfirmModal from '@components/ConfirmModal'; -import FormProvider from '@components/Form/FormProvider'; -import InputWrapper from '@components/Form/InputWrapper'; -import HeaderWithBackButton from '@components/HeaderWithBackButton'; -import * as Expensicons from '@components/Icon/Expensicons'; -import ScreenWrapper from '@components/ScreenWrapper'; -import transactionPropTypes from '@components/transactionPropTypes'; -import useLocalize from '@hooks/useLocalize'; -import useLocationBias from '@hooks/useLocationBias'; -import useNetwork from '@hooks/useNetwork'; -import useThemeStyles from '@hooks/useThemeStyles'; -import useWindowDimensions from '@hooks/useWindowDimensions'; -import * as ErrorUtils from '@libs/ErrorUtils'; -import Navigation from '@libs/Navigation/Navigation'; -import * as ValidationUtils from '@libs/ValidationUtils'; -import * as Transaction from '@userActions/Transaction'; -import CONST from '@src/CONST'; -import ONYXKEYS from '@src/ONYXKEYS'; -import ROUTES from '@src/ROUTES'; - -const propTypes = { - /** Route params */ - route: PropTypes.shape({ - params: PropTypes.shape({ - /** IOU type */ - iouType: PropTypes.string, - - /** Thread reportID */ - threadReportID: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), - - /** ID of the transaction being edited */ - transactionID: PropTypes.string, - - /** Index of the waypoint being edited */ - waypointIndex: PropTypes.string, - }), - }), - - /* Current location coordinates of the user */ - userLocation: PropTypes.shape({ - /** Latitude of the location */ - latitude: PropTypes.number, - - /** Longitude of the location */ - longitude: PropTypes.number, - }), - - recentWaypoints: PropTypes.arrayOf( - PropTypes.shape({ - /** The name of the location */ - name: PropTypes.string, - - /** A description of the location (usually the address) */ - description: PropTypes.string, - - /** Data required by the google auto complete plugin to know where to put the markers on the map */ - geometry: PropTypes.shape({ - /** Data about the location */ - location: PropTypes.shape({ - /** Latitude of the location */ - lat: PropTypes.number, - - /** Longitude of the location */ - lng: PropTypes.number, - }), - }), - }), - ), - - /* Onyx props */ - /** The optimistic transaction for this request */ - transaction: transactionPropTypes, -}; - -const defaultProps = { - route: {}, - recentWaypoints: [], - transaction: {}, - userLocation: undefined, -}; - -function WaypointEditor({route: {params: {iouType = '', transactionID = '', waypointIndex = '', threadReportID = 0}} = {}, transaction, recentWaypoints, userLocation}) { - const styles = useThemeStyles(); - const {windowWidth} = useWindowDimensions(); - const [isDeleteStopModalOpen, setIsDeleteStopModalOpen] = useState(false); - const navigation = useNavigation(); - const isFocused = navigation.isFocused(); - const {translate} = useLocalize(); - const {isOffline} = useNetwork(); - const textInput = useRef(null); - const parsedWaypointIndex = parseInt(waypointIndex, 10); - const allWaypoints = lodashGet(transaction, 'comment.waypoints', {}); - const currentWaypoint = lodashGet(allWaypoints, `waypoint${waypointIndex}`, {}); - - const waypointCount = _.size(allWaypoints); - const filledWaypointCount = _.size(_.filter(allWaypoints, (waypoint) => !_.isEmpty(waypoint))); - const locationBias = useLocationBias(allWaypoints, userLocation); - const waypointDescriptionKey = useMemo(() => { - switch (parsedWaypointIndex) { - case 0: - return 'distance.waypointDescription.start'; - case waypointCount - 1: - return 'distance.waypointDescription.finish'; - default: - return 'distance.waypointDescription.stop'; - } - }, [parsedWaypointIndex, waypointCount]); - - const waypointAddress = lodashGet(currentWaypoint, 'address', ''); - const isEditingWaypoint = Boolean(threadReportID); - // Hide the menu when there is only start and finish waypoint - const shouldShowThreeDotsButton = waypointCount > 2; - const shouldDisableEditor = - isFocused && - (Number.isNaN(parsedWaypointIndex) || parsedWaypointIndex < 0 || parsedWaypointIndex > waypointCount || (filledWaypointCount < 2 && parsedWaypointIndex >= waypointCount)); - - const validate = (values) => { - const errors = {}; - const waypointValue = values[`waypoint${waypointIndex}`] || ''; - if (isOffline && waypointValue !== '' && !ValidationUtils.isValidAddress(waypointValue)) { - ErrorUtils.addErrorMessage(errors, `waypoint${waypointIndex}`, 'bankAccount.error.address'); - } - - // If the user is online, and they are trying to save a value without using the autocomplete, show an error message instructing them to use a selected address instead. - // That enables us to save the address with coordinates when it is selected - if (!isOffline && waypointValue !== '' && waypointAddress !== waypointValue) { - ErrorUtils.addErrorMessage(errors, `waypoint${waypointIndex}`, 'distance.errors.selectSuggestedAddress'); - } - - return errors; - }; - - const saveWaypoint = (waypoint) => Transaction.saveWaypoint(transactionID, waypointIndex, waypoint, isEditingWaypoint); - - const submit = (values) => { - const waypointValue = values[`waypoint${waypointIndex}`] || ''; - - // Allows letting you set a waypoint to an empty value - if (waypointValue === '') { - Transaction.removeWaypoint(transaction, waypointIndex); - } - - // While the user is offline, the auto-complete address search will not work - // Therefore, we're going to save the waypoint as just the address, and the lat/long will be filled in on the backend - if (isOffline && waypointValue) { - const waypoint = { - lat: null, - lng: null, - address: waypointValue, - name: null, - }; - saveWaypoint(waypoint); - } - - // Other flows will be handled by selecting a waypoint with selectWaypoint as this is mainly for the offline flow - Navigation.goBack(ROUTES.MONEY_REQUEST_DISTANCE_TAB.getRoute(iouType)); - }; - - const deleteStopAndHideModal = () => { - Transaction.removeWaypoint(transaction, waypointIndex); - setIsDeleteStopModalOpen(false); - Navigation.goBack(ROUTES.MONEY_REQUEST_DISTANCE_TAB.getRoute(iouType)); - }; - - const selectWaypoint = (values) => { - const waypoint = { - lat: values.lat, - lng: values.lng, - address: values.address, - name: values.name || null, - }; - saveWaypoint(waypoint); - - if (isEditingWaypoint) { - Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(threadReportID)); - return; - } - Navigation.goBack(ROUTES.MONEY_REQUEST_DISTANCE_TAB.getRoute(iouType)); - }; - - return ( - textInput.current && textInput.current.focus()} - shouldEnableMaxHeight - testID={WaypointEditor.displayName} - > - - { - Navigation.goBack(ROUTES.MONEY_REQUEST_DISTANCE_TAB.getRoute(iouType)); - }} - shouldShowThreeDotsButton={shouldShowThreeDotsButton} - threeDotsAnchorPosition={styles.threeDotsPopoverOffset(windowWidth)} - threeDotsMenuItems={[ - { - icon: Expensicons.Trashcan, - text: translate('distance.deleteWaypoint'), - onSelected: () => setIsDeleteStopModalOpen(true), - }, - ]} - /> - setIsDeleteStopModalOpen(false)} - prompt={translate('distance.deleteWaypointConfirmation')} - confirmText={translate('common.delete')} - cancelText={translate('common.cancel')} - danger - /> - - (textInput.current = e)} - hint={!isOffline ? 'distance.errors.selectSuggestedAddress' : ''} - containerStyles={[styles.mt3]} - label={translate('distance.address')} - defaultValue={waypointAddress} - onPress={selectWaypoint} - maxInputLength={CONST.FORM_CHARACTER_LIMIT} - renamedInputKeys={{ - address: `waypoint${waypointIndex}`, - city: null, - country: null, - street: null, - street2: null, - zipCode: null, - lat: null, - lng: null, - state: null, - }} - predefinedPlaces={recentWaypoints} - resultTypes="" - /> - - - - ); -} - -WaypointEditor.displayName = 'WaypointEditor'; -WaypointEditor.propTypes = propTypes; -WaypointEditor.defaultProps = defaultProps; -export default withOnyx({ - userLocation: { - key: ONYXKEYS.USER_LOCATION, - }, - transaction: { - key: ({route}) => `${ONYXKEYS.COLLECTION.TRANSACTION}${lodashGet(route, 'params.transactionID')}`, - }, - recentWaypoints: { - key: ONYXKEYS.NVP_RECENT_WAYPOINTS, - - // Only grab the most recent 5 waypoints because that's all that is shown in the UI. This also puts them into the format of data - // that the google autocomplete component expects for it's "predefined places" feature. - selector: (waypoints) => - _.map(waypoints ? waypoints.slice(0, 5) : [], (waypoint) => ({ - name: waypoint.name, - description: waypoint.address, - geometry: { - location: { - lat: waypoint.lat, - lng: waypoint.lng, - }, - }, - })), - }, -})(WaypointEditor); diff --git a/src/pages/iou/request/MoneyTemporaryForRefactorRequestParticipantsSelector.js b/src/pages/iou/request/MoneyTemporaryForRefactorRequestParticipantsSelector.js index 61b042052b05..da6fb1d74f49 100644 --- a/src/pages/iou/request/MoneyTemporaryForRefactorRequestParticipantsSelector.js +++ b/src/pages/iou/request/MoneyTemporaryForRefactorRequestParticipantsSelector.js @@ -1,22 +1,22 @@ import lodashGet from 'lodash/get'; import PropTypes from 'prop-types'; -import React, {useCallback, useEffect, useMemo, useState} from 'react'; +import React, {useCallback, useMemo, useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; import _ from 'underscore'; import Button from '@components/Button'; import FormHelpMessage from '@components/FormHelpMessage'; -import OptionsSelector from '@components/OptionsSelector'; -import refPropTypes from '@components/refPropTypes'; -import withLocalize, {withLocalizePropTypes} from '@components/withLocalize'; +import {usePersonalDetails} from '@components/OnyxProvider'; +import {PressableWithFeedback} from '@components/Pressable'; +import ReferralProgramCTA from '@components/ReferralProgramCTA'; +import SelectCircle from '@components/SelectCircle'; +import SelectionList from '@components/SelectionList'; +import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import compose from '@libs/compose'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as OptionsListUtils from '@libs/OptionsListUtils'; -import * as ReportUtils from '@libs/ReportUtils'; -import personalDetailsPropType from '@pages/personalDetailsPropType'; import reportPropTypes from '@pages/reportPropTypes'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -28,9 +28,6 @@ const propTypes = { /** Callback to request parent modal to go to next step, which should be split */ onFinish: PropTypes.func.isRequired, - /** A ref to forward to options selector's text input */ - forwardedRef: refPropTypes, - /** Callback to add participants in MoneyRequestModal */ onParticipantsAdded: PropTypes.func.isRequired, @@ -45,9 +42,6 @@ const propTypes = { }), ), - /** All of the personal details for everyone */ - personalDetails: PropTypes.objectOf(personalDetailsPropType), - /** All reports shared with the user */ reports: PropTypes.objectOf(reportPropTypes), @@ -62,27 +56,20 @@ const propTypes = { /** Whether we are searching for reports in the server */ isSearchingForReports: PropTypes.bool, - - ...withLocalizePropTypes, }; const defaultProps = { participants: [], - forwardedRef: undefined, safeAreaPaddingBottomStyle: {}, - personalDetails: {}, reports: {}, betas: [], isSearchingForReports: false, }; function MoneyTemporaryForRefactorRequestParticipantsSelector({ - forwardedRef, betas, participants, - personalDetails, reports, - translate, onFinish, onParticipantsAdded, safeAreaPaddingBottomStyle, @@ -90,14 +77,13 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ iouRequestType, isSearchingForReports, }) { + const {translate} = useLocalize(); const styles = useThemeStyles(); const [searchTerm, setSearchTerm] = useState(''); - const [newChatOptions, setNewChatOptions] = useState({ - recentReports: [], - personalDetails: [], - userToInvite: null, - }); const {isOffline} = useNetwork(); + const personalDetails = usePersonalDetails(); + + const offlineMessage = isOffline ? `${translate('common.youAppearToBeOffline')} ${translate('search.resultsAreLimited')}` : ''; const maxParticipantsReached = participants.length === CONST.REPORT.MAXIMUM_PARTICIPANTS; @@ -106,15 +92,42 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ * * @returns {Array} */ - const sections = useMemo(() => { + const [sections, newChatOptions] = useMemo(() => { const newSections = []; let indexOffset = 0; + const chatOptions = OptionsListUtils.getFilteredOptions( + reports, + personalDetails, + betas, + searchTerm, + participants, + CONST.EXPENSIFY_EMAILS, + + // If we are using this component in the "Request money" flow then we pass the includeOwnedWorkspaceChats argument so that the current user + // sees the option to request money from their admin on their own Workspace Chat. + iouType === CONST.IOU.TYPE.REQUEST, + + // We don't want to include any P2P options like personal details or reports that are not workspace chats for certain features. + iouRequestType !== CONST.IOU.REQUEST_TYPE.DISTANCE, + false, + {}, + [], + false, + {}, + [], + + // We don't want the user to be able to invite individuals when they are in the "Distance request" flow for now. + // This functionality is being built here: https://github.com/Expensify/App/issues/23291 + iouRequestType !== CONST.IOU.REQUEST_TYPE.DISTANCE, + false, + ); + const formatResults = OptionsListUtils.formatSectionsFromSearchTerm( searchTerm, participants, - newChatOptions.recentReports, - newChatOptions.personalDetails, + chatOptions.recentReports, + chatOptions.personalDetails, personalDetails, true, indexOffset, @@ -128,24 +141,24 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ newSections.push({ title: translate('common.recents'), - data: newChatOptions.recentReports, - shouldShow: !_.isEmpty(newChatOptions.recentReports), + data: chatOptions.recentReports, + shouldShow: !_.isEmpty(chatOptions.recentReports), indexOffset, }); - indexOffset += newChatOptions.recentReports.length; + indexOffset += chatOptions.recentReports.length; newSections.push({ title: translate('common.contacts'), - data: newChatOptions.personalDetails, - shouldShow: !_.isEmpty(newChatOptions.personalDetails), + data: chatOptions.personalDetails, + shouldShow: !_.isEmpty(chatOptions.personalDetails), indexOffset, }); - indexOffset += newChatOptions.personalDetails.length; + indexOffset += chatOptions.personalDetails.length; - if (newChatOptions.userToInvite && !OptionsListUtils.isCurrentUser(newChatOptions.userToInvite)) { + if (chatOptions.userToInvite && !OptionsListUtils.isCurrentUser(chatOptions.userToInvite)) { newSections.push({ title: undefined, - data: _.map([newChatOptions.userToInvite], (participant) => { + data: _.map([chatOptions.userToInvite], (participant) => { const isPolicyExpenseChat = lodashGet(participant, 'isPolicyExpenseChat', false); return isPolicyExpenseChat ? OptionsListUtils.getPolicyExpenseReportOption(participant) : OptionsListUtils.getParticipantsOption(participant, personalDetails); }), @@ -154,8 +167,8 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ }); } - return newSections; - }, [maxParticipantsReached, newChatOptions, participants, personalDetails, translate, searchTerm]); + return [newSections, chatOptions]; + }, [reports, personalDetails, betas, searchTerm, participants, iouType, iouRequestType, maxParticipantsReached, translate]); /** * Adds a single participant to the request @@ -213,48 +226,17 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ [participants, onParticipantsAdded], ); - const headerMessage = OptionsListUtils.getHeaderMessage( - newChatOptions.personalDetails.length + newChatOptions.recentReports.length !== 0, - Boolean(newChatOptions.userToInvite), - searchTerm.trim(), - maxParticipantsReached, - _.some(participants, (participant) => lodashGet(participant, 'searchText', '').toLowerCase().includes(searchTerm.trim().toLowerCase())), + const headerMessage = useMemo( + () => + OptionsListUtils.getHeaderMessage( + newChatOptions.personalDetails.length + newChatOptions.recentReports.length !== 0, + Boolean(newChatOptions.userToInvite), + searchTerm.trim(), + maxParticipantsReached, + _.some(participants, (participant) => participant.searchText.toLowerCase().includes(searchTerm.trim().toLowerCase())), + ), + [maxParticipantsReached, newChatOptions.personalDetails.length, newChatOptions.recentReports.length, newChatOptions.userToInvite, participants, searchTerm], ); - const isOptionsDataReady = ReportUtils.isReportDataReady() && OptionsListUtils.isPersonalDetailsReady(personalDetails); - - useEffect(() => { - const chatOptions = OptionsListUtils.getFilteredOptions( - reports, - personalDetails, - betas, - searchTerm, - participants, - CONST.EXPENSIFY_EMAILS, - - // If we are using this component in the "Request money" flow then we pass the includeOwnedWorkspaceChats argument so that the current user - // sees the option to request money from their admin on their own Workspace Chat. - iouType === CONST.IOU.TYPE.REQUEST, - - // We don't want to include any P2P options like personal details or reports that are not workspace chats for certain features. - iouRequestType !== CONST.IOU.REQUEST_TYPE.DISTANCE, - false, - {}, - [], - false, - {}, - [], - - // We don't want the user to be able to invite individuals when they are in the "Distance request" flow for now. - // This functionality is being built here: https://github.com/Expensify/App/issues/23291 - iouRequestType !== CONST.IOU.REQUEST_TYPE.DISTANCE, - true, - ); - setNewChatOptions({ - recentReports: chatOptions.recentReports, - personalDetails: chatOptions.personalDetails, - userToInvite: chatOptions.userToInvite, - }); - }, [betas, reports, participants, personalDetails, translate, searchTerm, setNewChatOptions, iouType, iouRequestType]); // When search term updates we will fetch any reports const setSearchTermAndSearchInServer = useCallback((text = '') => { @@ -270,6 +252,7 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ const hasPolicyExpenseChatParticipant = _.some(participants, (participant) => participant.isPolicyExpenseChat); const shouldShowSplitBillErrorMessage = participants.length > 1 && hasPolicyExpenseChatParticipant; const isAllowedToSplit = iouRequestType !== CONST.IOU.REQUEST_TYPE.DISTANCE; + const referralContentType = iouType === CONST.IOU.TYPE.SEND ? CONST.REFERRAL_PROGRAM.CONTENT_TYPES.SEND_MONEY : CONST.REFERRAL_PROGRAM.CONTENT_TYPES.MONEY_REQUEST; const handleConfirmSelection = useCallback(() => { if (shouldShowSplitBillErrorMessage) { @@ -279,52 +262,81 @@ function MoneyTemporaryForRefactorRequestParticipantsSelector({ onFinish(); }, [shouldShowSplitBillErrorMessage, onFinish]); - const footerContent = ( - - {shouldShowSplitBillErrorMessage && ( - ( + + + + + + {shouldShowSplitBillErrorMessage && ( + + )} + + {!!participants.length && ( +