From 1e87bd158596e6793e786c891d4aee9c8472916e Mon Sep 17 00:00:00 2001 From: Mateusz Rajski Date: Fri, 18 Oct 2024 13:10:34 +0200 Subject: [PATCH 1/2] Create first POC of shared login page --- src/Expensify.tsx | 5 ++- src/ONYXKEYS.ts | 4 ++ .../Navigation/AppNavigator/PublicScreens.tsx | 2 +- .../Navigation/AppNavigator/index.native.tsx | 21 ++++++++-- src/libs/actions/Session/index.ts | 27 +++++++------ .../ValidateCodeForm/BaseValidateCodeForm.tsx | 40 +++++++++++++++++-- src/types/modules/react-native.d.ts | 2 + 7 files changed, 78 insertions(+), 23 deletions(-) diff --git a/src/Expensify.tsx b/src/Expensify.tsx index f5d4655c4861..b17245fdb5b2 100644 --- a/src/Expensify.tsx +++ b/src/Expensify.tsx @@ -98,6 +98,7 @@ function Expensify({ const [account] = useOnyx(ONYXKEYS.ACCOUNT); const [session] = useOnyx(ONYXKEYS.SESSION); const [lastRoute] = useOnyx(ONYXKEYS.LAST_ROUTE); + const [useNewDotSignInPage] = useOnyx(ONYXKEYS.USE_NEWDOT_SIGN_IN_PAGE); const [shouldShowRequire2FAModal, setShouldShowRequire2FAModal] = useState(false); useEffect(() => { @@ -122,7 +123,9 @@ function Expensify({ const shouldInit = isNavigationReady && hasAttemptedToOpenPublicRoom; const shouldHideSplash = shouldInit && - (NativeModules.HybridAppModule ? splashScreenState === CONST.BOOT_SPLASH_STATE.READY_TO_BE_HIDDEN && isAuthenticated : splashScreenState === CONST.BOOT_SPLASH_STATE.VISIBLE); + (NativeModules.HybridAppModule + ? splashScreenState === CONST.BOOT_SPLASH_STATE.READY_TO_BE_HIDDEN && (isAuthenticated || useNewDotSignInPage) + : splashScreenState === CONST.BOOT_SPLASH_STATE.VISIBLE); const initializeClient = () => { if (!Visibility.isVisible()) { diff --git a/src/ONYXKEYS.ts b/src/ONYXKEYS.ts index df1413620c20..09e436f2db18 100755 --- a/src/ONYXKEYS.ts +++ b/src/ONYXKEYS.ts @@ -435,6 +435,9 @@ const ONYXKEYS = { /** Stores recently used currencies */ RECENTLY_USED_CURRENCIES: 'nvp_recentlyUsedCurrencies', + /** Stores the information if HybridApp uses NewDot's sign in flow */ + USE_NEWDOT_SIGN_IN_PAGE: 'useNewDotSignInPage', + /** Collection Keys */ COLLECTION: { DOWNLOAD: 'download_', @@ -998,6 +1001,7 @@ type OnyxValuesMapping = { [ONYXKEYS.LAST_ROUTE]: string; [ONYXKEYS.IS_USING_IMPORTED_STATE]: boolean; [ONYXKEYS.SHOULD_SHOW_SAVED_SEARCH_RENAME_TOOLTIP]: boolean; + [ONYXKEYS.USE_NEWDOT_SIGN_IN_PAGE]: boolean; }; type OnyxValues = OnyxValuesMapping & OnyxCollectionValuesMapping & OnyxFormValuesMapping & OnyxFormDraftValuesMapping; diff --git a/src/libs/Navigation/AppNavigator/PublicScreens.tsx b/src/libs/Navigation/AppNavigator/PublicScreens.tsx index cfd41a4b1fa0..8a6b089d35ee 100644 --- a/src/libs/Navigation/AppNavigator/PublicScreens.tsx +++ b/src/libs/Navigation/AppNavigator/PublicScreens.tsx @@ -24,7 +24,7 @@ function PublicScreens() { { + if (!NativeModules.HybridAppModule) { + return authenticated; + } + + return useNewDotLoginPage === false && authenticated; + }, [authenticated, useNewDotLoginPage]); + useEffect(() => { - if (!NativeModules.HybridAppModule || !initialURL) { + if (!NativeModules.HybridAppModule || !initialURL || !shouldShowAuthScreens) { return; } @@ -21,9 +34,9 @@ function AppNavigator({authenticated}: AppNavigatorProps) { Navigation.navigate(Navigation.parseHybridAppUrl(initialURL)); setInitialURL(undefined); }); - }, [initialURL, setInitialURL]); + }, [initialURL, setInitialURL, shouldShowAuthScreens]); - if (authenticated) { + if (shouldShowAuthScreens) { const AuthScreens = require('./AuthScreens').default; // These are the protected screens and only accessible when an authToken is present diff --git a/src/libs/actions/Session/index.ts b/src/libs/actions/Session/index.ts index 4d6ba6cfa774..8f1cde4ecd42 100644 --- a/src/libs/actions/Session/index.ts +++ b/src/libs/actions/Session/index.ts @@ -208,8 +208,7 @@ function signOutAndRedirectToSignIn(shouldResetToHome?: boolean, shouldStashSess if (!isAnonymousUser()) { // In the HybridApp, we want the Old Dot to handle the sign out process if (NativeModules.HybridAppModule && killHybridApp) { - NativeModules.HybridAppModule.closeReactNativeApp(true, false); - return; + NativeModules.HybridAppModule.signOutFromOldDot(); } // We'll only call signOut if we're not stashing the session and this is not a supportal session, // otherwise we'll call the API to invalidate the autogenerated credentials used for infinite @@ -481,24 +480,26 @@ function signUpUser() { function signInAfterTransitionFromOldDot(transitionURL: string) { const [route, queryParams] = transitionURL.split('?'); + const queryParamsObject = queryParams + ? Object.fromEntries( + queryParams.split('&').map((param) => { + const [key, value] = param.split('='); + return [key, value]; + }), + ) + : {}; - const {email, authToken, encryptedAuthToken, accountID, autoGeneratedLogin, autoGeneratedPassword, clearOnyxOnStart, completedHybridAppOnboarding} = Object.fromEntries( - queryParams.split('&').map((param) => { - const [key, value] = param.split('='); - return [key, value]; - }), - ); + const {useNewDotSignInPage} = queryParamsObject; const setSessionDataAndOpenApp = () => { Onyx.multiSet({ - [ONYXKEYS.SESSION]: {email, authToken, encryptedAuthToken: decodeURIComponent(encryptedAuthToken), accountID: Number(accountID)}, - [ONYXKEYS.CREDENTIALS]: {autoGeneratedLogin, autoGeneratedPassword}, - [ONYXKEYS.NVP_TRYNEWDOT]: {classicRedirect: {completedHybridAppOnboarding: completedHybridAppOnboarding === 'true'}}, + [ONYXKEYS.USE_NEWDOT_SIGN_IN_PAGE]: useNewDotSignInPage === 'true', + [ONYXKEYS.NVP_TRYNEWDOT]: {classicRedirect: {dismissed: true}}, }).then(App.openApp); }; - if (clearOnyxOnStart === 'true') { - Onyx.clear(KEYS_TO_PRESERVE).then(setSessionDataAndOpenApp); + if (useNewDotSignInPage === 'true') { + Onyx.clear().then(setSessionDataAndOpenApp); } else { setSessionDataAndOpenApp(); } diff --git a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.tsx b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.tsx index f73c0a1602fb..f67ee75b6810 100755 --- a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.tsx +++ b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.tsx @@ -1,7 +1,7 @@ import {useIsFocused} from '@react-navigation/native'; -import React, {forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState} from 'react'; +import React, {forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react'; import type {ForwardedRef} from 'react'; -import {View} from 'react-native'; +import {NativeModules, View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; import Button from '@components/Button'; import SafariFormWrapper from '@components/Form/SafariFormWrapper'; @@ -21,6 +21,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import AccountUtils from '@libs/AccountUtils'; import canFocusInputOnScreenFocus from '@libs/canFocusInputOnScreenFocus'; import * as ErrorUtils from '@libs/ErrorUtils'; +import Log from '@libs/Log'; import * as ValidationUtils from '@libs/ValidationUtils'; import ChangeExpensifyLoginLink from '@pages/signin/ChangeExpensifyLoginLink'; import Terms from '@pages/signin/Terms'; @@ -30,6 +31,7 @@ import CONST from '@src/CONST'; import type {TranslationPaths} from '@src/languages/types'; import ONYXKEYS from '@src/ONYXKEYS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; +import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue'; import type ValidateCodeFormProps from './types'; type BaseValidateCodeFormProps = WithToggleVisibilityViewProps & @@ -73,6 +75,36 @@ function BaseValidateCodeForm({autoComplete, isUsingRecoveryCode, setIsUsingReco const isLoadingResendValidationForm = account?.loadingForm === CONST.FORMS.RESEND_VALIDATE_CODE_FORM; const shouldDisableResendValidateCode = isOffline ?? account?.isLoading; const isValidateCodeFormSubmitting = AccountUtils.isValidateCodeFormSubmitting(account); + const [tryNewDot, tryNewDotMetadata] = useOnyx(ONYXKEYS.NVP_TRYNEWDOT); + + const isLoading = useMemo(() => { + if (!NativeModules.HybridAppModule || !session?.authToken) { + return isValidateCodeFormSubmitting; + } + + if (isLoadingOnyxValue(tryNewDotMetadata)) { + return true; + } + + return (tryNewDot?.classicRedirect.dismissed === true || tryNewDot?.classicRedirect.dismissed === 'true') && !!session.authToken; + }, [isValidateCodeFormSubmitting, session?.authToken, tryNewDot, tryNewDotMetadata]); + + useEffect(() => { + if (!NativeModules.HybridAppModule || isValidateCodeFormSubmitting || !session?.authToken) { + return; + } + + if (tryNewDot?.classicRedirect.dismissed === true || tryNewDot?.classicRedirect.dismissed === 'true') { + // This method: + // 1. Performs sign in on OldDot side with credentials taken from NewDot + // 2. Closes React Native app and displays OldDot's sliding menu page + if (credentials?.autoGeneratedLogin && credentials?.autoGeneratedPassword) { + Log.info('Calling yapl signInToOldDot from RN'); + NativeModules.HybridAppModule.signInToOldDot(credentials?.autoGeneratedLogin, credentials?.autoGeneratedPassword); + Log.info('Called yapl signInToOldDot from RN'); + } + } + }, [credentials?.autoGeneratedLogin, credentials?.autoGeneratedPassword, isValidateCodeFormSubmitting, session?.authToken, tryNewDot?.classicRedirect.dismissed]); useEffect(() => { if (!(inputValidateCodeRef.current && hasError && (session?.autoAuthState === CONST.AUTO_AUTH_STATE.FAILED || account?.isLoading))) { @@ -335,7 +367,7 @@ function BaseValidateCodeForm({autoComplete, isUsingRecoveryCode, setIsUsingReco style={[styles.mt2]} onPress={switchBetween2faAndRecoveryCode} hoverDimmingValue={1} - disabled={isValidateCodeFormSubmitting} + disabled={isLoading} role={CONST.ROLE.BUTTON} accessibilityLabel={isUsingRecoveryCode ? translate('recoveryCodeForm.use2fa') : translate('recoveryCodeForm.useRecoveryCode')} > @@ -394,7 +426,7 @@ function BaseValidateCodeForm({autoComplete, isUsingRecoveryCode, setIsUsingReco large style={[styles.mv3]} text={translate('common.signIn')} - isLoading={isValidateCodeFormSubmitting} + isLoading={isLoading} onPress={validateAndSubmitForm} /> diff --git a/src/types/modules/react-native.d.ts b/src/types/modules/react-native.d.ts index 40c5b72ce1e4..ac8095ce6b27 100644 --- a/src/types/modules/react-native.d.ts +++ b/src/types/modules/react-native.d.ts @@ -9,6 +9,8 @@ type HybridAppModule = { closeReactNativeApp: (shouldSignOut: boolean, shouldSetNVP: boolean) => void; completeOnboarding: (status: boolean) => void; exitApp: () => void; + signOutFromOldDot: () => void; + signInToOldDot: (autoGeneratedLogin: string, autoGeneratedPassword: string) => void; }; type RNTextInputResetModule = { From 9f900bfb3e31ffd5d0edeace7b1fad5a67eb2d98 Mon Sep 17 00:00:00 2001 From: Mateusz Rajski Date: Tue, 22 Oct 2024 13:25:44 +0200 Subject: [PATCH 2/2] Fix issues with OpenApp --- .eslintignore | 1 + .github/ISSUE_TEMPLATE/Standard.md | 7 +- .../createOrUpdateStagingDeploy.ts | 2 +- .../createOrUpdateStagingDeploy/index.js | 14209 ++++++++-------- .github/workflows/buildAndroid.yml | 77 +- .github/workflows/deployBlocker.yml | 17 - .github/workflows/deployNewHelp.yml | 11 + .github/workflows/e2ePerformanceTests.yml | 6 +- android/app/build.gradle | 6 +- android/build.gradle | 6 - .../companyCards/card-bank_of_america.svg | 37 - assets/images/companyCards/card-other.svg | 35 - .../integrationicons/qbd-icon-square.svg | 1 + .../images/laptop-with-second-screen-sync.svg | 213 + assets/images/laptop-with-second-screen-x.svg | 150 + desktop/package-lock.json | 30 +- desktop/package.json | 2 +- .../Connect-US-Business-Bank-Account.md | 2 +- .../{Pay-Bills.md => Create-and-Pay-Bills.md} | 16 +- .../payments/Pay-an-Invoice.md | 65 + .../Quickbooks-Online-Troubleshooting.md | 28 +- .../expensify-classic/domains/SAML-SSO.md | 79 +- .../expenses/Add-Invoices-in-Bulk.md | 48 + .../Send-and-Receive-Payment-for-Invoices.md | 39 + .../expensify-classic/expenses/Trips.md | 21 +- .../Consolidated-Domain-Billing.md | 3 + .../expensify-billing/Receipt-Breakdown.md | 56 +- .../expensify-card/Unlimited-Virtual-Cards.md | 23 +- .../Card-Revenue-Share.md | 21 +- ...ok-For-Small-To-Medium-Sized-Businesses.md | 86 +- ...laybook-For-US-Based-VC-Backed-Startups.md | 106 +- .../spending-insights/Insights.md | 42 +- .../workspaces/Create-tags.md | 66 +- .../sage-intacct/Connect-to-Sage-Intacct.md | 68 +- .../expenses-&-payments/Track-expenses.md | 4 +- .../expensify-card/Manage-Expensify-Cards.md | 4 + .../Set-up-the-Expensify-Card.md | 2 +- ...ade-to-the-new-Expensify-Card-from-Visa.md | 31 +- .../settings/Add-or-Act-As-a-Copilot.md | 78 + .../workspaces/Create-expense-categories.md | 32 +- .../workspaces/Create-expense-tags.md | 49 +- .../ExpensifyHelp-AttendeeTracking-1.png | Bin 0 -> 523098 bytes .../quickbooks-desktop-access-rights.png | Bin 0 -> 582066 bytes .../quickbooks-desktop-advanced-settings.png | Bin 0 -> 175528 bytes .../quickbooks-desktop-coding-settings.png | Bin 0 -> 186589 bytes ...quickbooks-desktop-company-preferences.png | Bin 0 -> 631073 bytes .../quickbooks-desktop-export-settings.png | Bin 0 -> 370008 bytes ...books-desktop-exported-report-comments.png | Bin 0 -> 228391 bytes .../quickbooks-desktop-web-connector.png | Bin 0 -> 579705 bytes docs/redirects.csv | 4 + help/_includes/search.html | 363 + help/_layouts/default.html | 380 +- help/_plugins/51_HeaderIDPostRender.rb | 59 - help/_plugins/SitePostRender.rb | 70 + help/_plugins/SitePostWrite.rb | 41 + help/_scripts/generateSearchIndex.js | 196 + help/billpay.md | 117 + help/card.md | 122 + help/chat.md | 137 + help/expense.md | 111 + help/index.md | 559 +- help/invoice.md | 115 + help/package-lock.json | 294 + help/package.json | 9 + help/superapp.md | 115 - help/travel.md | 111 + ios/NewApp_AdHoc.mobileprovision.gpg | Bin 11923 -> 11984 bytes ...c_Notification_Service.mobileprovision.gpg | Bin 11571 -> 11617 bytes ios/NewExpensify.xcodeproj/project.pbxproj | 7 +- ios/NewExpensify/Info.plist | 4 +- ios/NewExpensifyTests/Info.plist | 4 +- ios/NotificationServiceExtension/Info.plist | 4 +- ios/Podfile.lock | 39 +- package-lock.json | 135 +- package.json | 17 +- ...unity+netinfo+11.2.1+002+turbomodule.patch | 31 +- ...+002+platform-navigation-stack-types.patch | 1435 ++ ....26+001+keyboardHandlingEnabled-prop.patch | 157 + ...dded-interaction-manager-integration.patch | 196 + patches/date-fns-tz+2.0.0.patch | 84 - ....patch => react-native-config+1.5.3.patch} | 257 +- ...ntroller+1.14.1+001+disable-android.patch} | 41 +- ...s+3.34.0+002+ios_from_left_animation.patch | 413 + src/CONST.ts | 159 +- src/Expensify.tsx | 61 +- src/ONYXKEYS.ts | 23 +- src/ROUTES.ts | 133 +- src/SCREENS.ts | 37 +- src/components/AccountSwitcher.tsx | 58 +- .../BaseAnchorForAttachmentsOnly.tsx | 38 +- src/components/AttachmentModal.tsx | 5 +- .../DefaultAttachmentView/index.tsx | 7 +- .../Attachments/AttachmentView/index.tsx | 87 +- src/components/Balance.tsx | 21 + .../BrokenConnectionDescription.tsx | 65 + src/components/CategoryPicker.tsx | 36 +- .../{ => implementation}/index.native.tsx | 4 +- .../Composer/implementation/index.tsx | 368 + src/components/Composer/index.e2e.tsx | 19 + src/components/Composer/index.tsx | 409 +- src/components/Composer/types.ts | 3 - .../index.native.tsx | 18 + .../ConnectToQuickbooksDesktopFlow/index.tsx | 26 + .../ConnectToQuickbooksDesktopFlow/types.ts | 6 + .../ConnectToXeroFlow/index.native.tsx | 20 +- src/components/ConnectToXeroFlow/index.tsx | 1 - src/components/ContextMenuItem.tsx | 2 +- src/components/CurrentWalletBalance.tsx | 32 +- .../DeeplinkWrapper/index.website.tsx | 2 + src/components/DelegateNoAccessModal.tsx | 4 +- src/components/DotIndicatorMessage.tsx | 86 +- src/components/EmojiPicker/EmojiPicker.tsx | 2 +- .../EmojiPicker/EmojiPickerButton.tsx | 7 +- src/components/EmptyStateComponent/index.tsx | 28 +- src/components/EmptyStateComponent/types.ts | 4 +- src/components/FloatingActionButton.tsx | 57 +- src/components/FocusTrap/TOP_TAB_SCREENS.ts | 7 +- .../HTMLRenderers/ImageRenderer.tsx | 29 +- .../MentionReportContext.tsx | 1 + .../MentionReportRenderer/index.tsx | 31 +- src/components/HeaderWithBackButton/index.tsx | 2 +- src/components/Icon/Expensicons.ts | 2 + src/components/Icon/Illustrations.ts | 16 + src/components/ImportColumn.tsx | 3 +- src/components/InitialURLContextProvider.tsx | 7 +- .../LHNOptionsList/OptionRowLHN.tsx | 2 +- src/components/Lottie/index.tsx | 38 +- src/components/MagicCodeInput.tsx | 7 +- src/components/MapView/MapView.website.tsx | 352 +- .../MapView/MapViewImpl.website.tsx | 302 + src/components/MoneyReportHeader.tsx | 167 +- .../MoneyRequestConfirmationList.tsx | 30 +- src/components/MoneyRequestHeader.tsx | 32 +- .../MoneyRequestHeaderStatusBar.tsx | 4 +- src/components/PopoverMenu.tsx | 129 +- src/components/RadioButton.tsx | 20 +- .../ExportWithDropdownMenu.tsx | 1 + .../ReportActionItem/IssueCardMessage.tsx | 5 +- .../MoneyRequestPreviewContent.tsx | 5 + .../ReportActionItem/MoneyRequestView.tsx | 23 +- .../ReportActionItemImage.tsx | 11 +- .../ReportActionItem/ReportPreview.tsx | 23 +- .../ReportActionItem/TaskPreview.tsx | 52 +- src/components/ReportWelcomeText.tsx | 6 +- src/components/ScreenWrapper.tsx | 13 +- src/components/Search/SearchContext.tsx | 7 +- src/components/Search/SearchPageHeader.tsx | 51 +- .../Search/SearchRouter/SearchButton.tsx | 25 +- .../Search/SearchRouter/SearchRouter.tsx | 116 +- .../SearchRouter/SearchRouterContext.tsx | 32 +- .../Search/SearchRouter/SearchRouterInput.tsx | 89 +- .../Search/SearchRouter/SearchRouterList.tsx | 22 +- .../Search/SearchRouter/SearchRouterModal.tsx | 12 +- src/components/Search/SearchStatusBar.tsx | 14 +- src/components/Search/index.tsx | 55 +- src/components/Search/types.ts | 2 + src/components/SelectionList/BaseListItem.tsx | 2 +- .../SelectionList/BaseSelectionList.tsx | 2 + src/components/SelectionList/CardListItem.tsx | 11 +- .../SelectionList/RadioListItem.tsx | 3 +- src/components/SelectionList/types.ts | 6 + .../SelectionListWithModal/index.tsx | 44 +- .../AnimatedSettlementButton.tsx | 4 +- src/components/SettlementButton/index.tsx | 4 +- src/components/SettlementButton/types.ts | 3 + .../TextInput/BaseTextInput/index.native.tsx | 12 +- .../TextInput/BaseTextInput/index.tsx | 15 +- src/components/TimePicker/TimePicker.tsx | 34 +- .../BaseEducationalTooltip.tsx | 65 +- .../Tooltip/EducationalTooltip/index.tsx | 6 +- src/hooks/useMarkdownStyle.ts | 13 + src/hooks/useOnboardingFlow.ts | 8 +- src/hooks/usePageRefresh/index.ts | 2 +- src/hooks/usePaginatedReportActions.ts | 10 +- src/hooks/useReportIDs.tsx | 8 +- src/languages/en.ts | 234 +- src/languages/es.ts | 244 +- src/languages/params.ts | 12 +- .../API/parameters/AssignCompanyCardParams.ts | 10 + .../parameters/CompleteGuidedSetupParams.ts | 4 +- .../ConnectPolicyToQuickBooksDesktopParams.ts | 6 + .../API/parameters/CreateWorkspaceParams.ts | 1 + .../API/parameters/ExportReportCSVParams.ts | 6 + .../API/parameters/GetPolicyCategories.ts | 5 + .../OpenPolicyCompanyCardsFeedParams.ts | 6 + .../API/parameters/RemoveDelegateParams.ts | 5 + .../API/parameters/RequestFeedSetupParams.ts | 8 + .../parameters/UpdateDelegateRoleParams.ts | 9 + ...ktopCompanyCardExpenseAccountTypeParams.ts | 11 + ...ktopExpensesExportDestinationTypeParams.ts | 10 + ...pdateQuickbooksDesktopGenericTypeParams.ts | 7 + src/libs/API/parameters/index.ts | 11 + src/libs/API/types.ts | 42 + src/libs/Authentication.ts | 79 +- src/libs/CardUtils.ts | 92 +- src/libs/ConnectionUtils.ts | 18 +- src/libs/DateUtils.ts | 59 +- src/libs/DebugUtils.ts | 114 +- src/libs/DistanceRequestUtils.ts | 72 +- src/libs/E2E/reactNativeLaunchingTest.ts | 2 +- ...est.e2e.ts => openSearchRouterTest.e2e.ts} | 23 +- src/libs/FastSearch.ts | 140 + src/libs/Firebase/index.native.ts | 22 +- src/libs/Firebase/index.web.ts | 22 +- src/libs/Firebase/types.ts | 4 + src/libs/Firebase/utils.ts | 33 + src/libs/Fullstory/index.native.ts | 51 +- src/libs/Fullstory/index.ts | 48 +- src/libs/IOUUtils.ts | 18 + src/libs/Middleware/Pagination.ts | 10 +- .../Navigation/AppNavigator/AuthScreens.tsx | 41 +- .../ModalStackNavigators/index.tsx | 53 + .../Navigators/LeftModalNavigator.tsx | 5 - .../Navigators/OnboardingModalNavigator.tsx | 11 +- .../Navigators/RightModalNavigator.tsx | 8 + .../index.native.ts | 1 + .../BottomTabBar.tsx | 101 +- .../createCustomBottomTabNavigator/TopBar.tsx | 33 +- .../CustomFullScreenRouter.tsx | 2 +- .../BottomTabBar.tsx | 191 + .../BottomTabNavigationContentWrapper.tsx | 22 + .../TopBar.tsx | 78 + .../index.tsx | 33 + .../useCustomState/index.ts | 20 + .../CustomFullScreenRouter.tsx | 77 + .../index.tsx | 19 + .../CustomRouter.ts | 7 +- .../syncBrowserHistory/index.ts | 5 + .../syncBrowserHistory/index.web.ts | 11 + .../CustomRouter.ts | 144 + .../SearchRoute.tsx | 23 + .../createResponsiveStackNavigator/index.tsx | 25 + .../useStateWithSearch.ts | 77 + .../AppNavigator/hideKeyboardOnSwipe.ts | 9 + .../useNavigationResetOnLayoutChange.ts | 20 + src/libs/Navigation/OnyxTabNavigator.tsx | 8 +- .../createPlatformStackNavigator.tsx | 15 + .../index.native.tsx | 106 + .../index.tsx | 106 + .../defaultPlatformStackScreenOptions.ts | 9 + .../navigationOptions/animation/index.ts | 11 + .../animation/none/index.native.ts | 7 + .../navigationOptions/animation/none/index.ts | 6 + .../navigationOptions/animation/none/types.ts | 5 + .../animation/slideFromBottom/index.native.ts | 7 + .../animation/slideFromBottom/index.ts | 7 + .../animation/slideFromBottom/types.ts | 5 + .../animation/slideFromLeft/index.android.ts | 8 + .../animation/slideFromLeft/index.ios.ts | 9 + .../animation/slideFromLeft/index.ts | 7 + .../animation/slideFromLeft/types.ts | 5 + .../animation/slideFromRight/index.android.ts | 7 + .../animation/slideFromRight/index.ios.ts | 9 + .../animation/slideFromRight/index.ts | 6 + .../animation/slideFromRight/types.ts | 5 + .../animation/withAnimation.ts | 27 + .../buildPlatformSpecificNavigationOptions.ts | 17 + .../convertToNativeNavigationOptions.ts | 24 + .../convertToWebNavigationOptions.ts | 23 + .../gestureDirection/index.ts | 8 + .../navigationOptions/presentation/index.ts | 5 + .../types/NavigationBuilder.ts | 66 + .../types/NavigationOptions.ts | 34 + .../types/NavigatorComponent.ts | 78 + .../PlatformStackNavigation/types/index.ts | 98 + .../CENTRAL_PANE_TO_RHP_MAPPING.ts | 3 +- .../FULL_SCREEN_TO_RHP_MAPPING.ts | 19 + src/libs/Navigation/linkingConfig/config.ts | 88 +- .../linkingConfig/getAdaptedStateFromPath.ts | 12 +- src/libs/Navigation/shouldOpenOnAdminRoom.ts | 6 + src/libs/Navigation/types.ts | 84 +- src/libs/NavigationUtils.ts | 8 +- src/libs/NextStepUtils.ts | 58 +- src/libs/OptionsListUtils.ts | 186 +- src/libs/PaginationUtils.ts | 20 +- src/libs/Permissions.ts | 28 +- src/libs/PolicyUtils.ts | 17 + src/libs/ReportActionComposeFocusManager.ts | 15 +- src/libs/ReportActionsUtils.ts | 96 +- src/libs/ReportUtils.ts | 467 +- src/libs/SearchUtils.ts | 179 +- src/libs/SidebarUtils.ts | 59 +- src/libs/StringUtils.ts | 25 +- src/libs/SuffixUkkonenTree/index.ts | 211 + src/libs/SuffixUkkonenTree/utils.ts | 115 + src/libs/TaskUtils.ts | 13 +- src/libs/TransactionUtils/index.ts | 77 +- src/libs/TripReservationUtils.ts | 25 +- src/libs/Violations/ViolationsUtils.ts | 4 +- src/libs/WorkspacesSettingsUtils.ts | 3 +- src/libs/actions/App.ts | 23 +- src/libs/actions/BankAccounts.ts | 5 +- src/libs/actions/Card.ts | 4 +- src/libs/actions/Delegate.ts | 222 +- src/libs/actions/ExitSurvey.ts | 14 +- src/libs/actions/IOU.ts | 158 +- src/libs/actions/Link.ts | 6 +- src/libs/actions/PaymentMethods.ts | 6 +- src/libs/actions/Policy/Category.ts | 15 + src/libs/actions/Policy/Policy.ts | 219 +- .../actions/ReimbursementAccount/index.ts | 14 +- src/libs/actions/Report.ts | 248 +- src/libs/actions/ReportActions.ts | 1 + src/libs/actions/RequestConflictUtils.ts | 30 + src/libs/actions/Session/index.ts | 45 +- src/libs/actions/Task.ts | 19 + src/libs/actions/TaxRate.ts | 49 +- src/libs/actions/Transaction.ts | 35 +- src/libs/actions/Welcome/OnboardingFlow.ts | 15 +- src/libs/actions/Welcome/index.ts | 7 +- src/libs/actions/Workflow.ts | 2 +- .../actions/connections/QuickbooksDesktop.ts | 534 + src/libs/fileDownload/FileUtils.ts | 2 +- src/libs/navigateAfterOnboarding.ts | 40 + src/pages/AddPersonalBankAccountPage.tsx | 22 +- .../ChatFinderPage/ChatFinderPageFooter.tsx | 11 - src/pages/ChatFinderPage/index.tsx | 209 - src/pages/Debug/DateTimeSelector.tsx | 12 +- src/pages/Debug/DebugDetails.tsx | 53 +- src/pages/Debug/Report/DebugReportPage.tsx | 102 +- .../AddBankAccount/AddBankAccount.tsx | 39 +- src/pages/EnablePayments/EnablePayments.tsx | 2 +- src/pages/FlagCommentPage.tsx | 31 +- src/pages/NewChatPage.tsx | 7 +- .../BaseOnboardingAccounting.tsx | 190 + .../OnboardingAccounting/index.native.tsx | 17 + src/pages/OnboardingAccounting/index.tsx | 25 + src/pages/OnboardingAccounting/types.ts | 12 + .../BaseOnboardingEmployees.tsx | 112 + .../OnboardingEmployees/index.native.tsx | 17 + .../index.tsx | 12 +- .../types.ts | 6 +- .../BaseOnboardingPersonalDetails.tsx | 26 +- .../BaseOnboardingPurpose.tsx | 18 +- .../OnboardingWork/BaseOnboardingWork.tsx | 126 - src/pages/OnboardingWork/index.native.tsx | 17 - src/pages/ProfilePage.tsx | 3 +- .../BankInfo/substeps/Manual.tsx | 4 + .../ReimbursementAccountPage.tsx | 270 +- src/pages/ReportDetailsPage.tsx | 89 +- src/pages/ReportParticipantsPage.tsx | 13 +- src/pages/RoomMemberDetailsPage.tsx | 8 +- src/pages/RoomMembersPage.tsx | 47 +- src/pages/Search/AdvancedSearchFilters.tsx | 85 +- src/pages/Search/EmptySearchView.tsx | 42 +- .../SearchFiltersCardPage.tsx | 1 + .../SearchFiltersCategoryPage.tsx | 1 - .../SearchFiltersCurrencyPage.tsx | 1 - .../SearchFiltersDatePage.tsx | 6 +- .../SearchFiltersExpenseTypePage.tsx | 11 +- .../SearchFiltersTagPage.tsx | 1 - .../SearchFiltersTaxRatePage.tsx | 1 - src/pages/Search/SearchPage.tsx | 6 +- src/pages/Search/SearchPageBottomTab.tsx | 14 +- src/pages/Search/SearchTypeMenu.tsx | 2 +- src/pages/Search/SearchTypeMenuNarrow.tsx | 16 +- .../TransactionDuplicate/Confirmation.tsx | 1 + src/pages/TransactionReceiptPage.tsx | 10 +- src/pages/home/HeaderView.tsx | 8 +- src/pages/home/ReportScreen.tsx | 17 +- .../BaseReportActionContextMenu.tsx | 72 +- .../report/ContextMenu/ContextMenuActions.tsx | 157 +- .../PopoverReportActionContextMenu.tsx | 8 +- .../AttachmentPickerWithMenuItems.tsx | 41 +- .../ComposerWithSuggestions/index.e2e.tsx | 9 +- .../ReportActionCompose.tsx | 9 +- .../ReportActionCompose/SuggestionEmoji.tsx | 42 +- .../ReportActionCompose/SuggestionMention.tsx | 5 - src/pages/home/report/ReportActionItem.tsx | 75 +- .../report/ReportActionItemMessageEdit.tsx | 41 +- .../home/report/ReportActionItemSingle.tsx | 26 +- src/pages/home/report/ReportActionsList.tsx | 18 +- .../report/ReportActionsListItemRenderer.tsx | 2 +- src/pages/home/report/ReportActionsView.tsx | 28 +- src/pages/home/report/ReportAttachments.tsx | 3 +- .../withReportAndPrivateNotesOrNotFound.tsx | 4 +- .../withReportAndReportActionOrNotFound.tsx | 115 +- .../home/report/withReportOrNotFound.tsx | 75 +- src/pages/home/sidebar/BottomTabAvatar.tsx | 27 +- .../SidebarScreen/BaseSidebarScreen.tsx | 5 + src/pages/iou/SplitBillDetailsPage.tsx | 86 +- src/pages/iou/request/IOURequestStartPage.tsx | 23 +- .../request/step/IOURequestStepCategory.tsx | 117 +- .../step/IOURequestStepConfirmation.tsx | 20 +- .../request/step/IOURequestStepDistance.tsx | 1 + .../step/IOURequestStepDistanceRate.tsx | 77 +- .../step/IOURequestStepScan/index.native.tsx | 316 +- .../request/step/IOURequestStepScan/index.tsx | 298 +- .../request/step/IOURequestStepScan/types.ts | 18 +- .../iou/request/step/StepScreenWrapper.tsx | 5 + src/pages/settings/InitialSettingsPage.tsx | 5 +- .../Profile/Contacts/ContactMethodsPage.tsx | 21 +- .../Profile/Contacts/NewContactMethodPage.tsx | 103 +- .../UpdateDelegateMagicCodePage.tsx | 73 + .../UpdateDelegateRolePage.tsx | 88 + .../ValidateCodeForm/BaseValidateCodeForm.tsx | 208 + .../ValidateCodeForm/index.android.tsx | 14 + .../ValidateCodeForm/index.tsx | 14 + .../Security/SecuritySettingsPage.tsx | 127 +- .../settings/Wallet/PaymentMethodList.tsx | 41 +- .../Wallet/ReportVirtualCardFraudPage.tsx | 30 +- src/pages/signin/LoginForm/BaseLoginForm.tsx | 29 +- src/pages/signin/LoginForm/index.native.tsx | 2 +- src/pages/signin/SignInModal.tsx | 31 +- src/pages/signin/SignUpWelcomeForm.tsx | 29 +- .../workspace/AccessOrNotFoundWrapper.tsx | 3 + src/pages/workspace/WorkspaceInitialPage.tsx | 3 + src/pages/workspace/WorkspaceMembersPage.tsx | 17 +- .../workspace/WorkspaceMoreFeaturesPage.tsx | 14 +- src/pages/workspace/WorkspaceProfilePage.tsx | 30 +- src/pages/workspace/WorkspacesListPage.tsx | 8 +- .../accounting/PolicyAccountingPage.tsx | 140 +- .../NetSuiteImportAddCustomSegmentPage.tsx | 2 +- .../QuickBooksDesktopSetupFlowSyncPage.tsx | 11 + .../qbd/QuickBooksDesktopSetupPage.tsx | 88 + .../qbd/RequireQuickBooksDesktopPage.tsx | 62 + .../QuickbooksDesktopAdvancedPage.tsx | 82 + ...ksDesktopCompanyCardExpenseAccountPage.tsx | 128 + ...ompanyCardExpenseAccountSelectCardPage.tsx | 113 + ...topCompanyCardExpenseAccountSelectPage.tsx | 98 + .../QuickbooksDesktopExportDateSelectPage.tsx | 80 + .../export/QuickbooksDesktopExportPage.tsx | 59 +- ...NonReimbursableDefaultVendorSelectPage.tsx | 95 + ...topOutOfPocketExpenseAccountSelectPage.tsx | 121 + ...topOutOfPocketExpenseConfigurationPage.tsx | 138 + ...ktopOutOfPocketExpenseEntitySelectPage.tsx | 118 + ...ktopPreferredExporterConfigurationPage.tsx | 103 + .../QuickbooksDesktopChartOfAccountsPage.tsx | 72 + ...uickbooksDesktopClassesDisplayedAsPage.tsx | 81 + .../import/QuickbooksDesktopClassesPage.tsx | 78 + ...ckbooksDesktopCustomersDisplayedAsPage.tsx | 81 + .../import/QuickbooksDesktopCustomersPage.tsx | 78 + .../import/QuickbooksDesktopImportPage.tsx | 89 + src/pages/workspace/accounting/utils.tsx | 65 +- .../categories/CategorySettingsPage.tsx | 52 +- .../categories/WorkspaceCategoriesPage.tsx | 2 +- .../WorkspaceCompanyCardDetailsPage.tsx | 17 +- .../WorkspaceCompanyCardEditCardNamePage.tsx | 9 +- .../WorkspaceCompanyCardFeedSelectorPage.tsx | 49 +- .../WorkspaceCompanyCardsFeedPendingPage.tsx | 5 +- .../WorkspaceCompanyCardsList.tsx | 21 +- ...WorkspaceCompanyCardsListHeaderButtons.tsx | 90 +- .../WorkspaceCompanyCardsPage.tsx | 127 +- ...kspaceCompanyCardsSettingsFeedNamePage.tsx | 11 +- .../WorkspaceCompanyCardsSettingsPage.tsx | 15 +- .../companyCards/addNew/AddNewCardPage.tsx | 52 +- .../companyCards/addNew/AmexCustomFeed.tsx | 113 + .../addNew/CardInstructionsStep.tsx | 46 +- .../companyCards/addNew/CardNameStep.tsx | 4 +- .../companyCards/addNew/CardTypeStep.tsx | 124 +- .../companyCards/addNew/DetailsStep.tsx | 65 +- .../companyCards/addNew/SelectBankStep.tsx | 113 + .../companyCards/addNew/SelectFeedType.tsx | 110 + .../assignCard/AssignCardFeedPage.tsx | 29 +- .../assignCard/CardSelectionStep.tsx | 70 +- .../assignCard/ConfirmationStep.tsx | 16 +- .../PolicyDistanceRateDetailsPage.tsx | 22 +- .../distanceRates/PolicyDistanceRatesPage.tsx | 2 +- .../PolicyDistanceRatesSettingsPage.tsx | 33 +- .../WorkspaceEditCardLimitTypePage.tsx | 3 +- .../WorkspaceExpensifyCardListPage.tsx | 6 +- .../expensifyCard/issueNew/LimitTypeStep.tsx | 5 +- .../WorkspaceInvoiceBalanceSection.tsx | 33 + .../invoices/WorkspaceInvoicesPage.tsx | 2 + .../members/WorkspaceMemberDetailsPage.tsx | 68 +- .../members/WorkspaceMemberNewCardPage.tsx | 39 +- .../ReportFieldsAddListValuePage.tsx | 18 +- .../RulesAutoApproveReportsUnderPage.tsx | 2 +- .../rules/RulesAutoPayReportsUnderPage.tsx | 2 +- .../workspace/rules/RulesCustomNamePage.tsx | 2 +- .../rules/RulesMaxExpenseAgePage.tsx | 2 +- .../rules/RulesMaxExpenseAmountPage.tsx | 2 +- .../rules/RulesRandomReportAuditPage.tsx | 2 +- .../rules/RulesReceiptRequiredAmountPage.tsx | 2 +- src/pages/workspace/tags/TagSettingsPage.tsx | 5 +- .../workspace/tags/WorkspaceTagsPage.tsx | 2 +- .../workspace/taxes/WorkspaceTaxesPage.tsx | 2 +- src/pages/workspace/withPolicy.tsx | 1 + .../workflows/WorkspaceWorkflowsPage.tsx | 11 +- ...orkspaceWorkflowsApprovalsApproverPage.tsx | 14 +- .../WorkspaceWorkflowsApprovalsCreatePage.tsx | 3 +- ...paceWorkflowsApprovalsExpensesFromPage.tsx | 21 +- src/styles/index.ts | 23 +- src/styles/utils/index.ts | 20 + src/styles/utils/sizing.ts | 3 + src/styles/utils/spacing.ts | 10 +- src/styles/variables.ts | 6 +- src/types/form/DebugReportActionForm.ts | 1 - src/types/form/DebugReportForm.ts | 1 - src/types/form/WorkForm.ts | 18 - src/types/form/index.ts | 1 - src/types/onyx/AssignCard.ts | 6 +- src/types/onyx/Card.ts | 17 +- src/types/onyx/CardFeeds.ts | 39 +- src/types/onyx/OriginalMessage.ts | 25 +- src/types/onyx/Policy.ts | 103 +- src/types/onyx/RecentWaypoint.ts | 5 + src/types/onyx/ReimbursementAccount.ts | 3 + src/types/onyx/ReportAction.ts | 2 +- src/types/onyx/Response.ts | 9 + src/types/onyx/Transaction.ts | 4 + src/types/onyx/TransactionViolation.ts | 3 + src/types/onyx/index.ts | 3 +- src/types/utils/CommonProperties.ts | 9 + src/utils/mapOnyxCollectionItems.ts | 12 + .../EnforceActionExportRestrictions.ts | 5 + tests/actions/ReportTest.ts | 10 +- tests/actions/SessionTest.ts | 37 + tests/e2e/README.md | 2 +- tests/e2e/config.ts | 8 +- tests/perf-test/BaseOptionsList.perf-test.tsx | 54 +- .../ReportActionCompose.perf-test.tsx | 25 +- tests/perf-test/ReportScreen.perf-test.tsx | 25 +- ...rf-test.tsx => SearchRouter.perf-test.tsx} | 85 +- tests/perf-test/SelectionList.perf-test.tsx | 16 +- tests/perf-test/SidebarLinks.perf-test.tsx | 45 +- tests/ui/PaginationTest.tsx | 83 +- tests/ui/UnreadIndicatorsTest.tsx | 4 +- tests/unit/DateUtilsTest.ts | 8 +- tests/unit/DebugUtilsTest.ts | 822 +- tests/unit/FastSearchTest.ts | 118 + tests/unit/NextStepUtilsTest.ts | 95 +- tests/unit/PaginationUtilsTest.ts | 32 +- tests/unit/ReportUtilsTest.ts | 22 + tests/unit/RequestConflictUtilsTest.ts | 21 + tests/unit/SuffixUkkonenTreeTest.ts | 63 + tests/utils/TestHelper.ts | 8 +- tests/utils/wrapInActHelper.ts | 19 + 528 files changed, 28732 insertions(+), 12904 deletions(-) delete mode 100644 assets/images/companyCards/card-bank_of_america.svg delete mode 100644 assets/images/companyCards/card-other.svg create mode 100644 assets/images/integrationicons/qbd-icon-square.svg create mode 100644 assets/images/laptop-with-second-screen-sync.svg create mode 100644 assets/images/laptop-with-second-screen-x.svg rename docs/articles/expensify-classic/bank-accounts-and-payments/payments/{Pay-Bills.md => Create-and-Pay-Bills.md} (95%) create mode 100644 docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-an-Invoice.md create mode 100644 docs/articles/expensify-classic/expenses/Add-Invoices-in-Bulk.md create mode 100644 docs/articles/expensify-classic/expenses/Send-and-Receive-Payment-for-Invoices.md create mode 100644 docs/articles/new-expensify/settings/Add-or-Act-As-a-Copilot.md create mode 100644 docs/assets/images/ExpensifyHelp-AttendeeTracking-1.png create mode 100644 docs/assets/images/quickbooks-desktop-access-rights.png create mode 100644 docs/assets/images/quickbooks-desktop-advanced-settings.png create mode 100644 docs/assets/images/quickbooks-desktop-coding-settings.png create mode 100644 docs/assets/images/quickbooks-desktop-company-preferences.png create mode 100644 docs/assets/images/quickbooks-desktop-export-settings.png create mode 100644 docs/assets/images/quickbooks-desktop-exported-report-comments.png create mode 100644 docs/assets/images/quickbooks-desktop-web-connector.png create mode 100644 help/_includes/search.html delete mode 100644 help/_plugins/51_HeaderIDPostRender.rb create mode 100644 help/_plugins/SitePostRender.rb create mode 100644 help/_plugins/SitePostWrite.rb create mode 100644 help/_scripts/generateSearchIndex.js create mode 100644 help/billpay.md create mode 100644 help/card.md create mode 100644 help/chat.md create mode 100644 help/expense.md create mode 100644 help/invoice.md create mode 100644 help/package-lock.json create mode 100644 help/package.json delete mode 100644 help/superapp.md create mode 100644 help/travel.md create mode 100644 patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch create mode 100644 patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch create mode 100644 patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch delete mode 100644 patches/date-fns-tz+2.0.0.patch rename patches/{react-native-config+1.5.0.patch => react-native-config+1.5.3.patch} (71%) rename patches/{react-native-keyboard-controller+1.12.7.patch => react-native-keyboard-controller+1.14.1+001+disable-android.patch} (53%) create mode 100644 patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch create mode 100644 src/components/Balance.tsx create mode 100644 src/components/BrokenConnectionDescription.tsx rename src/components/Composer/{ => implementation}/index.native.tsx (97%) create mode 100755 src/components/Composer/implementation/index.tsx create mode 100644 src/components/Composer/index.e2e.tsx mode change 100755 => 100644 src/components/Composer/index.tsx create mode 100644 src/components/ConnectToQuickbooksDesktopFlow/index.native.tsx create mode 100644 src/components/ConnectToQuickbooksDesktopFlow/index.tsx create mode 100644 src/components/ConnectToQuickbooksDesktopFlow/types.ts create mode 100644 src/components/MapView/MapViewImpl.website.tsx create mode 100644 src/libs/API/parameters/AssignCompanyCardParams.ts create mode 100644 src/libs/API/parameters/ConnectPolicyToQuickBooksDesktopParams.ts create mode 100644 src/libs/API/parameters/ExportReportCSVParams.ts create mode 100644 src/libs/API/parameters/GetPolicyCategories.ts create mode 100644 src/libs/API/parameters/OpenPolicyCompanyCardsFeedParams.ts create mode 100644 src/libs/API/parameters/RemoveDelegateParams.ts create mode 100644 src/libs/API/parameters/RequestFeedSetupParams.ts create mode 100644 src/libs/API/parameters/UpdateDelegateRoleParams.ts create mode 100644 src/libs/API/parameters/UpdateQuickbooksDesktopCompanyCardExpenseAccountTypeParams.ts create mode 100644 src/libs/API/parameters/UpdateQuickbooksDesktopExpensesExportDestinationTypeParams.ts create mode 100644 src/libs/API/parameters/UpdateQuickbooksDesktopGenericTypeParams.ts rename src/libs/E2E/tests/{openChatFinderPageTest.e2e.ts => openSearchRouterTest.e2e.ts} (72%) create mode 100644 src/libs/FastSearch.ts create mode 100644 src/libs/Firebase/utils.ts create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabNavigationContentWrapper.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/TopBar.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/index.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomStackNavigator/syncBrowserHistory/index.ts create mode 100644 src/libs/Navigation/AppNavigator/createCustomStackNavigator/syncBrowserHistory/index.web.ts create mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts create mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx create mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx create mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.ts create mode 100644 src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts create mode 100644 src/libs/Navigation/AppNavigator/useNavigationResetOnLayoutChange.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/buildPlatformSpecificNavigationOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/presentation/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/index.ts create mode 100644 src/libs/Navigation/shouldOpenOnAdminRoom.ts create mode 100644 src/libs/SuffixUkkonenTree/index.ts create mode 100644 src/libs/SuffixUkkonenTree/utils.ts create mode 100644 src/libs/actions/RequestConflictUtils.ts create mode 100644 src/libs/actions/connections/QuickbooksDesktop.ts create mode 100644 src/libs/navigateAfterOnboarding.ts delete mode 100644 src/pages/ChatFinderPage/ChatFinderPageFooter.tsx delete mode 100644 src/pages/ChatFinderPage/index.tsx create mode 100644 src/pages/OnboardingAccounting/BaseOnboardingAccounting.tsx create mode 100644 src/pages/OnboardingAccounting/index.native.tsx create mode 100644 src/pages/OnboardingAccounting/index.tsx create mode 100644 src/pages/OnboardingAccounting/types.ts create mode 100644 src/pages/OnboardingEmployees/BaseOnboardingEmployees.tsx create mode 100644 src/pages/OnboardingEmployees/index.native.tsx rename src/pages/{OnboardingWork => OnboardingEmployees}/index.tsx (63%) rename src/pages/{OnboardingWork => OnboardingEmployees}/types.ts (53%) delete mode 100644 src/pages/OnboardingWork/BaseOnboardingWork.tsx delete mode 100644 src/pages/OnboardingWork/index.native.tsx create mode 100644 src/pages/settings/Security/AddDelegate/UpdateDelegateRole/UpdateDelegateMagicCodePage.tsx create mode 100644 src/pages/settings/Security/AddDelegate/UpdateDelegateRole/UpdateDelegateRolePage.tsx create mode 100644 src/pages/settings/Security/AddDelegate/UpdateDelegateRole/ValidateCodeForm/BaseValidateCodeForm.tsx create mode 100644 src/pages/settings/Security/AddDelegate/UpdateDelegateRole/ValidateCodeForm/index.android.tsx create mode 100644 src/pages/settings/Security/AddDelegate/UpdateDelegateRole/ValidateCodeForm/index.tsx create mode 100644 src/pages/workspace/accounting/qbd/QuickBooksDesktopSetupFlowSyncPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/QuickBooksDesktopSetupPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/RequireQuickBooksDesktopPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/advanced/QuickbooksDesktopAdvancedPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopCompanyCardExpenseAccountPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopCompanyCardExpenseAccountSelectCardPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopCompanyCardExpenseAccountSelectPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopExportDateSelectPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopNonReimbursableDefaultVendorSelectPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopOutOfPocketExpenseAccountSelectPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopOutOfPocketExpenseConfigurationPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopOutOfPocketExpenseEntitySelectPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/export/QuickbooksDesktopPreferredExporterConfigurationPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/import/QuickbooksDesktopChartOfAccountsPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/import/QuickbooksDesktopClassesDisplayedAsPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/import/QuickbooksDesktopClassesPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/import/QuickbooksDesktopCustomersDisplayedAsPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/import/QuickbooksDesktopCustomersPage.tsx create mode 100644 src/pages/workspace/accounting/qbd/import/QuickbooksDesktopImportPage.tsx create mode 100644 src/pages/workspace/companyCards/addNew/AmexCustomFeed.tsx create mode 100644 src/pages/workspace/companyCards/addNew/SelectBankStep.tsx create mode 100644 src/pages/workspace/companyCards/addNew/SelectFeedType.tsx create mode 100644 src/pages/workspace/invoices/WorkspaceInvoiceBalanceSection.tsx delete mode 100644 src/types/form/WorkForm.ts create mode 100644 src/types/utils/CommonProperties.ts create mode 100644 src/utils/mapOnyxCollectionItems.ts rename tests/perf-test/{ChatFinderPage.perf-test.tsx => SearchRouter.perf-test.tsx} (66%) create mode 100644 tests/unit/FastSearchTest.ts create mode 100644 tests/unit/RequestConflictUtilsTest.ts create mode 100644 tests/unit/SuffixUkkonenTreeTest.ts create mode 100644 tests/utils/wrapInActHelper.ts diff --git a/.eslintignore b/.eslintignore index 5c4b73d8a682..162cc816ea80 100644 --- a/.eslintignore +++ b/.eslintignore @@ -12,3 +12,4 @@ docs/assets/** web/gtm.js **/.expo/** src/libs/SearchParser/searchParser.js +help/_scripts/** diff --git a/.github/ISSUE_TEMPLATE/Standard.md b/.github/ISSUE_TEMPLATE/Standard.md index 663c6004a534..fa50d48b341b 100644 --- a/.github/ISSUE_TEMPLATE/Standard.md +++ b/.github/ISSUE_TEMPLATE/Standard.md @@ -10,6 +10,7 @@ ___ **Version Number:** **Reproducible in staging?:** **Reproducible in production?:** +**If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:** **If this was caught during regression testing, add the test name, ID and link from TestRail:** **Email or phone of affected tester (no customers):** **Logs:** https://stackoverflow.com/c/expensify/questions/4856 @@ -34,9 +35,11 @@ Can the user still use Expensify without this being fixed? Have you informed the Check off any platforms that are affected by this issue ---> Which of our officially supported platforms is this issue occurring on? -- [ ] Android: Native +- [ ] Android: Standalone +- [ ] Android: HybridApp - [ ] Android: mWeb Chrome -- [ ] iOS: Native +- [ ] iOS: Standalone +- [ ] iOS: HybridApp - [ ] iOS: mWeb Safari - [ ] MacOS: Chrome / Safari - [ ] MacOS: Desktop diff --git a/.github/actions/javascript/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.ts b/.github/actions/javascript/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.ts index 1964b143146d..69a4a9f8511f 100644 --- a/.github/actions/javascript/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.ts +++ b/.github/actions/javascript/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.ts @@ -1,5 +1,5 @@ import * as core from '@actions/core'; -import format from 'date-fns/format'; +import {format} from 'date-fns/format'; import fs from 'fs'; import CONST from '@github/libs/CONST'; import GithubUtils from '@github/libs/GithubUtils'; diff --git a/.github/actions/javascript/createOrUpdateStagingDeploy/index.js b/.github/actions/javascript/createOrUpdateStagingDeploy/index.js index 1b7cccb730ff..58b743ca9058 100644 --- a/.github/actions/javascript/createOrUpdateStagingDeploy/index.js +++ b/.github/actions/javascript/createOrUpdateStagingDeploy/index.js @@ -6439,5371 +6439,2616 @@ function removeHook(state, name, method) { /***/ }), -/***/ 8620: -/***/ ((module, exports) => { +/***/ 8932: +/***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = addLeadingZeros; -function addLeadingZeros(number, targetLength) { - var sign = number < 0 ? '-' : ''; - var output = Math.abs(number).toString(); - while (output.length < targetLength) { - output = '0' + output; - } - return sign + output; -} -module.exports = exports.default; +Object.defineProperty(exports, "__esModule", ({ value: true })); -/***/ }), +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) -/***/ 618: -/***/ ((module, exports, __nccwpck_require__) => { + /* istanbul ignore next */ -"use strict"; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(1773)); -var _default = _index.default; -exports["default"] = _default; -module.exports = exports.default; /***/ }), -/***/ 9307: +/***/ 3287: /***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.getDefaultOptions = getDefaultOptions; -exports.setDefaultOptions = setDefaultOptions; -var defaultOptions = {}; -function getDefaultOptions() { - return defaultOptions; +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(o) { + return Object.prototype.toString.call(o) === '[object Object]'; } -function setDefaultOptions(newOptions) { - defaultOptions = newOptions; + +function isPlainObject(o) { + var ctor,prot; + + if (isObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (ctor === undefined) return true; + + // If has modified prototype + prot = ctor.prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; } +exports.isPlainObject = isPlainObject; + + /***/ }), -/***/ 9257: +/***/ 467: /***/ ((module, exports, __nccwpck_require__) => { "use strict"; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(2966)); -var _index2 = _interopRequireDefault(__nccwpck_require__(8493)); -var _index3 = _interopRequireDefault(__nccwpck_require__(7170)); -var _index4 = _interopRequireDefault(__nccwpck_require__(8761)); -var _index5 = _interopRequireDefault(__nccwpck_require__(8050)); -var _index6 = _interopRequireDefault(__nccwpck_require__(8620)); -var _index7 = _interopRequireDefault(__nccwpck_require__(289)); -var dayPeriodEnum = { - am: 'am', - pm: 'pm', - midnight: 'midnight', - noon: 'noon', - morning: 'morning', - afternoon: 'afternoon', - evening: 'evening', - night: 'night' -}; -/* - * | | Unit | | Unit | - * |-----|--------------------------------|-----|--------------------------------| - * | a | AM, PM | A* | Milliseconds in day | - * | b | AM, PM, noon, midnight | B | Flexible day period | - * | c | Stand-alone local day of week | C* | Localized hour w/ day period | - * | d | Day of month | D | Day of year | - * | e | Local day of week | E | Day of week | - * | f | | F* | Day of week in month | - * | g* | Modified Julian day | G | Era | - * | h | Hour [1-12] | H | Hour [0-23] | - * | i! | ISO day of week | I! | ISO week of year | - * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | - * | k | Hour [1-24] | K | Hour [0-11] | - * | l* | (deprecated) | L | Stand-alone month | - * | m | Minute | M | Month | - * | n | | N | | - * | o! | Ordinal number modifier | O | Timezone (GMT) | - * | p! | Long localized time | P! | Long localized date | - * | q | Stand-alone quarter | Q | Quarter | - * | r* | Related Gregorian year | R! | ISO week-numbering year | - * | s | Second | S | Fraction of second | - * | t! | Seconds timestamp | T! | Milliseconds timestamp | - * | u | Extended year | U* | Cyclic year | - * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | - * | w | Local week of year | W* | Week of month | - * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | - * | y | Year (abs) | Y | Local week-numbering year | - * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) | - * - * Letters marked by * are not implemented but reserved by Unicode standard. - * - * Letters marked by ! are non-standard, but implemented by date-fns: - * - `o` modifies the previous token to turn it into an ordinal (see `format` docs) - * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, - * i.e. 7 for Sunday, 1 for Monday, etc. - * - `I` is ISO week of year, as opposed to `w` which is local week of year. - * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. - * `R` is supposed to be used in conjunction with `I` and `i` - * for universal ISO week-numbering date, whereas - * `Y` is supposed to be used in conjunction with `w` and `e` - * for week-numbering date specific to the locale. - * - `P` is long localized date format - * - `p` is long localized time format - */ +Object.defineProperty(exports, "__esModule", ({ value: true })); -var formatters = { - // Era - G: function G(date, token, localize) { - var era = date.getUTCFullYear() > 0 ? 1 : 0; - switch (token) { - // AD, BC - case 'G': - case 'GG': - case 'GGG': - return localize.era(era, { - width: 'abbreviated' - }); - // A, B - case 'GGGGG': - return localize.era(era, { - width: 'narrow' - }); - // Anno Domini, Before Christ - case 'GGGG': - default: - return localize.era(era, { - width: 'wide' - }); - } - }, - // Year - y: function y(date, token, localize) { - // Ordinal number - if (token === 'yo') { - var signedYear = date.getUTCFullYear(); - // Returns 1 for 1 BC (which is year 0 in JavaScript) - var year = signedYear > 0 ? signedYear : 1 - signedYear; - return localize.ordinalNumber(year, { - unit: 'year' - }); - } - return _index7.default.y(date, token); - }, - // Local week-numbering year - Y: function Y(date, token, localize, options) { - var signedWeekYear = (0, _index5.default)(date, options); - // Returns 1 for 1 BC (which is year 0 in JavaScript) - var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - // Two digit year - if (token === 'YY') { - var twoDigitYear = weekYear % 100; - return (0, _index6.default)(twoDigitYear, 2); - } +var Stream = _interopDefault(__nccwpck_require__(2781)); +var http = _interopDefault(__nccwpck_require__(3685)); +var Url = _interopDefault(__nccwpck_require__(7310)); +var whatwgUrl = _interopDefault(__nccwpck_require__(3323)); +var https = _interopDefault(__nccwpck_require__(5687)); +var zlib = _interopDefault(__nccwpck_require__(9796)); - // Ordinal number - if (token === 'Yo') { - return localize.ordinalNumber(weekYear, { - unit: 'year' - }); - } +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js - // Padding - return (0, _index6.default)(weekYear, token.length); - }, - // ISO week-numbering year - R: function R(date, token) { - var isoWeekYear = (0, _index3.default)(date); +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; - // Padding - return (0, _index6.default)(isoWeekYear, token.length); - }, - // Extended year. This is a single number designating the year of this calendar system. - // The main difference between `y` and `u` localizers are B.C. years: - // | Year | `y` | `u` | - // |------|-----|-----| - // | AC 1 | 1 | 1 | - // | BC 1 | 1 | 0 | - // | BC 2 | 2 | -1 | - // Also `yy` always returns the last two digits of a year, - // while `uu` pads single digit years to 2 characters and returns other years unchanged. - u: function u(date, token) { - var year = date.getUTCFullYear(); - return (0, _index6.default)(year, token.length); - }, - // Quarter - Q: function Q(date, token, localize) { - var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); - switch (token) { - // 1, 2, 3, 4 - case 'Q': - return String(quarter); - // 01, 02, 03, 04 - case 'QQ': - return (0, _index6.default)(quarter, 2); - // 1st, 2nd, 3rd, 4th - case 'Qo': - return localize.ordinalNumber(quarter, { - unit: 'quarter' - }); - // Q1, Q2, Q3, Q4 - case 'QQQ': - return localize.quarter(quarter, { - width: 'abbreviated', - context: 'formatting' - }); - // 1, 2, 3, 4 (narrow quarter; could be not numerical) - case 'QQQQQ': - return localize.quarter(quarter, { - width: 'narrow', - context: 'formatting' - }); - // 1st quarter, 2nd quarter, ... - case 'QQQQ': - default: - return localize.quarter(quarter, { - width: 'wide', - context: 'formatting' - }); - } - }, - // Stand-alone quarter - q: function q(date, token, localize) { - var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); - switch (token) { - // 1, 2, 3, 4 - case 'q': - return String(quarter); - // 01, 02, 03, 04 - case 'qq': - return (0, _index6.default)(quarter, 2); - // 1st, 2nd, 3rd, 4th - case 'qo': - return localize.ordinalNumber(quarter, { - unit: 'quarter' - }); - // Q1, Q2, Q3, Q4 - case 'qqq': - return localize.quarter(quarter, { - width: 'abbreviated', - context: 'standalone' - }); - // 1, 2, 3, 4 (narrow quarter; could be not numerical) - case 'qqqqq': - return localize.quarter(quarter, { - width: 'narrow', - context: 'standalone' - }); - // 1st quarter, 2nd quarter, ... - case 'qqqq': - default: - return localize.quarter(quarter, { - width: 'wide', - context: 'standalone' - }); - } - }, - // Month - M: function M(date, token, localize) { - var month = date.getUTCMonth(); - switch (token) { - case 'M': - case 'MM': - return _index7.default.M(date, token); - // 1st, 2nd, ..., 12th - case 'Mo': - return localize.ordinalNumber(month + 1, { - unit: 'month' - }); - // Jan, Feb, ..., Dec - case 'MMM': - return localize.month(month, { - width: 'abbreviated', - context: 'formatting' - }); - // J, F, ..., D - case 'MMMMM': - return localize.month(month, { - width: 'narrow', - context: 'formatting' - }); - // January, February, ..., December - case 'MMMM': - default: - return localize.month(month, { - width: 'wide', - context: 'formatting' - }); - } - }, - // Stand-alone month - L: function L(date, token, localize) { - var month = date.getUTCMonth(); - switch (token) { - // 1, 2, ..., 12 - case 'L': - return String(month + 1); - // 01, 02, ..., 12 - case 'LL': - return (0, _index6.default)(month + 1, 2); - // 1st, 2nd, ..., 12th - case 'Lo': - return localize.ordinalNumber(month + 1, { - unit: 'month' - }); - // Jan, Feb, ..., Dec - case 'LLL': - return localize.month(month, { - width: 'abbreviated', - context: 'standalone' - }); - // J, F, ..., D - case 'LLLLL': - return localize.month(month, { - width: 'narrow', - context: 'standalone' - }); - // January, February, ..., December - case 'LLLL': - default: - return localize.month(month, { - width: 'wide', - context: 'standalone' - }); - } - }, - // Local week of year - w: function w(date, token, localize, options) { - var week = (0, _index4.default)(date, options); - if (token === 'wo') { - return localize.ordinalNumber(week, { - unit: 'week' - }); - } - return (0, _index6.default)(week, token.length); - }, - // ISO week of year - I: function I(date, token, localize) { - var isoWeek = (0, _index2.default)(date); - if (token === 'Io') { - return localize.ordinalNumber(isoWeek, { - unit: 'week' - }); - } - return (0, _index6.default)(isoWeek, token.length); - }, - // Day of the month - d: function d(date, token, localize) { - if (token === 'do') { - return localize.ordinalNumber(date.getUTCDate(), { - unit: 'date' - }); - } - return _index7.default.d(date, token); - }, - // Day of year - D: function D(date, token, localize) { - var dayOfYear = (0, _index.default)(date); - if (token === 'Do') { - return localize.ordinalNumber(dayOfYear, { - unit: 'dayOfYear' - }); - } - return (0, _index6.default)(dayOfYear, token.length); - }, - // Day of week - E: function E(date, token, localize) { - var dayOfWeek = date.getUTCDay(); - switch (token) { - // Tue - case 'E': - case 'EE': - case 'EEE': - return localize.day(dayOfWeek, { - width: 'abbreviated', - context: 'formatting' - }); - // T - case 'EEEEE': - return localize.day(dayOfWeek, { - width: 'narrow', - context: 'formatting' - }); - // Tu - case 'EEEEEE': - return localize.day(dayOfWeek, { - width: 'short', - context: 'formatting' - }); - // Tuesday - case 'EEEE': - default: - return localize.day(dayOfWeek, { - width: 'wide', - context: 'formatting' - }); - } - }, - // Local day of week - e: function e(date, token, localize, options) { - var dayOfWeek = date.getUTCDay(); - var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; - switch (token) { - // Numerical value (Nth day of week with current locale or weekStartsOn) - case 'e': - return String(localDayOfWeek); - // Padded numerical value - case 'ee': - return (0, _index6.default)(localDayOfWeek, 2); - // 1st, 2nd, ..., 7th - case 'eo': - return localize.ordinalNumber(localDayOfWeek, { - unit: 'day' - }); - case 'eee': - return localize.day(dayOfWeek, { - width: 'abbreviated', - context: 'formatting' - }); - // T - case 'eeeee': - return localize.day(dayOfWeek, { - width: 'narrow', - context: 'formatting' - }); - // Tu - case 'eeeeee': - return localize.day(dayOfWeek, { - width: 'short', - context: 'formatting' - }); - // Tuesday - case 'eeee': - default: - return localize.day(dayOfWeek, { - width: 'wide', - context: 'formatting' - }); - } - }, - // Stand-alone local day of week - c: function c(date, token, localize, options) { - var dayOfWeek = date.getUTCDay(); - var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; - switch (token) { - // Numerical value (same as in `e`) - case 'c': - return String(localDayOfWeek); - // Padded numerical value - case 'cc': - return (0, _index6.default)(localDayOfWeek, token.length); - // 1st, 2nd, ..., 7th - case 'co': - return localize.ordinalNumber(localDayOfWeek, { - unit: 'day' - }); - case 'ccc': - return localize.day(dayOfWeek, { - width: 'abbreviated', - context: 'standalone' - }); - // T - case 'ccccc': - return localize.day(dayOfWeek, { - width: 'narrow', - context: 'standalone' - }); - // Tu - case 'cccccc': - return localize.day(dayOfWeek, { - width: 'short', - context: 'standalone' - }); - // Tuesday - case 'cccc': - default: - return localize.day(dayOfWeek, { - width: 'wide', - context: 'standalone' - }); - } - }, - // ISO day of week - i: function i(date, token, localize) { - var dayOfWeek = date.getUTCDay(); - var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; - switch (token) { - // 2 - case 'i': - return String(isoDayOfWeek); - // 02 - case 'ii': - return (0, _index6.default)(isoDayOfWeek, token.length); - // 2nd - case 'io': - return localize.ordinalNumber(isoDayOfWeek, { - unit: 'day' - }); - // Tue - case 'iii': - return localize.day(dayOfWeek, { - width: 'abbreviated', - context: 'formatting' - }); - // T - case 'iiiii': - return localize.day(dayOfWeek, { - width: 'narrow', - context: 'formatting' - }); - // Tu - case 'iiiiii': - return localize.day(dayOfWeek, { - width: 'short', - context: 'formatting' - }); - // Tuesday - case 'iiii': - default: - return localize.day(dayOfWeek, { - width: 'wide', - context: 'formatting' - }); - } - }, - // AM or PM - a: function a(date, token, localize) { - var hours = date.getUTCHours(); - var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am'; - switch (token) { - case 'a': - case 'aa': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'abbreviated', - context: 'formatting' - }); - case 'aaa': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'abbreviated', - context: 'formatting' - }).toLowerCase(); - case 'aaaaa': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'narrow', - context: 'formatting' - }); - case 'aaaa': - default: - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'wide', - context: 'formatting' - }); - } - }, - // AM, PM, midnight, noon - b: function b(date, token, localize) { - var hours = date.getUTCHours(); - var dayPeriodEnumValue; - if (hours === 12) { - dayPeriodEnumValue = dayPeriodEnum.noon; - } else if (hours === 0) { - dayPeriodEnumValue = dayPeriodEnum.midnight; - } else { - dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am'; - } - switch (token) { - case 'b': - case 'bb': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'abbreviated', - context: 'formatting' - }); - case 'bbb': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'abbreviated', - context: 'formatting' - }).toLowerCase(); - case 'bbbbb': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'narrow', - context: 'formatting' - }); - case 'bbbb': - default: - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'wide', - context: 'formatting' - }); - } - }, - // in the morning, in the afternoon, in the evening, at night - B: function B(date, token, localize) { - var hours = date.getUTCHours(); - var dayPeriodEnumValue; - if (hours >= 17) { - dayPeriodEnumValue = dayPeriodEnum.evening; - } else if (hours >= 12) { - dayPeriodEnumValue = dayPeriodEnum.afternoon; - } else if (hours >= 4) { - dayPeriodEnumValue = dayPeriodEnum.morning; - } else { - dayPeriodEnumValue = dayPeriodEnum.night; - } - switch (token) { - case 'B': - case 'BB': - case 'BBB': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'abbreviated', - context: 'formatting' - }); - case 'BBBBB': - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'narrow', - context: 'formatting' - }); - case 'BBBB': - default: - return localize.dayPeriod(dayPeriodEnumValue, { - width: 'wide', - context: 'formatting' - }); - } - }, - // Hour [1-12] - h: function h(date, token, localize) { - if (token === 'ho') { - var hours = date.getUTCHours() % 12; - if (hours === 0) hours = 12; - return localize.ordinalNumber(hours, { - unit: 'hour' - }); - } - return _index7.default.h(date, token); - }, - // Hour [0-23] - H: function H(date, token, localize) { - if (token === 'Ho') { - return localize.ordinalNumber(date.getUTCHours(), { - unit: 'hour' - }); - } - return _index7.default.H(date, token); - }, - // Hour [0-11] - K: function K(date, token, localize) { - var hours = date.getUTCHours() % 12; - if (token === 'Ko') { - return localize.ordinalNumber(hours, { - unit: 'hour' - }); - } - return (0, _index6.default)(hours, token.length); - }, - // Hour [1-24] - k: function k(date, token, localize) { - var hours = date.getUTCHours(); - if (hours === 0) hours = 24; - if (token === 'ko') { - return localize.ordinalNumber(hours, { - unit: 'hour' - }); - } - return (0, _index6.default)(hours, token.length); - }, - // Minute - m: function m(date, token, localize) { - if (token === 'mo') { - return localize.ordinalNumber(date.getUTCMinutes(), { - unit: 'minute' - }); - } - return _index7.default.m(date, token); - }, - // Second - s: function s(date, token, localize) { - if (token === 'so') { - return localize.ordinalNumber(date.getUTCSeconds(), { - unit: 'second' - }); - } - return _index7.default.s(date, token); - }, - // Fraction of second - S: function S(date, token) { - return _index7.default.S(date, token); - }, - // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) - X: function X(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - if (timezoneOffset === 0) { - return 'Z'; - } - switch (token) { - // Hours and optional minutes - case 'X': - return formatTimezoneWithOptionalMinutes(timezoneOffset); - - // Hours, minutes and optional seconds without `:` delimiter - // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets - // so this token always has the same output as `XX` - case 'XXXX': - case 'XX': - // Hours and minutes without `:` delimiter - return formatTimezone(timezoneOffset); - - // Hours, minutes and optional seconds with `:` delimiter - // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets - // so this token always has the same output as `XXX` - case 'XXXXX': - case 'XXX': // Hours and minutes with `:` delimiter - default: - return formatTimezone(timezoneOffset, ':'); - } - }, - // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) - x: function x(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - switch (token) { - // Hours and optional minutes - case 'x': - return formatTimezoneWithOptionalMinutes(timezoneOffset); - - // Hours, minutes and optional seconds without `:` delimiter - // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets - // so this token always has the same output as `xx` - case 'xxxx': - case 'xx': - // Hours and minutes without `:` delimiter - return formatTimezone(timezoneOffset); - - // Hours, minutes and optional seconds with `:` delimiter - // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets - // so this token always has the same output as `xxx` - case 'xxxxx': - case 'xxx': // Hours and minutes with `:` delimiter - default: - return formatTimezone(timezoneOffset, ':'); - } - }, - // Timezone (GMT) - O: function O(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - switch (token) { - // Short - case 'O': - case 'OO': - case 'OOO': - return 'GMT' + formatTimezoneShort(timezoneOffset, ':'); - // Long - case 'OOOO': - default: - return 'GMT' + formatTimezone(timezoneOffset, ':'); - } - }, - // Timezone (specific non-location) - z: function z(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - switch (token) { - // Short - case 'z': - case 'zz': - case 'zzz': - return 'GMT' + formatTimezoneShort(timezoneOffset, ':'); - // Long - case 'zzzz': - default: - return 'GMT' + formatTimezone(timezoneOffset, ':'); - } - }, - // Seconds timestamp - t: function t(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timestamp = Math.floor(originalDate.getTime() / 1000); - return (0, _index6.default)(timestamp, token.length); - }, - // Milliseconds timestamp - T: function T(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timestamp = originalDate.getTime(); - return (0, _index6.default)(timestamp, token.length); - } -}; -function formatTimezoneShort(offset, dirtyDelimiter) { - var sign = offset > 0 ? '-' : '+'; - var absOffset = Math.abs(offset); - var hours = Math.floor(absOffset / 60); - var minutes = absOffset % 60; - if (minutes === 0) { - return sign + String(hours); - } - var delimiter = dirtyDelimiter || ''; - return sign + String(hours) + delimiter + (0, _index6.default)(minutes, 2); -} -function formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) { - if (offset % 60 === 0) { - var sign = offset > 0 ? '-' : '+'; - return sign + (0, _index6.default)(Math.abs(offset) / 60, 2); - } - return formatTimezone(offset, dirtyDelimiter); -} -function formatTimezone(offset, dirtyDelimiter) { - var delimiter = dirtyDelimiter || ''; - var sign = offset > 0 ? '-' : '+'; - var absOffset = Math.abs(offset); - var hours = (0, _index6.default)(Math.floor(absOffset / 60), 2); - var minutes = (0, _index6.default)(absOffset % 60, 2); - return sign + hours + delimiter + minutes; -} -var _default = formatters; -exports["default"] = _default; -module.exports = exports.default; - -/***/ }), +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); -/***/ 289: -/***/ ((module, exports, __nccwpck_require__) => { +class Blob { + constructor() { + this[TYPE] = ''; -"use strict"; + const blobParts = arguments[0]; + const options = arguments[1]; + const buffers = []; + let size = 0; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(8620)); -/* - * | | Unit | | Unit | - * |-----|--------------------------------|-----|--------------------------------| - * | a | AM, PM | A* | | - * | d | Day of month | D | | - * | h | Hour [1-12] | H | Hour [0-23] | - * | m | Minute | M | Month | - * | s | Second | S | Fraction of second | - * | y | Year (abs) | Y | | - * - * Letters marked by * are not implemented but reserved by Unicode standard. - */ - -var formatters = { - // Year - y: function y(date, token) { - // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens - // | Year | y | yy | yyy | yyyy | yyyyy | - // |----------|-------|----|-------|-------|-------| - // | AD 1 | 1 | 01 | 001 | 0001 | 00001 | - // | AD 12 | 12 | 12 | 012 | 0012 | 00012 | - // | AD 123 | 123 | 23 | 123 | 0123 | 00123 | - // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | - // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | - - var signedYear = date.getUTCFullYear(); - // Returns 1 for 1 BC (which is year 0 in JavaScript) - var year = signedYear > 0 ? signedYear : 1 - signedYear; - return (0, _index.default)(token === 'yy' ? year % 100 : year, token.length); - }, - // Month - M: function M(date, token) { - var month = date.getUTCMonth(); - return token === 'M' ? String(month + 1) : (0, _index.default)(month + 1, 2); - }, - // Day of the month - d: function d(date, token) { - return (0, _index.default)(date.getUTCDate(), token.length); - }, - // AM or PM - a: function a(date, token) { - var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am'; - switch (token) { - case 'a': - case 'aa': - return dayPeriodEnumValue.toUpperCase(); - case 'aaa': - return dayPeriodEnumValue; - case 'aaaaa': - return dayPeriodEnumValue[0]; - case 'aaaa': - default: - return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.'; - } - }, - // Hour [1-12] - h: function h(date, token) { - return (0, _index.default)(date.getUTCHours() % 12 || 12, token.length); - }, - // Hour [0-23] - H: function H(date, token) { - return (0, _index.default)(date.getUTCHours(), token.length); - }, - // Minute - m: function m(date, token) { - return (0, _index.default)(date.getUTCMinutes(), token.length); - }, - // Second - s: function s(date, token) { - return (0, _index.default)(date.getUTCSeconds(), token.length); - }, - // Fraction of second - S: function S(date, token) { - var numberOfDigits = token.length; - var milliseconds = date.getUTCMilliseconds(); - var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3)); - return (0, _index.default)(fractionalSeconds, token.length); - } -}; -var _default = formatters; -exports["default"] = _default; -module.exports = exports.default; - -/***/ }), - -/***/ 8387: -/***/ ((module, exports) => { - -"use strict"; + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + this[BUFFER] = Buffer.concat(buffers); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var dateLongFormatter = function dateLongFormatter(pattern, formatLong) { - switch (pattern) { - case 'P': - return formatLong.date({ - width: 'short' - }); - case 'PP': - return formatLong.date({ - width: 'medium' - }); - case 'PPP': - return formatLong.date({ - width: 'long' - }); - case 'PPPP': - default: - return formatLong.date({ - width: 'full' - }); - } -}; -var timeLongFormatter = function timeLongFormatter(pattern, formatLong) { - switch (pattern) { - case 'p': - return formatLong.time({ - width: 'short' - }); - case 'pp': - return formatLong.time({ - width: 'medium' - }); - case 'ppp': - return formatLong.time({ - width: 'long' - }); - case 'pppp': - default: - return formatLong.time({ - width: 'full' - }); - } -}; -var dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) { - var matchResult = pattern.match(/(P+)(p+)?/) || []; - var datePattern = matchResult[1]; - var timePattern = matchResult[2]; - if (!timePattern) { - return dateLongFormatter(pattern, formatLong); - } - var dateTimeFormat; - switch (datePattern) { - case 'P': - dateTimeFormat = formatLong.dateTime({ - width: 'short' - }); - break; - case 'PP': - dateTimeFormat = formatLong.dateTime({ - width: 'medium' - }); - break; - case 'PPP': - dateTimeFormat = formatLong.dateTime({ - width: 'long' - }); - break; - case 'PPPP': - default: - dateTimeFormat = formatLong.dateTime({ - width: 'full' - }); - break; - } - return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong)); -}; -var longFormatters = { - p: timeLongFormatter, - P: dateTimeLongFormatter -}; -var _default = longFormatters; -exports["default"] = _default; -module.exports = exports.default; + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; -/***/ }), + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); -/***/ 7032: -/***/ ((module, exports) => { + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} -"use strict"; +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = getTimezoneOffsetInMilliseconds; /** - * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. - * They usually appear for dates that denote time before the timezones were introduced - * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 - * and GMT+01:00:00 after that date) - * - * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, - * which would lead to incorrect calculations. + * fetch-error.js * - * This function returns the timezone offset in milliseconds that takes seconds in account. + * FetchError interface for operational errors */ -function getTimezoneOffsetInMilliseconds(date) { - var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); - utcDate.setUTCFullYear(date.getFullYear()); - return date.getTime() - utcDate.getTime(); -} -module.exports = exports.default; - -/***/ }), - -/***/ 2966: -/***/ ((module, exports, __nccwpck_require__) => { - -"use strict"; +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = getUTCDayOfYear; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2063)); -var MILLISECONDS_IN_DAY = 86400000; -function getUTCDayOfYear(dirtyDate) { - (0, _index2.default)(1, arguments); - var date = (0, _index.default)(dirtyDate); - var timestamp = date.getTime(); - date.setUTCMonth(0, 1); - date.setUTCHours(0, 0, 0, 0); - var startOfYearTimestamp = date.getTime(); - var difference = timestamp - startOfYearTimestamp; - return Math.floor(difference / MILLISECONDS_IN_DAY) + 1; -} -module.exports = exports.default; + this.message = message; + this.type = type; -/***/ }), + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } -/***/ 8493: -/***/ ((module, exports, __nccwpck_require__) => { + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} -"use strict"; +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; +let convert; +try { + convert = (__nccwpck_require__(3975).convert); +} catch (e) {} -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = getUTCISOWeek; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(3061)); -var _index3 = _interopRequireDefault(__nccwpck_require__(1478)); -var _index4 = _interopRequireDefault(__nccwpck_require__(2063)); -var MILLISECONDS_IN_WEEK = 604800000; -function getUTCISOWeek(dirtyDate) { - (0, _index4.default)(1, arguments); - var date = (0, _index.default)(dirtyDate); - var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime(); - - // Round the number of days to the nearest integer - // because the number of milliseconds in a week is not constant - // (e.g. it's different in the week of the daylight saving time clock shift) - return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; -} -module.exports = exports.default; +const INTERNALS = Symbol('Body internals'); -/***/ }), +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; -/***/ 7170: -/***/ ((module, exports, __nccwpck_require__) => { +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; -"use strict"; + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = getUTCISOWeekYear; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2063)); -var _index3 = _interopRequireDefault(__nccwpck_require__(3061)); -function getUTCISOWeekYear(dirtyDate) { - (0, _index2.default)(1, arguments); - var date = (0, _index.default)(dirtyDate); - var year = date.getUTCFullYear(); - var fourthOfJanuaryOfNextYear = new Date(0); - fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4); - fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0); - var startOfNextYear = (0, _index3.default)(fourthOfJanuaryOfNextYear); - var fourthOfJanuaryOfThisYear = new Date(0); - fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4); - fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0); - var startOfThisYear = (0, _index3.default)(fourthOfJanuaryOfThisYear); - if (date.getTime() >= startOfNextYear.getTime()) { - return year + 1; - } else if (date.getTime() >= startOfThisYear.getTime()) { - return year; - } else { - return year - 1; - } -} -module.exports = exports.default; + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; -/***/ }), + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} -/***/ 8761: -/***/ ((module, exports, __nccwpck_require__) => { +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, -"use strict"; + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = getUTCWeek; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2258)); -var _index3 = _interopRequireDefault(__nccwpck_require__(2629)); -var _index4 = _interopRequireDefault(__nccwpck_require__(2063)); -var MILLISECONDS_IN_WEEK = 604800000; -function getUTCWeek(dirtyDate, options) { - (0, _index4.default)(1, arguments); - var date = (0, _index.default)(dirtyDate); - var diff = (0, _index2.default)(date, options).getTime() - (0, _index3.default)(date, options).getTime(); - - // Round the number of days to the nearest integer - // because the number of milliseconds in a week is not constant - // (e.g. it's different in the week of the daylight saving time clock shift) - return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; -} -module.exports = exports.default; + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, -/***/ }), + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; -/***/ 8050: -/***/ ((module, exports, __nccwpck_require__) => { + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, -"use strict"; + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = getUTCWeekYear; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2063)); -var _index3 = _interopRequireDefault(__nccwpck_require__(2258)); -var _index4 = _interopRequireDefault(__nccwpck_require__(1985)); -var _index5 = __nccwpck_require__(9307); -function getUTCWeekYear(dirtyDate, options) { - var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - (0, _index2.default)(1, arguments); - var date = (0, _index.default)(dirtyDate); - var year = date.getUTCFullYear(); - var defaultOptions = (0, _index5.getDefaultOptions)(); - var firstWeekContainsDate = (0, _index4.default)((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1); - - // Test if weekStartsOn is between 1 and 7 _and_ is not NaN - if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { - throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); - } - var firstWeekOfNextYear = new Date(0); - firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate); - firstWeekOfNextYear.setUTCHours(0, 0, 0, 0); - var startOfNextYear = (0, _index3.default)(firstWeekOfNextYear, options); - var firstWeekOfThisYear = new Date(0); - firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate); - firstWeekOfThisYear.setUTCHours(0, 0, 0, 0); - var startOfThisYear = (0, _index3.default)(firstWeekOfThisYear, options); - if (date.getTime() >= startOfNextYear.getTime()) { - return year + 1; - } else if (date.getTime() >= startOfThisYear.getTime()) { - return year; - } else { - return year - 1; - } -} -module.exports = exports.default; + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; -/***/ }), + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; -/***/ 2509: -/***/ ((__unused_webpack_module, exports) => { +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); -"use strict"; +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.isProtectedDayOfYearToken = isProtectedDayOfYearToken; -exports.isProtectedWeekYearToken = isProtectedWeekYearToken; -exports.throwProtectedError = throwProtectedError; -var protectedDayOfYearTokens = ['D', 'DD']; -var protectedWeekYearTokens = ['YY', 'YYYY']; -function isProtectedDayOfYearToken(token) { - return protectedDayOfYearTokens.indexOf(token) !== -1; -} -function isProtectedWeekYearToken(token) { - return protectedWeekYearTokens.indexOf(token) !== -1; -} -function throwProtectedError(token, format, input) { - if (token === 'YYYY') { - throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(format, "`) for formatting years to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } else if (token === 'YY') { - throw new RangeError("Use `yy` instead of `YY` (in `".concat(format, "`) for formatting years to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } else if (token === 'D') { - throw new RangeError("Use `d` instead of `D` (in `".concat(format, "`) for formatting days of the month to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } else if (token === 'DD') { - throw new RangeError("Use `dd` instead of `DD` (in `".concat(format, "`) for formatting days of the month to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } -} + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } -/***/ }), + this[INTERNALS].disturbed = true; -/***/ 2063: -/***/ ((module, exports) => { + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } -"use strict"; + let body = this.body; + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = requiredArgs; -function requiredArgs(required, args) { - if (args.length < required) { - throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present'); - } -} -module.exports = exports.default; + // body is blob + if (isBlob(body)) { + body = body.stream(); + } -/***/ }), + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } -/***/ 3061: -/***/ ((module, exports, __nccwpck_require__) => { + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } -"use strict"; + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + return new Body.Promise(function (resolve, reject) { + let resTimeout; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = startOfUTCISOWeek; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2063)); -function startOfUTCISOWeek(dirtyDate) { - (0, _index2.default)(1, arguments); - var weekStartsOn = 1; - var date = (0, _index.default)(dirtyDate); - var day = date.getUTCDay(); - var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; - date.setUTCDate(date.getUTCDate() - diff); - date.setUTCHours(0, 0, 0, 0); - return date; -} -module.exports = exports.default; + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } -/***/ }), + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); -/***/ 1478: -/***/ ((module, exports, __nccwpck_require__) => { + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } -"use strict"; + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + accumBytes += chunk.length; + accum.push(chunk); + }); -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = startOfUTCISOWeekYear; -var _index = _interopRequireDefault(__nccwpck_require__(7170)); -var _index2 = _interopRequireDefault(__nccwpck_require__(3061)); -var _index3 = _interopRequireDefault(__nccwpck_require__(2063)); -function startOfUTCISOWeekYear(dirtyDate) { - (0, _index3.default)(1, arguments); - var year = (0, _index.default)(dirtyDate); - var fourthOfJanuary = new Date(0); - fourthOfJanuary.setUTCFullYear(year, 0, 4); - fourthOfJanuary.setUTCHours(0, 0, 0, 0); - var date = (0, _index2.default)(fourthOfJanuary); - return date; -} -module.exports = exports.default; + body.on('end', function () { + if (abort) { + return; + } -/***/ }), + clearTimeout(resTimeout); -/***/ 2258: -/***/ ((module, exports, __nccwpck_require__) => { + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} -"use strict"; +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = startOfUTCWeek; -var _index = _interopRequireDefault(__nccwpck_require__(6477)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2063)); -var _index3 = _interopRequireDefault(__nccwpck_require__(1985)); -var _index4 = __nccwpck_require__(9307); -function startOfUTCWeek(dirtyDate, options) { - var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - (0, _index2.default)(1, arguments); - var defaultOptions = (0, _index4.getDefaultOptions)(); - var weekStartsOn = (0, _index3.default)((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); - - // Test if weekStartsOn is between 0 and 6 _and_ is not NaN - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); - } - var date = (0, _index.default)(dirtyDate); - var day = date.getUTCDay(); - var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; - date.setUTCDate(date.getUTCDate() - diff); - date.setUTCHours(0, 0, 0, 0); - return date; -} -module.exports = exports.default; + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } -/***/ }), + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); -/***/ 2629: -/***/ ((module, exports, __nccwpck_require__) => { + // html5 + if (!res && str) { + res = / { + // prevent decode issues when sites use incorrect encoding + // ref: https://hsivonen.fi/encoding-menu/ + if (charset === 'gb2312' || charset === 'gbk') { + charset = 'gb18030'; + } + } -"use strict"; + // turn raw buffers into a single utf-8 buffer + return convert(buffer, 'UTF-8', charset).toString(); +} +/** + * Detect a URLSearchParams object + * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143 + * + * @param Object obj Object to detect by type or brand + * @return String + */ +function isURLSearchParams(obj) { + // Duck-typing as a necessary condition. + if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') { + return false; + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = toInteger; -function toInteger(dirtyNumber) { - if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { - return NaN; - } - var number = Number(dirtyNumber); - if (isNaN(number)) { - return number; - } - return number < 0 ? Math.ceil(number) : Math.floor(number); + // Brand-checking and more duck-typing as optional condition. + return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function'; } -module.exports = exports.default; -/***/ }), +/** + * Check if `obj` is a W3C `Blob` object (which `File` inherits from) + * @param {*} obj + * @return {boolean} + */ +function isBlob(obj) { + return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); +} -/***/ 524: -/***/ ((module, exports, __nccwpck_require__) => { +/** + * Clone body given Res/Req instance + * + * @param Mixed instance Response or Request instance + * @return Mixed + */ +function clone(instance) { + let p1, p2; + let body = instance.body; -"use strict"; + // don't allow cloning a used body + if (instance.bodyUsed) { + throw new Error('cannot clone body after it is used'); + } + + // check that body is a stream and not form-data object + // note: we can't clone the form-data object without having it as a dependency + if (body instanceof Stream && typeof body.getBoundary !== 'function') { + // tee instance body + p1 = new PassThrough(); + p2 = new PassThrough(); + body.pipe(p1); + body.pipe(p2); + // set instance body to teed body and return the other teed body + instance[INTERNALS].body = p1; + body = p2; + } + return body; +} -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = addMilliseconds; -var _index = _interopRequireDefault(__nccwpck_require__(1985)); -var _index2 = _interopRequireDefault(__nccwpck_require__(6477)); -var _index3 = _interopRequireDefault(__nccwpck_require__(2063)); /** - * @name addMilliseconds - * @category Millisecond Helpers - * @summary Add the specified number of milliseconds to the given date. - * - * @description - * Add the specified number of milliseconds to the given date. + * Performs the operation "extract a `Content-Type` value from |object|" as + * specified in the specification: + * https://fetch.spec.whatwg.org/#concept-bodyinit-extract * - * @param {Date|Number} date - the date to be changed - * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`. - * @returns {Date} the new date with the milliseconds added - * @throws {TypeError} 2 arguments required + * This function assumes that instance.body is present. * - * @example - * // Add 750 milliseconds to 10 July 2014 12:45:30.000: - * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) - * //=> Thu Jul 10 2014 12:45:30.750 + * @param Mixed instance Any options.body input */ -function addMilliseconds(dirtyDate, dirtyAmount) { - (0, _index3.default)(2, arguments); - var timestamp = (0, _index2.default)(dirtyDate).getTime(); - var amount = (0, _index.default)(dirtyAmount); - return new Date(timestamp + amount); +function extractContentType(body) { + if (body === null) { + // body is null + return null; + } else if (typeof body === 'string') { + // body is string + return 'text/plain;charset=UTF-8'; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + return 'application/x-www-form-urlencoded;charset=UTF-8'; + } else if (isBlob(body)) { + // body is blob + return body.type || null; + } else if (Buffer.isBuffer(body)) { + // body is buffer + return null; + } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + return null; + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + return null; + } else if (typeof body.getBoundary === 'function') { + // detect form data input from form-data module + return `multipart/form-data;boundary=${body.getBoundary()}`; + } else if (body instanceof Stream) { + // body is stream + // can't really do much about this + return null; + } else { + // Body constructor defaults other things to string + return 'text/plain;charset=UTF-8'; + } } -module.exports = exports.default; - -/***/ }), - -/***/ 2168: -/***/ ((module, exports, __nccwpck_require__) => { - -"use strict"; +/** + * The Fetch Standard treats this as if "total bytes" is a property on the body. + * For us, we have to explicitly get it with a function. + * + * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes + * + * @param Body instance Instance of Body + * @return Number? Number of bytes, or null if not possible + */ +function getTotalBytes(instance) { + const body = instance.body; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = format; -var _index = _interopRequireDefault(__nccwpck_require__(9920)); -var _index2 = _interopRequireDefault(__nccwpck_require__(7923)); -var _index3 = _interopRequireDefault(__nccwpck_require__(6477)); -var _index4 = _interopRequireDefault(__nccwpck_require__(9257)); -var _index5 = _interopRequireDefault(__nccwpck_require__(8387)); -var _index6 = _interopRequireDefault(__nccwpck_require__(7032)); -var _index7 = __nccwpck_require__(2509); -var _index8 = _interopRequireDefault(__nccwpck_require__(1985)); -var _index9 = _interopRequireDefault(__nccwpck_require__(2063)); -var _index10 = __nccwpck_require__(9307); -var _index11 = _interopRequireDefault(__nccwpck_require__(618)); -// This RegExp consists of three parts separated by `|`: -// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token -// (one of the certain letters followed by `o`) -// - (\w)\1* matches any sequences of the same letter -// - '' matches two quote characters in a row -// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), -// except a single quote symbol, which ends the sequence. -// Two quote characters do not end the sequence. -// If there is no matching single quote -// then the sequence will continue until the end of the string. -// - . matches any single character unmatched by previous parts of the RegExps -var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; -// This RegExp catches symbols escaped by quotes, and also -// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` -var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; -var escapedStringRegExp = /^'([^]*?)'?$/; -var doubleQuoteRegExp = /''/g; -var unescapedLatinCharacterRegExp = /[a-zA-Z]/; + if (body === null) { + // body is null + return 0; + } else if (isBlob(body)) { + return body.size; + } else if (Buffer.isBuffer(body)) { + // body is buffer + return body.length; + } else if (body && typeof body.getLengthSync === 'function') { + // detect form data input from form-data module + if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x + body.hasKnownLength && body.hasKnownLength()) { + // 2.x + return body.getLengthSync(); + } + return null; + } else { + // body is stream + return null; + } +} /** - * @name format - * @category Common Helpers - * @summary Format the date. - * - * @description - * Return the formatted date string in the given format. The result may vary by locale. - * - * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. - * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * - * The characters wrapped between two single quotes characters (') are escaped. - * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. - * (see the last example) + * Write a Body to a Node.js WritableStream (e.g. http.Request) object. * - * Format of the string is based on Unicode Technical Standard #35: - * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table - * with a few additions (see note 7 below the table). - * - * Accepted patterns: - * | Unit | Pattern | Result examples | Notes | - * |---------------------------------|---------|-----------------------------------|-------| - * | Era | G..GGG | AD, BC | | - * | | GGGG | Anno Domini, Before Christ | 2 | - * | | GGGGG | A, B | | - * | Calendar year | y | 44, 1, 1900, 2017 | 5 | - * | | yo | 44th, 1st, 0th, 17th | 5,7 | - * | | yy | 44, 01, 00, 17 | 5 | - * | | yyy | 044, 001, 1900, 2017 | 5 | - * | | yyyy | 0044, 0001, 1900, 2017 | 5 | - * | | yyyyy | ... | 3,5 | - * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 | - * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 | - * | | YY | 44, 01, 00, 17 | 5,8 | - * | | YYY | 044, 001, 1900, 2017 | 5 | - * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 | - * | | YYYYY | ... | 3,5 | - * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 | - * | | RR | -43, 00, 01, 1900, 2017 | 5,7 | - * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 | - * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 | - * | | RRRRR | ... | 3,5,7 | - * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 | - * | | uu | -43, 01, 1900, 2017 | 5 | - * | | uuu | -043, 001, 1900, 2017 | 5 | - * | | uuuu | -0043, 0001, 1900, 2017 | 5 | - * | | uuuuu | ... | 3,5 | - * | Quarter (formatting) | Q | 1, 2, 3, 4 | | - * | | Qo | 1st, 2nd, 3rd, 4th | 7 | - * | | QQ | 01, 02, 03, 04 | | - * | | QQQ | Q1, Q2, Q3, Q4 | | - * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | - * | | QQQQQ | 1, 2, 3, 4 | 4 | - * | Quarter (stand-alone) | q | 1, 2, 3, 4 | | - * | | qo | 1st, 2nd, 3rd, 4th | 7 | - * | | qq | 01, 02, 03, 04 | | - * | | qqq | Q1, Q2, Q3, Q4 | | - * | | qqqq | 1st quarter, 2nd quarter, ... | 2 | - * | | qqqqq | 1, 2, 3, 4 | 4 | - * | Month (formatting) | M | 1, 2, ..., 12 | | - * | | Mo | 1st, 2nd, ..., 12th | 7 | - * | | MM | 01, 02, ..., 12 | | - * | | MMM | Jan, Feb, ..., Dec | | - * | | MMMM | January, February, ..., December | 2 | - * | | MMMMM | J, F, ..., D | | - * | Month (stand-alone) | L | 1, 2, ..., 12 | | - * | | Lo | 1st, 2nd, ..., 12th | 7 | - * | | LL | 01, 02, ..., 12 | | - * | | LLL | Jan, Feb, ..., Dec | | - * | | LLLL | January, February, ..., December | 2 | - * | | LLLLL | J, F, ..., D | | - * | Local week of year | w | 1, 2, ..., 53 | | - * | | wo | 1st, 2nd, ..., 53th | 7 | - * | | ww | 01, 02, ..., 53 | | - * | ISO week of year | I | 1, 2, ..., 53 | 7 | - * | | Io | 1st, 2nd, ..., 53th | 7 | - * | | II | 01, 02, ..., 53 | 7 | - * | Day of month | d | 1, 2, ..., 31 | | - * | | do | 1st, 2nd, ..., 31st | 7 | - * | | dd | 01, 02, ..., 31 | | - * | Day of year | D | 1, 2, ..., 365, 366 | 9 | - * | | Do | 1st, 2nd, ..., 365th, 366th | 7 | - * | | DD | 01, 02, ..., 365, 366 | 9 | - * | | DDD | 001, 002, ..., 365, 366 | | - * | | DDDD | ... | 3 | - * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | | - * | | EEEE | Monday, Tuesday, ..., Sunday | 2 | - * | | EEEEE | M, T, W, T, F, S, S | | - * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | | - * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 | - * | | io | 1st, 2nd, ..., 7th | 7 | - * | | ii | 01, 02, ..., 07 | 7 | - * | | iii | Mon, Tue, Wed, ..., Sun | 7 | - * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 | - * | | iiiii | M, T, W, T, F, S, S | 7 | - * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 | - * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | | - * | | eo | 2nd, 3rd, ..., 1st | 7 | - * | | ee | 02, 03, ..., 01 | | - * | | eee | Mon, Tue, Wed, ..., Sun | | - * | | eeee | Monday, Tuesday, ..., Sunday | 2 | - * | | eeeee | M, T, W, T, F, S, S | | - * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | | - * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | | - * | | co | 2nd, 3rd, ..., 1st | 7 | - * | | cc | 02, 03, ..., 01 | | - * | | ccc | Mon, Tue, Wed, ..., Sun | | - * | | cccc | Monday, Tuesday, ..., Sunday | 2 | - * | | ccccc | M, T, W, T, F, S, S | | - * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | | - * | AM, PM | a..aa | AM, PM | | - * | | aaa | am, pm | | - * | | aaaa | a.m., p.m. | 2 | - * | | aaaaa | a, p | | - * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | | - * | | bbb | am, pm, noon, midnight | | - * | | bbbb | a.m., p.m., noon, midnight | 2 | - * | | bbbbb | a, p, n, mi | | - * | Flexible day period | B..BBB | at night, in the morning, ... | | - * | | BBBB | at night, in the morning, ... | 2 | - * | | BBBBB | at night, in the morning, ... | | - * | Hour [1-12] | h | 1, 2, ..., 11, 12 | | - * | | ho | 1st, 2nd, ..., 11th, 12th | 7 | - * | | hh | 01, 02, ..., 11, 12 | | - * | Hour [0-23] | H | 0, 1, 2, ..., 23 | | - * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 | - * | | HH | 00, 01, 02, ..., 23 | | - * | Hour [0-11] | K | 1, 2, ..., 11, 0 | | - * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 | - * | | KK | 01, 02, ..., 11, 00 | | - * | Hour [1-24] | k | 24, 1, 2, ..., 23 | | - * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 | - * | | kk | 24, 01, 02, ..., 23 | | - * | Minute | m | 0, 1, ..., 59 | | - * | | mo | 0th, 1st, ..., 59th | 7 | - * | | mm | 00, 01, ..., 59 | | - * | Second | s | 0, 1, ..., 59 | | - * | | so | 0th, 1st, ..., 59th | 7 | - * | | ss | 00, 01, ..., 59 | | - * | Fraction of second | S | 0, 1, ..., 9 | | - * | | SS | 00, 01, ..., 99 | | - * | | SSS | 000, 001, ..., 999 | | - * | | SSSS | ... | 3 | - * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | | - * | | XX | -0800, +0530, Z | | - * | | XXX | -08:00, +05:30, Z | | - * | | XXXX | -0800, +0530, Z, +123456 | 2 | - * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | - * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | | - * | | xx | -0800, +0530, +0000 | | - * | | xxx | -08:00, +05:30, +00:00 | 2 | - * | | xxxx | -0800, +0530, +0000, +123456 | | - * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | - * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | | - * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 | - * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 | - * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 | - * | Seconds timestamp | t | 512969520 | 7 | - * | | tt | ... | 3,7 | - * | Milliseconds timestamp | T | 512969520900 | 7 | - * | | TT | ... | 3,7 | - * | Long localized date | P | 04/29/1453 | 7 | - * | | PP | Apr 29, 1453 | 7 | - * | | PPP | April 29th, 1453 | 7 | - * | | PPPP | Friday, April 29th, 1453 | 2,7 | - * | Long localized time | p | 12:00 AM | 7 | - * | | pp | 12:00:00 AM | 7 | - * | | ppp | 12:00:00 AM GMT+2 | 7 | - * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 | - * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 | - * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 | - * | | PPPppp | April 29th, 1453 at ... | 7 | - * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 | - * Notes: - * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale - * are the same as "stand-alone" units, but are different in some languages. - * "Formatting" units are declined according to the rules of the language - * in the context of a date. "Stand-alone" units are always nominative singular: - * - * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` - * - * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` - * - * 2. Any sequence of the identical letters is a pattern, unless it is escaped by - * the single quote characters (see below). - * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`) - * the output will be the same as default pattern for this unit, usually - * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units - * are marked with "2" in the last column of the table. - * - * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'` - * - * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'` - * - * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'` - * - * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'` - * - * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'` - * - * 3. Some patterns could be unlimited length (such as `yyyyyyyy`). - * The output will be padded with zeros to match the length of the pattern. - * - * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'` - * - * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. - * These tokens represent the shortest form of the quarter. - * - * 5. The main difference between `y` and `u` patterns are B.C. years: - * - * | Year | `y` | `u` | - * |------|-----|-----| - * | AC 1 | 1 | 1 | - * | BC 1 | 1 | 0 | - * | BC 2 | 2 | -1 | - * - * Also `yy` always returns the last two digits of a year, - * while `uu` pads single digit years to 2 characters and returns other years unchanged: - * - * | Year | `yy` | `uu` | - * |------|------|------| - * | 1 | 01 | 01 | - * | 14 | 14 | 14 | - * | 376 | 76 | 376 | - * | 1453 | 53 | 1453 | - * - * The same difference is true for local and ISO week-numbering years (`Y` and `R`), - * except local week-numbering years are dependent on `options.weekStartsOn` - * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear} - * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}). - * - * 6. Specific non-location timezones are currently unavailable in `date-fns`, - * so right now these tokens fall back to GMT timezones. - * - * 7. These patterns are not in the Unicode Technical Standard #35: - * - `i`: ISO day of week - * - `I`: ISO week of year - * - `R`: ISO week-numbering year - * - `t`: seconds timestamp - * - `T`: milliseconds timestamp - * - `o`: ordinal number modifier - * - `P`: long localized date - * - `p`: long localized time - * - * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. - * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * - * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month. - * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * - * @param {Date|Number} date - the original date - * @param {String} format - the string of tokens - * @param {Object} [options] - an object with options. - * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} - * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) - * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is - * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`; - * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`; - * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * @returns {String} the formatted date string - * @throws {TypeError} 2 arguments required - * @throws {RangeError} `date` must not be Invalid Date - * @throws {RangeError} `options.locale` must contain `localize` property - * @throws {RangeError} `options.locale` must contain `formatLong` property - * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 - * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 - * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md - * @throws {RangeError} format string contains an unescaped latin alphabet character - * - * @example - * // Represent 11 February 2014 in middle-endian format: - * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy') - * //=> '02/11/2014' - * - * @example - * // Represent 2 July 2014 in Esperanto: - * import { eoLocale } from 'date-fns/locale/eo' - * const result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", { - * locale: eoLocale - * }) - * //=> '2-a de julio 2014' - * - * @example - * // Escape string by single quote characters: - * const result = format(new Date(2014, 6, 2, 15), "h 'o''clock'") - * //=> "3 o'clock" + * @param Body instance Instance of Body + * @return Void */ +function writeToStream(dest, instance) { + const body = instance.body; -function format(dirtyDate, dirtyFormatStr, options) { - var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4; - (0, _index9.default)(2, arguments); - var formatStr = String(dirtyFormatStr); - var defaultOptions = (0, _index10.getDefaultOptions)(); - var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : _index11.default; - var firstWeekContainsDate = (0, _index8.default)((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); - - // Test if weekStartsOn is between 1 and 7 _and_ is not NaN - if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { - throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); - } - var weekStartsOn = (0, _index8.default)((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); - // Test if weekStartsOn is between 0 and 6 _and_ is not NaN - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); - } - if (!locale.localize) { - throw new RangeError('locale must contain localize property'); - } - if (!locale.formatLong) { - throw new RangeError('locale must contain formatLong property'); - } - var originalDate = (0, _index3.default)(dirtyDate); - if (!(0, _index.default)(originalDate)) { - throw new RangeError('Invalid time value'); - } - - // Convert the date in system timezone to the same date in UTC+00:00 timezone. - // This ensures that when UTC functions will be implemented, locales will be compatible with them. - // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376 - var timezoneOffset = (0, _index6.default)(originalDate); - var utcDate = (0, _index2.default)(originalDate, timezoneOffset); - var formatterOptions = { - firstWeekContainsDate: firstWeekContainsDate, - weekStartsOn: weekStartsOn, - locale: locale, - _originalDate: originalDate - }; - var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) { - var firstCharacter = substring[0]; - if (firstCharacter === 'p' || firstCharacter === 'P') { - var longFormatter = _index5.default[firstCharacter]; - return longFormatter(substring, locale.formatLong); - } - return substring; - }).join('').match(formattingTokensRegExp).map(function (substring) { - // Replace two single quote characters with one single quote character - if (substring === "''") { - return "'"; - } - var firstCharacter = substring[0]; - if (firstCharacter === "'") { - return cleanEscapedString(substring); - } - var formatter = _index4.default[firstCharacter]; - if (formatter) { - if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && (0, _index7.isProtectedWeekYearToken)(substring)) { - (0, _index7.throwProtectedError)(substring, dirtyFormatStr, String(dirtyDate)); - } - if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && (0, _index7.isProtectedDayOfYearToken)(substring)) { - (0, _index7.throwProtectedError)(substring, dirtyFormatStr, String(dirtyDate)); - } - return formatter(utcDate, substring, locale.localize, formatterOptions); - } - if (firstCharacter.match(unescapedLatinCharacterRegExp)) { - throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`'); - } - return substring; - }).join(''); - return result; -} -function cleanEscapedString(input) { - var matched = input.match(escapedStringRegExp); - if (!matched) { - return input; - } - return matched[1].replace(doubleQuoteRegExp, "'"); + if (body === null) { + // body is null + dest.end(); + } else if (isBlob(body)) { + body.stream().pipe(dest); + } else if (Buffer.isBuffer(body)) { + // body is buffer + dest.write(body); + dest.end(); + } else { + // body is stream + body.pipe(dest); + } } -module.exports = exports.default; - -/***/ }), - -/***/ 6801: -/***/ ((module, exports, __nccwpck_require__) => { - -"use strict"; +// expose Promise +Body.Promise = global.Promise; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = isDate; -var _typeof2 = _interopRequireDefault(__nccwpck_require__(5605)); -var _index = _interopRequireDefault(__nccwpck_require__(2063)); /** - * @name isDate - * @category Common Helpers - * @summary Is the given value a date? - * - * @description - * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes. - * - * @param {*} value - the value to check - * @returns {boolean} true if the given value is a date - * @throws {TypeError} 1 arguments required - * - * @example - * // For a valid date: - * const result = isDate(new Date()) - * //=> true - * - * @example - * // For an invalid date: - * const result = isDate(new Date(NaN)) - * //=> true - * - * @example - * // For some value: - * const result = isDate('2014-02-31') - * //=> false + * headers.js * - * @example - * // For an object: - * const result = isDate({}) - * //=> false + * Headers class offers convenient helpers */ -function isDate(value) { - (0, _index.default)(1, arguments); - return value instanceof Date || (0, _typeof2.default)(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]'; -} -module.exports = exports.default; - -/***/ }), -/***/ 9920: -/***/ ((module, exports, __nccwpck_require__) => { +const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; +const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; -"use strict"; +function validateName(name) { + name = `${name}`; + if (invalidTokenRegex.test(name) || name === '') { + throw new TypeError(`${name} is not a legal HTTP header name`); + } +} +function validateValue(value) { + value = `${value}`; + if (invalidHeaderCharRegex.test(value)) { + throw new TypeError(`${value} is not a legal HTTP header value`); + } +} -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = isValid; -var _index = _interopRequireDefault(__nccwpck_require__(6801)); -var _index2 = _interopRequireDefault(__nccwpck_require__(6477)); -var _index3 = _interopRequireDefault(__nccwpck_require__(2063)); /** - * @name isValid - * @category Common Helpers - * @summary Is the given date valid? - * - * @description - * Returns false if argument is Invalid Date and true otherwise. - * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate} - * Invalid Date is a Date, whose time value is NaN. - * - * Time value of Date: http://es5.github.io/#x15.9.1.1 - * - * @param {*} date - the date to check - * @returns {Boolean} the date is valid - * @throws {TypeError} 1 argument required - * - * @example - * // For the valid date: - * const result = isValid(new Date(2014, 1, 31)) - * //=> true + * Find the key in the map object given a header name. * - * @example - * // For the value, convertable into a date: - * const result = isValid(1393804800000) - * //=> true + * Returns undefined if not found. * - * @example - * // For the invalid date: - * const result = isValid(new Date('')) - * //=> false + * @param String name Header name + * @return String|Undefined */ -function isValid(dirtyDate) { - (0, _index3.default)(1, arguments); - if (!(0, _index.default)(dirtyDate) && typeof dirtyDate !== 'number') { - return false; - } - var date = (0, _index2.default)(dirtyDate); - return !isNaN(Number(date)); +function find(map, name) { + name = name.toLowerCase(); + for (const key in map) { + if (key.toLowerCase() === name) { + return key; + } + } + return undefined; } -module.exports = exports.default; -/***/ }), +const MAP = Symbol('map'); +class Headers { + /** + * Headers class + * + * @param Object headers Response headers + * @return Void + */ + constructor() { + let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; -/***/ 1244: -/***/ ((module, exports) => { + this[MAP] = Object.create(null); -"use strict"; + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = buildFormatLongFn; -function buildFormatLongFn(args) { - return function () { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - // TODO: Remove String() - var width = options.width ? String(options.width) : args.defaultWidth; - var format = args.formats[width] || args.formats[args.defaultWidth]; - return format; - }; -} -module.exports = exports.default; + return; + } -/***/ }), + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } -/***/ 3647: -/***/ ((module, exports) => { + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } -"use strict"; + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = buildLocalizeFn; -function buildLocalizeFn(args) { - return function (dirtyIndex, options) { - var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone'; - var valuesArray; - if (context === 'formatting' && args.formattingValues) { - var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; - var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth; - valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; - } else { - var _defaultWidth = args.defaultWidth; - var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth; - valuesArray = args.values[_width] || args.values[_defaultWidth]; - } - var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; - // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it! - return valuesArray[index]; - }; -} -module.exports = exports.default; + return this[MAP][key].join(', '); + } -/***/ }), + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; -/***/ 4029: -/***/ ((module, exports) => { + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; -"use strict"; + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = buildMatchFn; -function buildMatchFn(args) { - return function (string) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var width = options.width; - var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; - var matchResult = string.match(matchPattern); - if (!matchResult) { - return null; - } - var matchedString = matchResult[0]; - var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; - var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) { - return pattern.test(matchedString); - }) : findKey(parsePatterns, function (pattern) { - return pattern.test(matchedString); - }); - var value; - value = args.valueCallback ? args.valueCallback(key) : key; - value = options.valueCallback ? options.valueCallback(value) : value; - var rest = string.slice(matchedString.length); - return { - value: value, - rest: rest - }; - }; -} -function findKey(object, predicate) { - for (var key in object) { - if (object.hasOwnProperty(key) && predicate(object[key])) { - return key; - } - } - return undefined; -} -function findIndex(array, predicate) { - for (var key = 0; key < array.length; key++) { - if (predicate(array[key])) { - return key; - } - } - return undefined; -} -module.exports = exports.default; - -/***/ }), - -/***/ 3364: -/***/ ((module, exports) => { + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } -"use strict"; + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = buildMatchPatternFn; -function buildMatchPatternFn(args) { - return function (string) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var matchResult = string.match(args.matchPattern); - if (!matchResult) return null; - var matchedString = matchResult[0]; - var parseResult = string.match(args.parsePattern); - if (!parseResult) return null; - var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; - value = options.valueCallback ? options.valueCallback(value) : value; - var rest = string.slice(matchedString.length); - return { - value: value, - rest: rest - }; - }; -} -module.exports = exports.default; + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } -/***/ }), + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } -/***/ 4846: -/***/ ((module, exports) => { + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } -"use strict"; + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var formatDistanceLocale = { - lessThanXSeconds: { - one: 'less than a second', - other: 'less than {{count}} seconds' - }, - xSeconds: { - one: '1 second', - other: '{{count}} seconds' - }, - halfAMinute: 'half a minute', - lessThanXMinutes: { - one: 'less than a minute', - other: 'less than {{count}} minutes' - }, - xMinutes: { - one: '1 minute', - other: '{{count}} minutes' - }, - aboutXHours: { - one: 'about 1 hour', - other: 'about {{count}} hours' - }, - xHours: { - one: '1 hour', - other: '{{count}} hours' - }, - xDays: { - one: '1 day', - other: '{{count}} days' - }, - aboutXWeeks: { - one: 'about 1 week', - other: 'about {{count}} weeks' - }, - xWeeks: { - one: '1 week', - other: '{{count}} weeks' - }, - aboutXMonths: { - one: 'about 1 month', - other: 'about {{count}} months' - }, - xMonths: { - one: '1 month', - other: '{{count}} months' - }, - aboutXYears: { - one: 'about 1 year', - other: 'about {{count}} years' - }, - xYears: { - one: '1 year', - other: '{{count}} years' - }, - overXYears: { - one: 'over 1 year', - other: 'over {{count}} years' - }, - almostXYears: { - one: 'almost 1 year', - other: 'almost {{count}} years' - } -}; -var formatDistance = function formatDistance(token, count, options) { - var result; - var tokenValue = formatDistanceLocale[token]; - if (typeof tokenValue === 'string') { - result = tokenValue; - } else if (count === 1) { - result = tokenValue.one; - } else { - result = tokenValue.other.replace('{{count}}', count.toString()); - } - if (options !== null && options !== void 0 && options.addSuffix) { - if (options.comparison && options.comparison > 0) { - return 'in ' + result; - } else { - return result + ' ago'; - } - } - return result; -}; -var _default = formatDistance; -exports["default"] = _default; -module.exports = exports.default; +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); -/***/ }), +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; -/***/ 368: -/***/ ((module, exports, __nccwpck_require__) => { + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} -"use strict"; +const INTERNAL = Symbol('internal'); +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(1244)); -var dateFormats = { - full: 'EEEE, MMMM do, y', - long: 'MMMM do, y', - medium: 'MMM d, y', - short: 'MM/dd/yyyy' -}; -var timeFormats = { - full: 'h:mm:ss a zzzz', - long: 'h:mm:ss a z', - medium: 'h:mm:ss a', - short: 'h:mm a' -}; -var dateTimeFormats = { - full: "{{date}} 'at' {{time}}", - long: "{{date}} 'at' {{time}}", - medium: '{{date}}, {{time}}', - short: '{{date}}, {{time}}' -}; -var formatLong = { - date: (0, _index.default)({ - formats: dateFormats, - defaultWidth: 'full' - }), - time: (0, _index.default)({ - formats: timeFormats, - defaultWidth: 'full' - }), - dateTime: (0, _index.default)({ - formats: dateTimeFormats, - defaultWidth: 'full' - }) -}; -var _default = formatLong; -exports["default"] = _default; -module.exports = exports.default; +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } -/***/ }), + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; -/***/ 2430: -/***/ ((module, exports) => { + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } -"use strict"; + this[INTERNAL].index = index + 1; + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var formatRelativeLocale = { - lastWeek: "'last' eeee 'at' p", - yesterday: "'yesterday at' p", - today: "'today at' p", - tomorrow: "'tomorrow at' p", - nextWeek: "eeee 'at' p", - other: 'P' -}; -var formatRelative = function formatRelative(token, _date, _baseDate, _options) { - return formatRelativeLocale[token]; -}; -var _default = formatRelative; -exports["default"] = _default; -module.exports = exports.default; - -/***/ }), - -/***/ 5474: -/***/ ((module, exports, __nccwpck_require__) => { - -"use strict"; - +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(3647)); -var eraValues = { - narrow: ['B', 'A'], - abbreviated: ['BC', 'AD'], - wide: ['Before Christ', 'Anno Domini'] -}; -var quarterValues = { - narrow: ['1', '2', '3', '4'], - abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], - wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] -}; +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); -// Note: in English, the names of days of the week and months are capitalized. -// If you are making a new locale based on this one, check if the same is true for the language you're working on. -// Generally, formatted dates should look like they are in the middle of a sentence, -// e.g. in Spanish language the weekdays and months should be in the lowercase. -var monthValues = { - narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] -}; -var dayValues = { - narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] -}; -var dayPeriodValues = { - narrow: { - am: 'a', - pm: 'p', - midnight: 'mi', - noon: 'n', - morning: 'morning', - afternoon: 'afternoon', - evening: 'evening', - night: 'night' - }, - abbreviated: { - am: 'AM', - pm: 'PM', - midnight: 'midnight', - noon: 'noon', - morning: 'morning', - afternoon: 'afternoon', - evening: 'evening', - night: 'night' - }, - wide: { - am: 'a.m.', - pm: 'p.m.', - midnight: 'midnight', - noon: 'noon', - morning: 'morning', - afternoon: 'afternoon', - evening: 'evening', - night: 'night' - } -}; -var formattingDayPeriodValues = { - narrow: { - am: 'a', - pm: 'p', - midnight: 'mi', - noon: 'n', - morning: 'in the morning', - afternoon: 'in the afternoon', - evening: 'in the evening', - night: 'at night' - }, - abbreviated: { - am: 'AM', - pm: 'PM', - midnight: 'midnight', - noon: 'noon', - morning: 'in the morning', - afternoon: 'in the afternoon', - evening: 'in the evening', - night: 'at night' - }, - wide: { - am: 'a.m.', - pm: 'p.m.', - midnight: 'midnight', - noon: 'noon', - morning: 'in the morning', - afternoon: 'in the afternoon', - evening: 'in the evening', - night: 'at night' - } -}; -var ordinalNumber = function ordinalNumber(dirtyNumber, _options) { - var number = Number(dirtyNumber); + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } - // If ordinal numbers depend on context, for example, - // if they are different for different grammatical genders, - // use `options.unit`. - // - // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', - // 'day', 'hour', 'minute', 'second'. + return obj; +} - var rem100 = number % 100; - if (rem100 > 20 || rem100 < 10) { - switch (rem100 % 10) { - case 1: - return number + 'st'; - case 2: - return number + 'nd'; - case 3: - return number + 'rd'; - } - } - return number + 'th'; -}; -var localize = { - ordinalNumber: ordinalNumber, - era: (0, _index.default)({ - values: eraValues, - defaultWidth: 'wide' - }), - quarter: (0, _index.default)({ - values: quarterValues, - defaultWidth: 'wide', - argumentCallback: function argumentCallback(quarter) { - return quarter - 1; - } - }), - month: (0, _index.default)({ - values: monthValues, - defaultWidth: 'wide' - }), - day: (0, _index.default)({ - values: dayValues, - defaultWidth: 'wide' - }), - dayPeriod: (0, _index.default)({ - values: dayPeriodValues, - defaultWidth: 'wide', - formattingValues: formattingDayPeriodValues, - defaultFormattingWidth: 'wide' - }) -}; -var _default = localize; -exports["default"] = _default; -module.exports = exports.default; +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} -/***/ }), +const INTERNALS$1 = Symbol('Response internals'); -/***/ 1338: -/***/ ((module, exports, __nccwpck_require__) => { +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; -"use strict"; +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + Body.call(this, body, opts); -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(4029)); -var _index2 = _interopRequireDefault(__nccwpck_require__(3364)); -var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; -var parseOrdinalNumberPattern = /\d+/i; -var matchEraPatterns = { - narrow: /^(b|a)/i, - abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, - wide: /^(before christ|before common era|anno domini|common era)/i -}; -var parseEraPatterns = { - any: [/^b/i, /^(a|c)/i] -}; -var matchQuarterPatterns = { - narrow: /^[1234]/i, - abbreviated: /^q[1234]/i, - wide: /^[1234](th|st|nd|rd)? quarter/i -}; -var parseQuarterPatterns = { - any: [/1/i, /2/i, /3/i, /4/i] -}; -var matchMonthPatterns = { - narrow: /^[jfmasond]/i, - abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, - wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i -}; -var parseMonthPatterns = { - narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], - any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] -}; -var matchDayPatterns = { - narrow: /^[smtwf]/i, - short: /^(su|mo|tu|we|th|fr|sa)/i, - abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, - wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i -}; -var parseDayPatterns = { - narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], - any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] -}; -var matchDayPeriodPatterns = { - narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, - any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i -}; -var parseDayPeriodPatterns = { - any: { - am: /^a/i, - pm: /^p/i, - midnight: /^mi/i, - noon: /^no/i, - morning: /morning/i, - afternoon: /afternoon/i, - evening: /evening/i, - night: /night/i - } -}; -var match = { - ordinalNumber: (0, _index2.default)({ - matchPattern: matchOrdinalNumberPattern, - parsePattern: parseOrdinalNumberPattern, - valueCallback: function valueCallback(value) { - return parseInt(value, 10); - } - }), - era: (0, _index.default)({ - matchPatterns: matchEraPatterns, - defaultMatchWidth: 'wide', - parsePatterns: parseEraPatterns, - defaultParseWidth: 'any' - }), - quarter: (0, _index.default)({ - matchPatterns: matchQuarterPatterns, - defaultMatchWidth: 'wide', - parsePatterns: parseQuarterPatterns, - defaultParseWidth: 'any', - valueCallback: function valueCallback(index) { - return index + 1; - } - }), - month: (0, _index.default)({ - matchPatterns: matchMonthPatterns, - defaultMatchWidth: 'wide', - parsePatterns: parseMonthPatterns, - defaultParseWidth: 'any' - }), - day: (0, _index.default)({ - matchPatterns: matchDayPatterns, - defaultMatchWidth: 'wide', - parsePatterns: parseDayPatterns, - defaultParseWidth: 'any' - }), - dayPeriod: (0, _index.default)({ - matchPatterns: matchDayPeriodPatterns, - defaultMatchWidth: 'any', - parsePatterns: parseDayPeriodPatterns, - defaultParseWidth: 'any' - }) -}; -var _default = match; -exports["default"] = _default; -module.exports = exports.default; + const status = opts.status || 200; + const headers = new Headers(opts.headers); -/***/ }), + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } -/***/ 1773: -/***/ ((module, exports, __nccwpck_require__) => { + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } -"use strict"; + get url() { + return this[INTERNALS$1].url || ''; + } + get status() { + return this[INTERNALS$1].status; + } -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _index = _interopRequireDefault(__nccwpck_require__(4846)); -var _index2 = _interopRequireDefault(__nccwpck_require__(368)); -var _index3 = _interopRequireDefault(__nccwpck_require__(2430)); -var _index4 = _interopRequireDefault(__nccwpck_require__(5474)); -var _index5 = _interopRequireDefault(__nccwpck_require__(1338)); -/** - * @type {Locale} - * @category Locales - * @summary English locale (United States). - * @language English - * @iso-639-2 eng - * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp} - * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss} - */ -var locale = { - code: 'en-US', - formatDistance: _index.default, - formatLong: _index2.default, - formatRelative: _index3.default, - localize: _index4.default, - match: _index5.default, - options: { - weekStartsOn: 0 /* Sunday */, - firstWeekContainsDate: 1 - } -}; -var _default = locale; -exports["default"] = _default; -module.exports = exports.default; + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } -/***/ }), + get redirected() { + return this[INTERNALS$1].counter > 0; + } -/***/ 7923: -/***/ ((module, exports, __nccwpck_require__) => { + get statusText() { + return this[INTERNALS$1].statusText; + } -"use strict"; + get headers() { + return this[INTERNALS$1].headers; + } - -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = subMilliseconds; -var _index = _interopRequireDefault(__nccwpck_require__(524)); -var _index2 = _interopRequireDefault(__nccwpck_require__(2063)); -var _index3 = _interopRequireDefault(__nccwpck_require__(1985)); -/** - * @name subMilliseconds - * @category Millisecond Helpers - * @summary Subtract the specified number of milliseconds from the given date. - * - * @description - * Subtract the specified number of milliseconds from the given date. - * - * @param {Date|Number} date - the date to be changed - * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`. - * @returns {Date} the new date with the milliseconds subtracted - * @throws {TypeError} 2 arguments required - * - * @example - * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000: - * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) - * //=> Thu Jul 10 2014 12:45:29.250 - */ -function subMilliseconds(dirtyDate, dirtyAmount) { - (0, _index2.default)(2, arguments); - var amount = (0, _index3.default)(dirtyAmount); - return (0, _index.default)(dirtyDate, -amount); + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } } -module.exports = exports.default; -/***/ }), +Body.mixIn(Response.prototype); -/***/ 6477: -/***/ ((module, exports, __nccwpck_require__) => { +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); -"use strict"; +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; -var _interopRequireDefault = (__nccwpck_require__(3286)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = toDate; -var _typeof2 = _interopRequireDefault(__nccwpck_require__(5605)); -var _index = _interopRequireDefault(__nccwpck_require__(2063)); /** - * @name toDate - * @category Common Helpers - * @summary Convert the given argument to an instance of Date. - * - * @description - * Convert the given argument to an instance of Date. - * - * If the argument is an instance of Date, the function returns its clone. - * - * If the argument is a number, it is treated as a timestamp. - * - * If the argument is none of the above, the function returns Invalid Date. - * - * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`. - * - * @param {Date|Number} argument - the value to convert - * @returns {Date} the parsed date in the local time zone - * @throws {TypeError} 1 argument required - * - * @example - * // Clone the date: - * const result = toDate(new Date(2014, 1, 11, 11, 30, 30)) - * //=> Tue Feb 11 2014 11:30:30 + * Wrapper around `new URL` to handle arbitrary URLs * - * @example - * // Convert the timestamp to date: - * const result = toDate(1392098430000) - * //=> Tue Feb 11 2014 11:30:30 + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 */ -function toDate(argument) { - (0, _index.default)(1, arguments); - var argStr = Object.prototype.toString.call(argument); + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } - // Clone the date - if (argument instanceof Date || (0, _typeof2.default)(argument) === 'object' && argStr === '[object Date]') { - // Prevent the date to lose the milliseconds when passed to new Date() in IE10 - return new Date(argument.getTime()); - } else if (typeof argument === 'number' || argStr === '[object Number]') { - return new Date(argument); - } else { - if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') { - // eslint-disable-next-line no-console - console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"); - // eslint-disable-next-line no-console - console.warn(new Error().stack); - } - return new Date(NaN); - } + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); } -module.exports = exports.default; - -/***/ }), - -/***/ 8932: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; -Object.defineProperty(exports, "__esModule", ({ value: true })); +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} -class Deprecation extends Error { - constructor(message) { - super(message); // Maintains proper stack trace (only available on V8) +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} - /* istanbul ignore next */ +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } + let parsedURL; - this.name = 'Deprecation'; - } + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } -} + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); -exports.Deprecation = Deprecation; + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; -/***/ }), + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); -/***/ 3287: -/***/ ((__unused_webpack_module, exports) => { + const headers = new Headers(init.headers || input.headers || {}); -"use strict"; + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; -Object.defineProperty(exports, "__esModule", ({ value: true })); + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; -function isObject(o) { - return Object.prototype.toString.call(o) === '[object Object]'; -} + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } -function isPlainObject(o) { - var ctor,prot; + get method() { + return this[INTERNALS$2].method; + } - if (isObject(o) === false) return false; + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } - // If has modified constructor - ctor = o.constructor; - if (ctor === undefined) return true; + get headers() { + return this[INTERNALS$2].headers; + } - // If has modified prototype - prot = ctor.prototype; - if (isObject(prot) === false) return false; + get redirect() { + return this[INTERNALS$2].redirect; + } - // If constructor does not have an Object-specific method - if (prot.hasOwnProperty('isPrototypeOf') === false) { - return false; - } + get signal() { + return this[INTERNALS$2].signal; + } - // Most likely a plain Object - return true; + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } } -exports.isPlainObject = isPlainObject; - - -/***/ }), - -/***/ 467: -/***/ ((module, exports, __nccwpck_require__) => { +Body.mixIn(Request.prototype); -"use strict"; +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var Stream = _interopDefault(__nccwpck_require__(2781)); -var http = _interopDefault(__nccwpck_require__(3685)); -var Url = _interopDefault(__nccwpck_require__(7310)); -var whatwgUrl = _interopDefault(__nccwpck_require__(3323)); -var https = _interopDefault(__nccwpck_require__(5687)); -var zlib = _interopDefault(__nccwpck_require__(9796)); - -// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js - -// fix for "Readable" isn't a named export issue -const Readable = Stream.Readable; - -const BUFFER = Symbol('buffer'); -const TYPE = Symbol('type'); - -class Blob { - constructor() { - this[TYPE] = ''; - - const blobParts = arguments[0]; - const options = arguments[1]; - - const buffers = []; - let size = 0; +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === 'string' ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } - this[BUFFER] = Buffer.concat(buffers); + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } - let type = options && options.type !== undefined && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); } - get size() { - return this[BUFFER].length; + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); } - get type() { - return this[TYPE]; + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; } - text() { - return Promise.resolve(this[BUFFER].toString()); + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); } - toString() { - return '[object Blob]'; + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); } - slice() { - const size = this.size; - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === undefined) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === undefined) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); } -} -Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } -}); + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js -Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: 'Blob', - writable: false, - enumerable: false, - configurable: true -}); + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} /** - * fetch-error.js + * abort-error.js * - * FetchError interface for operational errors + * AbortError interface for cancelled requests */ /** - * Create FetchError instance + * Create AbortError instance * * @param String message Error message for human - * @param String type Error type for machine - * @param String systemError For Node.js system error - * @return FetchError + * @return AbortError */ -function FetchError(message, type, systemError) { +function AbortError(message) { Error.call(this, message); + this.type = 'aborted'; this.message = message; - this.type = type; - - // when err.type is `system`, err.code contains system error code - if (systemError) { - this.code = this.errno = systemError.code; - } // hide custom error implementation details from end-users Error.captureStackTrace(this, this.constructor); } -FetchError.prototype = Object.create(Error.prototype); -FetchError.prototype.constructor = FetchError; -FetchError.prototype.name = 'FetchError'; +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; -let convert; -try { - convert = (__nccwpck_require__(3975).convert); -} catch (e) {} +const URL$1 = Url.URL || whatwgUrl.URL; -const INTERNALS = Symbol('Body internals'); +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; -// fix an issue where "PassThrough" isn't a named export for node <10 -const PassThrough = Stream.PassThrough; +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; /** - * Body mixin - * - * Ref: https://fetch.spec.whatwg.org/#body + * Fetch function * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise */ -function Body(body) { - var _this = this; +function fetch(url, opts) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$size = _ref.size; + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } - let size = _ref$size === undefined ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + Body.Promise = fetch.Promise; - if (body == null) { - // body is undefined or null - body = null; - } else if (isURLSearchParams(body)) { - // body is a URLSearchParams - body = Buffer.from(body.toString()); - } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - // body is ArrayBuffer - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - // body is ArrayBufferView - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) ; else { - // none of the above - // coerce to string then buffer - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - - if (body instanceof Stream) { - body.on('error', function (err) { - const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); - _this[INTERNALS].error = error; - }); - } -} - -Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - - /** - * Decode response as ArrayBuffer - * - * @return Promise - */ - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); - /** - * Return raw response as Blob - * - * @return Promise - */ - blob() { - let ct = this.headers && this.headers.get('content-type') || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - // Prevent copying - new Blob([], { - type: ct.toLowerCase() - }), { - [BUFFER]: buf - }); - }); - }, + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; - /** - * Decode response as json - * - * @return Promise - */ - json() { - var _this2 = this; + let response = null; - return consumeBody.call(this).then(function (buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + request.body.destroy(error); } - }); - }, - - /** - * Decode response as text - * - * @return Promise - */ - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); - }); - }, + if (!response || !response.body) return; + response.body.emit('error', error); + }; - /** - * Decode response as buffer (non-spec api) - * - * @return Promise - */ - buffer() { - return consumeBody.call(this); - }, + if (signal && signal.aborted) { + abort(); + return; + } - /** - * Decode response as text, while automatically detecting the encoding and - * trying to decode to UTF-8 (non-spec api) - * - * @return Promise - */ - textConverted() { - var _this3 = this; + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); - }); - } -}; + // send request + const req = send(options); + let reqTimeout; -// In browsers, all properties are enumerable. -Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } -}); + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } -Body.mixIn = function (proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - // istanbul ignore else: future proof - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); } - } -}; -/** - * Consume and convert an entire Body to a Buffer. - * - * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body - * - * @return Promise - */ -function consumeBody() { - var _this4 = this; + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + finalize(); + }); - this[INTERNALS].disturbed = true; + req.on('response', function (res) { + clearTimeout(reqTimeout); - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } + const headers = createHeadersLenient(res.headers); - let body = this.body; + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); - // body is null - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } - // body is blob - if (isBlob(body)) { - body = body.stream(); - } + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } - // body is buffer - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } - // istanbul ignore if: should never happen - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; - // body is stream - // get ready to actually consume the body - let accum = []; - let accumBytes = 0; - let abort = false; + if (!isDomainOrSubdomain(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } - return new Body.Promise(function (resolve, reject) { - let resTimeout; + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } - // allow timeout on slow response body - if (_this4.timeout) { - resTimeout = setTimeout(function () { - abort = true; - reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); - }, _this4.timeout); - } + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } - // handle stream errors - body.on('error', function (err) { - if (err.name === 'AbortError') { - // if the request was aborted, reject with this Error - abort = true; - reject(err); - } else { - // other errors, such as incorrect content-encoding - reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } } - }); - body.on('data', function (chunk) { - if (abort || chunk === null) { - return; - } + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); return; } - accumBytes += chunk.length; - accum.push(chunk); - }); + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; - body.on('end', function () { - if (abort) { + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); return; } - clearTimeout(resTimeout); + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + return; + } - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - // handle streams that have accumulated too much data (issue #414) - reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); }); + + writeToStream(req, request); }); } - /** - * Detect buffer encoding and convert to target encoding - * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * Redirect code matching * - * @param Buffer buffer Incoming buffer - * @param String encoding Target encoding - * @return String + * @param Number code Status code + * @return Boolean */ -function convertBody(buffer, headers) { - if (typeof convert !== 'function') { - throw new Error('The package `encoding` must be installed to use the textConverted() function'); - } +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; - const ct = headers.get('content-type'); - let charset = 'utf-8'; - let res, str; +// expose Promise +fetch.Promise = global.Promise; - // header - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports["default"] = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; - // no charset in content type, peek at response body for at most 1024 bytes - str = buffer.slice(0, 1024).toString(); - // html5 - if (!res && str) { - res = / { - if (res) { - res = /charset=(.*)/i.exec(res.pop()); - } - } +"use strict"; - // xml - if (!res && str) { - res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str); - } - // found charset - if (res) { - charset = res.pop(); +var punycode = __nccwpck_require__(5477); +var mappingTable = __nccwpck_require__(1907); - // prevent decode issues when sites use incorrect encoding - // ref: https://hsivonen.fi/encoding-menu/ - if (charset === 'gb2312' || charset === 'gbk') { - charset = 'gb18030'; - } - } +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; - // turn raw buffers into a single utf-8 buffer - return convert(buffer, 'UTF-8', charset).toString(); +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); } -/** - * Detect a URLSearchParams object - * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143 - * - * @param Object obj Object to detect by type or brand - * @return String - */ -function isURLSearchParams(obj) { - // Duck-typing as a necessary condition. - if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') { - return false; - } +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; - // Brand-checking and more duck-typing as optional condition. - return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function'; -} + while (start <= end) { + var mid = Math.floor((start + end) / 2); -/** - * Check if `obj` is a W3C `Blob` object (which `File` inherits from) - * @param {*} obj - * @return {boolean} - */ -function isBlob(obj) { - return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; } -/** - * Clone body given Res/Req instance - * - * @param Mixed instance Response or Request instance - * @return Mixed - */ -function clone(instance) { - let p1, p2; - let body = instance.body; +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - // don't allow cloning a used body - if (instance.bodyUsed) { - throw new Error('cannot clone body after it is used'); - } +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} - // check that body is a stream and not form-data object - // note: we can't clone the form-data object without having it as a dependency - if (body instanceof Stream && typeof body.getBoundary !== 'function') { - // tee instance body - p1 = new PassThrough(); - p2 = new PassThrough(); - body.pipe(p1); - body.pipe(p2); - // set instance body to teed body and return the other teed body - instance[INTERNALS].body = p1; - body = p2; - } +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; - return body; -} + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); -/** - * Performs the operation "extract a `Content-Type` value from |object|" as - * specified in the specification: - * https://fetch.spec.whatwg.org/#concept-bodyinit-extract - * - * This function assumes that instance.body is present. - * - * @param Mixed instance Any options.body input - */ -function extractContentType(body) { - if (body === null) { - // body is null - return null; - } else if (typeof body === 'string') { - // body is string - return 'text/plain;charset=UTF-8'; - } else if (isURLSearchParams(body)) { - // body is a URLSearchParams - return 'application/x-www-form-urlencoded;charset=UTF-8'; - } else if (isBlob(body)) { - // body is blob - return body.type || null; - } else if (Buffer.isBuffer(body)) { - // body is buffer - return null; - } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - // body is ArrayBuffer - return null; - } else if (ArrayBuffer.isView(body)) { - // body is ArrayBufferView - return null; - } else if (typeof body.getBoundary === 'function') { - // detect form data input from form-data module - return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream) { - // body is stream - // can't really do much about this - return null; - } else { - // Body constructor defaults other things to string - return 'text/plain;charset=UTF-8'; - } + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; } -/** - * The Fetch Standard treats this as if "total bytes" is a property on the body. - * For us, we have to explicitly get it with a function. - * - * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes - * - * @param Body instance Instance of Body - * @return Number? Number of bytes, or null if not possible - */ -function getTotalBytes(instance) { - const body = instance.body; +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } - if (body === null) { - // body is null - return 0; - } else if (isBlob(body)) { - return body.size; - } else if (Buffer.isBuffer(body)) { - // body is buffer - return body.length; - } else if (body && typeof body.getLengthSync === 'function') { - // detect form data input from form-data module - if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x - body.hasKnownLength && body.hasKnownLength()) { - // 2.x - return body.getLengthSync(); - } - return null; - } else { - // body is stream - return null; - } -} + var error = false; -/** - * Write a Body to a Node.js WritableStream (e.g. http.Request) object. - * - * @param Body instance Instance of Body - * @return Void - */ -function writeToStream(dest, instance) { - const body = instance.body; + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } - if (body === null) { - // body is null - dest.end(); - } else if (isBlob(body)) { - body.stream().pipe(dest); - } else if (Buffer.isBuffer(body)) { - // body is buffer - dest.write(body); - dest.end(); - } else { - // body is stream - body.pipe(dest); - } + return { + label: label, + error: error + }; } -// expose Promise -Body.Promise = global.Promise; - -/** - * headers.js - * - * Headers class offers convenient helpers - */ +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); -const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; -const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } -function validateName(name) { - name = `${name}`; - if (invalidTokenRegex.test(name) || name === '') { - throw new TypeError(`${name} is not a legal HTTP header name`); - } + return { + string: labels.join("."), + error: result.error + }; } -function validateValue(value) { - value = `${value}`; - if (invalidHeaderCharRegex.test(value)) { - throw new TypeError(`${value} is not a legal HTTP header value`); - } -} +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); -/** - * Find the key in the map object given a header name. - * - * Returns undefined if not found. - * - * @param String name Header name - * @return String|Undefined - */ -function find(map, name) { - name = name.toLowerCase(); - for (const key in map) { - if (key.toLowerCase() === name) { - return key; - } - } - return undefined; -} + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } -const MAP = Symbol('map'); -class Headers { - /** - * Headers class - * - * @param Object headers Response headers - * @return Void - */ - constructor() { - let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } - this[MAP] = Object.create(null); + if (result.error) return null; + return labels.join("."); +}; - if (init instanceof Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } - } + return { + domain: result.string, + error: result.error + }; +}; - return; - } +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - // We don't worry about converting prop to ByteString here as append() - // will handle it. - if (init == null) ; else if (typeof init === 'object') { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== 'function') { - throw new TypeError('Header pairs must be iterable'); - } - // sequence> - // Note: per spec we have to first exhaust the lists then process them - const pairs = []; - for (const pair of init) { - if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { - throw new TypeError('Each header pair must be iterable'); - } - pairs.push(Array.from(pair)); - } +/***/ }), - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError('Each header pair must be a name/value tuple'); - } - this.append(pair[0], pair[1]); - } - } else { - // record - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } - } else { - throw new TypeError('Provided initializer must be an object'); - } - } +/***/ 5871: +/***/ ((module) => { - /** - * Return combined header value given name - * - * @param String name Header name - * @return Mixed - */ - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === undefined) { - return null; - } +"use strict"; - return this[MAP][key].join(', '); - } - /** - * Iterate over all headers - * - * @param Function callback Executed for each item with parameters (value, name, thisArg) - * @param Boolean thisArg `this` context for callback function - * @return Void - */ - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; +var conversions = {}; +module.exports = conversions; - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], - value = _pairs$i[1]; +function sign(x) { + return x < 0 ? -1 : 1; +} - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; - } - } +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); + } +} - /** - * Overwrite header values given name - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== undefined ? key : name] = [value]; - } +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; - /** - * Append a value onto existing header - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== undefined) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; - } - } + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - /** - * Check for header name existence - * - * @param String name Header name - * @return Boolean - */ - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== undefined; - } + return function(V, opts) { + if (!opts) opts = {}; - /** - * Delete all header values given name - * - * @param String name Header name - * @return Void - */ - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== undefined) { - delete this[MAP][key]; - } - } + let x = +V; - /** - * Return raw headers (non-spec api) - * - * @return Object - */ - raw() { - return this[MAP]; - } + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } - /** - * Get an iterator on keys. - * - * @return Iterator - */ - keys() { - return createHeadersIterator(this, 'key'); - } + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } - /** - * Get an iterator on values. - * - * @return Iterator - */ - values() { - return createHeadersIterator(this, 'value'); - } + return x; + } - /** - * Get an iterator on entries. - * - * This is the default iterator of the Headers object. - * - * @return Iterator - */ - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); - } -} -Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - -Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: 'Headers', - writable: false, - enumerable: false, - configurable: true -}); + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); -Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } -}); + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } -function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + if (!Number.isFinite(x) || x === 0) { + return 0; + } - const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === 'key' ? function (k) { - return k.toLowerCase(); - } : kind === 'value' ? function (k) { - return headers[MAP][k].join(', '); - } : function (k) { - return [k.toLowerCase(), headers[MAP][k].join(', ')]; - }); -} + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; -const INTERNAL = Symbol('internal'); + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } -function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; + return x; + } } -const HeadersIteratorPrototype = Object.setPrototypeOf({ - next() { - // istanbul ignore if - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError('Value of `this` is not a HeadersIterator'); - } +conversions["void"] = function () { + return undefined; +}; - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, - kind = _INTERNAL.kind, - index = _INTERNAL.index; +conversions["boolean"] = function (val) { + return !!val; +}; - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: undefined, - done: true - }; - } +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); - this[INTERNAL].index = index + 1; +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - return { - value: values[index], - done: false - }; - } -}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); -Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: 'HeadersIterator', - writable: false, - enumerable: false, - configurable: true -}); +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); -/** - * Export the Headers object in a form that Node.js can consume. - * - * @param Headers headers - * @return Object - */ -function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); +conversions["double"] = function (V) { + const x = +V; - // http.request() only supports string as Host header. This hack makes - // specifying custom Host header possible. - const hostHeaderKey = find(headers[MAP], 'Host'); - if (hostHeaderKey !== undefined) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } - return obj; -} + return x; +}; -/** - * Create a Headers object from an object of headers, ignoring those that do - * not conform to HTTP grammar productions. - * - * @param Object obj Object of headers - * @return Headers - */ -function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; - } - if (headers[MAP][name] === undefined) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } - } - return headers; -} +conversions["unrestricted double"] = function (V) { + const x = +V; -const INTERNALS$1 = Symbol('Response internals'); + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } -// fix an issue where "STATUS_CODES" aren't a named export for node <10 -const STATUS_CODES = http.STATUS_CODES; + return x; +}; -/** - * Response class - * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void - */ -class Response { - constructor() { - let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; - Body.call(this, body, opts); +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; - const status = opts.status || 200; - const headers = new Headers(opts.headers); + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } - if (body != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body); - if (contentType) { - headers.append('Content-Type', contentType); - } - } + return String(V); +}; - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } - get url() { - return this[INTERNALS$1].url || ''; - } + return x; +}; - get status() { - return this[INTERNALS$1].status; - } +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } - /** - * Convenience property representing if the request ended normally - */ - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } + return U.join(''); +}; - get redirected() { - return this[INTERNALS$1].counter > 0; - } +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } - get statusText() { - return this[INTERNALS$1].statusText; - } + return V; +}; - get headers() { - return this[INTERNALS$1].headers; - } +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } - /** - * Clone this response - * - * @return Response - */ - clone() { - return new Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); - } -} + return V; +}; -Body.mixIn(Response.prototype); -Object.defineProperties(Response.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } -}); +/***/ }), -Object.defineProperty(Response.prototype, Symbol.toStringTag, { - value: 'Response', - writable: false, - enumerable: false, - configurable: true -}); +/***/ 8262: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { -const INTERNALS$2 = Symbol('Request internals'); -const URL = Url.URL || whatwgUrl.URL; +"use strict"; -// fix an issue where "format", "parse" aren't a named export for node <10 -const parse_url = Url.parse; -const format_url = Url.format; +const usm = __nccwpck_require__(33); -/** - * Wrapper around `new URL` to handle arbitrary URLs - * - * @param {string} urlStr - * @return {void} - */ -function parseURL(urlStr) { - /* - Check whether the URL is absolute or not - Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 - Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 - */ - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL(urlStr).toString(); - } +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; - // Fallback to old implementation for arbitrary URLs - return parse_url(urlStr); -} + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } -const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } -/** - * Check if a value is an instance of Request. - * - * @param Mixed input - * @return Boolean - */ -function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; -} + this._url = parsedURL; -function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); -} + // TODO: query stuff + } -/** - * Request class - * - * @param Mixed input Url or Request instance - * @param Object init Custom options - * @return Void - */ -class Request { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + get href() { + return usm.serializeURL(this._url); + } - let parsedURL; + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } - // normalize input - if (!isRequest(input)) { - if (input && input.href) { - // in order to support Node.js' Url objects; though WHATWG's URL objects - // will fall into this branch also (since their `toString()` will return - // `href` property anyway) - parsedURL = parseURL(input.href); - } else { - // coerce input to a string before attempting to parse - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } + this._url = parsedURL; + } - let method = init.method || input.method || 'GET'; - method = method.toUpperCase(); + get origin() { + return usm.serializeURLOrigin(this._url); + } - if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { - throw new TypeError('Request with GET/HEAD method cannot have body'); - } + get protocol() { + return this._url.scheme + ":"; + } - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); + get username() { + return this._url.username; + } - const headers = new Headers(init.headers || input.headers || {}); + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } - if (inputBody != null && !headers.has('Content-Type')) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append('Content-Type', contentType); - } - } + usm.setTheUsername(this._url, v); + } - let signal = isRequest(input) ? input.signal : null; - if ('signal' in init) signal = init.signal; + get password() { + return this._url.password; + } - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError('Expected signal to be an instanceof AbortSignal'); - } + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || 'follow', - headers, - parsedURL, - signal - }; + usm.setThePassword(this._url, v); + } - // node-fetch-only options - this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; - this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; - } + get host() { + const url = this._url; - get method() { - return this[INTERNALS$2].method; - } + if (url.host === null) { + return ""; + } - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } + if (url.port === null) { + return usm.serializeHost(url.host); + } - get headers() { - return this[INTERNALS$2].headers; - } + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } - get redirect() { - return this[INTERNALS$2].redirect; - } + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } - get signal() { - return this[INTERNALS$2].signal; - } + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } - /** - * Clone this request - * - * @return Request - */ - clone() { - return new Request(this); - } -} - -Body.mixIn(Request.prototype); + get hostname() { + if (this._url.host === null) { + return ""; + } -Object.defineProperty(Request.prototype, Symbol.toStringTag, { - value: 'Request', - writable: false, - enumerable: false, - configurable: true -}); + return usm.serializeHost(this._url.host); + } -Object.defineProperties(Request.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } -}); + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } -/** - * Convert a Request to Node.js http request options. - * - * @param Request A Request instance - * @return Object The options object to be passed to http.request - */ -function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } - // fetch step 1.3 - if (!headers.has('Accept')) { - headers.set('Accept', '*/*'); - } + get port() { + if (this._url.port === null) { + return ""; + } - // Basic fetch - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError('Only absolute URLs are supported'); - } + return usm.serializeInteger(this._url.port); + } - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError('Only HTTP(S) protocols are supported'); - } + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); - } + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } - // HTTP-network-or-cache fetch steps 2.4-2.7 - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = '0'; - } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === 'number') { - contentLengthValue = String(totalBytes); - } - } - if (contentLengthValue) { - headers.set('Content-Length', contentLengthValue); - } + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } - // HTTP-network-or-cache fetch step 2.11 - if (!headers.has('User-Agent')) { - headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); - } + if (this._url.path.length === 0) { + return ""; + } - // HTTP-network-or-cache fetch step 2.15 - if (request.compress && !headers.has('Accept-Encoding')) { - headers.set('Accept-Encoding', 'gzip,deflate'); - } + return "/" + this._url.path.join("/"); + } - let agent = request.agent; - if (typeof agent === 'function') { - agent = agent(parsedURL); - } + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); - } + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } - // HTTP-network fetch step 4.2 - // chunked encoding is handled by Node.js + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } - return Object.assign({}, parsedURL, { - method: request.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); -} + return "?" + this._url.query; + } -/** - * abort-error.js - * - * AbortError interface for cancelled requests - */ + set search(v) { + // TODO: query stuff -/** - * Create AbortError instance - * - * @param String message Error message for human - * @return AbortError - */ -function AbortError(message) { - Error.call(this, message); + const url = this._url; - this.type = 'aborted'; - this.message = message; + if (v === "") { + url.query = null; + return; + } - // hide custom error implementation details from end-users - Error.captureStackTrace(this, this.constructor); -} + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } -AbortError.prototype = Object.create(Error.prototype); -AbortError.prototype.constructor = AbortError; -AbortError.prototype.name = 'AbortError'; + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } -const URL$1 = Url.URL || whatwgUrl.URL; + return "#" + this._url.fragment; + } -// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 -const PassThrough$1 = Stream.PassThrough; + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } -const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } - return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); + toJSON() { + return this.href; + } }; -/** - * Fetch function - * - * @param Mixed url Absolute url or Request instance - * @param Object opts Fetch options - * @return Promise - */ -function fetch(url, opts) { - - // allow custom promise - if (!fetch.Promise) { - throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); - } - - Body.Promise = fetch.Promise; - // wrap http.request into fetch - return new fetch.Promise(function (resolve, reject) { - // build request object - const request = new Request(url, opts); - const options = getNodeRequestOptions(request); +/***/ }), - const send = (options.protocol === 'https:' ? https : http).request; - const signal = request.signal; +/***/ 653: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - let response = null; +"use strict"; - const abort = function abort() { - let error = new AbortError('The user aborted a request.'); - reject(error); - if (request.body && request.body instanceof Stream.Readable) { - request.body.destroy(error); - } - if (!response || !response.body) return; - response.body.emit('error', error); - }; - if (signal && signal.aborted) { - abort(); - return; - } +const conversions = __nccwpck_require__(5871); +const utils = __nccwpck_require__(276); +const Impl = __nccwpck_require__(8262); - const abortAndFinalize = function abortAndFinalize() { - abort(); - finalize(); - }; +const impl = utils.implSymbol; - // send request - const req = send(options); - let reqTimeout; +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } - if (signal) { - signal.addEventListener('abort', abortAndFinalize); - } + module.exports.setup(this, args); +} - function finalize() { - req.abort(); - if (signal) signal.removeEventListener('abort', abortAndFinalize); - clearTimeout(reqTimeout); - } - - if (request.timeout) { - req.once('socket', function (socket) { - reqTimeout = setTimeout(function () { - reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); - finalize(); - }, request.timeout); - }); - } +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); - req.on('error', function (err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); - finalize(); - }); +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; - req.on('response', function (res) { - clearTimeout(reqTimeout); +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); - const headers = createHeadersLenient(res.headers); +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); - // HTTP fetch step 5 - if (fetch.isRedirect(res.statusCode)) { - // HTTP fetch step 5.2 - const location = headers.get('Location'); +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); - // HTTP fetch step 5.3 - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - // error here can only be invalid URL in Location: header - // do not throw when options.redirect == manual - // let the user extract the errorneous redirect URL - if (request.redirect !== 'manual') { - reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); - finalize(); - return; - } - } +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); - // HTTP fetch step 5.5 - switch (request.redirect) { - case 'error': - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); - finalize(); - return; - case 'manual': - // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. - if (locationURL !== null) { - // handle corrupted header - try { - headers.set('Location', locationURL); - } catch (err) { - // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request - reject(err); - } - } - break; - case 'follow': - // HTTP-redirect fetch step 2 - if (locationURL === null) { - break; - } +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); - // HTTP-redirect fetch step 5 - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); - finalize(); - return; - } +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); - // HTTP-redirect fetch step 6 (counter increment) - // Create a new Request object. - const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); - if (!isDomainOrSubdomain(request.url, locationURL)) { - for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { - requestOpts.headers.delete(name); - } - } +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); - // HTTP-redirect fetch step 9 - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); - finalize(); - return; - } +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); - // HTTP-redirect fetch step 11 - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { - requestOpts.method = 'GET'; - requestOpts.body = undefined; - requestOpts.headers.delete('content-length'); - } +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); - // HTTP-redirect fetch step 15 - resolve(fetch(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } - // prepare response - res.once('end', function () { - if (signal) signal.removeEventListener('abort', abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers: headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; - - // HTTP-network fetch step 12.1.1.3 - const codings = headers.get('Content-Encoding'); - - // HTTP-network fetch step 12.1.1.4: handle content codings - - // in following scenarios we ignore compression support - // 1. compression support is disabled - // 2. HEAD request - // 3. no Content-Encoding header - // 4. no content response (204) - // 5. content not modified response (304) - if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response(body, response_options); - resolve(response); - return; - } - - // For Node v6+ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - - // for gzip - if (codings == 'gzip' || codings == 'x-gzip') { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body, response_options); - resolve(response); - return; - } - - // for deflate - if (codings == 'deflate' || codings == 'x-deflate') { - // handle the infamous raw deflate response from old servers - // a hack for old IIS and Apache servers - const raw = res.pipe(new PassThrough$1()); - raw.once('data', function (chunk) { - // see http://stackoverflow.com/questions/37519828 - if ((chunk[0] & 0x0F) === 0x08) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response(body, response_options); - resolve(response); - }); - return; - } - - // for br - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response(body, response_options); - resolve(response); - return; - } - - // otherwise, use response as-is - response = new Response(body, response_options); - resolve(response); - }); - - writeToStream(req, request); - }); -} -/** - * Redirect code matching - * - * @param Number code Status code - * @return Boolean - */ -fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } }; -// expose Promise -fetch.Promise = global.Promise; - -module.exports = exports = fetch; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports["default"] = exports; -exports.Headers = Headers; -exports.Request = Request; -exports.Response = Response; -exports.FetchError = FetchError; /***/ }), -/***/ 2299: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +/***/ 3323: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var punycode = __nccwpck_require__(5477); -var mappingTable = __nccwpck_require__(1907); - -var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 -}; - -function normalize(str) { // fix bug in v8 - return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); -} - -function findStatus(val) { - var start = 0; - var end = mappingTable.length - 1; - - while (start <= end) { - var mid = Math.floor((start + end) / 2); - - var target = mappingTable[mid]; - if (target[0][0] <= val && target[0][1] >= val) { - return target; - } else if (target[0][0] > val) { - end = mid - 1; - } else { - start = mid + 1; - } - } - - return null; -} - -var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - -function countSymbols(string) { - return string - // replace every surrogate pair with a BMP symbol - .replace(regexAstralSymbols, '_') - // then get the length - .length; -} - -function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ""; - - var len = countSymbols(domain_name); - for (var i = 0; i < len; ++i) { - var codePoint = domain_name.codePointAt(i); - var status = findStatus(codePoint); - - switch (status[1]) { - case "disallowed": - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case "ignored": - break; - case "mapped": - processed += String.fromCodePoint.apply(String, status[2]); - break; - case "deviation": - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); - } else { - processed += String.fromCodePoint(codePoint); - } - break; - case "valid": - processed += String.fromCodePoint(codePoint); - break; - case "disallowed_STD3_mapped": - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); - } - break; - case "disallowed_STD3_valid": - if (useSTD3) { - hasError = true; - } - - processed += String.fromCodePoint(codePoint); - break; - } - } - - return { - string: processed, - error: hasError - }; -} - -var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - -function validateLabel(label, processing_option) { - if (label.substr(0, 4) === "xn--") { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - - var error = false; - - if (normalize(label) !== label || - (label[3] === "-" && label[4] === "-") || - label[0] === "-" || label[label.length - 1] === "-" || - label.indexOf(".") !== -1 || - label.search(combiningMarksRegex) === 0) { - error = true; - } +exports.URL = __nccwpck_require__(653)["interface"]; +exports.serializeURL = __nccwpck_require__(33).serializeURL; +exports.serializeURLOrigin = __nccwpck_require__(33).serializeURLOrigin; +exports.basicURLParse = __nccwpck_require__(33).basicURLParse; +exports.setTheUsername = __nccwpck_require__(33).setTheUsername; +exports.setThePassword = __nccwpck_require__(33).setThePassword; +exports.serializeHost = __nccwpck_require__(33).serializeHost; +exports.serializeInteger = __nccwpck_require__(33).serializeInteger; +exports.parseURL = __nccwpck_require__(33).parseURL; - var len = countSymbols(label); - for (var i = 0; i < len; ++i) { - var status = findStatus(label.codePointAt(i)); - if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || - (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && - status[1] !== "valid" && status[1] !== "deviation")) { - error = true; - break; - } - } - return { - label: label, - error: error - }; -} +/***/ }), -function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - - var labels = result.string.split("."); - for (var i = 0; i < labels.length; ++i) { - try { - var validation = validateLabel(labels[i]); - labels[i] = validation.label; - result.error = result.error || validation.error; - } catch(e) { - result.error = true; - } - } - - return { - string: labels.join("."), - error: result.error - }; -} - -module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split("."); - labels = labels.map(function(l) { - try { - return punycode.toASCII(l); - } catch(e) { - result.error = true; - return l; - } - }); - - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join(".").length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - - for (var i=0; i < labels.length; ++i) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; - } - } - } - - if (result.error) return null; - return labels.join("."); -}; - -module.exports.toUnicode = function(domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - - return { - domain: result.string, - error: result.error - }; -}; - -module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - - -/***/ }), - -/***/ 5871: -/***/ ((module) => { - -"use strict"; - - -var conversions = {}; -module.exports = conversions; - -function sign(x) { - return x < 0 ? -1 : 1; -} - -function evenRound(x) { - // Round x to the nearest integer, choosing the even integer if it lies halfway between two. - if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) - return Math.floor(x); - } else { - return Math.round(x); - } -} - -function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - - return function(V, opts) { - if (!opts) opts = {}; - - let x = +V; - - if (opts.enforceRange) { - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite number"); - } - - x = sign(x) * Math.floor(Math.abs(x)); - if (x < lowerBound || x > upperBound) { - throw new TypeError("Argument is not in byte range"); - } - - return x; - } - - if (!isNaN(x) && opts.clamp) { - x = evenRound(x); - - if (x < lowerBound) x = lowerBound; - if (x > upperBound) x = upperBound; - return x; - } - - if (!Number.isFinite(x) || x === 0) { - return 0; - } - - x = sign(x) * Math.floor(Math.abs(x)); - x = x % moduloVal; - - if (!typeOpts.unsigned && x >= moduloBound) { - return x - moduloVal; - } else if (typeOpts.unsigned) { - if (x < 0) { - x += moduloVal; - } else if (x === -0) { // don't return negative zero - return 0; - } - } - - return x; - } -} - -conversions["void"] = function () { - return undefined; -}; - -conversions["boolean"] = function (val) { - return !!val; -}; - -conversions["byte"] = createNumberConversion(8, { unsigned: false }); -conversions["octet"] = createNumberConversion(8, { unsigned: true }); - -conversions["short"] = createNumberConversion(16, { unsigned: false }); -conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - -conversions["long"] = createNumberConversion(32, { unsigned: false }); -conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); - -conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); -conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - -conversions["double"] = function (V) { - const x = +V; - - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite floating-point value"); - } - - return x; -}; - -conversions["unrestricted double"] = function (V) { - const x = +V; - - if (isNaN(x)) { - throw new TypeError("Argument is NaN"); - } - - return x; -}; - -// not quite valid, but good enough for JS -conversions["float"] = conversions["double"]; -conversions["unrestricted float"] = conversions["unrestricted double"]; - -conversions["DOMString"] = function (V, opts) { - if (!opts) opts = {}; - - if (opts.treatNullAsEmptyString && V === null) { - return ""; - } - - return String(V); -}; - -conversions["ByteString"] = function (V, opts) { - const x = String(V); - let c = undefined; - for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { - if (c > 255) { - throw new TypeError("Argument is not a valid bytestring"); - } - } - - return x; -}; - -conversions["USVString"] = function (V) { - const S = String(V); - const n = S.length; - const U = []; - for (let i = 0; i < n; ++i) { - const c = S.charCodeAt(i); - if (c < 0xD800 || c > 0xDFFF) { - U.push(String.fromCodePoint(c)); - } else if (0xDC00 <= c && c <= 0xDFFF) { - U.push(String.fromCodePoint(0xFFFD)); - } else { - if (i === n - 1) { - U.push(String.fromCodePoint(0xFFFD)); - } else { - const d = S.charCodeAt(i + 1); - if (0xDC00 <= d && d <= 0xDFFF) { - const a = c & 0x3FF; - const b = d & 0x3FF; - U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); - ++i; - } else { - U.push(String.fromCodePoint(0xFFFD)); - } - } - } - } - - return U.join(''); -}; - -conversions["Date"] = function (V, opts) { - if (!(V instanceof Date)) { - throw new TypeError("Argument is not a Date object"); - } - if (isNaN(V)) { - return undefined; - } - - return V; -}; - -conversions["RegExp"] = function (V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); - } - - return V; -}; - - -/***/ }), - -/***/ 8262: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -const usm = __nccwpck_require__(33); - -exports.implementation = class URLImpl { - constructor(constructorArgs) { - const url = constructorArgs[0]; - const base = constructorArgs[1]; - - let parsedBase = null; - if (base !== undefined) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === "failure") { - throw new TypeError("Invalid base URL"); - } - } - - const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - - this._url = parsedURL; - - // TODO: query stuff - } - - get href() { - return usm.serializeURL(this._url); - } - - set href(v) { - const parsedURL = usm.basicURLParse(v); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - - this._url = parsedURL; - } - - get origin() { - return usm.serializeURLOrigin(this._url); - } - - get protocol() { - return this._url.scheme + ":"; - } - - set protocol(v) { - usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); - } - - get username() { - return this._url.username; - } - - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - usm.setTheUsername(this._url, v); - } - - get password() { - return this._url.password; - } - - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - usm.setThePassword(this._url, v); - } - - get host() { - const url = this._url; - - if (url.host === null) { - return ""; - } - - if (url.port === null) { - return usm.serializeHost(url.host); - } - - return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); - } - - set host(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); - } - - get hostname() { - if (this._url.host === null) { - return ""; - } - - return usm.serializeHost(this._url.host); - } - - set hostname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); - } - - get port() { - if (this._url.port === null) { - return ""; - } - - return usm.serializeInteger(this._url.port); - } - - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - if (v === "") { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); - } - } - - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; - } - - if (this._url.path.length === 0) { - return ""; - } - - return "/" + this._url.path.join("/"); - } - - set pathname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); - } - - get search() { - if (this._url.query === null || this._url.query === "") { - return ""; - } - - return "?" + this._url.query; - } - - set search(v) { - // TODO: query stuff - - const url = this._url; - - if (v === "") { - url.query = null; - return; - } - - const input = v[0] === "?" ? v.substring(1) : v; - url.query = ""; - usm.basicURLParse(input, { url, stateOverride: "query" }); - } - - get hash() { - if (this._url.fragment === null || this._url.fragment === "") { - return ""; - } - - return "#" + this._url.fragment; - } - - set hash(v) { - if (v === "") { - this._url.fragment = null; - return; - } - - const input = v[0] === "#" ? v.substring(1) : v; - this._url.fragment = ""; - usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); - } - - toJSON() { - return this.href; - } -}; - - -/***/ }), - -/***/ 653: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -const conversions = __nccwpck_require__(5871); -const utils = __nccwpck_require__(276); -const Impl = __nccwpck_require__(8262); - -const impl = utils.implSymbol; - -function URL(url) { - if (!this || this[impl] || !(this instanceof URL)) { - throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); - } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; - } - args[0] = conversions["USVString"](args[0]); - if (args[1] !== undefined) { - args[1] = conversions["USVString"](args[1]); - } - - module.exports.setup(this, args); -} - -URL.prototype.toJSON = function toJSON() { - if (!this || !module.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; - } - return this[impl].toJSON.apply(this[impl], args); -}; -Object.defineProperty(URL.prototype, "href", { - get() { - return this[impl].href; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true -}); - -URL.prototype.toString = function () { - if (!this || !module.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - return this.href; -}; - -Object.defineProperty(URL.prototype, "origin", { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "protocol", { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "username", { - get() { - return this[impl].username; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "password", { - get() { - return this[impl].password; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "host", { - get() { - return this[impl].host; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "hostname", { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "port", { - get() { - return this[impl].port; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "pathname", { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "search", { - get() { - return this[impl].search; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "hash", { - get() { - return this[impl].hash; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hash = V; - }, - enumerable: true, - configurable: true -}); - - -module.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) privateData = {}; - privateData.wrapper = obj; - - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; - }, - interface: URL, - expose: { - Window: { URL: URL }, - Worker: { URL: URL } - } -}; - - - -/***/ }), - -/***/ 3323: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -exports.URL = __nccwpck_require__(653)["interface"]; -exports.serializeURL = __nccwpck_require__(33).serializeURL; -exports.serializeURLOrigin = __nccwpck_require__(33).serializeURLOrigin; -exports.basicURLParse = __nccwpck_require__(33).basicURLParse; -exports.setTheUsername = __nccwpck_require__(33).setTheUsername; -exports.setThePassword = __nccwpck_require__(33).setThePassword; -exports.serializeHost = __nccwpck_require__(33).serializeHost; -exports.serializeInteger = __nccwpck_require__(33).serializeInteger; -exports.parseURL = __nccwpck_require__(33).parseURL; - - -/***/ }), - -/***/ 33: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +/***/ 33: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { "use strict"; @@ -13107,390 +10352,961 @@ module.exports.parseURL = function (input, options) { /***/ }), -/***/ 276: -/***/ ((module) => { +/***/ 276: +/***/ ((module) => { + +"use strict"; + + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + + + +/***/ }), + +/***/ 1223: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var wrappy = __nccwpck_require__(2940) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + + +/***/ }), + +/***/ 4294: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +module.exports = __nccwpck_require__(4219); + + +/***/ }), + +/***/ 4219: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var net = __nccwpck_require__(1808); +var tls = __nccwpck_require__(4404); +var http = __nccwpck_require__(3685); +var https = __nccwpck_require__(5687); +var events = __nccwpck_require__(2361); +var assert = __nccwpck_require__(9491); +var util = __nccwpck_require__(3837); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test + + +/***/ }), + +/***/ 5030: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + + return ""; +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 5840: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "v1", ({ + enumerable: true, + get: function () { + return _v.default; + } +})); +Object.defineProperty(exports, "v3", ({ + enumerable: true, + get: function () { + return _v2.default; + } +})); +Object.defineProperty(exports, "v4", ({ + enumerable: true, + get: function () { + return _v3.default; + } +})); +Object.defineProperty(exports, "v5", ({ + enumerable: true, + get: function () { + return _v4.default; + } +})); +Object.defineProperty(exports, "NIL", ({ + enumerable: true, + get: function () { + return _nil.default; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function () { + return _version.default; + } +})); +Object.defineProperty(exports, "validate", ({ + enumerable: true, + get: function () { + return _validate.default; + } +})); +Object.defineProperty(exports, "stringify", ({ + enumerable: true, + get: function () { + return _stringify.default; + } +})); +Object.defineProperty(exports, "parse", ({ + enumerable: true, + get: function () { + return _parse.default; + } +})); + +var _v = _interopRequireDefault(__nccwpck_require__(8628)); + +var _v2 = _interopRequireDefault(__nccwpck_require__(6409)); + +var _v3 = _interopRequireDefault(__nccwpck_require__(5122)); + +var _v4 = _interopRequireDefault(__nccwpck_require__(9120)); + +var _nil = _interopRequireDefault(__nccwpck_require__(5332)); + +var _version = _interopRequireDefault(__nccwpck_require__(1595)); + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +var _parse = _interopRequireDefault(__nccwpck_require__(2746)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/***/ }), + +/***/ 4569: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('md5').update(bytes).digest(); +} + +var _default = md5; +exports["default"] = _default; + +/***/ }), + +/***/ 5332: +/***/ ((__unused_webpack_module, exports) => { "use strict"; -module.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports["default"] = _default; + +/***/ }), + +/***/ 2746: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); } -}; -module.exports.wrapperSymbol = Symbol("wrapper"); -module.exports.implSymbol = Symbol("impl"); + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ -module.exports.wrapperForImpl = function (impl) { - return impl[module.exports.wrapperSymbol]; -}; + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ -module.exports.implForWrapper = function (wrapper) { - return wrapper[module.exports.implSymbol]; -}; + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} +var _default = parse; +exports["default"] = _default; /***/ }), -/***/ 1223: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +/***/ 814: +/***/ ((__unused_webpack_module, exports) => { -var wrappy = __nccwpck_require__(2940) -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) +"use strict"; -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports["default"] = _default; + +/***/ }), + +/***/ 807: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = rng; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; + +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} + +/***/ }), + +/***/ 5274: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('sha1').update(bytes).digest(); +} + +var _default = sha1; +exports["default"] = _default; + +/***/ }), + +/***/ 8950: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports["default"] = _default; + +/***/ }), + +/***/ 8628: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _rng = _interopRequireDefault(__nccwpck_require__(807)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) - } - f.called = false - return f -} -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f -} + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) -/***/ }), + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression -/***/ 4294: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval -module.exports = __nccwpck_require__(4219); + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested -/***/ }), -/***/ 4219: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } -"use strict"; + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + msecs += 12219292800000; // `time_low` -var net = __nccwpck_require__(1808); -var tls = __nccwpck_require__(4404); -var http = __nccwpck_require__(3685); -var https = __nccwpck_require__(5687); -var events = __nccwpck_require__(2361); -var assert = __nccwpck_require__(9491); -var util = __nccwpck_require__(3837); + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` -exports.httpOverHttp = httpOverHttp; -exports.httpsOverHttp = httpsOverHttp; -exports.httpOverHttps = httpOverHttps; -exports.httpsOverHttps = httpsOverHttps; + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) -function httpOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - return agent; -} + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` -function httpsOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; -} + b[i++] = clockseq & 0xff; // `node` -function httpOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - return agent; -} + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } -function httpsOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; + return buf || (0, _stringify.default)(b); } +var _default = v1; +exports["default"] = _default; -function TunnelingAgent(options) { - var self = this; - self.options = options || {}; - self.proxyOptions = self.options.proxy || {}; - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; - self.requests = []; - self.sockets = []; +/***/ }), - self.on('free', function onFree(socket, host, port, localAddress) { - var options = toOptions(host, port, localAddress); - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i]; - if (pending.host === options.host && pending.port === options.port) { - // Detect the request to connect same origin server, - // reuse the connection. - self.requests.splice(i, 1); - pending.request.onSocket(socket); - return; - } - } - socket.destroy(); - self.removeSocket(socket); - }); -} -util.inherits(TunnelingAgent, events.EventEmitter); +/***/ 6409: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { -TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { - var self = this; - var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); +"use strict"; - if (self.sockets.length >= this.maxSockets) { - // We are over limit so we'll add it to the queue. - self.requests.push(options); - return; - } - // If we are under maxSockets create a new one. - self.createSocket(options, function(socket) { - socket.on('free', onFree); - socket.on('close', onCloseOrRemove); - socket.on('agentRemove', onCloseOrRemove); - req.onSocket(socket); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; - function onFree() { - self.emit('free', socket, options); - } +var _v = _interopRequireDefault(__nccwpck_require__(5998)); - function onCloseOrRemove(err) { - self.removeSocket(socket); - socket.removeListener('free', onFree); - socket.removeListener('close', onCloseOrRemove); - socket.removeListener('agentRemove', onCloseOrRemove); - } - }); -}; +var _md = _interopRequireDefault(__nccwpck_require__(4569)); -TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this; - var placeholder = {}; - self.sockets.push(placeholder); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var connectOptions = mergeOptions({}, self.proxyOptions, { - method: 'CONNECT', - path: options.host + ':' + options.port, - agent: false, - headers: { - host: options.host + ':' + options.port - } - }); - if (options.localAddress) { - connectOptions.localAddress = options.localAddress; - } - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + - new Buffer(connectOptions.proxyAuth).toString('base64'); - } +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports["default"] = _default; - debug('making CONNECT request'); - var connectReq = self.request(connectOptions); - connectReq.useChunkedEncodingByDefault = false; // for v0.6 - connectReq.once('response', onResponse); // for v0.6 - connectReq.once('upgrade', onUpgrade); // for v0.6 - connectReq.once('connect', onConnect); // for v0.7 or later - connectReq.once('error', onError); - connectReq.end(); +/***/ }), - function onResponse(res) { - // Very hacky. This is necessary to avoid http-parser leaks. - res.upgrade = true; - } +/***/ 5998: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - function onUpgrade(res, socket, head) { - // Hacky. - process.nextTick(function() { - onConnect(res, socket, head); - }); - } +"use strict"; - function onConnect(res, socket, head) { - connectReq.removeAllListeners(); - socket.removeAllListeners(); - if (res.statusCode !== 200) { - debug('tunneling socket could not be established, statusCode=%d', - res.statusCode); - socket.destroy(); - var error = new Error('tunneling socket could not be established, ' + - 'statusCode=' + res.statusCode); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - return; - } - if (head.length > 0) { - debug('got illegal response body from proxy'); - socket.destroy(); - var error = new Error('got illegal response body from proxy'); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - return; - } - debug('tunneling connection has established'); - self.sockets[self.sockets.indexOf(placeholder)] = socket; - return cb(socket); - } +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = _default; +exports.URL = exports.DNS = void 0; + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - function onError(cause) { - connectReq.removeAllListeners(); +var _parse = _interopRequireDefault(__nccwpck_require__(2746)); - debug('tunneling socket could not be established, cause=%s\n', - cause.message, cause.stack); - var error = new Error('tunneling socket could not be established, ' + - 'cause=' + cause.message); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - } -}; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket) - if (pos === -1) { - return; - } - this.sockets.splice(pos, 1); +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape - var pending = this.requests.shift(); - if (pending) { - // If we have pending requests and a socket gets closed a new one - // needs to be created to take over in the pool for the one that closed. - this.createSocket(pending, function(socket) { - pending.request.onSocket(socket); - }); - } -}; + const bytes = []; -function createSecureSocket(options, cb) { - var self = this; - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - var hostHeader = options.request.getHeader('host'); - var tlsOptions = mergeOptions({}, self.options, { - socket: socket, - servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host - }); + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } - // 0 is dummy port for v0.6 - var secureSocket = tls.connect(0, tlsOptions); - self.sockets[self.sockets.indexOf(socket)] = secureSocket; - cb(secureSocket); - }); + return bytes; } +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; -function toOptions(host, port, localAddress) { - if (typeof host === 'string') { // since v0.10 - return { - host: host, - port: port, - localAddress: localAddress - }; - } - return host; // for v0.11 or later -} +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } -function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i]; - if (typeof overrides === 'object') { - var keys = Object.keys(overrides); - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j]; - if (overrides[k] !== undefined) { - target[k] = overrides[k]; - } - } + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); } - } - return target; -} + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` -var debug; -if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0]; - } else { - args.unshift('TUNNEL:'); + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; } - console.error.apply(console, args); - } -} else { - debug = function() {}; -} -exports.debug = debug; // for test + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} /***/ }), -/***/ 5030: -/***/ ((__unused_webpack_module, exports) => { +/***/ 5122: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; -function getUserAgent() { - if (typeof navigator === "object" && "userAgent" in navigator) { - return navigator.userAgent; - } +var _rng = _interopRequireDefault(__nccwpck_require__(807)); - if (typeof process === "object" && "version" in process) { - return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; } - return ""; + return (0, _stringify.default)(rnds); } -exports.getUserAgent = getUserAgent; -//# sourceMappingURL=index.js.map - +var _default = v4; +exports["default"] = _default; /***/ }), -/***/ 5840: +/***/ 9120: /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; @@ -13499,84 +11315,45 @@ exports.getUserAgent = getUserAgent; Object.defineProperty(exports, "__esModule", ({ value: true })); -Object.defineProperty(exports, "v1", ({ - enumerable: true, - get: function () { - return _v.default; - } -})); -Object.defineProperty(exports, "v3", ({ - enumerable: true, - get: function () { - return _v2.default; - } -})); -Object.defineProperty(exports, "v4", ({ - enumerable: true, - get: function () { - return _v3.default; - } -})); -Object.defineProperty(exports, "v5", ({ - enumerable: true, - get: function () { - return _v4.default; - } -})); -Object.defineProperty(exports, "NIL", ({ - enumerable: true, - get: function () { - return _nil.default; - } -})); -Object.defineProperty(exports, "version", ({ - enumerable: true, - get: function () { - return _version.default; - } -})); -Object.defineProperty(exports, "validate", ({ - enumerable: true, - get: function () { - return _validate.default; - } -})); -Object.defineProperty(exports, "stringify", ({ - enumerable: true, - get: function () { - return _stringify.default; - } -})); -Object.defineProperty(exports, "parse", ({ - enumerable: true, - get: function () { - return _parse.default; - } -})); +exports["default"] = void 0; -var _v = _interopRequireDefault(__nccwpck_require__(8628)); +var _v = _interopRequireDefault(__nccwpck_require__(5998)); -var _v2 = _interopRequireDefault(__nccwpck_require__(6409)); +var _sha = _interopRequireDefault(__nccwpck_require__(5274)); -var _v3 = _interopRequireDefault(__nccwpck_require__(5122)); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _v4 = _interopRequireDefault(__nccwpck_require__(9120)); +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports["default"] = _default; -var _nil = _interopRequireDefault(__nccwpck_require__(5332)); +/***/ }), -var _version = _interopRequireDefault(__nccwpck_require__(1595)); +/***/ 6900: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); +"use strict"; -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); -var _parse = _interopRequireDefault(__nccwpck_require__(2746)); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _regex = _interopRequireDefault(__nccwpck_require__(814)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); +} + +var _default = validate; +exports["default"] = _default; + /***/ }), -/***/ 4569: +/***/ 1595: /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; @@ -13587,1821 +11364,4743 @@ Object.defineProperty(exports, "__esModule", ({ })); exports["default"] = void 0; -var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); } - return _crypto.default.createHash('md5').update(bytes).digest(); + return parseInt(uuid.substr(14, 1), 16); } -var _default = md5; +var _default = version; exports["default"] = _default; /***/ }), -/***/ 5332: +/***/ 2940: +/***/ ((module) => { + +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} + + +/***/ }), + +/***/ 566: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +const core = __importStar(__nccwpck_require__(2186)); +const format_1 = __nccwpck_require__(2464); +const fs_1 = __importDefault(__nccwpck_require__(7147)); +const CONST_1 = __importDefault(__nccwpck_require__(9873)); +const GithubUtils_1 = __importDefault(__nccwpck_require__(9296)); +const GitUtils_1 = __importDefault(__nccwpck_require__(1547)); +async function run() { + // Note: require('package.json').version does not work because ncc will resolve that to a plain string at compile time + const packageJson = JSON.parse(fs_1.default.readFileSync('package.json', 'utf8')); + const newVersionTag = packageJson.version; + try { + // Start by fetching the list of recent StagingDeployCash issues, along with the list of open deploy blockers + const { data: recentDeployChecklists } = await GithubUtils_1.default.octokit.issues.listForRepo({ + log: console, + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + labels: CONST_1.default.LABELS.STAGING_DEPLOY, + state: 'all', + }); + // Look at the state of the most recent StagingDeployCash, + // if it is open then we'll update the existing one, otherwise, we'll create a new one. + const mostRecentChecklist = recentDeployChecklists.at(0); + if (!mostRecentChecklist) { + throw new Error('Could not find the most recent checklist'); + } + const shouldCreateNewDeployChecklist = mostRecentChecklist.state !== 'open'; + const previousChecklist = shouldCreateNewDeployChecklist ? mostRecentChecklist : recentDeployChecklists.at(1); + if (shouldCreateNewDeployChecklist) { + console.log('Latest StagingDeployCash is closed, creating a new one.', mostRecentChecklist); + } + else { + console.log('Latest StagingDeployCash is open, updating it instead of creating a new one.', 'Current:', mostRecentChecklist, 'Previous:', previousChecklist); + } + if (!previousChecklist) { + throw new Error('Could not find the previous checklist'); + } + // Parse the data from the previous and current checklists into the format used to generate the checklist + const previousChecklistData = GithubUtils_1.default.getStagingDeployCashData(previousChecklist); + const currentChecklistData = shouldCreateNewDeployChecklist ? undefined : GithubUtils_1.default.getStagingDeployCashData(mostRecentChecklist); + // Find the list of PRs merged between the current checklist and the previous checklist + const mergedPRs = await GitUtils_1.default.getPullRequestsMergedBetween(previousChecklistData.tag ?? '', newVersionTag); + // Next, we generate the checklist body + let checklistBody = ''; + let checklistAssignees = []; + if (shouldCreateNewDeployChecklist) { + const stagingDeployCashBodyAndAssignees = await GithubUtils_1.default.generateStagingDeployCashBodyAndAssignees(newVersionTag, mergedPRs.map((value) => GithubUtils_1.default.getPullRequestURLFromNumber(value))); + if (stagingDeployCashBodyAndAssignees) { + checklistBody = stagingDeployCashBodyAndAssignees.issueBody; + checklistAssignees = stagingDeployCashBodyAndAssignees.issueAssignees.filter(Boolean); + } + } + else { + // Generate the updated PR list, preserving the previous state of `isVerified` for existing PRs + const PRList = mergedPRs.map((prNum) => { + const indexOfPRInCurrentChecklist = currentChecklistData?.PRList.findIndex((pr) => pr.number === prNum) ?? -1; + const isVerified = indexOfPRInCurrentChecklist >= 0 ? currentChecklistData?.PRList[indexOfPRInCurrentChecklist].isVerified : false; + return { + number: prNum, + url: GithubUtils_1.default.getPullRequestURLFromNumber(prNum), + isVerified, + }; + }); + // Generate the deploy blocker list, preserving the previous state of `isResolved` + const { data: openDeployBlockers } = await GithubUtils_1.default.octokit.issues.listForRepo({ + log: console, + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + labels: CONST_1.default.LABELS.DEPLOY_BLOCKER, + }); + // First, make sure we include all current deploy blockers + const deployBlockers = openDeployBlockers.map((deployBlocker) => { + const indexInCurrentChecklist = currentChecklistData?.deployBlockers.findIndex((item) => item.number === deployBlocker.number) ?? -1; + const isResolved = indexInCurrentChecklist >= 0 ? currentChecklistData?.deployBlockers[indexInCurrentChecklist].isResolved : false; + return { + number: deployBlocker.number, + url: deployBlocker.html_url, + isResolved, + }; + }); + // Then make sure we include any demoted or closed blockers as well, and just check them off automatically + currentChecklistData?.deployBlockers.forEach((deployBlocker) => { + const isResolved = deployBlockers.findIndex((openBlocker) => openBlocker.number === deployBlocker.number) < 0; + deployBlockers.push({ + ...deployBlocker, + isResolved, + }); + }); + const didVersionChange = newVersionTag !== currentChecklistData?.tag; + const stagingDeployCashBodyAndAssignees = await GithubUtils_1.default.generateStagingDeployCashBodyAndAssignees(newVersionTag, PRList.map((pr) => pr.url), PRList.filter((pr) => pr.isVerified).map((pr) => pr.url), deployBlockers.map((blocker) => blocker.url), deployBlockers.filter((blocker) => blocker.isResolved).map((blocker) => blocker.url), currentChecklistData?.internalQAPRList.filter((pr) => pr.isResolved).map((pr) => pr.url), didVersionChange ? false : currentChecklistData.isTimingDashboardChecked, didVersionChange ? false : currentChecklistData.isFirebaseChecked, didVersionChange ? false : currentChecklistData.isGHStatusChecked); + if (stagingDeployCashBodyAndAssignees) { + checklistBody = stagingDeployCashBodyAndAssignees.issueBody; + checklistAssignees = stagingDeployCashBodyAndAssignees.issueAssignees.filter(Boolean); + } + } + // Finally, create or update the checklist + const defaultPayload = { + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + body: checklistBody, + }; + if (shouldCreateNewDeployChecklist) { + const { data: newChecklist } = await GithubUtils_1.default.octokit.issues.create({ + ...defaultPayload, + title: `Deploy Checklist: New Expensify ${(0, format_1.format)(new Date(), CONST_1.default.DATE_FORMAT_STRING)}`, + labels: [CONST_1.default.LABELS.STAGING_DEPLOY], + assignees: [CONST_1.default.APPLAUSE_BOT].concat(checklistAssignees), + }); + console.log(`Successfully created new StagingDeployCash! 🎉 ${newChecklist.html_url}`); + return newChecklist; + } + const { data: updatedChecklist } = await GithubUtils_1.default.octokit.issues.update({ + ...defaultPayload, + // eslint-disable-next-line @typescript-eslint/naming-convention + issue_number: currentChecklistData?.number ?? 0, + }); + console.log(`Successfully updated StagingDeployCash! 🎉 ${updatedChecklist.html_url}`); + return updatedChecklist; + } + catch (err) { + console.error('An unknown error occurred!', err); + core.setFailed(err); + } +} +if (require.main === require.cache[eval('__filename')]) { + run(); +} +exports["default"] = run; + + +/***/ }), + +/***/ 9873: /***/ ((__unused_webpack_module, exports) => { "use strict"; +Object.defineProperty(exports, "__esModule", ({ value: true })); +const GITHUB_BASE_URL_REGEX = new RegExp('https?://(?:github\\.com|api\\.github\\.com)'); +const GIT_CONST = { + GITHUB_OWNER: 'Expensify', + APP_REPO: 'App', +}; +const CONST = { + ...GIT_CONST, + APPLAUSE_BOT: 'applausebot', + OS_BOTIFY: 'OSBotify', + LABELS: { + STAGING_DEPLOY: 'StagingDeployCash', + DEPLOY_BLOCKER: 'DeployBlockerCash', + INTERNAL_QA: 'InternalQA', + HELP_WANTED: 'Help Wanted', + CP_STAGING: 'CP Staging', + }, + ACTIONS: { + CREATED: 'created', + EDIT: 'edited', + }, + EVENTS: { + ISSUE_COMMENT: 'issue_comment', + }, + OPENAI_ROLES: { + USER: 'user', + ASSISTANT: 'assistant', + }, + PROPOSAL_KEYWORD: 'Proposal', + OPENAI_THREAD_COMPLETED: 'completed', + DATE_FORMAT_STRING: 'yyyy-MM-dd', + PULL_REQUEST_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/pull/([0-9]+).*`), + ISSUE_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/issues/([0-9]+).*`), + ISSUE_OR_PULL_REQUEST_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/(?:pull|issues)/([0-9]+).*`), + POLL_RATE: 10000, + APP_REPO_URL: `https://github.com/${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}`, + APP_REPO_GIT_URL: `git@github.com:${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}.git`, + NO_ACTION: 'NO_ACTION', + OPENAI_POLL_RATE: 1500, + OPENAI_POLL_TIMEOUT: 90000, +}; +exports["default"] = CONST; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _default = '00000000-0000-0000-0000-000000000000'; -exports["default"] = _default; /***/ }), -/***/ 2746: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 1547: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", ({ - value: true +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; })); -exports["default"] = void 0; - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function parse(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - - let v; - const arr = new Uint8Array(16); // Parse ########-....-....-....-............ - - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; // Parse ........-####-....-....-............ - - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; // Parse ........-....-####-....-............ - - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; // Parse ........-....-....-####-............ - - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +const child_process_1 = __nccwpck_require__(2081); +const CONST_1 = __importDefault(__nccwpck_require__(9873)); +const sanitizeStringForJSONParse_1 = __importDefault(__nccwpck_require__(3902)); +const VersionUpdater = __importStar(__nccwpck_require__(8982)); +/** + * Check if a tag exists locally or in the remote. + */ +function tagExists(tag) { + try { + // Check if the tag exists locally + (0, child_process_1.execSync)(`git show-ref --tags ${tag}`, { stdio: 'ignore' }); + return true; // Tag exists locally + } + catch (error) { + // Tag does not exist locally, check in remote + let shouldRetry = true; + let needsRepack = false; + let doesTagExist = false; + while (shouldRetry) { + try { + if (needsRepack) { + // We have seen some scenarios where this fixes the git fetch. + // Why? Who knows... https://github.com/Expensify/App/pull/31459 + (0, child_process_1.execSync)('git repack -d', { stdio: 'inherit' }); + } + (0, child_process_1.execSync)(`git ls-remote --exit-code --tags origin ${tag}`, { stdio: 'ignore' }); + doesTagExist = true; + shouldRetry = false; + } + catch (e) { + if (!needsRepack) { + console.log('Attempting to repack and retry...'); + needsRepack = true; + } + else { + console.error("Repack didn't help, giving up..."); + shouldRetry = false; + } + } + } + return doesTagExist; + } +} +/** + * This essentially just calls getPreviousVersion in a loop, until it finds a version for which a tag exists. + * It's useful if we manually perform a version bump, because in that case a tag may not exist for the previous version. + * + * @param tag the current tag + * @param level the Semver level to step backward by + */ +function getPreviousExistingTag(tag, level) { + let previousVersion = VersionUpdater.getPreviousVersion(tag, level); + let tagExistsForPreviousVersion = false; + while (!tagExistsForPreviousVersion) { + if (tagExists(previousVersion)) { + tagExistsForPreviousVersion = true; + break; + } + console.log(`Tag for previous version ${previousVersion} does not exist. Checking for an older version...`); + previousVersion = VersionUpdater.getPreviousVersion(previousVersion, level); + } + return previousVersion; +} +/** + * @param [shallowExcludeTag] When fetching the given tag, exclude all history reachable by the shallowExcludeTag (used to make fetch much faster) + */ +function fetchTag(tag, shallowExcludeTag = '') { + let shouldRetry = true; + let needsRepack = false; + while (shouldRetry) { + try { + let command = ''; + if (needsRepack) { + // We have seen some scenarios where this fixes the git fetch. + // Why? Who knows... https://github.com/Expensify/App/pull/31459 + command = 'git repack -d'; + console.log(`Running command: ${command}`); + (0, child_process_1.execSync)(command); + } + command = `git fetch origin tag ${tag} --no-tags`; + // Note that this condition is only ever NOT true in the 1.0.0-0 edge case + if (shallowExcludeTag && shallowExcludeTag !== tag) { + command += ` --shallow-exclude=${shallowExcludeTag}`; + } + console.log(`Running command: ${command}`); + (0, child_process_1.execSync)(command); + shouldRetry = false; + } + catch (e) { + console.error(e); + if (!needsRepack) { + console.log('Attempting to repack and retry...'); + needsRepack = true; + } + else { + console.error("Repack didn't help, giving up..."); + shouldRetry = false; + } + } + } +} +/** + * Get merge logs between two tags (inclusive) as a JavaScript object. + */ +function getCommitHistoryAsJSON(fromTag, toTag) { + // Fetch tags, excluding commits reachable from the previous patch version (i.e: previous checklist), so that we don't have to fetch the full history + const previousPatchVersion = getPreviousExistingTag(fromTag, VersionUpdater.SEMANTIC_VERSION_LEVELS.PATCH); + fetchTag(fromTag, previousPatchVersion); + fetchTag(toTag, previousPatchVersion); + console.log('Getting pull requests merged between the following tags:', fromTag, toTag); + return new Promise((resolve, reject) => { + let stdout = ''; + let stderr = ''; + const args = ['log', '--format={"commit": "%H", "authorName": "%an", "subject": "%s"},', `${fromTag}...${toTag}`]; + console.log(`Running command: git ${args.join(' ')}`); + const spawnedProcess = (0, child_process_1.spawn)('git', args); + spawnedProcess.on('message', console.log); + spawnedProcess.stdout.on('data', (chunk) => { + console.log(chunk.toString()); + stdout += chunk.toString(); + }); + spawnedProcess.stderr.on('data', (chunk) => { + console.error(chunk.toString()); + stderr += chunk.toString(); + }); + spawnedProcess.on('close', (code) => { + if (code !== 0) { + console.log('code: ', code); + return reject(new Error(`${stderr}`)); + } + resolve(stdout); + }); + spawnedProcess.on('error', (err) => reject(err)); + }).then((stdout) => { + // Sanitize just the text within commit subjects as that's the only potentially un-parseable text. + const sanitizedOutput = stdout.replace(/(?<="subject": ").*?(?="})/g, (subject) => (0, sanitizeStringForJSONParse_1.default)(subject)); + // Then remove newlines, format as JSON and convert to a proper JS object + const json = `[${sanitizedOutput}]`.replace(/(\r\n|\n|\r)/gm, '').replace('},]', '}]'); + return JSON.parse(json); + }); +} +/** + * Parse merged PRs, excluding those from irrelevant branches. + */ +function getValidMergedPRs(commits) { + const mergedPRs = new Set(); + commits.forEach((commit) => { + const author = commit.authorName; + if (author === CONST_1.default.OS_BOTIFY) { + return; + } + const match = commit.subject.match(/Merge pull request #(\d+) from (?!Expensify\/.*-cherry-pick-staging)/); + if (!Array.isArray(match) || match.length < 2) { + return; + } + const pr = Number.parseInt(match[1], 10); + if (mergedPRs.has(pr)) { + // If a PR shows up in the log twice, that means that the PR was deployed in the previous checklist. + // That also means that we don't want to include it in the current checklist, so we remove it now. + mergedPRs.delete(pr); + return; + } + mergedPRs.add(pr); + }); + return Array.from(mergedPRs); +} +/** + * Takes in two git tags and returns a list of PR numbers of all PRs merged between those two tags + */ +async function getPullRequestsMergedBetween(fromTag, toTag) { + console.log(`Looking for commits made between ${fromTag} and ${toTag}...`); + const commitList = await getCommitHistoryAsJSON(fromTag, toTag); + console.log(`Commits made between ${fromTag} and ${toTag}:`, commitList); + // Find which commit messages correspond to merged PR's + const pullRequestNumbers = getValidMergedPRs(commitList).sort((a, b) => a - b); + console.log(`List of pull requests merged between ${fromTag} and ${toTag}`, pullRequestNumbers); + return pullRequestNumbers; } +exports["default"] = { + getPreviousExistingTag, + getValidMergedPRs, + getPullRequestsMergedBetween, +}; -var _default = parse; -exports["default"] = _default; - -/***/ }), - -/***/ 814: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -exports["default"] = _default; - -/***/ }), - -/***/ 807: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = rng; - -var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate - -let poolPtr = rnds8Pool.length; - -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - _crypto.default.randomFillSync(rnds8Pool); - - poolPtr = 0; - } - - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} /***/ }), -/***/ 5274: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 9296: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", ({ - value: true +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; })); -exports["default"] = void 0; - -var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return _crypto.default.createHash('sha1').update(bytes).digest(); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +/* eslint-disable @typescript-eslint/naming-convention, import/no-import-module-exports */ +const core = __importStar(__nccwpck_require__(2186)); +const utils_1 = __nccwpck_require__(3030); +const plugin_paginate_rest_1 = __nccwpck_require__(4193); +const plugin_throttling_1 = __nccwpck_require__(9968); +const EmptyObject_1 = __nccwpck_require__(8227); +const arrayDifference_1 = __importDefault(__nccwpck_require__(7034)); +const CONST_1 = __importDefault(__nccwpck_require__(9873)); +class GithubUtils { + static internalOctokit; + /** + * Initialize internal octokit. + * NOTE: When using GithubUtils in CI, you don't need to call this manually. + */ + static initOctokitWithToken(token) { + const Octokit = utils_1.GitHub.plugin(plugin_throttling_1.throttling, plugin_paginate_rest_1.paginateRest); + // Save a copy of octokit used in this class + this.internalOctokit = new Octokit((0, utils_1.getOctokitOptions)(token, { + throttle: { + retryAfterBaseValue: 2000, + onRateLimit: (retryAfter, options) => { + console.warn(`Request quota exhausted for request ${options.method} ${options.url}`); + // Retry five times when hitting a rate limit error, then give up + if (options.request.retryCount <= 5) { + console.log(`Retrying after ${retryAfter} seconds!`); + return true; + } + }, + onAbuseLimit: (retryAfter, options) => { + // does not retry, only logs a warning + console.warn(`Abuse detected for request ${options.method} ${options.url}`); + }, + }, + })); + } + /** + * Default initialize method assuming running in CI, getting the token from an input. + * + * @private + */ + static initOctokit() { + const token = core.getInput('GITHUB_TOKEN', { required: true }); + this.initOctokitWithToken(token); + } + /** + * Either give an existing instance of Octokit rest or create a new one + * + * @readonly + * @static + */ + static get octokit() { + if (!this.internalOctokit) { + this.initOctokit(); + } + // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style + return this.internalOctokit.rest; + } + /** + * Get the graphql instance from internal octokit. + * @readonly + * @static + */ + static get graphql() { + if (!this.internalOctokit) { + this.initOctokit(); + } + // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style + return this.internalOctokit.graphql; + } + /** + * Either give an existing instance of Octokit paginate or create a new one + * + * @readonly + * @static + */ + static get paginate() { + if (!this.internalOctokit) { + this.initOctokit(); + } + // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style + return this.internalOctokit.paginate; + } + /** + * Finds one open `StagingDeployCash` issue via GitHub octokit library. + */ + static getStagingDeployCash() { + return this.octokit.issues + .listForRepo({ + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + labels: CONST_1.default.LABELS.STAGING_DEPLOY, + state: 'open', + }) + .then(({ data }) => { + if (!data.length) { + throw new Error(`Unable to find ${CONST_1.default.LABELS.STAGING_DEPLOY} issue.`); + } + if (data.length > 1) { + throw new Error(`Found more than one ${CONST_1.default.LABELS.STAGING_DEPLOY} issue.`); + } + const issue = data.at(0); + if (!issue) { + throw new Error(`Found an undefined ${CONST_1.default.LABELS.STAGING_DEPLOY} issue.`); + } + return this.getStagingDeployCashData(issue); + }); + } + /** + * Takes in a GitHub issue object and returns the data we want. + */ + static getStagingDeployCashData(issue) { + try { + const versionRegex = new RegExp('([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9]+))?', 'g'); + const tag = issue.body?.match(versionRegex)?.[0].replace(/`/g, ''); + return { + title: issue.title, + url: issue.url, + number: this.getIssueOrPullRequestNumberFromURL(issue.url), + labels: issue.labels, + PRList: this.getStagingDeployCashPRList(issue), + deployBlockers: this.getStagingDeployCashDeployBlockers(issue), + internalQAPRList: this.getStagingDeployCashInternalQA(issue), + isTimingDashboardChecked: issue.body ? /-\s\[x]\sI checked the \[App Timing Dashboard]/.test(issue.body) : false, + isFirebaseChecked: issue.body ? /-\s\[x]\sI checked \[Firebase Crashlytics]/.test(issue.body) : false, + isGHStatusChecked: issue.body ? /-\s\[x]\sI checked \[GitHub Status]/.test(issue.body) : false, + tag, + }; + } + catch (exception) { + throw new Error(`Unable to find ${CONST_1.default.LABELS.STAGING_DEPLOY} issue with correct data.`); + } + } + /** + * Parse the PRList and Internal QA section of the StagingDeployCash issue body. + * + * @private + */ + static getStagingDeployCashPRList(issue) { + let PRListSection = issue.body?.match(/pull requests:\*\*\r?\n((?:-.*\r?\n)+)\r?\n\r?\n?/) ?? null; + if (PRListSection?.length !== 2) { + // No PRs, return an empty array + console.log('Hmmm...The open StagingDeployCash does not list any pull requests, continuing...'); + return []; + } + PRListSection = PRListSection[1]; + const PRList = [...PRListSection.matchAll(new RegExp(`- \\[([ x])] (${CONST_1.default.PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({ + url: match[2], + number: Number.parseInt(match[3], 10), + isVerified: match[1] === 'x', + })); + return PRList.sort((a, b) => a.number - b.number); + } + /** + * Parse DeployBlocker section of the StagingDeployCash issue body. + * + * @private + */ + static getStagingDeployCashDeployBlockers(issue) { + let deployBlockerSection = issue.body?.match(/Deploy Blockers:\*\*\r?\n((?:-.*\r?\n)+)/) ?? null; + if (deployBlockerSection?.length !== 2) { + return []; + } + deployBlockerSection = deployBlockerSection[1]; + const deployBlockers = [...deployBlockerSection.matchAll(new RegExp(`- \\[([ x])]\\s(${CONST_1.default.ISSUE_OR_PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({ + url: match[2], + number: Number.parseInt(match[3], 10), + isResolved: match[1] === 'x', + })); + return deployBlockers.sort((a, b) => a.number - b.number); + } + /** + * Parse InternalQA section of the StagingDeployCash issue body. + * + * @private + */ + static getStagingDeployCashInternalQA(issue) { + let internalQASection = issue.body?.match(/Internal QA:\*\*\r?\n((?:- \[[ x]].*\r?\n)+)/) ?? null; + if (internalQASection?.length !== 2) { + return []; + } + internalQASection = internalQASection[1]; + const internalQAPRs = [...internalQASection.matchAll(new RegExp(`- \\[([ x])]\\s(${CONST_1.default.PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({ + url: match[2].split('-').at(0)?.trim() ?? '', + number: Number.parseInt(match[3], 10), + isResolved: match[1] === 'x', + })); + return internalQAPRs.sort((a, b) => a.number - b.number); + } + /** + * Generate the issue body and assignees for a StagingDeployCash. + */ + static generateStagingDeployCashBodyAndAssignees(tag, PRList, verifiedPRList = [], deployBlockers = [], resolvedDeployBlockers = [], resolvedInternalQAPRs = [], isTimingDashboardChecked = false, isFirebaseChecked = false, isGHStatusChecked = false) { + return this.fetchAllPullRequests(PRList.map((pr) => this.getPullRequestNumberFromURL(pr))) + .then((data) => { + const internalQAPRs = Array.isArray(data) ? data.filter((pr) => !(0, EmptyObject_1.isEmptyObject)(pr.labels.find((item) => item.name === CONST_1.default.LABELS.INTERNAL_QA))) : []; + return Promise.all(internalQAPRs.map((pr) => this.getPullRequestMergerLogin(pr.number).then((mergerLogin) => ({ url: pr.html_url, mergerLogin })))).then((results) => { + // The format of this map is following: + // { + // 'https://github.com/Expensify/App/pull/9641': 'PauloGasparSv', + // 'https://github.com/Expensify/App/pull/9642': 'mountiny' + // } + const internalQAPRMap = results.reduce((acc, { url, mergerLogin }) => { + acc[url] = mergerLogin; + return acc; + }, {}); + console.log('Found the following Internal QA PRs:', internalQAPRMap); + const noQAPRs = Array.isArray(data) ? data.filter((PR) => /\[No\s?QA]/i.test(PR.title)).map((item) => item.html_url) : []; + console.log('Found the following NO QA PRs:', noQAPRs); + const verifiedOrNoQAPRs = [...new Set([...verifiedPRList, ...noQAPRs])]; + const sortedPRList = [...new Set((0, arrayDifference_1.default)(PRList, Object.keys(internalQAPRMap)))].sort((a, b) => GithubUtils.getPullRequestNumberFromURL(a) - GithubUtils.getPullRequestNumberFromURL(b)); + const sortedDeployBlockers = [...new Set(deployBlockers)].sort((a, b) => GithubUtils.getIssueOrPullRequestNumberFromURL(a) - GithubUtils.getIssueOrPullRequestNumberFromURL(b)); + // Tag version and comparison URL + // eslint-disable-next-line max-len + let issueBody = `**Release Version:** \`${tag}\`\r\n**Compare Changes:** https://github.com/Expensify/App/compare/production...staging\r\n`; + // PR list + if (sortedPRList.length > 0) { + issueBody += '\r\n**This release contains changes from the following pull requests:**\r\n'; + sortedPRList.forEach((URL) => { + issueBody += verifiedOrNoQAPRs.includes(URL) ? '- [x]' : '- [ ]'; + issueBody += ` ${URL}\r\n`; + }); + issueBody += '\r\n\r\n'; + } + // Internal QA PR list + if (!(0, EmptyObject_1.isEmptyObject)(internalQAPRMap)) { + console.log('Found the following verified Internal QA PRs:', resolvedInternalQAPRs); + issueBody += '**Internal QA:**\r\n'; + Object.keys(internalQAPRMap).forEach((URL) => { + const merger = internalQAPRMap[URL]; + const mergerMention = `@${merger}`; + issueBody += `${resolvedInternalQAPRs.includes(URL) ? '- [x]' : '- [ ]'} `; + issueBody += `${URL}`; + issueBody += ` - ${mergerMention}`; + issueBody += '\r\n'; + }); + issueBody += '\r\n\r\n'; + } + // Deploy blockers + if (deployBlockers.length > 0) { + issueBody += '**Deploy Blockers:**\r\n'; + sortedDeployBlockers.forEach((URL) => { + issueBody += resolvedDeployBlockers.includes(URL) ? '- [x] ' : '- [ ] '; + issueBody += URL; + issueBody += '\r\n'; + }); + issueBody += '\r\n\r\n'; + } + issueBody += '**Deployer verifications:**'; + // eslint-disable-next-line max-len + issueBody += `\r\n- [${isTimingDashboardChecked ? 'x' : ' '}] I checked the [App Timing Dashboard](https://graphs.expensify.com/grafana/d/yj2EobAGz/app-timing?orgId=1) and verified this release does not cause a noticeable performance regression.`; + // eslint-disable-next-line max-len + issueBody += `\r\n- [${isFirebaseChecked ? 'x' : ' '}] I checked [Firebase Crashlytics](https://console.firebase.google.com/u/0/project/expensify-chat/crashlytics/app/android:com.expensify.chat/issues?state=open&time=last-seven-days&tag=all) and verified that this release does not introduce any new crashes. More detailed instructions on this verification can be found [here](https://stackoverflowteams.com/c/expensify/questions/15095/15096).`; + // eslint-disable-next-line max-len + issueBody += `\r\n- [${isGHStatusChecked ? 'x' : ' '}] I checked [GitHub Status](https://www.githubstatus.com/) and verified there is no reported incident with Actions.`; + issueBody += '\r\n\r\ncc @Expensify/applauseleads\r\n'; + const issueAssignees = [...new Set(Object.values(internalQAPRMap))]; + const issue = { issueBody, issueAssignees }; + return issue; + }); + }) + .catch((err) => console.warn('Error generating StagingDeployCash issue body! Continuing...', err)); + } + /** + * Fetch all pull requests given a list of PR numbers. + */ + static fetchAllPullRequests(pullRequestNumbers) { + const oldestPR = pullRequestNumbers.sort((a, b) => a - b).at(0); + return this.paginate(this.octokit.pulls.list, { + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + state: 'all', + sort: 'created', + direction: 'desc', + per_page: 100, + }, ({ data }, done) => { + if (data.find((pr) => pr.number === oldestPR)) { + done(); + } + return data; + }) + .then((prList) => prList.filter((pr) => pullRequestNumbers.includes(pr.number))) + .catch((err) => console.error('Failed to get PR list', err)); + } + static getPullRequestMergerLogin(pullRequestNumber) { + return this.octokit.pulls + .get({ + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + pull_number: pullRequestNumber, + }) + .then(({ data: pullRequest }) => pullRequest.merged_by?.login); + } + static getPullRequestBody(pullRequestNumber) { + return this.octokit.pulls + .get({ + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + pull_number: pullRequestNumber, + }) + .then(({ data: pullRequestComment }) => pullRequestComment.body); + } + static getAllReviewComments(pullRequestNumber) { + return this.paginate(this.octokit.pulls.listReviews, { + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + pull_number: pullRequestNumber, + per_page: 100, + }, (response) => response.data.map((review) => review.body)); + } + static getAllComments(issueNumber) { + return this.paginate(this.octokit.issues.listComments, { + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + issue_number: issueNumber, + per_page: 100, + }, (response) => response.data.map((comment) => comment.body)); + } + /** + * Create comment on pull request + */ + static createComment(repo, number, messageBody) { + console.log(`Writing comment on #${number}`); + return this.octokit.issues.createComment({ + owner: CONST_1.default.GITHUB_OWNER, + repo, + issue_number: number, + body: messageBody, + }); + } + /** + * Get the most recent workflow run for the given New Expensify workflow. + */ + static getLatestWorkflowRunID(workflow) { + console.log(`Fetching New Expensify workflow runs for ${workflow}...`); + return this.octokit.actions + .listWorkflowRuns({ + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + workflow_id: workflow, + }) + .then((response) => response.data.workflow_runs.at(0)?.id ?? -1); + } + /** + * Generate the URL of an New Expensify pull request given the PR number. + */ + static getPullRequestURLFromNumber(value) { + return `${CONST_1.default.APP_REPO_URL}/pull/${value}`; + } + /** + * Parse the pull request number from a URL. + * + * @throws {Error} If the URL is not a valid Github Pull Request. + */ + static getPullRequestNumberFromURL(URL) { + const matches = URL.match(CONST_1.default.PULL_REQUEST_REGEX); + if (!Array.isArray(matches) || matches.length !== 2) { + throw new Error(`Provided URL ${URL} is not a Github Pull Request!`); + } + return Number.parseInt(matches[1], 10); + } + /** + * Parse the issue number from a URL. + * + * @throws {Error} If the URL is not a valid Github Issue. + */ + static getIssueNumberFromURL(URL) { + const matches = URL.match(CONST_1.default.ISSUE_REGEX); + if (!Array.isArray(matches) || matches.length !== 2) { + throw new Error(`Provided URL ${URL} is not a Github Issue!`); + } + return Number.parseInt(matches[1], 10); + } + /** + * Parse the issue or pull request number from a URL. + * + * @throws {Error} If the URL is not a valid Github Issue or Pull Request. + */ + static getIssueOrPullRequestNumberFromURL(URL) { + const matches = URL.match(CONST_1.default.ISSUE_OR_PULL_REQUEST_REGEX); + if (!Array.isArray(matches) || matches.length !== 2) { + throw new Error(`Provided URL ${URL} is not a valid Github Issue or Pull Request!`); + } + return Number.parseInt(matches[1], 10); + } + /** + * Return the login of the actor who closed an issue or PR. If the issue is not closed, return an empty string. + */ + static getActorWhoClosedIssue(issueNumber) { + return this.paginate(this.octokit.issues.listEvents, { + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + issue_number: issueNumber, + per_page: 100, + }) + .then((events) => events.filter((event) => event.event === 'closed')) + .then((closedEvents) => closedEvents.at(-1)?.actor?.login ?? ''); + } + /** + * Returns a single artifact by name. If none is found, it returns undefined. + */ + static getArtifactByName(artifactName) { + return this.octokit.actions + .listArtifactsForRepo({ + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + per_page: 1, + name: artifactName, + }) + .then((response) => response.data.artifacts.at(0)); + } + /** + * Given an artifact ID, returns the download URL to a zip file containing the artifact. + */ + static getArtifactDownloadURL(artifactId) { + return this.octokit.actions + .downloadArtifact({ + owner: CONST_1.default.GITHUB_OWNER, + repo: CONST_1.default.APP_REPO, + artifact_id: artifactId, + archive_format: 'zip', + }) + .then((response) => response.url); + } } +exports["default"] = GithubUtils; -var _default = sha1; -exports["default"] = _default; /***/ }), -/***/ 8950: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 3902: +/***/ ((__unused_webpack_module, exports) => { "use strict"; - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - +/* eslint-disable @typescript-eslint/naming-convention */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +const replacer = (str) => ({ + '\\': '\\\\', + '\t': '\\t', + '\n': '\\n', + '\r': '\\r', + '\f': '\\f', + '"': '\\"', +}[str] ?? ''); /** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + * Replace any characters in the string that will break JSON.parse for our Git Log output + * + * Solution partly taken from SO user Gabriel Rodríguez Flores 🙇 + * https://stackoverflow.com/questions/52789718/how-to-remove-special-characters-before-json-parse-while-file-reading */ -const byteToHex = []; - -for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); -} - -function stringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - - if (!(0, _validate.default)(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - - return uuid; -} +const sanitizeStringForJSONParse = (inputString) => { + if (typeof inputString !== 'string') { + throw new TypeError('Input must me of type String'); + } + // Replace any newlines and escape backslashes + return inputString.replace(/\\|\t|\n|\r|\f|"/g, replacer); +}; +exports["default"] = sanitizeStringForJSONParse; -var _default = stringify; -exports["default"] = _default; /***/ }), -/***/ 8628: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 8982: +/***/ ((__unused_webpack_module, exports) => { "use strict"; - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _rng = _interopRequireDefault(__nccwpck_require__(807)); - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html -let _nodeId; - -let _clockseq; // Previous uuid creation time - - -let _lastMSecs = 0; -let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || _rng.default)(); - - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getPreviousVersion = exports.incrementPatch = exports.incrementMinor = exports.SEMANTIC_VERSION_LEVELS = exports.MAX_INCREMENTS = exports.incrementVersion = exports.getVersionStringFromNumber = exports.getVersionNumberFromString = exports.isValidSemverLevel = void 0; +const SEMANTIC_VERSION_LEVELS = { + MAJOR: 'MAJOR', + MINOR: 'MINOR', + PATCH: 'PATCH', + BUILD: 'BUILD', +}; +exports.SEMANTIC_VERSION_LEVELS = SEMANTIC_VERSION_LEVELS; +const MAX_INCREMENTS = 99; +exports.MAX_INCREMENTS = MAX_INCREMENTS; +function isValidSemverLevel(str) { + return Object.keys(SEMANTIC_VERSION_LEVELS).includes(str); +} +exports.isValidSemverLevel = isValidSemverLevel; +/** + * Transforms a versions string into a number + */ +const getVersionNumberFromString = (versionString) => { + const [version, build] = versionString.split('-'); + const [major, minor, patch] = version.split('.').map((n) => Number(n)); + return [major, minor, patch, Number.isInteger(Number(build)) ? Number(build) : 0]; +}; +exports.getVersionNumberFromString = getVersionNumberFromString; +/** + * Transforms version numbers components into a version string + */ +const getVersionStringFromNumber = (major, minor, patch, build = 0) => `${major}.${minor}.${patch}-${build}`; +exports.getVersionStringFromNumber = getVersionStringFromNumber; +/** + * Increments a minor version + */ +const incrementMinor = (major, minor) => { + if (minor < MAX_INCREMENTS) { + return getVersionStringFromNumber(major, minor + 1, 0, 0); } - - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + return getVersionStringFromNumber(major + 1, 0, 0, 0); +}; +exports.incrementMinor = incrementMinor; +/** + * Increments a Patch version + */ +const incrementPatch = (major, minor, patch) => { + if (patch < MAX_INCREMENTS) { + return getVersionStringFromNumber(major, minor, patch + 1, 0); } - } // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - - - let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - - let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - - - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } // Per 4.2.1.2 Throw error if too many uuids are requested - - - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - - msecs += 12219292800000; // `time_low` - - const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; // `time_mid` - - const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; // `time_high_and_version` - - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - - b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - - b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` - - b[i++] = clockseq & 0xff; // `node` - - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf || (0, _stringify.default)(b); + return incrementMinor(major, minor); +}; +exports.incrementPatch = incrementPatch; +/** + * Increments a build version + */ +const incrementVersion = (version, level) => { + const [major, minor, patch, build] = getVersionNumberFromString(version); + // Majors will always be incremented + if (level === SEMANTIC_VERSION_LEVELS.MAJOR) { + return getVersionStringFromNumber(major + 1, 0, 0, 0); + } + if (level === SEMANTIC_VERSION_LEVELS.MINOR) { + return incrementMinor(major, minor); + } + if (level === SEMANTIC_VERSION_LEVELS.PATCH) { + return incrementPatch(major, minor, patch); + } + if (build < MAX_INCREMENTS) { + return getVersionStringFromNumber(major, minor, patch, build + 1); + } + return incrementPatch(major, minor, patch); +}; +exports.incrementVersion = incrementVersion; +function getPreviousVersion(currentVersion, level) { + const [major, minor, patch, build] = getVersionNumberFromString(currentVersion); + if (level === SEMANTIC_VERSION_LEVELS.MAJOR) { + if (major === 1) { + return getVersionStringFromNumber(1, 0, 0, 0); + } + return getVersionStringFromNumber(major - 1, 0, 0, 0); + } + if (level === SEMANTIC_VERSION_LEVELS.MINOR) { + if (minor === 0) { + return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MAJOR); + } + return getVersionStringFromNumber(major, minor - 1, 0, 0); + } + if (level === SEMANTIC_VERSION_LEVELS.PATCH) { + if (patch === 0) { + return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR); + } + return getVersionStringFromNumber(major, minor, patch - 1, 0); + } + if (build === 0) { + return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.PATCH); + } + return getVersionStringFromNumber(major, minor, patch, build - 1); } +exports.getPreviousVersion = getPreviousVersion; -var _default = v1; -exports["default"] = _default; /***/ }), -/***/ 6409: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 8227: +/***/ ((__unused_webpack_module, exports) => { "use strict"; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.isEmptyObject = void 0; +function isEmptyObject(obj) { + return Object.keys(obj ?? {}).length === 0; +} +exports.isEmptyObject = isEmptyObject; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _v = _interopRequireDefault(__nccwpck_require__(5998)); - -var _md = _interopRequireDefault(__nccwpck_require__(4569)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const v3 = (0, _v.default)('v3', 0x30, _md.default); -var _default = v3; -exports["default"] = _default; /***/ }), -/***/ 5998: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 7034: +/***/ ((__unused_webpack_module, exports) => { "use strict"; - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = _default; -exports.URL = exports.DNS = void 0; - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - -var _parse = _interopRequireDefault(__nccwpck_require__(2746)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - const bytes = []; - - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - - return bytes; +Object.defineProperty(exports, "__esModule", ({ value: true })); +/** + * This function is an equivalent of _.difference, it takes two arrays and returns the difference between them. + * It returns an array of items that are in the first array but not in the second array. + */ +function arrayDifference(array1, array2) { + return [array1, array2].reduce((a, b) => a.filter((c) => !b.includes(c))); } +exports["default"] = arrayDifference; -const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -exports.DNS = DNS; -const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -exports.URL = URL; - -function _default(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - - if (typeof namespace === 'string') { - namespace = (0, _parse.default)(namespace); - } - - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - - - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } +/***/ }), - return (0, _stringify.default)(bytes); - } // Function#name is not settable on some platforms (#270) +/***/ 9491: +/***/ ((module) => { +"use strict"; +module.exports = require("assert"); - try { - generateUUID.name = name; // eslint-disable-next-line no-empty - } catch (err) {} // For CommonJS default export support +/***/ }), +/***/ 2081: +/***/ ((module) => { - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} +"use strict"; +module.exports = require("child_process"); /***/ }), -/***/ 5122: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 6113: +/***/ ((module) => { "use strict"; +module.exports = require("crypto"); +/***/ }), -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _rng = _interopRequireDefault(__nccwpck_require__(807)); - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); +/***/ 3975: +/***/ ((module) => { -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +"use strict"; +module.exports = require("encoding"); -function v4(options, buf, offset) { - options = options || {}; +/***/ }), - const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` +/***/ 2361: +/***/ ((module) => { +"use strict"; +module.exports = require("events"); - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided +/***/ }), - if (buf) { - offset = offset || 0; +/***/ 7147: +/***/ ((module) => { - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } +"use strict"; +module.exports = require("fs"); - return buf; - } +/***/ }), - return (0, _stringify.default)(rnds); -} +/***/ 3685: +/***/ ((module) => { -var _default = v4; -exports["default"] = _default; +"use strict"; +module.exports = require("http"); /***/ }), -/***/ 9120: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 5687: +/***/ ((module) => { "use strict"; +module.exports = require("https"); +/***/ }), -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; +/***/ 1808: +/***/ ((module) => { -var _v = _interopRequireDefault(__nccwpck_require__(5998)); +"use strict"; +module.exports = require("net"); -var _sha = _interopRequireDefault(__nccwpck_require__(5274)); +/***/ }), -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/***/ 2037: +/***/ ((module) => { -const v5 = (0, _v.default)('v5', 0x50, _sha.default); -var _default = v5; -exports["default"] = _default; +"use strict"; +module.exports = require("os"); /***/ }), -/***/ 6900: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 1017: +/***/ ((module) => { "use strict"; +module.exports = require("path"); +/***/ }), -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; +/***/ 5477: +/***/ ((module) => { -var _regex = _interopRequireDefault(__nccwpck_require__(814)); +"use strict"; +module.exports = require("punycode"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/***/ }), -function validate(uuid) { - return typeof uuid === 'string' && _regex.default.test(uuid); -} +/***/ 2781: +/***/ ((module) => { -var _default = validate; -exports["default"] = _default; +"use strict"; +module.exports = require("stream"); /***/ }), -/***/ 1595: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 4404: +/***/ ((module) => { "use strict"; +module.exports = require("tls"); +/***/ }), -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); +/***/ 7310: +/***/ ((module) => { -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +"use strict"; +module.exports = require("url"); -function version(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } +/***/ }), - return parseInt(uuid.substr(14, 1), 16); -} +/***/ 3837: +/***/ ((module) => { -var _default = version; -exports["default"] = _default; +"use strict"; +module.exports = require("util"); /***/ }), -/***/ 2940: +/***/ 9796: /***/ ((module) => { -// Returns a wrapper function that returns a wrapped callback -// The wrapper function should do some stuff, and return a -// presumably different callback function. -// This makes sure that own properties are retained, so that -// decorations and such are not lost along the way. -module.exports = wrappy -function wrappy (fn, cb) { - if (fn && cb) return wrappy(fn)(cb) +"use strict"; +module.exports = require("zlib"); - if (typeof fn !== 'function') - throw new TypeError('need wrapper function') +/***/ }), - Object.keys(fn).forEach(function (k) { - wrapper[k] = fn[k] - }) +/***/ 6411: +/***/ ((__unused_webpack_module, exports) => { - return wrapper +"use strict"; - function wrapper() { - var args = new Array(arguments.length) - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i] - } - var ret = fn.apply(this, args) - var cb = args[args.length-1] - if (typeof ret === 'function' && ret !== cb) { - Object.keys(cb).forEach(function (k) { - ret[k] = cb[k] - }) - } - return ret - } +exports.addLeadingZeros = addLeadingZeros; +function addLeadingZeros(number, targetLength) { + const sign = number < 0 ? "-" : ""; + const output = Math.abs(number).toString().padStart(targetLength, "0"); + return sign + output; } /***/ }), -/***/ 566: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +/***/ 7479: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; +Object.defineProperty(exports, "defaultLocale", ({ + enumerable: true, + get: function () { + return _index.enUS; + }, })); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const core = __importStar(__nccwpck_require__(2186)); -const format_1 = __importDefault(__nccwpck_require__(2168)); -const fs_1 = __importDefault(__nccwpck_require__(7147)); -const CONST_1 = __importDefault(__nccwpck_require__(9873)); -const GithubUtils_1 = __importDefault(__nccwpck_require__(9296)); -const GitUtils_1 = __importDefault(__nccwpck_require__(1547)); -async function run() { - // Note: require('package.json').version does not work because ncc will resolve that to a plain string at compile time - const packageJson = JSON.parse(fs_1.default.readFileSync('package.json', 'utf8')); - const newVersionTag = packageJson.version; - try { - // Start by fetching the list of recent StagingDeployCash issues, along with the list of open deploy blockers - const { data: recentDeployChecklists } = await GithubUtils_1.default.octokit.issues.listForRepo({ - log: console, - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - labels: CONST_1.default.LABELS.STAGING_DEPLOY, - state: 'all', - }); - // Look at the state of the most recent StagingDeployCash, - // if it is open then we'll update the existing one, otherwise, we'll create a new one. - const mostRecentChecklist = recentDeployChecklists.at(0); - if (!mostRecentChecklist) { - throw new Error('Could not find the most recent checklist'); - } - const shouldCreateNewDeployChecklist = mostRecentChecklist.state !== 'open'; - const previousChecklist = shouldCreateNewDeployChecklist ? mostRecentChecklist : recentDeployChecklists.at(1); - if (shouldCreateNewDeployChecklist) { - console.log('Latest StagingDeployCash is closed, creating a new one.', mostRecentChecklist); - } - else { - console.log('Latest StagingDeployCash is open, updating it instead of creating a new one.', 'Current:', mostRecentChecklist, 'Previous:', previousChecklist); - } - if (!previousChecklist) { - throw new Error('Could not find the previous checklist'); - } - // Parse the data from the previous and current checklists into the format used to generate the checklist - const previousChecklistData = GithubUtils_1.default.getStagingDeployCashData(previousChecklist); - const currentChecklistData = shouldCreateNewDeployChecklist ? undefined : GithubUtils_1.default.getStagingDeployCashData(mostRecentChecklist); - // Find the list of PRs merged between the current checklist and the previous checklist - const mergedPRs = await GitUtils_1.default.getPullRequestsMergedBetween(previousChecklistData.tag ?? '', newVersionTag); - // Next, we generate the checklist body - let checklistBody = ''; - let checklistAssignees = []; - if (shouldCreateNewDeployChecklist) { - const stagingDeployCashBodyAndAssignees = await GithubUtils_1.default.generateStagingDeployCashBodyAndAssignees(newVersionTag, mergedPRs.map((value) => GithubUtils_1.default.getPullRequestURLFromNumber(value))); - if (stagingDeployCashBodyAndAssignees) { - checklistBody = stagingDeployCashBodyAndAssignees.issueBody; - checklistAssignees = stagingDeployCashBodyAndAssignees.issueAssignees.filter(Boolean); - } - } - else { - // Generate the updated PR list, preserving the previous state of `isVerified` for existing PRs - const PRList = mergedPRs.map((prNum) => { - const indexOfPRInCurrentChecklist = currentChecklistData?.PRList.findIndex((pr) => pr.number === prNum) ?? -1; - const isVerified = indexOfPRInCurrentChecklist >= 0 ? currentChecklistData?.PRList[indexOfPRInCurrentChecklist].isVerified : false; - return { - number: prNum, - url: GithubUtils_1.default.getPullRequestURLFromNumber(prNum), - isVerified, - }; - }); - // Generate the deploy blocker list, preserving the previous state of `isResolved` - const { data: openDeployBlockers } = await GithubUtils_1.default.octokit.issues.listForRepo({ - log: console, - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - labels: CONST_1.default.LABELS.DEPLOY_BLOCKER, - }); - // First, make sure we include all current deploy blockers - const deployBlockers = openDeployBlockers.map((deployBlocker) => { - const indexInCurrentChecklist = currentChecklistData?.deployBlockers.findIndex((item) => item.number === deployBlocker.number) ?? -1; - const isResolved = indexInCurrentChecklist >= 0 ? currentChecklistData?.deployBlockers[indexInCurrentChecklist].isResolved : false; - return { - number: deployBlocker.number, - url: deployBlocker.html_url, - isResolved, - }; - }); - // Then make sure we include any demoted or closed blockers as well, and just check them off automatically - currentChecklistData?.deployBlockers.forEach((deployBlocker) => { - const isResolved = deployBlockers.findIndex((openBlocker) => openBlocker.number === deployBlocker.number) < 0; - deployBlockers.push({ - ...deployBlocker, - isResolved, - }); - }); - const didVersionChange = newVersionTag !== currentChecklistData?.tag; - const stagingDeployCashBodyAndAssignees = await GithubUtils_1.default.generateStagingDeployCashBodyAndAssignees(newVersionTag, PRList.map((pr) => pr.url), PRList.filter((pr) => pr.isVerified).map((pr) => pr.url), deployBlockers.map((blocker) => blocker.url), deployBlockers.filter((blocker) => blocker.isResolved).map((blocker) => blocker.url), currentChecklistData?.internalQAPRList.filter((pr) => pr.isResolved).map((pr) => pr.url), didVersionChange ? false : currentChecklistData.isTimingDashboardChecked, didVersionChange ? false : currentChecklistData.isFirebaseChecked, didVersionChange ? false : currentChecklistData.isGHStatusChecked); - if (stagingDeployCashBodyAndAssignees) { - checklistBody = stagingDeployCashBodyAndAssignees.issueBody; - checklistAssignees = stagingDeployCashBodyAndAssignees.issueAssignees.filter(Boolean); - } - } - // Finally, create or update the checklist - const defaultPayload = { - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - body: checklistBody, - }; - if (shouldCreateNewDeployChecklist) { - const { data: newChecklist } = await GithubUtils_1.default.octokit.issues.create({ - ...defaultPayload, - title: `Deploy Checklist: New Expensify ${(0, format_1.default)(new Date(), CONST_1.default.DATE_FORMAT_STRING)}`, - labels: [CONST_1.default.LABELS.STAGING_DEPLOY], - assignees: [CONST_1.default.APPLAUSE_BOT].concat(checklistAssignees), - }); - console.log(`Successfully created new StagingDeployCash! 🎉 ${newChecklist.html_url}`); - return newChecklist; - } - const { data: updatedChecklist } = await GithubUtils_1.default.octokit.issues.update({ - ...defaultPayload, - // eslint-disable-next-line @typescript-eslint/naming-convention - issue_number: currentChecklistData?.number ?? 0, - }); - console.log(`Successfully updated StagingDeployCash! 🎉 ${updatedChecklist.html_url}`); - return updatedChecklist; - } - catch (err) { - console.error('An unknown error occurred!', err); - core.setFailed(err); - } -} -if (require.main === require.cache[eval('__filename')]) { - run(); -} -exports["default"] = run; +var _index = __nccwpck_require__(9425); /***/ }), -/***/ 9873: +/***/ 5586: /***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const GITHUB_BASE_URL_REGEX = new RegExp('https?://(?:github\\.com|api\\.github\\.com)'); -const GIT_CONST = { - GITHUB_OWNER: 'Expensify', - APP_REPO: 'App', -}; -const CONST = { - ...GIT_CONST, - APPLAUSE_BOT: 'applausebot', - OS_BOTIFY: 'OSBotify', - LABELS: { - STAGING_DEPLOY: 'StagingDeployCash', - DEPLOY_BLOCKER: 'DeployBlockerCash', - INTERNAL_QA: 'InternalQA', - HELP_WANTED: 'Help Wanted', - CP_STAGING: 'CP Staging', - }, - ACTIONS: { - CREATED: 'created', - EDIT: 'edited', - }, - EVENTS: { - ISSUE_COMMENT: 'issue_comment', - }, - OPENAI_ROLES: { - USER: 'user', - ASSISTANT: 'assistant', - }, - PROPOSAL_KEYWORD: 'Proposal', - OPENAI_THREAD_COMPLETED: 'completed', - DATE_FORMAT_STRING: 'yyyy-MM-dd', - PULL_REQUEST_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/pull/([0-9]+).*`), - ISSUE_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/issues/([0-9]+).*`), - ISSUE_OR_PULL_REQUEST_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/(?:pull|issues)/([0-9]+).*`), - POLL_RATE: 10000, - APP_REPO_URL: `https://github.com/${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}`, - APP_REPO_GIT_URL: `git@github.com:${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}.git`, - NO_ACTION: 'NO_ACTION', - OPENAI_POLL_RATE: 1500, - OPENAI_POLL_TIMEOUT: 90000, -}; -exports["default"] = CONST; +exports.getDefaultOptions = getDefaultOptions; +exports.setDefaultOptions = setDefaultOptions; + +let defaultOptions = {}; + +function getDefaultOptions() { + return defaultOptions; +} + +function setDefaultOptions(newOptions) { + defaultOptions = newOptions; +} /***/ }), -/***/ 1547: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +/***/ 6615: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; +exports.formatters = void 0; +var _index = __nccwpck_require__(1412); +var _index2 = __nccwpck_require__(6703); +var _index3 = __nccwpck_require__(7131); +var _index4 = __nccwpck_require__(3080); +var _index5 = __nccwpck_require__(9116); + +var _index6 = __nccwpck_require__(6411); +var _index7 = __nccwpck_require__(8914); + +const dayPeriodEnum = { + am: "am", + pm: "pm", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", }; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const child_process_1 = __nccwpck_require__(2081); -const CONST_1 = __importDefault(__nccwpck_require__(9873)); -const sanitizeStringForJSONParse_1 = __importDefault(__nccwpck_require__(3902)); -const VersionUpdater = __importStar(__nccwpck_require__(8982)); -/** - * Check if a tag exists locally or in the remote. + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | Milliseconds in day | + * | b | AM, PM, noon, midnight | B | Flexible day period | + * | c | Stand-alone local day of week | C* | Localized hour w/ day period | + * | d | Day of month | D | Day of year | + * | e | Local day of week | E | Day of week | + * | f | | F* | Day of week in month | + * | g* | Modified Julian day | G | Era | + * | h | Hour [1-12] | H | Hour [0-23] | + * | i! | ISO day of week | I! | ISO week of year | + * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | + * | k | Hour [1-24] | K | Hour [0-11] | + * | l* | (deprecated) | L | Stand-alone month | + * | m | Minute | M | Month | + * | n | | N | | + * | o! | Ordinal number modifier | O | Timezone (GMT) | + * | p! | Long localized time | P! | Long localized date | + * | q | Stand-alone quarter | Q | Quarter | + * | r* | Related Gregorian year | R! | ISO week-numbering year | + * | s | Second | S | Fraction of second | + * | t! | Seconds timestamp | T! | Milliseconds timestamp | + * | u | Extended year | U* | Cyclic year | + * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | + * | w | Local week of year | W* | Week of month | + * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | + * | y | Year (abs) | Y | Local week-numbering year | + * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + * + * Letters marked by ! are non-standard, but implemented by date-fns: + * - `o` modifies the previous token to turn it into an ordinal (see `format` docs) + * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, + * i.e. 7 for Sunday, 1 for Monday, etc. + * - `I` is ISO week of year, as opposed to `w` which is local week of year. + * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. + * `R` is supposed to be used in conjunction with `I` and `i` + * for universal ISO week-numbering date, whereas + * `Y` is supposed to be used in conjunction with `w` and `e` + * for week-numbering date specific to the locale. + * - `P` is long localized date format + * - `p` is long localized time format */ -function tagExists(tag) { - try { - // Check if the tag exists locally - (0, child_process_1.execSync)(`git show-ref --tags ${tag}`, { stdio: 'ignore' }); - return true; // Tag exists locally + +const formatters = (exports.formatters = { + // Era + G: function (date, token, localize) { + const era = date.getFullYear() > 0 ? 1 : 0; + switch (token) { + // AD, BC + case "G": + case "GG": + case "GGG": + return localize.era(era, { width: "abbreviated" }); + // A, B + case "GGGGG": + return localize.era(era, { width: "narrow" }); + // Anno Domini, Before Christ + case "GGGG": + default: + return localize.era(era, { width: "wide" }); } - catch (error) { - // Tag does not exist locally, check in remote - let shouldRetry = true; - let needsRepack = false; - let doesTagExist = false; - while (shouldRetry) { - try { - if (needsRepack) { - // We have seen some scenarios where this fixes the git fetch. - // Why? Who knows... https://github.com/Expensify/App/pull/31459 - (0, child_process_1.execSync)('git repack -d', { stdio: 'inherit' }); - } - (0, child_process_1.execSync)(`git ls-remote --exit-code --tags origin ${tag}`, { stdio: 'ignore' }); - doesTagExist = true; - shouldRetry = false; - } - catch (e) { - if (!needsRepack) { - console.log('Attempting to repack and retry...'); - needsRepack = true; - } - else { - console.error("Repack didn't help, giving up..."); - shouldRetry = false; - } - } - } - return doesTagExist; + }, + + // Year + y: function (date, token, localize) { + // Ordinal number + if (token === "yo") { + const signedYear = date.getFullYear(); + // Returns 1 for 1 BC (which is year 0 in JavaScript) + const year = signedYear > 0 ? signedYear : 1 - signedYear; + return localize.ordinalNumber(year, { unit: "year" }); } -} -/** - * This essentially just calls getPreviousVersion in a loop, until it finds a version for which a tag exists. - * It's useful if we manually perform a version bump, because in that case a tag may not exist for the previous version. - * - * @param tag the current tag - * @param level the Semver level to step backward by - */ -function getPreviousExistingTag(tag, level) { - let previousVersion = VersionUpdater.getPreviousVersion(tag, level); - let tagExistsForPreviousVersion = false; - while (!tagExistsForPreviousVersion) { - if (tagExists(previousVersion)) { - tagExistsForPreviousVersion = true; - break; - } - console.log(`Tag for previous version ${previousVersion} does not exist. Checking for an older version...`); - previousVersion = VersionUpdater.getPreviousVersion(previousVersion, level); + + return _index7.lightFormatters.y(date, token); + }, + + // Local week-numbering year + Y: function (date, token, localize, options) { + const signedWeekYear = (0, _index5.getWeekYear)(date, options); + // Returns 1 for 1 BC (which is year 0 in JavaScript) + const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; + + // Two digit year + if (token === "YY") { + const twoDigitYear = weekYear % 100; + return (0, _index6.addLeadingZeros)(twoDigitYear, 2); } - return previousVersion; -} -/** - * @param [shallowExcludeTag] When fetching the given tag, exclude all history reachable by the shallowExcludeTag (used to make fetch much faster) - */ -function fetchTag(tag, shallowExcludeTag = '') { - let shouldRetry = true; - let needsRepack = false; - while (shouldRetry) { - try { - let command = ''; - if (needsRepack) { - // We have seen some scenarios where this fixes the git fetch. - // Why? Who knows... https://github.com/Expensify/App/pull/31459 - command = 'git repack -d'; - console.log(`Running command: ${command}`); - (0, child_process_1.execSync)(command); - } - command = `git fetch origin tag ${tag} --no-tags`; - // Note that this condition is only ever NOT true in the 1.0.0-0 edge case - if (shallowExcludeTag && shallowExcludeTag !== tag) { - command += ` --shallow-exclude=${shallowExcludeTag}`; - } - console.log(`Running command: ${command}`); - (0, child_process_1.execSync)(command); - shouldRetry = false; - } - catch (e) { - console.error(e); - if (!needsRepack) { - console.log('Attempting to repack and retry...'); - needsRepack = true; - } - else { - console.error("Repack didn't help, giving up..."); - shouldRetry = false; - } - } + + // Ordinal number + if (token === "Yo") { + return localize.ordinalNumber(weekYear, { unit: "year" }); + } + + // Padding + return (0, _index6.addLeadingZeros)(weekYear, token.length); + }, + + // ISO week-numbering year + R: function (date, token) { + const isoWeekYear = (0, _index3.getISOWeekYear)(date); + + // Padding + return (0, _index6.addLeadingZeros)(isoWeekYear, token.length); + }, + + // Extended year. This is a single number designating the year of this calendar system. + // The main difference between `y` and `u` localizers are B.C. years: + // | Year | `y` | `u` | + // |------|-----|-----| + // | AC 1 | 1 | 1 | + // | BC 1 | 1 | 0 | + // | BC 2 | 2 | -1 | + // Also `yy` always returns the last two digits of a year, + // while `uu` pads single digit years to 2 characters and returns other years unchanged. + u: function (date, token) { + const year = date.getFullYear(); + return (0, _index6.addLeadingZeros)(year, token.length); + }, + + // Quarter + Q: function (date, token, localize) { + const quarter = Math.ceil((date.getMonth() + 1) / 3); + switch (token) { + // 1, 2, 3, 4 + case "Q": + return String(quarter); + // 01, 02, 03, 04 + case "QQ": + return (0, _index6.addLeadingZeros)(quarter, 2); + // 1st, 2nd, 3rd, 4th + case "Qo": + return localize.ordinalNumber(quarter, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 + case "QQQ": + return localize.quarter(quarter, { + width: "abbreviated", + context: "formatting", + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + case "QQQQQ": + return localize.quarter(quarter, { + width: "narrow", + context: "formatting", + }); + // 1st quarter, 2nd quarter, ... + case "QQQQ": + default: + return localize.quarter(quarter, { + width: "wide", + context: "formatting", + }); + } + }, + + // Stand-alone quarter + q: function (date, token, localize) { + const quarter = Math.ceil((date.getMonth() + 1) / 3); + switch (token) { + // 1, 2, 3, 4 + case "q": + return String(quarter); + // 01, 02, 03, 04 + case "qq": + return (0, _index6.addLeadingZeros)(quarter, 2); + // 1st, 2nd, 3rd, 4th + case "qo": + return localize.ordinalNumber(quarter, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 + case "qqq": + return localize.quarter(quarter, { + width: "abbreviated", + context: "standalone", + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + case "qqqqq": + return localize.quarter(quarter, { + width: "narrow", + context: "standalone", + }); + // 1st quarter, 2nd quarter, ... + case "qqqq": + default: + return localize.quarter(quarter, { + width: "wide", + context: "standalone", + }); } -} -/** - * Get merge logs between two tags (inclusive) as a JavaScript object. - */ -function getCommitHistoryAsJSON(fromTag, toTag) { - // Fetch tags, excluding commits reachable from the previous patch version (i.e: previous checklist), so that we don't have to fetch the full history - const previousPatchVersion = getPreviousExistingTag(fromTag, VersionUpdater.SEMANTIC_VERSION_LEVELS.PATCH); - fetchTag(fromTag, previousPatchVersion); - fetchTag(toTag, previousPatchVersion); - console.log('Getting pull requests merged between the following tags:', fromTag, toTag); - return new Promise((resolve, reject) => { - let stdout = ''; - let stderr = ''; - const args = ['log', '--format={"commit": "%H", "authorName": "%an", "subject": "%s"},', `${fromTag}...${toTag}`]; - console.log(`Running command: git ${args.join(' ')}`); - const spawnedProcess = (0, child_process_1.spawn)('git', args); - spawnedProcess.on('message', console.log); - spawnedProcess.stdout.on('data', (chunk) => { - console.log(chunk.toString()); - stdout += chunk.toString(); + }, + + // Month + M: function (date, token, localize) { + const month = date.getMonth(); + switch (token) { + case "M": + case "MM": + return _index7.lightFormatters.M(date, token); + // 1st, 2nd, ..., 12th + case "Mo": + return localize.ordinalNumber(month + 1, { unit: "month" }); + // Jan, Feb, ..., Dec + case "MMM": + return localize.month(month, { + width: "abbreviated", + context: "formatting", }); - spawnedProcess.stderr.on('data', (chunk) => { - console.error(chunk.toString()); - stderr += chunk.toString(); + // J, F, ..., D + case "MMMMM": + return localize.month(month, { + width: "narrow", + context: "formatting", }); - spawnedProcess.on('close', (code) => { - if (code !== 0) { - console.log('code: ', code); - return reject(new Error(`${stderr}`)); - } - resolve(stdout); + // January, February, ..., December + case "MMMM": + default: + return localize.month(month, { width: "wide", context: "formatting" }); + } + }, + + // Stand-alone month + L: function (date, token, localize) { + const month = date.getMonth(); + switch (token) { + // 1, 2, ..., 12 + case "L": + return String(month + 1); + // 01, 02, ..., 12 + case "LL": + return (0, _index6.addLeadingZeros)(month + 1, 2); + // 1st, 2nd, ..., 12th + case "Lo": + return localize.ordinalNumber(month + 1, { unit: "month" }); + // Jan, Feb, ..., Dec + case "LLL": + return localize.month(month, { + width: "abbreviated", + context: "standalone", }); - spawnedProcess.on('error', (err) => reject(err)); - }).then((stdout) => { - // Sanitize just the text within commit subjects as that's the only potentially un-parseable text. - const sanitizedOutput = stdout.replace(/(?<="subject": ").*?(?="})/g, (subject) => (0, sanitizeStringForJSONParse_1.default)(subject)); - // Then remove newlines, format as JSON and convert to a proper JS object - const json = `[${sanitizedOutput}]`.replace(/(\r\n|\n|\r)/gm, '').replace('},]', '}]'); - return JSON.parse(json); - }); -} -/** - * Parse merged PRs, excluding those from irrelevant branches. - */ -function getValidMergedPRs(commits) { - const mergedPRs = new Set(); - commits.forEach((commit) => { - const author = commit.authorName; - if (author === CONST_1.default.OS_BOTIFY) { - return; - } - const match = commit.subject.match(/Merge pull request #(\d+) from (?!Expensify\/.*-cherry-pick-staging)/); - if (!Array.isArray(match) || match.length < 2) { - return; - } - const pr = Number.parseInt(match[1], 10); - if (mergedPRs.has(pr)) { - // If a PR shows up in the log twice, that means that the PR was deployed in the previous checklist. - // That also means that we don't want to include it in the current checklist, so we remove it now. - mergedPRs.delete(pr); - return; - } - mergedPRs.add(pr); - }); - return Array.from(mergedPRs); -} -/** - * Takes in two git tags and returns a list of PR numbers of all PRs merged between those two tags - */ -async function getPullRequestsMergedBetween(fromTag, toTag) { - console.log(`Looking for commits made between ${fromTag} and ${toTag}...`); - const commitList = await getCommitHistoryAsJSON(fromTag, toTag); - console.log(`Commits made between ${fromTag} and ${toTag}:`, commitList); - // Find which commit messages correspond to merged PR's - const pullRequestNumbers = getValidMergedPRs(commitList).sort((a, b) => a - b); - console.log(`List of pull requests merged between ${fromTag} and ${toTag}`, pullRequestNumbers); - return pullRequestNumbers; -} -exports["default"] = { - getPreviousExistingTag, - getValidMergedPRs, - getPullRequestsMergedBetween, -}; + // J, F, ..., D + case "LLLLL": + return localize.month(month, { + width: "narrow", + context: "standalone", + }); + // January, February, ..., December + case "LLLL": + default: + return localize.month(month, { width: "wide", context: "standalone" }); + } + }, + // Local week of year + w: function (date, token, localize, options) { + const week = (0, _index4.getWeek)(date, options); -/***/ }), + if (token === "wo") { + return localize.ordinalNumber(week, { unit: "week" }); + } -/***/ 9296: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + return (0, _index6.addLeadingZeros)(week, token.length); + }, -"use strict"; + // ISO week of year + I: function (date, token, localize) { + const isoWeek = (0, _index2.getISOWeek)(date); -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -/* eslint-disable @typescript-eslint/naming-convention, import/no-import-module-exports */ -const core = __importStar(__nccwpck_require__(2186)); -const utils_1 = __nccwpck_require__(3030); -const plugin_paginate_rest_1 = __nccwpck_require__(4193); -const plugin_throttling_1 = __nccwpck_require__(9968); -const EmptyObject_1 = __nccwpck_require__(8227); -const arrayDifference_1 = __importDefault(__nccwpck_require__(7034)); -const CONST_1 = __importDefault(__nccwpck_require__(9873)); -class GithubUtils { - static internalOctokit; - /** - * Initialize internal octokit. - * NOTE: When using GithubUtils in CI, you don't need to call this manually. - */ - static initOctokitWithToken(token) { - const Octokit = utils_1.GitHub.plugin(plugin_throttling_1.throttling, plugin_paginate_rest_1.paginateRest); - // Save a copy of octokit used in this class - this.internalOctokit = new Octokit((0, utils_1.getOctokitOptions)(token, { - throttle: { - retryAfterBaseValue: 2000, - onRateLimit: (retryAfter, options) => { - console.warn(`Request quota exhausted for request ${options.method} ${options.url}`); - // Retry five times when hitting a rate limit error, then give up - if (options.request.retryCount <= 5) { - console.log(`Retrying after ${retryAfter} seconds!`); - return true; - } - }, - onAbuseLimit: (retryAfter, options) => { - // does not retry, only logs a warning - console.warn(`Abuse detected for request ${options.method} ${options.url}`); - }, - }, - })); + if (token === "Io") { + return localize.ordinalNumber(isoWeek, { unit: "week" }); } - /** - * Default initialize method assuming running in CI, getting the token from an input. - * - * @private - */ - static initOctokit() { - const token = core.getInput('GITHUB_TOKEN', { required: true }); - this.initOctokitWithToken(token); + + return (0, _index6.addLeadingZeros)(isoWeek, token.length); + }, + + // Day of the month + d: function (date, token, localize) { + if (token === "do") { + return localize.ordinalNumber(date.getDate(), { unit: "date" }); } - /** - * Either give an existing instance of Octokit rest or create a new one - * - * @readonly - * @static - */ - static get octokit() { - if (!this.internalOctokit) { - this.initOctokit(); - } - // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style - return this.internalOctokit.rest; + + return _index7.lightFormatters.d(date, token); + }, + + // Day of year + D: function (date, token, localize) { + const dayOfYear = (0, _index.getDayOfYear)(date); + + if (token === "Do") { + return localize.ordinalNumber(dayOfYear, { unit: "dayOfYear" }); } - /** - * Get the graphql instance from internal octokit. - * @readonly - * @static - */ - static get graphql() { - if (!this.internalOctokit) { - this.initOctokit(); - } - // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style - return this.internalOctokit.graphql; + + return (0, _index6.addLeadingZeros)(dayOfYear, token.length); + }, + + // Day of week + E: function (date, token, localize) { + const dayOfWeek = date.getDay(); + switch (token) { + // Tue + case "E": + case "EE": + case "EEE": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "formatting", + }); + // T + case "EEEEE": + return localize.day(dayOfWeek, { + width: "narrow", + context: "formatting", + }); + // Tu + case "EEEEEE": + return localize.day(dayOfWeek, { + width: "short", + context: "formatting", + }); + // Tuesday + case "EEEE": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "formatting", + }); } - /** - * Either give an existing instance of Octokit paginate or create a new one - * - * @readonly - * @static - */ - static get paginate() { - if (!this.internalOctokit) { - this.initOctokit(); - } - // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style - return this.internalOctokit.paginate; + }, + + // Local day of week + e: function (date, token, localize, options) { + const dayOfWeek = date.getDay(); + const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + switch (token) { + // Numerical value (Nth day of week with current locale or weekStartsOn) + case "e": + return String(localDayOfWeek); + // Padded numerical value + case "ee": + return (0, _index6.addLeadingZeros)(localDayOfWeek, 2); + // 1st, 2nd, ..., 7th + case "eo": + return localize.ordinalNumber(localDayOfWeek, { unit: "day" }); + case "eee": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "formatting", + }); + // T + case "eeeee": + return localize.day(dayOfWeek, { + width: "narrow", + context: "formatting", + }); + // Tu + case "eeeeee": + return localize.day(dayOfWeek, { + width: "short", + context: "formatting", + }); + // Tuesday + case "eeee": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "formatting", + }); } - /** - * Finds one open `StagingDeployCash` issue via GitHub octokit library. - */ - static getStagingDeployCash() { - return this.octokit.issues - .listForRepo({ - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - labels: CONST_1.default.LABELS.STAGING_DEPLOY, - state: 'open', - }) - .then(({ data }) => { - if (!data.length) { - throw new Error(`Unable to find ${CONST_1.default.LABELS.STAGING_DEPLOY} issue.`); - } - if (data.length > 1) { - throw new Error(`Found more than one ${CONST_1.default.LABELS.STAGING_DEPLOY} issue.`); - } - const issue = data.at(0); - if (!issue) { - throw new Error(`Found an undefined ${CONST_1.default.LABELS.STAGING_DEPLOY} issue.`); - } - return this.getStagingDeployCashData(issue); + }, + + // Stand-alone local day of week + c: function (date, token, localize, options) { + const dayOfWeek = date.getDay(); + const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + switch (token) { + // Numerical value (same as in `e`) + case "c": + return String(localDayOfWeek); + // Padded numerical value + case "cc": + return (0, _index6.addLeadingZeros)(localDayOfWeek, token.length); + // 1st, 2nd, ..., 7th + case "co": + return localize.ordinalNumber(localDayOfWeek, { unit: "day" }); + case "ccc": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "standalone", + }); + // T + case "ccccc": + return localize.day(dayOfWeek, { + width: "narrow", + context: "standalone", + }); + // Tu + case "cccccc": + return localize.day(dayOfWeek, { + width: "short", + context: "standalone", + }); + // Tuesday + case "cccc": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "standalone", }); } - /** - * Takes in a GitHub issue object and returns the data we want. - */ - static getStagingDeployCashData(issue) { - try { - const versionRegex = new RegExp('([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9]+))?', 'g'); - const tag = issue.body?.match(versionRegex)?.[0].replace(/`/g, ''); - return { - title: issue.title, - url: issue.url, - number: this.getIssueOrPullRequestNumberFromURL(issue.url), - labels: issue.labels, - PRList: this.getStagingDeployCashPRList(issue), - deployBlockers: this.getStagingDeployCashDeployBlockers(issue), - internalQAPRList: this.getStagingDeployCashInternalQA(issue), - isTimingDashboardChecked: issue.body ? /-\s\[x]\sI checked the \[App Timing Dashboard]/.test(issue.body) : false, - isFirebaseChecked: issue.body ? /-\s\[x]\sI checked \[Firebase Crashlytics]/.test(issue.body) : false, - isGHStatusChecked: issue.body ? /-\s\[x]\sI checked \[GitHub Status]/.test(issue.body) : false, - tag, - }; - } - catch (exception) { - throw new Error(`Unable to find ${CONST_1.default.LABELS.STAGING_DEPLOY} issue with correct data.`); - } + }, + + // ISO day of week + i: function (date, token, localize) { + const dayOfWeek = date.getDay(); + const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; + switch (token) { + // 2 + case "i": + return String(isoDayOfWeek); + // 02 + case "ii": + return (0, _index6.addLeadingZeros)(isoDayOfWeek, token.length); + // 2nd + case "io": + return localize.ordinalNumber(isoDayOfWeek, { unit: "day" }); + // Tue + case "iii": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "formatting", + }); + // T + case "iiiii": + return localize.day(dayOfWeek, { + width: "narrow", + context: "formatting", + }); + // Tu + case "iiiiii": + return localize.day(dayOfWeek, { + width: "short", + context: "formatting", + }); + // Tuesday + case "iiii": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "formatting", + }); } - /** - * Parse the PRList and Internal QA section of the StagingDeployCash issue body. - * - * @private - */ - static getStagingDeployCashPRList(issue) { - let PRListSection = issue.body?.match(/pull requests:\*\*\r?\n((?:-.*\r?\n)+)\r?\n\r?\n?/) ?? null; - if (PRListSection?.length !== 2) { - // No PRs, return an empty array - console.log('Hmmm...The open StagingDeployCash does not list any pull requests, continuing...'); - return []; - } - PRListSection = PRListSection[1]; - const PRList = [...PRListSection.matchAll(new RegExp(`- \\[([ x])] (${CONST_1.default.PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({ - url: match[2], - number: Number.parseInt(match[3], 10), - isVerified: match[1] === 'x', - })); - return PRList.sort((a, b) => a.number - b.number); + }, + + // AM or PM + a: function (date, token, localize) { + const hours = date.getHours(); + const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; + + switch (token) { + case "a": + case "aa": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }); + case "aaa": + return localize + .dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }) + .toLowerCase(); + case "aaaaa": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "narrow", + context: "formatting", + }); + case "aaaa": + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: "wide", + context: "formatting", + }); } - /** - * Parse DeployBlocker section of the StagingDeployCash issue body. - * - * @private - */ - static getStagingDeployCashDeployBlockers(issue) { - let deployBlockerSection = issue.body?.match(/Deploy Blockers:\*\*\r?\n((?:-.*\r?\n)+)/) ?? null; - if (deployBlockerSection?.length !== 2) { - return []; - } - deployBlockerSection = deployBlockerSection[1]; - const deployBlockers = [...deployBlockerSection.matchAll(new RegExp(`- \\[([ x])]\\s(${CONST_1.default.ISSUE_OR_PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({ - url: match[2], - number: Number.parseInt(match[3], 10), - isResolved: match[1] === 'x', - })); - return deployBlockers.sort((a, b) => a.number - b.number); + }, + + // AM, PM, midnight, noon + b: function (date, token, localize) { + const hours = date.getHours(); + let dayPeriodEnumValue; + if (hours === 12) { + dayPeriodEnumValue = dayPeriodEnum.noon; + } else if (hours === 0) { + dayPeriodEnumValue = dayPeriodEnum.midnight; + } else { + dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; } - /** - * Parse InternalQA section of the StagingDeployCash issue body. - * - * @private - */ - static getStagingDeployCashInternalQA(issue) { - let internalQASection = issue.body?.match(/Internal QA:\*\*\r?\n((?:- \[[ x]].*\r?\n)+)/) ?? null; - if (internalQASection?.length !== 2) { - return []; - } - internalQASection = internalQASection[1]; - const internalQAPRs = [...internalQASection.matchAll(new RegExp(`- \\[([ x])]\\s(${CONST_1.default.PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({ - url: match[2].split('-').at(0)?.trim() ?? '', - number: Number.parseInt(match[3], 10), - isResolved: match[1] === 'x', - })); - return internalQAPRs.sort((a, b) => a.number - b.number); + + switch (token) { + case "b": + case "bb": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }); + case "bbb": + return localize + .dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }) + .toLowerCase(); + case "bbbbb": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "narrow", + context: "formatting", + }); + case "bbbb": + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: "wide", + context: "formatting", + }); } - /** - * Generate the issue body and assignees for a StagingDeployCash. - */ - static generateStagingDeployCashBodyAndAssignees(tag, PRList, verifiedPRList = [], deployBlockers = [], resolvedDeployBlockers = [], resolvedInternalQAPRs = [], isTimingDashboardChecked = false, isFirebaseChecked = false, isGHStatusChecked = false) { - return this.fetchAllPullRequests(PRList.map((pr) => this.getPullRequestNumberFromURL(pr))) - .then((data) => { - const internalQAPRs = Array.isArray(data) ? data.filter((pr) => !(0, EmptyObject_1.isEmptyObject)(pr.labels.find((item) => item.name === CONST_1.default.LABELS.INTERNAL_QA))) : []; - return Promise.all(internalQAPRs.map((pr) => this.getPullRequestMergerLogin(pr.number).then((mergerLogin) => ({ url: pr.html_url, mergerLogin })))).then((results) => { - // The format of this map is following: - // { - // 'https://github.com/Expensify/App/pull/9641': 'PauloGasparSv', - // 'https://github.com/Expensify/App/pull/9642': 'mountiny' - // } - const internalQAPRMap = results.reduce((acc, { url, mergerLogin }) => { - acc[url] = mergerLogin; - return acc; - }, {}); - console.log('Found the following Internal QA PRs:', internalQAPRMap); - const noQAPRs = Array.isArray(data) ? data.filter((PR) => /\[No\s?QA]/i.test(PR.title)).map((item) => item.html_url) : []; - console.log('Found the following NO QA PRs:', noQAPRs); - const verifiedOrNoQAPRs = [...new Set([...verifiedPRList, ...noQAPRs])]; - const sortedPRList = [...new Set((0, arrayDifference_1.default)(PRList, Object.keys(internalQAPRMap)))].sort((a, b) => GithubUtils.getPullRequestNumberFromURL(a) - GithubUtils.getPullRequestNumberFromURL(b)); - const sortedDeployBlockers = [...new Set(deployBlockers)].sort((a, b) => GithubUtils.getIssueOrPullRequestNumberFromURL(a) - GithubUtils.getIssueOrPullRequestNumberFromURL(b)); - // Tag version and comparison URL - // eslint-disable-next-line max-len - let issueBody = `**Release Version:** \`${tag}\`\r\n**Compare Changes:** https://github.com/Expensify/App/compare/production...staging\r\n`; - // PR list - if (sortedPRList.length > 0) { - issueBody += '\r\n**This release contains changes from the following pull requests:**\r\n'; - sortedPRList.forEach((URL) => { - issueBody += verifiedOrNoQAPRs.includes(URL) ? '- [x]' : '- [ ]'; - issueBody += ` ${URL}\r\n`; - }); - issueBody += '\r\n\r\n'; - } - // Internal QA PR list - if (!(0, EmptyObject_1.isEmptyObject)(internalQAPRMap)) { - console.log('Found the following verified Internal QA PRs:', resolvedInternalQAPRs); - issueBody += '**Internal QA:**\r\n'; - Object.keys(internalQAPRMap).forEach((URL) => { - const merger = internalQAPRMap[URL]; - const mergerMention = `@${merger}`; - issueBody += `${resolvedInternalQAPRs.includes(URL) ? '- [x]' : '- [ ]'} `; - issueBody += `${URL}`; - issueBody += ` - ${mergerMention}`; - issueBody += '\r\n'; - }); - issueBody += '\r\n\r\n'; - } - // Deploy blockers - if (deployBlockers.length > 0) { - issueBody += '**Deploy Blockers:**\r\n'; - sortedDeployBlockers.forEach((URL) => { - issueBody += resolvedDeployBlockers.includes(URL) ? '- [x] ' : '- [ ] '; - issueBody += URL; - issueBody += '\r\n'; - }); - issueBody += '\r\n\r\n'; - } - issueBody += '**Deployer verifications:**'; - // eslint-disable-next-line max-len - issueBody += `\r\n- [${isTimingDashboardChecked ? 'x' : ' '}] I checked the [App Timing Dashboard](https://graphs.expensify.com/grafana/d/yj2EobAGz/app-timing?orgId=1) and verified this release does not cause a noticeable performance regression.`; - // eslint-disable-next-line max-len - issueBody += `\r\n- [${isFirebaseChecked ? 'x' : ' '}] I checked [Firebase Crashlytics](https://console.firebase.google.com/u/0/project/expensify-chat/crashlytics/app/android:com.expensify.chat/issues?state=open&time=last-seven-days&tag=all) and verified that this release does not introduce any new crashes. More detailed instructions on this verification can be found [here](https://stackoverflowteams.com/c/expensify/questions/15095/15096).`; - // eslint-disable-next-line max-len - issueBody += `\r\n- [${isGHStatusChecked ? 'x' : ' '}] I checked [GitHub Status](https://www.githubstatus.com/) and verified there is no reported incident with Actions.`; - issueBody += '\r\n\r\ncc @Expensify/applauseleads\r\n'; - const issueAssignees = [...new Set(Object.values(internalQAPRMap))]; - const issue = { issueBody, issueAssignees }; - return issue; - }); - }) - .catch((err) => console.warn('Error generating StagingDeployCash issue body! Continuing...', err)); + }, + + // in the morning, in the afternoon, in the evening, at night + B: function (date, token, localize) { + const hours = date.getHours(); + let dayPeriodEnumValue; + if (hours >= 17) { + dayPeriodEnumValue = dayPeriodEnum.evening; + } else if (hours >= 12) { + dayPeriodEnumValue = dayPeriodEnum.afternoon; + } else if (hours >= 4) { + dayPeriodEnumValue = dayPeriodEnum.morning; + } else { + dayPeriodEnumValue = dayPeriodEnum.night; } - /** - * Fetch all pull requests given a list of PR numbers. - */ - static fetchAllPullRequests(pullRequestNumbers) { - const oldestPR = pullRequestNumbers.sort((a, b) => a - b).at(0); - return this.paginate(this.octokit.pulls.list, { - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - state: 'all', - sort: 'created', - direction: 'desc', - per_page: 100, - }, ({ data }, done) => { - if (data.find((pr) => pr.number === oldestPR)) { - done(); - } - return data; - }) - .then((prList) => prList.filter((pr) => pullRequestNumbers.includes(pr.number))) - .catch((err) => console.error('Failed to get PR list', err)); + + switch (token) { + case "B": + case "BB": + case "BBB": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }); + case "BBBBB": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "narrow", + context: "formatting", + }); + case "BBBB": + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: "wide", + context: "formatting", + }); } - static getPullRequestMergerLogin(pullRequestNumber) { - return this.octokit.pulls - .get({ - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - pull_number: pullRequestNumber, - }) - .then(({ data: pullRequest }) => pullRequest.merged_by?.login); + }, + + // Hour [1-12] + h: function (date, token, localize) { + if (token === "ho") { + let hours = date.getHours() % 12; + if (hours === 0) hours = 12; + return localize.ordinalNumber(hours, { unit: "hour" }); } - static getPullRequestBody(pullRequestNumber) { - return this.octokit.pulls - .get({ - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - pull_number: pullRequestNumber, - }) - .then(({ data: pullRequestComment }) => pullRequestComment.body); + + return _index7.lightFormatters.h(date, token); + }, + + // Hour [0-23] + H: function (date, token, localize) { + if (token === "Ho") { + return localize.ordinalNumber(date.getHours(), { unit: "hour" }); } - static getAllReviewComments(pullRequestNumber) { - return this.paginate(this.octokit.pulls.listReviews, { - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - pull_number: pullRequestNumber, - per_page: 100, - }, (response) => response.data.map((review) => review.body)); + + return _index7.lightFormatters.H(date, token); + }, + + // Hour [0-11] + K: function (date, token, localize) { + const hours = date.getHours() % 12; + + if (token === "Ko") { + return localize.ordinalNumber(hours, { unit: "hour" }); } - static getAllComments(issueNumber) { - return this.paginate(this.octokit.issues.listComments, { - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - issue_number: issueNumber, - per_page: 100, - }, (response) => response.data.map((comment) => comment.body)); + + return (0, _index6.addLeadingZeros)(hours, token.length); + }, + + // Hour [1-24] + k: function (date, token, localize) { + let hours = date.getHours(); + if (hours === 0) hours = 24; + + if (token === "ko") { + return localize.ordinalNumber(hours, { unit: "hour" }); } - /** - * Create comment on pull request - */ - static createComment(repo, number, messageBody) { - console.log(`Writing comment on #${number}`); - return this.octokit.issues.createComment({ - owner: CONST_1.default.GITHUB_OWNER, - repo, - issue_number: number, - body: messageBody, - }); + + return (0, _index6.addLeadingZeros)(hours, token.length); + }, + + // Minute + m: function (date, token, localize) { + if (token === "mo") { + return localize.ordinalNumber(date.getMinutes(), { unit: "minute" }); } - /** - * Get the most recent workflow run for the given New Expensify workflow. - */ - static getLatestWorkflowRunID(workflow) { - console.log(`Fetching New Expensify workflow runs for ${workflow}...`); - return this.octokit.actions - .listWorkflowRuns({ - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - workflow_id: workflow, - }) - .then((response) => response.data.workflow_runs.at(0)?.id ?? -1); + + return _index7.lightFormatters.m(date, token); + }, + + // Second + s: function (date, token, localize) { + if (token === "so") { + return localize.ordinalNumber(date.getSeconds(), { unit: "second" }); } - /** - * Generate the URL of an New Expensify pull request given the PR number. - */ - static getPullRequestURLFromNumber(value) { - return `${CONST_1.default.APP_REPO_URL}/pull/${value}`; + + return _index7.lightFormatters.s(date, token); + }, + + // Fraction of second + S: function (date, token) { + return _index7.lightFormatters.S(date, token); + }, + + // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) + X: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + if (timezoneOffset === 0) { + return "Z"; } - /** - * Parse the pull request number from a URL. - * - * @throws {Error} If the URL is not a valid Github Pull Request. - */ - static getPullRequestNumberFromURL(URL) { - const matches = URL.match(CONST_1.default.PULL_REQUEST_REGEX); - if (!Array.isArray(matches) || matches.length !== 2) { - throw new Error(`Provided URL ${URL} is not a Github Pull Request!`); - } - return Number.parseInt(matches[1], 10); + + switch (token) { + // Hours and optional minutes + case "X": + return formatTimezoneWithOptionalMinutes(timezoneOffset); + + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XX` + case "XXXX": + case "XX": // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XXX` + case "XXXXX": + case "XXX": // Hours and minutes with `:` delimiter + default: + return formatTimezone(timezoneOffset, ":"); } - /** - * Parse the issue number from a URL. - * - * @throws {Error} If the URL is not a valid Github Issue. - */ - static getIssueNumberFromURL(URL) { - const matches = URL.match(CONST_1.default.ISSUE_REGEX); - if (!Array.isArray(matches) || matches.length !== 2) { - throw new Error(`Provided URL ${URL} is not a Github Issue!`); - } - return Number.parseInt(matches[1], 10); + }, + + // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) + x: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + switch (token) { + // Hours and optional minutes + case "x": + return formatTimezoneWithOptionalMinutes(timezoneOffset); + + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xx` + case "xxxx": + case "xx": // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xxx` + case "xxxxx": + case "xxx": // Hours and minutes with `:` delimiter + default: + return formatTimezone(timezoneOffset, ":"); + } + }, + + // Timezone (GMT) + O: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + switch (token) { + // Short + case "O": + case "OO": + case "OOO": + return "GMT" + formatTimezoneShort(timezoneOffset, ":"); + // Long + case "OOOO": + default: + return "GMT" + formatTimezone(timezoneOffset, ":"); + } + }, + + // Timezone (specific non-location) + z: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + switch (token) { + // Short + case "z": + case "zz": + case "zzz": + return "GMT" + formatTimezoneShort(timezoneOffset, ":"); + // Long + case "zzzz": + default: + return "GMT" + formatTimezone(timezoneOffset, ":"); + } + }, + + // Seconds timestamp + t: function (date, token, _localize) { + const timestamp = Math.trunc(+date / 1000); + return (0, _index6.addLeadingZeros)(timestamp, token.length); + }, + + // Milliseconds timestamp + T: function (date, token, _localize) { + return (0, _index6.addLeadingZeros)(+date, token.length); + }, +}); + +function formatTimezoneShort(offset, delimiter = "") { + const sign = offset > 0 ? "-" : "+"; + const absOffset = Math.abs(offset); + const hours = Math.trunc(absOffset / 60); + const minutes = absOffset % 60; + if (minutes === 0) { + return sign + String(hours); + } + return ( + sign + String(hours) + delimiter + (0, _index6.addLeadingZeros)(minutes, 2) + ); +} + +function formatTimezoneWithOptionalMinutes(offset, delimiter) { + if (offset % 60 === 0) { + const sign = offset > 0 ? "-" : "+"; + return sign + (0, _index6.addLeadingZeros)(Math.abs(offset) / 60, 2); + } + return formatTimezone(offset, delimiter); +} + +function formatTimezone(offset, delimiter = "") { + const sign = offset > 0 ? "-" : "+"; + const absOffset = Math.abs(offset); + const hours = (0, _index6.addLeadingZeros)(Math.trunc(absOffset / 60), 2); + const minutes = (0, _index6.addLeadingZeros)(absOffset % 60, 2); + return sign + hours + delimiter + minutes; +} + + +/***/ }), + +/***/ 8914: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.lightFormatters = void 0; +var _index = __nccwpck_require__(6411); + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | | + * | d | Day of month | D | | + * | h | Hour [1-12] | H | Hour [0-23] | + * | m | Minute | M | Month | + * | s | Second | S | Fraction of second | + * | y | Year (abs) | Y | | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + */ + +const lightFormatters = (exports.lightFormatters = { + // Year + y(date, token) { + // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens + // | Year | y | yy | yyy | yyyy | yyyyy | + // |----------|-------|----|-------|-------|-------| + // | AD 1 | 1 | 01 | 001 | 0001 | 00001 | + // | AD 12 | 12 | 12 | 012 | 0012 | 00012 | + // | AD 123 | 123 | 23 | 123 | 0123 | 00123 | + // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | + // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | + + const signedYear = date.getFullYear(); + // Returns 1 for 1 BC (which is year 0 in JavaScript) + const year = signedYear > 0 ? signedYear : 1 - signedYear; + return (0, _index.addLeadingZeros)( + token === "yy" ? year % 100 : year, + token.length, + ); + }, + + // Month + M(date, token) { + const month = date.getMonth(); + return token === "M" + ? String(month + 1) + : (0, _index.addLeadingZeros)(month + 1, 2); + }, + + // Day of the month + d(date, token) { + return (0, _index.addLeadingZeros)(date.getDate(), token.length); + }, + + // AM or PM + a(date, token) { + const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am"; + + switch (token) { + case "a": + case "aa": + return dayPeriodEnumValue.toUpperCase(); + case "aaa": + return dayPeriodEnumValue; + case "aaaaa": + return dayPeriodEnumValue[0]; + case "aaaa": + default: + return dayPeriodEnumValue === "am" ? "a.m." : "p.m."; } - /** - * Parse the issue or pull request number from a URL. - * - * @throws {Error} If the URL is not a valid Github Issue or Pull Request. - */ - static getIssueOrPullRequestNumberFromURL(URL) { - const matches = URL.match(CONST_1.default.ISSUE_OR_PULL_REQUEST_REGEX); - if (!Array.isArray(matches) || matches.length !== 2) { - throw new Error(`Provided URL ${URL} is not a valid Github Issue or Pull Request!`); - } - return Number.parseInt(matches[1], 10); + }, + + // Hour [1-12] + h(date, token) { + return (0, _index.addLeadingZeros)( + date.getHours() % 12 || 12, + token.length, + ); + }, + + // Hour [0-23] + H(date, token) { + return (0, _index.addLeadingZeros)(date.getHours(), token.length); + }, + + // Minute + m(date, token) { + return (0, _index.addLeadingZeros)(date.getMinutes(), token.length); + }, + + // Second + s(date, token) { + return (0, _index.addLeadingZeros)(date.getSeconds(), token.length); + }, + + // Fraction of second + S(date, token) { + const numberOfDigits = token.length; + const milliseconds = date.getMilliseconds(); + const fractionalSeconds = Math.trunc( + milliseconds * Math.pow(10, numberOfDigits - 3), + ); + return (0, _index.addLeadingZeros)(fractionalSeconds, token.length); + }, +}); + + +/***/ }), + +/***/ 6376: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.longFormatters = void 0; + +const dateLongFormatter = (pattern, formatLong) => { + switch (pattern) { + case "P": + return formatLong.date({ width: "short" }); + case "PP": + return formatLong.date({ width: "medium" }); + case "PPP": + return formatLong.date({ width: "long" }); + case "PPPP": + default: + return formatLong.date({ width: "full" }); + } +}; + +const timeLongFormatter = (pattern, formatLong) => { + switch (pattern) { + case "p": + return formatLong.time({ width: "short" }); + case "pp": + return formatLong.time({ width: "medium" }); + case "ppp": + return formatLong.time({ width: "long" }); + case "pppp": + default: + return formatLong.time({ width: "full" }); + } +}; + +const dateTimeLongFormatter = (pattern, formatLong) => { + const matchResult = pattern.match(/(P+)(p+)?/) || []; + const datePattern = matchResult[1]; + const timePattern = matchResult[2]; + + if (!timePattern) { + return dateLongFormatter(pattern, formatLong); + } + + let dateTimeFormat; + + switch (datePattern) { + case "P": + dateTimeFormat = formatLong.dateTime({ width: "short" }); + break; + case "PP": + dateTimeFormat = formatLong.dateTime({ width: "medium" }); + break; + case "PPP": + dateTimeFormat = formatLong.dateTime({ width: "long" }); + break; + case "PPPP": + default: + dateTimeFormat = formatLong.dateTime({ width: "full" }); + break; + } + + return dateTimeFormat + .replace("{{date}}", dateLongFormatter(datePattern, formatLong)) + .replace("{{time}}", timeLongFormatter(timePattern, formatLong)); +}; + +const longFormatters = (exports.longFormatters = { + p: timeLongFormatter, + P: dateTimeLongFormatter, +}); + + +/***/ }), + +/***/ 1546: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.getTimezoneOffsetInMilliseconds = getTimezoneOffsetInMilliseconds; +var _index = __nccwpck_require__(6439); + +/** + * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. + * They usually appear for dates that denote time before the timezones were introduced + * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 + * and GMT+01:00:00 after that date) + * + * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, + * which would lead to incorrect calculations. + * + * This function returns the timezone offset in milliseconds that takes seconds in account. + */ +function getTimezoneOffsetInMilliseconds(date) { + const _date = (0, _index.toDate)(date); + const utcDate = new Date( + Date.UTC( + _date.getFullYear(), + _date.getMonth(), + _date.getDate(), + _date.getHours(), + _date.getMinutes(), + _date.getSeconds(), + _date.getMilliseconds(), + ), + ); + utcDate.setUTCFullYear(_date.getFullYear()); + return +date - +utcDate; +} + + +/***/ }), + +/***/ 8897: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.normalizeDates = normalizeDates; +var _index = __nccwpck_require__(926); + +function normalizeDates(context, ...dates) { + const normalize = _index.constructFrom.bind( + null, + context || dates.find((date) => typeof date === "object"), + ); + return dates.map(normalize); +} + + +/***/ }), + +/***/ 3554: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.isProtectedDayOfYearToken = isProtectedDayOfYearToken; +exports.isProtectedWeekYearToken = isProtectedWeekYearToken; +exports.warnOrThrowProtectedError = warnOrThrowProtectedError; +const dayOfYearTokenRE = /^D+$/; +const weekYearTokenRE = /^Y+$/; + +const throwTokens = ["D", "DD", "YY", "YYYY"]; + +function isProtectedDayOfYearToken(token) { + return dayOfYearTokenRE.test(token); +} + +function isProtectedWeekYearToken(token) { + return weekYearTokenRE.test(token); +} + +function warnOrThrowProtectedError(token, format, input) { + const _message = message(token, format, input); + console.warn(_message); + if (throwTokens.includes(token)) throw new RangeError(_message); +} + +function message(token, format, input) { + const subject = token[0] === "Y" ? "years" : "days of the month"; + return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`; +} + + +/***/ }), + +/***/ 4278: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.secondsInYear = + exports.secondsInWeek = + exports.secondsInQuarter = + exports.secondsInMonth = + exports.secondsInMinute = + exports.secondsInHour = + exports.secondsInDay = + exports.quartersInYear = + exports.monthsInYear = + exports.monthsInQuarter = + exports.minutesInYear = + exports.minutesInMonth = + exports.minutesInHour = + exports.minutesInDay = + exports.minTime = + exports.millisecondsInWeek = + exports.millisecondsInSecond = + exports.millisecondsInMinute = + exports.millisecondsInHour = + exports.millisecondsInDay = + exports.maxTime = + exports.daysInYear = + exports.daysInWeek = + exports.constructFromSymbol = + void 0; /** + * @module constants + * @summary Useful constants + * @description + * Collection of useful date constants. + * + * The constants could be imported from `date-fns/constants`: + * + * ```ts + * import { maxTime, minTime } from "date-fns/constants"; + * + * function isAllowedTime(time) { + * return time <= maxTime && time >= minTime; + * } + * ``` + */ + +/** + * @constant + * @name daysInWeek + * @summary Days in 1 week. + */ +const daysInWeek = (exports.daysInWeek = 7); + +/** + * @constant + * @name daysInYear + * @summary Days in 1 year. + * + * @description + * How many days in a year. + * + * One years equals 365.2425 days according to the formula: + * + * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400. + * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days + */ +const daysInYear = (exports.daysInYear = 365.2425); + +/** + * @constant + * @name maxTime + * @summary Maximum allowed time. + * + * @example + * import { maxTime } from "date-fns/constants"; + * + * const isValid = 8640000000000001 <= maxTime; + * //=> false + * + * new Date(8640000000000001); + * //=> Invalid Date + */ +const maxTime = (exports.maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000); + +/** + * @constant + * @name minTime + * @summary Minimum allowed time. + * + * @example + * import { minTime } from "date-fns/constants"; + * + * const isValid = -8640000000000001 >= minTime; + * //=> false + * + * new Date(-8640000000000001) + * //=> Invalid Date + */ +const minTime = (exports.minTime = -maxTime); + +/** + * @constant + * @name millisecondsInWeek + * @summary Milliseconds in 1 week. + */ +const millisecondsInWeek = (exports.millisecondsInWeek = 604800000); + +/** + * @constant + * @name millisecondsInDay + * @summary Milliseconds in 1 day. + */ +const millisecondsInDay = (exports.millisecondsInDay = 86400000); + +/** + * @constant + * @name millisecondsInMinute + * @summary Milliseconds in 1 minute + */ +const millisecondsInMinute = (exports.millisecondsInMinute = 60000); + +/** + * @constant + * @name millisecondsInHour + * @summary Milliseconds in 1 hour + */ +const millisecondsInHour = (exports.millisecondsInHour = 3600000); + +/** + * @constant + * @name millisecondsInSecond + * @summary Milliseconds in 1 second + */ +const millisecondsInSecond = (exports.millisecondsInSecond = 1000); + +/** + * @constant + * @name minutesInYear + * @summary Minutes in 1 year. + */ +const minutesInYear = (exports.minutesInYear = 525600); + +/** + * @constant + * @name minutesInMonth + * @summary Minutes in 1 month. + */ +const minutesInMonth = (exports.minutesInMonth = 43200); + +/** + * @constant + * @name minutesInDay + * @summary Minutes in 1 day. + */ +const minutesInDay = (exports.minutesInDay = 1440); + +/** + * @constant + * @name minutesInHour + * @summary Minutes in 1 hour. + */ +const minutesInHour = (exports.minutesInHour = 60); + +/** + * @constant + * @name monthsInQuarter + * @summary Months in 1 quarter. + */ +const monthsInQuarter = (exports.monthsInQuarter = 3); + +/** + * @constant + * @name monthsInYear + * @summary Months in 1 year. + */ +const monthsInYear = (exports.monthsInYear = 12); + +/** + * @constant + * @name quartersInYear + * @summary Quarters in 1 year + */ +const quartersInYear = (exports.quartersInYear = 4); + +/** + * @constant + * @name secondsInHour + * @summary Seconds in 1 hour. + */ +const secondsInHour = (exports.secondsInHour = 3600); + +/** + * @constant + * @name secondsInMinute + * @summary Seconds in 1 minute. + */ +const secondsInMinute = (exports.secondsInMinute = 60); + +/** + * @constant + * @name secondsInDay + * @summary Seconds in 1 day. + */ +const secondsInDay = (exports.secondsInDay = secondsInHour * 24); + +/** + * @constant + * @name secondsInWeek + * @summary Seconds in 1 week. + */ +const secondsInWeek = (exports.secondsInWeek = secondsInDay * 7); + +/** + * @constant + * @name secondsInYear + * @summary Seconds in 1 year. + */ +const secondsInYear = (exports.secondsInYear = secondsInDay * daysInYear); + +/** + * @constant + * @name secondsInMonth + * @summary Seconds in 1 month + */ +const secondsInMonth = (exports.secondsInMonth = secondsInYear / 12); + +/** + * @constant + * @name secondsInQuarter + * @summary Seconds in 1 quarter. + */ +const secondsInQuarter = (exports.secondsInQuarter = secondsInMonth * 3); + +/** + * @constant + * @name constructFromSymbol + * @summary Symbol enabling Date extensions to inherit properties from the reference date. + * + * The symbol is used to enable the `constructFrom` function to construct a date + * using a reference date and a value. It allows to transfer extra properties + * from the reference date to the new date. It's useful for extensions like + * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as + * a constructor argument. + */ +const constructFromSymbol = (exports.constructFromSymbol = + Symbol.for("constructDateFrom")); + + +/***/ }), + +/***/ 926: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.constructFrom = constructFrom; +var _index = __nccwpck_require__(4278); + +/** + * @name constructFrom + * @category Generic Helpers + * @summary Constructs a date using the reference date and the value + * + * @description + * The function constructs a new date using the constructor from the reference + * date and the given value. It helps to build generic functions that accept + * date extensions. + * + * It defaults to `Date` if the passed reference date is a number or a string. + * + * Starting from v3.7.0, it allows to construct a date using `[Symbol.for("constructDateFrom")]` + * enabling to transfer extra properties from the reference date to the new date. + * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz) + * that accept a time zone as a constructor argument. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * + * @param date - The reference date to take constructor from + * @param value - The value to create the date + * + * @returns Date initialized using the given date and value + * + * @example + * import { constructFrom } from "date-fns"; + * + * // A function that clones a date preserving the original type + * function cloneDate(date: DateType): DateType { + * return constructFrom( + * date, // Use constructor from the given date + * date.getTime() // Use the date value to create a new date + * ); + * } + */ +function constructFrom(date, value) { + if (typeof date === "function") return date(value); + + if (date && typeof date === "object" && _index.constructFromSymbol in date) + return date[_index.constructFromSymbol](value); + + if (date instanceof Date) return new date.constructor(value); + + return new Date(value); +} + + +/***/ }), + +/***/ 5671: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.differenceInCalendarDays = differenceInCalendarDays; +var _index = __nccwpck_require__(1546); +var _index2 = __nccwpck_require__(8897); +var _index3 = __nccwpck_require__(4278); +var _index4 = __nccwpck_require__(5951); + +/** + * The {@link differenceInCalendarDays} function options. + */ + +/** + * @name differenceInCalendarDays + * @category Day Helpers + * @summary Get the number of calendar days between the given dates. + * + * @description + * Get the number of calendar days between the given dates. This means that the times are removed + * from the dates and then the difference in days is calculated. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - The options object + * + * @returns The number of calendar days + * + * @example + * // How many calendar days are between + * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? + * const result = differenceInCalendarDays( + * new Date(2012, 6, 2, 0, 0), + * new Date(2011, 6, 2, 23, 0) + * ) + * //=> 366 + * // How many calendar days are between + * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00? + * const result = differenceInCalendarDays( + * new Date(2011, 6, 3, 0, 1), + * new Date(2011, 6, 2, 23, 59) + * ) + * //=> 1 + */ +function differenceInCalendarDays(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = (0, _index2.normalizeDates)( + options?.in, + laterDate, + earlierDate, + ); + + const laterStartOfDay = (0, _index4.startOfDay)(laterDate_); + const earlierStartOfDay = (0, _index4.startOfDay)(earlierDate_); + + const laterTimestamp = + +laterStartOfDay - + (0, _index.getTimezoneOffsetInMilliseconds)(laterStartOfDay); + const earlierTimestamp = + +earlierStartOfDay - + (0, _index.getTimezoneOffsetInMilliseconds)(earlierStartOfDay); + + // Round the number of days to the nearest integer because the number of + // milliseconds in a day is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round( + (laterTimestamp - earlierTimestamp) / _index3.millisecondsInDay, + ); +} + + +/***/ }), + +/***/ 2464: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.format = exports.formatDate = format; +Object.defineProperty(exports, "formatters", ({ + enumerable: true, + get: function () { + return _index3.formatters; + }, +})); +Object.defineProperty(exports, "longFormatters", ({ + enumerable: true, + get: function () { + return _index4.longFormatters; + }, +})); +var _index = __nccwpck_require__(7479); +var _index2 = __nccwpck_require__(5586); +var _index3 = __nccwpck_require__(6615); +var _index4 = __nccwpck_require__(6376); +var _index5 = __nccwpck_require__(3554); + +var _index6 = __nccwpck_require__(6142); +var _index7 = __nccwpck_require__(6439); + +// Rexports of internal for libraries to use. +// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874 + +// This RegExp consists of three parts separated by `|`: +// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token +// (one of the certain letters followed by `o`) +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +const formattingTokensRegExp = + /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; + +// This RegExp catches symbols escaped by quotes, and also +// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` +const longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; + +const escapedStringRegExp = /^'([^]*?)'?$/; +const doubleQuoteRegExp = /''/g; +const unescapedLatinCharacterRegExp = /[a-zA-Z]/; + +/** + * The {@link format} function options. + */ + +/** + * @name format + * @alias formatDate + * @category Common Helpers + * @summary Format the date. + * + * @description + * Return the formatted date string in the given format. The result may vary by locale. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * The characters wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * (see the last example) + * + * Format of the string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 7 below the table). + * + * Accepted patterns: + * | Unit | Pattern | Result examples | Notes | + * |---------------------------------|---------|-----------------------------------|-------| + * | Era | G..GGG | AD, BC | | + * | | GGGG | Anno Domini, Before Christ | 2 | + * | | GGGGG | A, B | | + * | Calendar year | y | 44, 1, 1900, 2017 | 5 | + * | | yo | 44th, 1st, 0th, 17th | 5,7 | + * | | yy | 44, 01, 00, 17 | 5 | + * | | yyy | 044, 001, 1900, 2017 | 5 | + * | | yyyy | 0044, 0001, 1900, 2017 | 5 | + * | | yyyyy | ... | 3,5 | + * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 | + * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 | + * | | YY | 44, 01, 00, 17 | 5,8 | + * | | YYY | 044, 001, 1900, 2017 | 5 | + * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 | + * | | YYYYY | ... | 3,5 | + * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 | + * | | RR | -43, 00, 01, 1900, 2017 | 5,7 | + * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 | + * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 | + * | | RRRRR | ... | 3,5,7 | + * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 | + * | | uu | -43, 01, 1900, 2017 | 5 | + * | | uuu | -043, 001, 1900, 2017 | 5 | + * | | uuuu | -0043, 0001, 1900, 2017 | 5 | + * | | uuuuu | ... | 3,5 | + * | Quarter (formatting) | Q | 1, 2, 3, 4 | | + * | | Qo | 1st, 2nd, 3rd, 4th | 7 | + * | | QQ | 01, 02, 03, 04 | | + * | | QQQ | Q1, Q2, Q3, Q4 | | + * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | q | 1, 2, 3, 4 | | + * | | qo | 1st, 2nd, 3rd, 4th | 7 | + * | | qq | 01, 02, 03, 04 | | + * | | qqq | Q1, Q2, Q3, Q4 | | + * | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | qqqqq | 1, 2, 3, 4 | 4 | + * | Month (formatting) | M | 1, 2, ..., 12 | | + * | | Mo | 1st, 2nd, ..., 12th | 7 | + * | | MM | 01, 02, ..., 12 | | + * | | MMM | Jan, Feb, ..., Dec | | + * | | MMMM | January, February, ..., December | 2 | + * | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | L | 1, 2, ..., 12 | | + * | | Lo | 1st, 2nd, ..., 12th | 7 | + * | | LL | 01, 02, ..., 12 | | + * | | LLL | Jan, Feb, ..., Dec | | + * | | LLLL | January, February, ..., December | 2 | + * | | LLLLL | J, F, ..., D | | + * | Local week of year | w | 1, 2, ..., 53 | | + * | | wo | 1st, 2nd, ..., 53th | 7 | + * | | ww | 01, 02, ..., 53 | | + * | ISO week of year | I | 1, 2, ..., 53 | 7 | + * | | Io | 1st, 2nd, ..., 53th | 7 | + * | | II | 01, 02, ..., 53 | 7 | + * | Day of month | d | 1, 2, ..., 31 | | + * | | do | 1st, 2nd, ..., 31st | 7 | + * | | dd | 01, 02, ..., 31 | | + * | Day of year | D | 1, 2, ..., 365, 366 | 9 | + * | | Do | 1st, 2nd, ..., 365th, 366th | 7 | + * | | DD | 01, 02, ..., 365, 366 | 9 | + * | | DDD | 001, 002, ..., 365, 366 | | + * | | DDDD | ... | 3 | + * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | | + * | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | EEEEE | M, T, W, T, F, S, S | | + * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | | + * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 | + * | | io | 1st, 2nd, ..., 7th | 7 | + * | | ii | 01, 02, ..., 07 | 7 | + * | | iii | Mon, Tue, Wed, ..., Sun | 7 | + * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 | + * | | iiiii | M, T, W, T, F, S, S | 7 | + * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 | + * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | | + * | | eo | 2nd, 3rd, ..., 1st | 7 | + * | | ee | 02, 03, ..., 01 | | + * | | eee | Mon, Tue, Wed, ..., Sun | | + * | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | eeeee | M, T, W, T, F, S, S | | + * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | | + * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | | + * | | co | 2nd, 3rd, ..., 1st | 7 | + * | | cc | 02, 03, ..., 01 | | + * | | ccc | Mon, Tue, Wed, ..., Sun | | + * | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | ccccc | M, T, W, T, F, S, S | | + * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | | + * | AM, PM | a..aa | AM, PM | | + * | | aaa | am, pm | | + * | | aaaa | a.m., p.m. | 2 | + * | | aaaaa | a, p | | + * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | | + * | | bbb | am, pm, noon, midnight | | + * | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | bbbbb | a, p, n, mi | | + * | Flexible day period | B..BBB | at night, in the morning, ... | | + * | | BBBB | at night, in the morning, ... | 2 | + * | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | h | 1, 2, ..., 11, 12 | | + * | | ho | 1st, 2nd, ..., 11th, 12th | 7 | + * | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | H | 0, 1, 2, ..., 23 | | + * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 | + * | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | K | 1, 2, ..., 11, 0 | | + * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 | + * | | KK | 01, 02, ..., 11, 00 | | + * | Hour [1-24] | k | 24, 1, 2, ..., 23 | | + * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 | + * | | kk | 24, 01, 02, ..., 23 | | + * | Minute | m | 0, 1, ..., 59 | | + * | | mo | 0th, 1st, ..., 59th | 7 | + * | | mm | 00, 01, ..., 59 | | + * | Second | s | 0, 1, ..., 59 | | + * | | so | 0th, 1st, ..., 59th | 7 | + * | | ss | 00, 01, ..., 59 | | + * | Fraction of second | S | 0, 1, ..., 9 | | + * | | SS | 00, 01, ..., 99 | | + * | | SSS | 000, 001, ..., 999 | | + * | | SSSS | ... | 3 | + * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | | + * | | XX | -0800, +0530, Z | | + * | | XXX | -08:00, +05:30, Z | | + * | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | | + * | | xx | -0800, +0530, +0000 | | + * | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | xxxx | -0800, +0530, +0000, +123456 | | + * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | | + * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 | + * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 | + * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 | + * | Seconds timestamp | t | 512969520 | 7 | + * | | tt | ... | 3,7 | + * | Milliseconds timestamp | T | 512969520900 | 7 | + * | | TT | ... | 3,7 | + * | Long localized date | P | 04/29/1453 | 7 | + * | | PP | Apr 29, 1453 | 7 | + * | | PPP | April 29th, 1453 | 7 | + * | | PPPP | Friday, April 29th, 1453 | 2,7 | + * | Long localized time | p | 12:00 AM | 7 | + * | | pp | 12:00:00 AM | 7 | + * | | ppp | 12:00:00 AM GMT+2 | 7 | + * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 | + * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 | + * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 | + * | | PPPppp | April 29th, 1453 at ... | 7 | + * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`) + * the output will be the same as default pattern for this unit, usually + * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units + * are marked with "2" in the last column of the table. + * + * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'` + * + * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'` + * + * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'` + * + * 3. Some patterns could be unlimited length (such as `yyyyyyyy`). + * The output will be padded with zeros to match the length of the pattern. + * + * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'` + * + * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 5. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` always returns the last two digits of a year, + * while `uu` pads single digit years to 2 characters and returns other years unchanged: + * + * | Year | `yy` | `uu` | + * |------|------|------| + * | 1 | 01 | 01 | + * | 14 | 14 | 14 | + * | 376 | 76 | 376 | + * | 1453 | 53 | 1453 | + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear) + * and [getWeekYear](https://date-fns.org/docs/getWeekYear)). + * + * 6. Specific non-location timezones are currently unavailable in `date-fns`, + * so right now these tokens fall back to GMT timezones. + * + * 7. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `t`: seconds timestamp + * - `T`: milliseconds timestamp + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * @param date - The original date + * @param format - The string of tokens + * @param options - An object with options + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * @throws `options.locale` must contain `localize` property + * @throws `options.locale` must contain `formatLong` property + * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws format string contains an unescaped latin alphabet character + * + * @example + * // Represent 11 February 2014 in middle-endian format: + * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy') + * //=> '02/11/2014' + * + * @example + * // Represent 2 July 2014 in Esperanto: + * import { eoLocale } from 'date-fns/locale/eo' + * const result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", { + * locale: eoLocale + * }) + * //=> '2-a de julio 2014' + * + * @example + * // Escape string by single quote characters: + * const result = format(new Date(2014, 6, 2, 15), "h 'o''clock'") + * //=> "3 o'clock" + */ +function format(date, formatStr, options) { + const defaultOptions = (0, _index2.getDefaultOptions)(); + const locale = + options?.locale ?? defaultOptions.locale ?? _index.defaultLocale; + + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const originalDate = (0, _index7.toDate)(date, options?.in); + + if (!(0, _index6.isValid)(originalDate)) { + throw new RangeError("Invalid time value"); + } + + let parts = formatStr + .match(longFormattingTokensRegExp) + .map((substring) => { + const firstCharacter = substring[0]; + if (firstCharacter === "p" || firstCharacter === "P") { + const longFormatter = _index4.longFormatters[firstCharacter]; + return longFormatter(substring, locale.formatLong); + } + return substring; + }) + .join("") + .match(formattingTokensRegExp) + .map((substring) => { + // Replace two single quote characters with one single quote character + if (substring === "''") { + return { isToken: false, value: "'" }; + } + + const firstCharacter = substring[0]; + if (firstCharacter === "'") { + return { isToken: false, value: cleanEscapedString(substring) }; + } + + if (_index3.formatters[firstCharacter]) { + return { isToken: true, value: substring }; + } + + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError( + "Format string contains an unescaped latin alphabet character `" + + firstCharacter + + "`", + ); + } + + return { isToken: false, value: substring }; + }); + + // invoke localize preprocessor (only for french locales at the moment) + if (locale.localize.preprocessor) { + parts = locale.localize.preprocessor(originalDate, parts); + } + + const formatterOptions = { + firstWeekContainsDate, + weekStartsOn, + locale, + }; + + return parts + .map((part) => { + if (!part.isToken) return part.value; + + const token = part.value; + + if ( + (!options?.useAdditionalWeekYearTokens && + (0, _index5.isProtectedWeekYearToken)(token)) || + (!options?.useAdditionalDayOfYearTokens && + (0, _index5.isProtectedDayOfYearToken)(token)) + ) { + (0, _index5.warnOrThrowProtectedError)(token, formatStr, String(date)); + } + + const formatter = _index3.formatters[token[0]]; + return formatter(originalDate, token, locale.localize, formatterOptions); + }) + .join(""); +} + +function cleanEscapedString(input) { + const matched = input.match(escapedStringRegExp); + + if (!matched) { + return input; + } + + return matched[1].replace(doubleQuoteRegExp, "'"); +} + + +/***/ }), + +/***/ 1412: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.getDayOfYear = getDayOfYear; +var _index = __nccwpck_require__(5671); +var _index2 = __nccwpck_require__(8537); +var _index3 = __nccwpck_require__(6439); + +/** + * The {@link getDayOfYear} function options. + */ + +/** + * @name getDayOfYear + * @category Day Helpers + * @summary Get the day of the year of the given date. + * + * @description + * Get the day of the year of the given date. + * + * @param date - The given date + * @param options - The options + * + * @returns The day of year + * + * @example + * // Which day of the year is 2 July 2014? + * const result = getDayOfYear(new Date(2014, 6, 2)) + * //=> 183 + */ +function getDayOfYear(date, options) { + const _date = (0, _index3.toDate)(date, options?.in); + const diff = (0, _index.differenceInCalendarDays)( + _date, + (0, _index2.startOfYear)(_date), + ); + const dayOfYear = diff + 1; + return dayOfYear; +} + + +/***/ }), + +/***/ 6703: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.getISOWeek = getISOWeek; +var _index = __nccwpck_require__(4278); +var _index2 = __nccwpck_require__(8516); +var _index3 = __nccwpck_require__(5437); +var _index4 = __nccwpck_require__(6439); + +/** + * The {@link getISOWeek} function options. + */ + +/** + * @name getISOWeek + * @category ISO Week Helpers + * @summary Get the ISO week of the given date. + * + * @description + * Get the ISO week of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The given date + * @param options - The options + * + * @returns The ISO week + * + * @example + * // Which week of the ISO-week numbering year is 2 January 2005? + * const result = getISOWeek(new Date(2005, 0, 2)) + * //=> 53 + */ +function getISOWeek(date, options) { + const _date = (0, _index4.toDate)(date, options?.in); + const diff = + +(0, _index2.startOfISOWeek)(_date) - + +(0, _index3.startOfISOWeekYear)(_date); + + // Round the number of weeks to the nearest integer because the number of + // milliseconds in a week is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round(diff / _index.millisecondsInWeek) + 1; +} + + +/***/ }), + +/***/ 7131: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.getISOWeekYear = getISOWeekYear; +var _index = __nccwpck_require__(926); +var _index2 = __nccwpck_require__(8516); +var _index3 = __nccwpck_require__(6439); + +/** + * The {@link getISOWeekYear} function options. + */ + +/** + * @name getISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Get the ISO week-numbering year of the given date. + * + * @description + * Get the ISO week-numbering year of the given date, + * which always starts 3 days before the year's first Thursday. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The given date + * + * @returns The ISO week-numbering year + * + * @example + * // Which ISO-week numbering year is 2 January 2005? + * const result = getISOWeekYear(new Date(2005, 0, 2)) + * //=> 2004 + */ +function getISOWeekYear(date, options) { + const _date = (0, _index3.toDate)(date, options?.in); + const year = _date.getFullYear(); + + const fourthOfJanuaryOfNextYear = (0, _index.constructFrom)(_date, 0); + fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); + const startOfNextYear = (0, _index2.startOfISOWeek)( + fourthOfJanuaryOfNextYear, + ); + + const fourthOfJanuaryOfThisYear = (0, _index.constructFrom)(_date, 0); + fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4); + fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0); + const startOfThisYear = (0, _index2.startOfISOWeek)( + fourthOfJanuaryOfThisYear, + ); + + if (_date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (_date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} + + +/***/ }), + +/***/ 3080: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.getWeek = getWeek; +var _index = __nccwpck_require__(4278); +var _index2 = __nccwpck_require__(1284); +var _index3 = __nccwpck_require__(5129); +var _index4 = __nccwpck_require__(6439); + +/** + * The {@link getWeek} function options. + */ + +/** + * @name getWeek + * @category Week Helpers + * @summary Get the local week index of the given date. + * + * @description + * Get the local week index of the given date. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @param date - The given date + * @param options - An object with options + * + * @returns The week + * + * @example + * // Which week of the local week numbering year is 2 January 2005 with default options? + * const result = getWeek(new Date(2005, 0, 2)) + * //=> 2 + * + * @example + * // Which week of the local week numbering year is 2 January 2005, + * // if Monday is the first day of the week, + * // and the first week of the year always contains 4 January? + * const result = getWeek(new Date(2005, 0, 2), { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> 53 + */ +function getWeek(date, options) { + const _date = (0, _index4.toDate)(date, options?.in); + const diff = + +(0, _index2.startOfWeek)(_date, options) - + +(0, _index3.startOfWeekYear)(_date, options); + + // Round the number of weeks to the nearest integer because the number of + // milliseconds in a week is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round(diff / _index.millisecondsInWeek) + 1; +} + + +/***/ }), + +/***/ 9116: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.getWeekYear = getWeekYear; +var _index = __nccwpck_require__(5586); +var _index2 = __nccwpck_require__(926); +var _index3 = __nccwpck_require__(1284); +var _index4 = __nccwpck_require__(6439); + +/** + * The {@link getWeekYear} function options. + */ + +/** + * @name getWeekYear + * @category Week-Numbering Year Helpers + * @summary Get the local week-numbering year of the given date. + * + * @description + * Get the local week-numbering year of the given date. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @param date - The given date + * @param options - An object with options. + * + * @returns The local week-numbering year + * + * @example + * // Which week numbering year is 26 December 2004 with the default settings? + * const result = getWeekYear(new Date(2004, 11, 26)) + * //=> 2005 + * + * @example + * // Which week numbering year is 26 December 2004 if week starts on Saturday? + * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 }) + * //=> 2004 + * + * @example + * // Which week numbering year is 26 December 2004 if the first week contains 4 January? + * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 }) + * //=> 2004 + */ +function getWeekYear(date, options) { + const _date = (0, _index4.toDate)(date, options?.in); + const year = _date.getFullYear(); + + const defaultOptions = (0, _index.getDefaultOptions)(); + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const firstWeekOfNextYear = (0, _index2.constructFrom)( + options?.in || date, + 0, + ); + firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate); + firstWeekOfNextYear.setHours(0, 0, 0, 0); + const startOfNextYear = (0, _index3.startOfWeek)( + firstWeekOfNextYear, + options, + ); + + const firstWeekOfThisYear = (0, _index2.constructFrom)( + options?.in || date, + 0, + ); + firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate); + firstWeekOfThisYear.setHours(0, 0, 0, 0); + const startOfThisYear = (0, _index3.startOfWeek)( + firstWeekOfThisYear, + options, + ); + + if (+_date >= +startOfNextYear) { + return year + 1; + } else if (+_date >= +startOfThisYear) { + return year; + } else { + return year - 1; + } +} + + +/***/ }), + +/***/ 1652: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.isDate = isDate; /** + * @name isDate + * @category Common Helpers + * @summary Is the given value a date? + * + * @description + * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes. + * + * @param value - The value to check + * + * @returns True if the given value is a date + * + * @example + * // For a valid date: + * const result = isDate(new Date()) + * //=> true + * + * @example + * // For an invalid date: + * const result = isDate(new Date(NaN)) + * //=> true + * + * @example + * // For some value: + * const result = isDate('2014-02-31') + * //=> false + * + * @example + * // For an object: + * const result = isDate({}) + * //=> false + */ +function isDate(value) { + return ( + value instanceof Date || + (typeof value === "object" && + Object.prototype.toString.call(value) === "[object Date]") + ); +} + + +/***/ }), + +/***/ 6142: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.isValid = isValid; +var _index = __nccwpck_require__(1652); +var _index2 = __nccwpck_require__(6439); + +/** + * @name isValid + * @category Common Helpers + * @summary Is the given date valid? + * + * @description + * Returns false if argument is Invalid Date and true otherwise. + * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate) + * Invalid Date is a Date, whose time value is NaN. + * + * Time value of Date: http://es5.github.io/#x15.9.1.1 + * + * @param date - The date to check + * + * @returns The date is valid + * + * @example + * // For the valid date: + * const result = isValid(new Date(2014, 1, 31)) + * //=> true + * + * @example + * // For the value, convertible into a date: + * const result = isValid(1393804800000) + * //=> true + * + * @example + * // For the invalid date: + * const result = isValid(new Date('')) + * //=> false + */ +function isValid(date) { + return !( + (!(0, _index.isDate)(date) && typeof date !== "number") || + isNaN(+(0, _index2.toDate)(date)) + ); +} + + +/***/ }), + +/***/ 9566: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.buildFormatLongFn = buildFormatLongFn; + +function buildFormatLongFn(args) { + return (options = {}) => { + // TODO: Remove String() + const width = options.width ? String(options.width) : args.defaultWidth; + const format = args.formats[width] || args.formats[args.defaultWidth]; + return format; + }; +} + + +/***/ }), + +/***/ 4177: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.buildLocalizeFn = buildLocalizeFn; + +/** + * The localize function argument callback which allows to convert raw value to + * the actual type. + * + * @param value - The value to convert + * + * @returns The converted value + */ + +/** + * The map of localized values for each width. + */ + +/** + * The index type of the locale unit value. It types conversion of units of + * values that don't start at 0 (i.e. quarters). + */ + +/** + * Converts the unit value to the tuple of values. + */ + +/** + * The tuple of localized era values. The first element represents BC, + * the second element represents AD. + */ + +/** + * The tuple of localized quarter values. The first element represents Q1. + */ + +/** + * The tuple of localized day values. The first element represents Sunday. + */ + +/** + * The tuple of localized month values. The first element represents January. + */ + +function buildLocalizeFn(args) { + return (value, options) => { + const context = options?.context ? String(options.context) : "standalone"; + + let valuesArray; + if (context === "formatting" && args.formattingValues) { + const defaultWidth = args.defaultFormattingWidth || args.defaultWidth; + const width = options?.width ? String(options.width) : defaultWidth; + + valuesArray = + args.formattingValues[width] || args.formattingValues[defaultWidth]; + } else { + const defaultWidth = args.defaultWidth; + const width = options?.width ? String(options.width) : args.defaultWidth; + + valuesArray = args.values[width] || args.values[defaultWidth]; } - /** - * Return the login of the actor who closed an issue or PR. If the issue is not closed, return an empty string. - */ - static getActorWhoClosedIssue(issueNumber) { - return this.paginate(this.octokit.issues.listEvents, { - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - issue_number: issueNumber, - per_page: 100, - }) - .then((events) => events.filter((event) => event.event === 'closed')) - .then((closedEvents) => closedEvents.at(-1)?.actor?.login ?? ''); + const index = args.argumentCallback ? args.argumentCallback(value) : value; + + // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it! + return valuesArray[index]; + }; +} + + +/***/ }), + +/***/ 3277: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.buildMatchFn = buildMatchFn; + +function buildMatchFn(args) { + return (string, options = {}) => { + const width = options.width; + + const matchPattern = + (width && args.matchPatterns[width]) || + args.matchPatterns[args.defaultMatchWidth]; + const matchResult = string.match(matchPattern); + + if (!matchResult) { + return null; } - /** - * Returns a single artifact by name. If none is found, it returns undefined. - */ - static getArtifactByName(artifactName) { - return this.octokit.actions - .listArtifactsForRepo({ - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - per_page: 1, - name: artifactName, - }) - .then((response) => response.data.artifacts.at(0)); + const matchedString = matchResult[0]; + + const parsePatterns = + (width && args.parsePatterns[width]) || + args.parsePatterns[args.defaultParseWidth]; + + const key = Array.isArray(parsePatterns) + ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) + : // [TODO] -- I challenge you to fix the type + findKey(parsePatterns, (pattern) => pattern.test(matchedString)); + + let value; + + value = args.valueCallback ? args.valueCallback(key) : key; + value = options.valueCallback + ? // [TODO] -- I challenge you to fix the type + options.valueCallback(value) + : value; + + const rest = string.slice(matchedString.length); + + return { value, rest }; + }; +} + +function findKey(object, predicate) { + for (const key in object) { + if ( + Object.prototype.hasOwnProperty.call(object, key) && + predicate(object[key]) + ) { + return key; } - /** - * Given an artifact ID, returns the download URL to a zip file containing the artifact. - */ - static getArtifactDownloadURL(artifactId) { - return this.octokit.actions - .downloadArtifact({ - owner: CONST_1.default.GITHUB_OWNER, - repo: CONST_1.default.APP_REPO, - artifact_id: artifactId, - archive_format: 'zip', - }) - .then((response) => response.url); + } + return undefined; +} + +function findIndex(array, predicate) { + for (let key = 0; key < array.length; key++) { + if (predicate(array[key])) { + return key; } + } + return undefined; } -exports["default"] = GithubUtils; -/***/ }), +/***/ }), + +/***/ 8009: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.buildMatchPatternFn = buildMatchPatternFn; + +function buildMatchPatternFn(args) { + return (string, options = {}) => { + const matchResult = string.match(args.matchPattern); + if (!matchResult) return null; + const matchedString = matchResult[0]; + + const parseResult = string.match(args.parsePattern); + if (!parseResult) return null; + let value = args.valueCallback + ? args.valueCallback(parseResult[0]) + : parseResult[0]; + + // [TODO] I challenge you to fix the type + value = options.valueCallback ? options.valueCallback(value) : value; + + const rest = string.slice(matchedString.length); + + return { value, rest }; + }; +} + + +/***/ }), + +/***/ 9425: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +exports.enUS = void 0; +var _index = __nccwpck_require__(5436); +var _index2 = __nccwpck_require__(5217); +var _index3 = __nccwpck_require__(1566); +var _index4 = __nccwpck_require__(2720); +var _index5 = __nccwpck_require__(6686); + +/** + * @category Locales + * @summary English locale (United States). + * @language English + * @iso-639-2 eng + * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp) + * @author Lesha Koss [@leshakoss](https://github.com/leshakoss) + */ +const enUS = (exports.enUS = { + code: "en-US", + formatDistance: _index.formatDistance, + formatLong: _index2.formatLong, + formatRelative: _index3.formatRelative, + localize: _index4.localize, + match: _index5.match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}); + + +/***/ }), + +/***/ 5436: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +exports.formatDistance = void 0; + +const formatDistanceLocale = { + lessThanXSeconds: { + one: "less than a second", + other: "less than {{count}} seconds", + }, + + xSeconds: { + one: "1 second", + other: "{{count}} seconds", + }, + + halfAMinute: "half a minute", + + lessThanXMinutes: { + one: "less than a minute", + other: "less than {{count}} minutes", + }, + + xMinutes: { + one: "1 minute", + other: "{{count}} minutes", + }, + + aboutXHours: { + one: "about 1 hour", + other: "about {{count}} hours", + }, + + xHours: { + one: "1 hour", + other: "{{count}} hours", + }, + + xDays: { + one: "1 day", + other: "{{count}} days", + }, + + aboutXWeeks: { + one: "about 1 week", + other: "about {{count}} weeks", + }, + + xWeeks: { + one: "1 week", + other: "{{count}} weeks", + }, + + aboutXMonths: { + one: "about 1 month", + other: "about {{count}} months", + }, -/***/ 3902: -/***/ ((__unused_webpack_module, exports) => { + xMonths: { + one: "1 month", + other: "{{count}} months", + }, -"use strict"; + aboutXYears: { + one: "about 1 year", + other: "about {{count}} years", + }, -/* eslint-disable @typescript-eslint/naming-convention */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -const replacer = (str) => ({ - '\\': '\\\\', - '\t': '\\t', - '\n': '\\n', - '\r': '\\r', - '\f': '\\f', - '"': '\\"', -}[str] ?? ''); -/** - * Replace any characters in the string that will break JSON.parse for our Git Log output - * - * Solution partly taken from SO user Gabriel Rodríguez Flores 🙇 - * https://stackoverflow.com/questions/52789718/how-to-remove-special-characters-before-json-parse-while-file-reading - */ -const sanitizeStringForJSONParse = (inputString) => { - if (typeof inputString !== 'string') { - throw new TypeError('Input must me of type String'); + xYears: { + one: "1 year", + other: "{{count}} years", + }, + + overXYears: { + one: "over 1 year", + other: "over {{count}} years", + }, + + almostXYears: { + one: "almost 1 year", + other: "almost {{count}} years", + }, +}; + +const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "in " + result; + } else { + return result + " ago"; } - // Replace any newlines and escape backslashes - return inputString.replace(/\\|\t|\n|\r|\f|"/g, replacer); + } + + return result; }; -exports["default"] = sanitizeStringForJSONParse; +exports.formatDistance = formatDistance; /***/ }), -/***/ 8982: -/***/ ((__unused_webpack_module, exports) => { +/***/ 5217: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getPreviousVersion = exports.incrementPatch = exports.incrementMinor = exports.SEMANTIC_VERSION_LEVELS = exports.MAX_INCREMENTS = exports.incrementVersion = exports.getVersionStringFromNumber = exports.getVersionNumberFromString = exports.isValidSemverLevel = void 0; -const SEMANTIC_VERSION_LEVELS = { - MAJOR: 'MAJOR', - MINOR: 'MINOR', - PATCH: 'PATCH', - BUILD: 'BUILD', -}; -exports.SEMANTIC_VERSION_LEVELS = SEMANTIC_VERSION_LEVELS; -const MAX_INCREMENTS = 99; -exports.MAX_INCREMENTS = MAX_INCREMENTS; -function isValidSemverLevel(str) { - return Object.keys(SEMANTIC_VERSION_LEVELS).includes(str); -} -exports.isValidSemverLevel = isValidSemverLevel; -/** - * Transforms a versions string into a number - */ -const getVersionNumberFromString = (versionString) => { - const [version, build] = versionString.split('-'); - const [major, minor, patch] = version.split('.').map((n) => Number(n)); - return [major, minor, patch, Number.isInteger(Number(build)) ? Number(build) : 0]; -}; -exports.getVersionNumberFromString = getVersionNumberFromString; -/** - * Transforms version numbers components into a version string - */ -const getVersionStringFromNumber = (major, minor, patch, build = 0) => `${major}.${minor}.${patch}-${build}`; -exports.getVersionStringFromNumber = getVersionStringFromNumber; -/** - * Increments a minor version - */ -const incrementMinor = (major, minor) => { - if (minor < MAX_INCREMENTS) { - return getVersionStringFromNumber(major, minor + 1, 0, 0); - } - return getVersionStringFromNumber(major + 1, 0, 0, 0); +exports.formatLong = void 0; +var _index = __nccwpck_require__(9566); + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", }; -exports.incrementMinor = incrementMinor; -/** - * Increments a Patch version - */ -const incrementPatch = (major, minor, patch) => { - if (patch < MAX_INCREMENTS) { - return getVersionStringFromNumber(major, minor, patch + 1, 0); - } - return incrementMinor(major, minor); + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", }; -exports.incrementPatch = incrementPatch; -/** - * Increments a build version - */ -const incrementVersion = (version, level) => { - const [major, minor, patch, build] = getVersionNumberFromString(version); - // Majors will always be incremented - if (level === SEMANTIC_VERSION_LEVELS.MAJOR) { - return getVersionStringFromNumber(major + 1, 0, 0, 0); - } - if (level === SEMANTIC_VERSION_LEVELS.MINOR) { - return incrementMinor(major, minor); - } - if (level === SEMANTIC_VERSION_LEVELS.PATCH) { - return incrementPatch(major, minor, patch); - } - if (build < MAX_INCREMENTS) { - return getVersionStringFromNumber(major, minor, patch, build + 1); - } - return incrementPatch(major, minor, patch); + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", }; -exports.incrementVersion = incrementVersion; -function getPreviousVersion(currentVersion, level) { - const [major, minor, patch, build] = getVersionNumberFromString(currentVersion); - if (level === SEMANTIC_VERSION_LEVELS.MAJOR) { - if (major === 1) { - return getVersionStringFromNumber(1, 0, 0, 0); - } - return getVersionStringFromNumber(major - 1, 0, 0, 0); - } - if (level === SEMANTIC_VERSION_LEVELS.MINOR) { - if (minor === 0) { - return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MAJOR); - } - return getVersionStringFromNumber(major, minor - 1, 0, 0); - } - if (level === SEMANTIC_VERSION_LEVELS.PATCH) { - if (patch === 0) { - return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.MINOR); - } - return getVersionStringFromNumber(major, minor, patch - 1, 0); - } - if (build === 0) { - return getPreviousVersion(currentVersion, SEMANTIC_VERSION_LEVELS.PATCH); - } - return getVersionStringFromNumber(major, minor, patch, build - 1); -} -exports.getPreviousVersion = getPreviousVersion; + +const formatLong = (exports.formatLong = { + date: (0, _index.buildFormatLongFn)({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: (0, _index.buildFormatLongFn)({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: (0, _index.buildFormatLongFn)({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}); /***/ }), -/***/ 8227: +/***/ 1566: /***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.isEmptyObject = void 0; -function isEmptyObject(obj) { - return Object.keys(obj ?? {}).length === 0; -} -exports.isEmptyObject = isEmptyObject; +exports.formatRelative = void 0; + +const formatRelativeLocale = { + lastWeek: "'last' eeee 'at' p", + yesterday: "'yesterday at' p", + today: "'today at' p", + tomorrow: "'tomorrow at' p", + nextWeek: "eeee 'at' p", + other: "P", +}; + +const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; +exports.formatRelative = formatRelative; /***/ }), -/***/ 7034: -/***/ ((__unused_webpack_module, exports) => { +/***/ 2720: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); -/** - * This function is an equivalent of _.difference, it takes two arrays and returns the difference between them. - * It returns an array of items that are in the first array but not in the second array. - */ -function arrayDifference(array1, array2) { - return [array1, array2].reduce((a, b) => a.filter((c) => !b.includes(c))); -} -exports["default"] = arrayDifference; +exports.localize = void 0; +var _index = __nccwpck_require__(4177); + +const eraValues = { + narrow: ["B", "A"], + abbreviated: ["BC", "AD"], + wide: ["Before Christ", "Anno Domini"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + + wide: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], +}; + +const dayValues = { + narrow: ["S", "M", "T", "W", "T", "F", "S"], + short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + wide: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mi", + noon: "n", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mi", + noon: "n", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnight", + noon: "noon", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnight", + noon: "noon", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + // If ordinal numbers depend on context, for example, + // if they are different for different grammatical genders, + // use `options.unit`. + // + // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', + // 'day', 'hour', 'minute', 'second'. + + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + "st"; + case 2: + return number + "nd"; + case 3: + return number + "rd"; + } + } + return number + "th"; +}; + +const localize = (exports.localize = { + ordinalNumber, + + era: (0, _index.buildLocalizeFn)({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: (0, _index.buildLocalizeFn)({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: (0, _index.buildLocalizeFn)({ + values: monthValues, + defaultWidth: "wide", + }), + + day: (0, _index.buildLocalizeFn)({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: (0, _index.buildLocalizeFn)({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}); /***/ }), -/***/ 9491: -/***/ ((module) => { +/***/ 6686: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("assert"); -/***/ }), +exports.match = void 0; -/***/ 2081: -/***/ ((module) => { +var _index = __nccwpck_require__(3277); +var _index2 = __nccwpck_require__(8009); -"use strict"; -module.exports = require("child_process"); +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; -/***/ }), +const matchEraPatterns = { + narrow: /^(b|a)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(before christ|before common era|anno domini|common era)/i, +}; +const parseEraPatterns = { + any: [/^b/i, /^(a|c)/i], +}; -/***/ 6113: -/***/ ((module) => { +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](th|st|nd|rd)? quarter/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; -"use strict"; -module.exports = require("crypto"); +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, + wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^may/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; -/***/ }), +const matchDayPatterns = { + narrow: /^[smtwf]/i, + short: /^(su|mo|tu|we|th|fr|sa)/i, + abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, + wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], +}; -/***/ 3975: -/***/ ((module) => { +const matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i, + }, +}; -"use strict"; -module.exports = require("encoding"); +const match = (exports.match = { + ordinalNumber: (0, _index2.buildMatchPatternFn)({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), -/***/ }), + era: (0, _index.buildMatchFn)({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), -/***/ 2361: -/***/ ((module) => { + quarter: (0, _index.buildMatchFn)({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), -"use strict"; -module.exports = require("events"); + month: (0, _index.buildMatchFn)({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), -/***/ }), + day: (0, _index.buildMatchFn)({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), -/***/ 7147: -/***/ ((module) => { + dayPeriod: (0, _index.buildMatchFn)({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}); -"use strict"; -module.exports = require("fs"); /***/ }), -/***/ 3685: -/***/ ((module) => { +/***/ 5951: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("http"); -/***/ }), +exports.startOfDay = startOfDay; +var _index = __nccwpck_require__(6439); -/***/ 5687: -/***/ ((module) => { +/** + * The {@link startOfDay} function options. + */ + +/** + * @name startOfDay + * @category Day Helpers + * @summary Return the start of a day for the given date. + * + * @description + * Return the start of a day for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The start of a day + * + * @example + * // The start of a day for 2 September 2014 11:55:00: + * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 02 2014 00:00:00 + */ +function startOfDay(date, options) { + const _date = (0, _index.toDate)(date, options?.in); + _date.setHours(0, 0, 0, 0); + return _date; +} -"use strict"; -module.exports = require("https"); /***/ }), -/***/ 1808: -/***/ ((module) => { +/***/ 8516: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("net"); -/***/ }), +exports.startOfISOWeek = startOfISOWeek; +var _index = __nccwpck_require__(1284); -/***/ 2037: -/***/ ((module) => { +/** + * The {@link startOfISOWeek} function options. + */ + +/** + * @name startOfISOWeek + * @category ISO Week Helpers + * @summary Return the start of an ISO week for the given date. + * + * @description + * Return the start of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of an ISO week + * + * @example + * // The start of an ISO week for 2 September 2014 11:55:00: + * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Mon Sep 01 2014 00:00:00 + */ +function startOfISOWeek(date, options) { + return (0, _index.startOfWeek)(date, { ...options, weekStartsOn: 1 }); +} -"use strict"; -module.exports = require("os"); /***/ }), -/***/ 1017: -/***/ ((module) => { +/***/ 5437: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("path"); -/***/ }), +exports.startOfISOWeekYear = startOfISOWeekYear; +var _index = __nccwpck_require__(926); +var _index2 = __nccwpck_require__(7131); +var _index3 = __nccwpck_require__(8516); -/***/ 5477: -/***/ ((module) => { +/** + * The {@link startOfISOWeekYear} function options. + */ + +/** + * @name startOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the start of an ISO week-numbering year for the given date. + * + * @description + * Return the start of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of an ISO week-numbering year + * + * @example + * // The start of an ISO week-numbering year for 2 July 2005: + * const result = startOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Mon Jan 03 2005 00:00:00 + */ +function startOfISOWeekYear(date, options) { + const year = (0, _index2.getISOWeekYear)(date, options); + const fourthOfJanuary = (0, _index.constructFrom)(options?.in || date, 0); + fourthOfJanuary.setFullYear(year, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + return (0, _index3.startOfISOWeek)(fourthOfJanuary); +} -"use strict"; -module.exports = require("punycode"); /***/ }), -/***/ 2781: -/***/ ((module) => { +/***/ 1284: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("stream"); -/***/ }), +exports.startOfWeek = startOfWeek; +var _index = __nccwpck_require__(5586); +var _index2 = __nccwpck_require__(6439); -/***/ 4404: -/***/ ((module) => { +/** + * The {@link startOfWeek} function options. + */ -"use strict"; -module.exports = require("tls"); +/** + * @name startOfWeek + * @category Week Helpers + * @summary Return the start of a week for the given date. + * + * @description + * Return the start of a week for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a week + * + * @example + * // The start of a week for 2 September 2014 11:55:00: + * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00: + * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) + * //=> Mon Sep 01 2014 00:00:00 + */ +function startOfWeek(date, options) { + const defaultOptions = (0, _index.getDefaultOptions)(); + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; -/***/ }), + const _date = (0, _index2.toDate)(date, options?.in); + const day = _date.getDay(); + const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; -/***/ 7310: -/***/ ((module) => { + _date.setDate(_date.getDate() - diff); + _date.setHours(0, 0, 0, 0); + return _date; +} -"use strict"; -module.exports = require("url"); /***/ }), -/***/ 3837: -/***/ ((module) => { +/***/ 5129: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("util"); + +exports.startOfWeekYear = startOfWeekYear; +var _index = __nccwpck_require__(5586); +var _index2 = __nccwpck_require__(926); +var _index3 = __nccwpck_require__(9116); +var _index4 = __nccwpck_require__(1284); + +/** + * The {@link startOfWeekYear} function options. + */ + +/** + * @name startOfWeekYear + * @category Week-Numbering Year Helpers + * @summary Return the start of a local week-numbering year for the given date. + * + * @description + * Return the start of a local week-numbering year. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a week-numbering year + * + * @example + * // The start of an a week-numbering year for 2 July 2005 with default settings: + * const result = startOfWeekYear(new Date(2005, 6, 2)) + * //=> Sun Dec 26 2004 00:00:00 + * + * @example + * // The start of a week-numbering year for 2 July 2005 + * // if Monday is the first day of week + * // and 4 January is always in the first week of the year: + * const result = startOfWeekYear(new Date(2005, 6, 2), { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Mon Jan 03 2005 00:00:00 + */ +function startOfWeekYear(date, options) { + const defaultOptions = (0, _index.getDefaultOptions)(); + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const year = (0, _index3.getWeekYear)(date, options); + const firstWeek = (0, _index2.constructFrom)(options?.in || date, 0); + firstWeek.setFullYear(year, 0, firstWeekContainsDate); + firstWeek.setHours(0, 0, 0, 0); + const _date = (0, _index4.startOfWeek)(firstWeek, options); + return _date; +} + /***/ }), -/***/ 9796: -/***/ ((module) => { +/***/ 8537: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -module.exports = require("zlib"); -/***/ }), +exports.startOfYear = startOfYear; +var _index = __nccwpck_require__(6439); -/***/ 3286: -/***/ ((module) => { +/** + * The {@link startOfYear} function options. + */ -function _interopRequireDefault(e) { - return e && e.__esModule ? e : { - "default": e - }; +/** + * @name startOfYear + * @category Year Helpers + * @summary Return the start of a year for the given date. + * + * @description + * Return the start of a year for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The start of a year + * + * @example + * // The start of a year for 2 September 2014 11:55:00: + * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Jan 01 2014 00:00:00 + */ +function startOfYear(date, options) { + const date_ = (0, _index.toDate)(date, options?.in); + date_.setFullYear(date_.getFullYear(), 0, 1); + date_.setHours(0, 0, 0, 0); + return date_; } -module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; + /***/ }), -/***/ 5605: -/***/ ((module) => { +/***/ 6439: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; -function _typeof(o) { - "@babel/helpers - typeof"; +exports.toDate = toDate; +var _index = __nccwpck_require__(926); - return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); +/** + * @name toDate + * @category Common Helpers + * @summary Convert the given argument to an instance of Date. + * + * @description + * Convert the given argument to an instance of Date. + * + * If the argument is an instance of Date, the function returns its clone. + * + * If the argument is a number, it is treated as a timestamp. + * + * If the argument is none of the above, the function returns Invalid Date. + * + * Starting from v3.7.0, it clones a date using `[Symbol.for("constructDateFrom")]` + * enabling to transfer extra properties from the reference date to the new date. + * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz) + * that accept a time zone as a constructor argument. + * + * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param argument - The value to convert + * + * @returns The parsed date in the local time zone + * + * @example + * // Clone the date: + * const result = toDate(new Date(2014, 1, 11, 11, 30, 30)) + * //=> Tue Feb 11 2014 11:30:30 + * + * @example + * // Convert the timestamp to date: + * const result = toDate(1392098430000) + * //=> Tue Feb 11 2014 11:30:30 + */ +function toDate(argument, context) { + // [TODO] Get rid of `toDate` or `constructFrom`? + return (0, _index.constructFrom)(context || argument, argument); } -module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; + /***/ }), diff --git a/.github/workflows/buildAndroid.yml b/.github/workflows/buildAndroid.yml index 403a40214b40..c88542068b92 100644 --- a/.github/workflows/buildAndroid.yml +++ b/.github/workflows/buildAndroid.yml @@ -20,11 +20,14 @@ on: description: The pull request number associated with this build, if relevant. type: string required: false + outputs: AAB_FILE_NAME: value: ${{ jobs.build.outputs.AAB_FILE_NAME }} APK_FILE_NAME: value: ${{ jobs.build.outputs.APK_FILE_NAME }} + APK_ARTIFACT_NAME: + value: ${{ jobs.build.outputs.APK_ARTIFACT_NAME }} workflow_dispatch: inputs: @@ -56,6 +59,7 @@ jobs: outputs: AAB_FILE_NAME: ${{ steps.build.outputs.AAB_FILE_NAME }} APK_FILE_NAME: ${{ steps.build.outputs.APK_FILE_NAME }} + APK_ARTIFACT_NAME: ${{ steps.build.outputs.APK_ARTIFACT_NAME }} steps: - name: Checkout @@ -118,42 +122,49 @@ jobs: } >> "$envFile" fi - - name: Build Android app + - name: Build Android app (retryable) + uses: nick-fields/retry@v3 id: build - run: | - lane='' - case '${{ inputs.type }}' in - 'release') - lane='build';; - 'adhoc') - lane='build_adhoc';; - 'e2e') - lane='build_e2e';; - 'e2eDelta') - lane='build_e2eDelta';; - esac - bundle exec fastlane android "$lane" - - # Refresh environment variables from GITHUB_ENV that are updated when running fastlane - # shellcheck disable=SC1090 - source "$GITHUB_ENV" - - SHOULD_UPLOAD_SOURCEMAPS='false' - if [ -f ./android/app/build/generated/sourcemaps/react/productionRelease/index.android.bundle.map ]; then - SHOULD_UPLOAD_SOURCEMAPS='true' - fi - - { - # aabPath and apkPath are environment varibles set within the Fastfile - echo "AAB_PATH=$aabPath" - echo "AAB_FILE_NAME=$(basename "$aabPath")" - echo "APK_PATH=$apkPath" - echo "APK_FILE_NAME=$(basename "$apkPath")" - echo "SHOULD_UPLOAD_SOURCEMAPS=$SHOULD_UPLOAD_SOURCEMAPS" - } >> "$GITHUB_OUTPUT" env: MYAPP_UPLOAD_STORE_PASSWORD: ${{ secrets.MYAPP_UPLOAD_STORE_PASSWORD }} MYAPP_UPLOAD_KEY_PASSWORD: ${{ secrets.MYAPP_UPLOAD_KEY_PASSWORD }} + with: + retry_on: error + retry_wait_seconds: 60 + timeout_minutes: 60 + max_attempts: 3 + command: | + lane='' + case '${{ inputs.type }}' in + 'release') + lane='build';; + 'adhoc') + lane='build_adhoc';; + 'e2e') + lane='build_e2e';; + 'e2eDelta') + lane='build_e2eDelta';; + esac + bundle exec fastlane android "$lane" + + # Refresh environment variables from GITHUB_ENV that are updated when running fastlane + # shellcheck disable=SC1090 + source "$GITHUB_ENV" + + SHOULD_UPLOAD_SOURCEMAPS='false' + if [ -f ./android/app/build/generated/sourcemaps/react/productionRelease/index.android.bundle.map ]; then + SHOULD_UPLOAD_SOURCEMAPS='true' + fi + + { + # aabPath and apkPath are environment varibles set within the Fastfile + echo "AAB_PATH=$aabPath" + echo "AAB_FILE_NAME=$(basename "$aabPath")" + echo "APK_PATH=$apkPath" + echo "APK_FILE_NAME=$(basename "$apkPath")" + echo "SHOULD_UPLOAD_SOURCEMAPS=$SHOULD_UPLOAD_SOURCEMAPS" + echo "APK_ARTIFACT_NAME=${{ inputs.artifact-prefix }}android-artifact-apk" >> "$GITHUB_OUTPUT" + } >> "$GITHUB_OUTPUT" - name: Upload Android AAB artifact if: ${{ steps.build.outputs.AAB_PATH != '' }} @@ -168,7 +179,7 @@ jobs: continue-on-error: true uses: actions/upload-artifact@v4 with: - name: ${{ inputs.artifact-prefix }}android-artifact-apk + name: ${{ steps.build.outputs.APK_ARTIFACT_NAME }} path: ${{ steps.build.outputs.APK_PATH }} - name: Upload Android sourcemaps artifact diff --git a/.github/workflows/deployBlocker.yml b/.github/workflows/deployBlocker.yml index 47df9b4285b9..2707305fb43c 100644 --- a/.github/workflows/deployBlocker.yml +++ b/.github/workflows/deployBlocker.yml @@ -29,23 +29,6 @@ jobs: escaped_title=$(echo "$GH_ISSUE_TITLE" | sed -e 's/&/\&/g; s//\>/g; s/"/\"/g; s/'"'"'/\'/g; s/|/\|/g') echo "GH_ISSUE_TITLE=$escaped_title" >> "$GITHUB_ENV" - - name: 'Post the issue in the #expensify-open-source slack room' - if: ${{ success() }} - uses: 8398a7/action-slack@v3 - with: - status: custom - custom_payload: | - { - channel: '#expensify-open-source', - attachments: [{ - color: "#DB4545", - text: '💥 New Deploy Blocker: <${{ github.event.issue.html_url }}|${{ env.GH_ISSUE_TITLE }}>. If you have any idea which PR could be causing this, please comment in the issue.' - }] - } - env: - GITHUB_TOKEN: ${{ github.token }} - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} - - name: Comment on deploy blocker run: | gh issue comment ${{ github.event.issue.number }} --body "$(cat <<'EOF' diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index ec91f593e4b1..45a4ab7c3620 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -51,6 +51,17 @@ jobs: bundler-cache: true working-directory: ./help + # Install Node for _scripts/*.js + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20.15.1' + + # Wil install the _help/package.js + - name: Install Node.js Dependencies + run: npm install + working-directory: ./help # Install the help dependencies, not App + # Manually run Jekyll, bypassing Github Pages - name: Build Jekyll site run: bundle exec jekyll build --source ./ --destination ./_site diff --git a/.github/workflows/e2ePerformanceTests.yml b/.github/workflows/e2ePerformanceTests.yml index f88e841617bb..d8e706d467ba 100644 --- a/.github/workflows/e2ePerformanceTests.yml +++ b/.github/workflows/e2ePerformanceTests.yml @@ -46,7 +46,7 @@ jobs: uses: ./.github/actions/javascript/getArtifactInfo with: GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_COMMIT_TOKEN }} - ARTIFACT_NAME: baseline-${{ steps.getMostRecentRelease.outputs.VERSION }}-android-artifact-apk + ARTIFACT_NAME: baseline-${{ steps.getMostRecentRelease.outputs.VERSION }}android-artifact-apk - name: Skip build if there's already an existing artifact for the baseline if: ${{ fromJSON(steps.checkForExistingArtifact.outputs.ARTIFACT_FOUND) }} @@ -125,7 +125,7 @@ jobs: uses: actions/download-artifact@v4 id: downloadBaselineAPK with: - name: baseline-${{ needs.prep.outputs.BASELINE_VERSION }}-android-artifact-apk + name: ${{ needs.buildBaseline.outputs.APK_ARTIFACT_NAME }} path: zip # Set github-token only if the baseline was built in this workflow run: github-token: ${{ needs.prep.outputs.BASELINE_ARTIFACT_WORKFLOW_ID && github.token }} @@ -139,7 +139,7 @@ jobs: uses: actions/download-artifact@v4 id: downloadDeltaAPK with: - name: delta-${{ needs.prep.outputs.DELTA_REF }}-android-artifact-apk + name: ${{ needs.buildDelta.outputs.APK_ARTIFACT_NAME }} path: zip - name: Rename delta APK diff --git a/android/app/build.gradle b/android/app/build.gradle index 56ae4bd0a873..ffb9fa2b4c57 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -13,7 +13,7 @@ apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.grad /* Fullstory settings */ fullstory { org 'o-1WN56P-na1' - enabledVariants 'all' + enabledVariants 'production' logcatLevel 'debug' recordOnStart false } @@ -110,8 +110,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1009004502 - versionName "9.0.45-2" + versionCode 1009005007 + versionName "9.0.50-7" // Supported language variants must be declared here to avoid from being removed during the compilation. // This also helps us to not include unnecessary language variants in the APK. resConfigs "en", "es" diff --git a/android/build.gradle b/android/build.gradle index fd3f9997612e..e47972bf45e5 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -42,12 +42,6 @@ allprojects { configurations.all { resolutionStrategy { force 'org.xerial:sqlite-jdbc:3.34.0' - - // Manually set the react-native version to resolve this upstream issue: https://github.com/facebook/react-native/issues/35210 - def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) - force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION - force "com.facebook.react:hermes-engine:" + REACT_NATIVE_VERSION - //Fix Investigate App Crash MainActivity.onCreate #35655 force "com.facebook.soloader:soloader:0.10.4+" diff --git a/assets/images/companyCards/card-bank_of_america.svg b/assets/images/companyCards/card-bank_of_america.svg deleted file mode 100644 index 684a6a0a28f5..000000000000 --- a/assets/images/companyCards/card-bank_of_america.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/assets/images/companyCards/card-other.svg b/assets/images/companyCards/card-other.svg deleted file mode 100644 index 11ff21285626..000000000000 --- a/assets/images/companyCards/card-other.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/assets/images/integrationicons/qbd-icon-square.svg b/assets/images/integrationicons/qbd-icon-square.svg new file mode 100644 index 000000000000..e297b597f980 --- /dev/null +++ b/assets/images/integrationicons/qbd-icon-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/laptop-with-second-screen-sync.svg b/assets/images/laptop-with-second-screen-sync.svg new file mode 100644 index 000000000000..a74048795dbf --- /dev/null +++ b/assets/images/laptop-with-second-screen-sync.svg @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/laptop-with-second-screen-x.svg b/assets/images/laptop-with-second-screen-x.svg new file mode 100644 index 000000000000..f4b6b77f70f1 --- /dev/null +++ b/assets/images/laptop-with-second-screen-x.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/desktop/package-lock.json b/desktop/package-lock.json index 4803d189074c..75cb080f1349 100644 --- a/desktop/package-lock.json +++ b/desktop/package-lock.json @@ -9,7 +9,7 @@ "dependencies": { "electron-context-menu": "^2.3.0", "electron-log": "^4.4.8", - "electron-updater": "^6.3.5", + "electron-updater": "^6.3.8", "mime-types": "^2.1.35", "node-machine-id": "^1.1.12" }, @@ -59,9 +59,9 @@ } }, "node_modules/builder-util-runtime": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.6.tgz", - "integrity": "sha512-sCNP0uykVxn1vdYdPGW3+8D4kMOF8PR9eL5HgUcQXhpoIoUGxdD03yQgZcuMQt4iGLKb5DD62evElwGq1ylEag==", + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.9.tgz", + "integrity": "sha512-DWeHdrRFVvNnVyD4+vMztRpXegOGaQHodsAjyhstTbUNBIjebxM1ahxokQL+T1v8vpW8SY7aJ5is/zILH82lAw==", "license": "MIT", "dependencies": { "debug": "^4.3.4", @@ -156,12 +156,12 @@ "integrity": "sha512-QQ4GvrXO+HkgqqEOYbi+DHL7hj5JM+nHi/j+qrN9zeeXVKy8ZABgbu4CnG+BBqDZ2+tbeq9tUC4DZfIWFU5AZA==" }, "node_modules/electron-updater": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.5.tgz", - "integrity": "sha512-8bUtfe3UHnM+D7971N/zo3NCG2TIHuE4GFUtHRVmVOQg0prXEd+uZoVekakdPiTDkkXJv4b09CZMw/ZJJfag1A==", + "version": "6.3.8", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.8.tgz", + "integrity": "sha512-OFsA2vyuOZgsqq4EW6tgW8X8e521ybDmQyIYLqss7HdXev+Ak90YatzpIECOBJXpmro5YDq4yZ2xFsKXqPt1DQ==", "license": "MIT", "dependencies": { - "builder-util-runtime": "9.2.6", + "builder-util-runtime": "9.2.9", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", @@ -469,9 +469,9 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" }, "builder-util-runtime": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.6.tgz", - "integrity": "sha512-sCNP0uykVxn1vdYdPGW3+8D4kMOF8PR9eL5HgUcQXhpoIoUGxdD03yQgZcuMQt4iGLKb5DD62evElwGq1ylEag==", + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.9.tgz", + "integrity": "sha512-DWeHdrRFVvNnVyD4+vMztRpXegOGaQHodsAjyhstTbUNBIjebxM1ahxokQL+T1v8vpW8SY7aJ5is/zILH82lAw==", "requires": { "debug": "^4.3.4", "sax": "^1.2.4" @@ -538,11 +538,11 @@ "integrity": "sha512-QQ4GvrXO+HkgqqEOYbi+DHL7hj5JM+nHi/j+qrN9zeeXVKy8ZABgbu4CnG+BBqDZ2+tbeq9tUC4DZfIWFU5AZA==" }, "electron-updater": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.5.tgz", - "integrity": "sha512-8bUtfe3UHnM+D7971N/zo3NCG2TIHuE4GFUtHRVmVOQg0prXEd+uZoVekakdPiTDkkXJv4b09CZMw/ZJJfag1A==", + "version": "6.3.8", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.8.tgz", + "integrity": "sha512-OFsA2vyuOZgsqq4EW6tgW8X8e521ybDmQyIYLqss7HdXev+Ak90YatzpIECOBJXpmro5YDq4yZ2xFsKXqPt1DQ==", "requires": { - "builder-util-runtime": "9.2.6", + "builder-util-runtime": "9.2.9", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", diff --git a/desktop/package.json b/desktop/package.json index b8e1e175b0fe..326d6f24f740 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -6,7 +6,7 @@ "dependencies": { "electron-context-menu": "^2.3.0", "electron-log": "^4.4.8", - "electron-updater": "^6.3.5", + "electron-updater": "^6.3.8", "mime-types": "^2.1.35", "node-machine-id": "^1.1.12" }, diff --git a/docs/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account.md b/docs/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account.md index 1ad70117ed5c..49aaa480e2dc 100644 --- a/docs/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account.md +++ b/docs/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account.md @@ -8,7 +8,7 @@ You can choose to connect either a business deposit-only account that only recei | Business deposit-only account | Verified business account | |---------------------------------------------------|------------------------------------------------------| -| ✔ Receive reimbursements for invoices | ✔ Reimburse expenses via direct bank transfer | +| ✔ Receive payments for invoices | ✔ Reimburse expenses via direct bank transfer | | | ✔ Pay bills | | | ✔ Issue Expensify Cards | diff --git a/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-Bills.md b/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Create-and-Pay-Bills.md similarity index 95% rename from docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-Bills.md rename to docs/articles/expensify-classic/bank-accounts-and-payments/payments/Create-and-Pay-Bills.md index 465f6742eaea..aff11c059d81 100644 --- a/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-Bills.md +++ b/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Create-and-Pay-Bills.md @@ -1,26 +1,26 @@ --- -title: Pay Bills +title: Create and Pay Bills description: Expensify bill management and payment methods. --- Streamline your operations by receiving and paying vendor or supplier bills directly in Expensify. Vendors can send bills even if they don't have an Expensify account, and you can manage payments seamlessly. -## Receive Bills in Expensify +# Receive Bills in Expensify You can receive bills in three ways: - Directly from Vendors: Provide your Expensify billing email to vendors. - Forwarding Emails: Forward bills received in your email to Expensify. - Manual Upload: For physical bills, create a Bill in Expensify from the Reports page. -## Bill Pay Workflow +# Bill Pay Workflow 1. When a vendor or supplier sends a bill to Expensify, the document is automatically SmartScanned, and a Bill is created. This Bill is managed by the primary domain contact, who can view it on the Reports page within their default group policy. 2. Once the Bill is ready for processing, it follows the established approval workflow. As each person approves it, the Bill appears in the next approver’s Inbox. The final approver will pay the Bill using one of the available payment methods. 3. During this process, the Bill is coded with the appropriate GL codes from your connected accounting software. After completing the approval workflow, the Bill can be exported back to your accounting system. -## Payment Methods +# Payment Methods There are multiple ways to pay Bills in Expensify. Let’s go over each method below. -### ACH bank-to-bank transfer +## ACH bank-to-bank transfer To use this payment method, you must have a [business bank account connected to your Expensify account](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account). @@ -32,7 +32,7 @@ To use this payment method, you must have a [business bank account connected to **Fees:** None -### Credit or Debit Card +## Credit or Debit Card This option is available to all US and International customers receiving a bill from a US vendor with a US business bank account. **To pay with a credit or debit card:** @@ -43,13 +43,13 @@ This option is available to all US and International customers receiving a bill **Fees:** 2.9% of the total amount paid. -### Venmo +## Venmo If both you and the vendor must have Venmo connected to Expensify, you can pay the bill by following the steps outlined [here](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/Third-Party-Payments#setting-up-third-party-payments). **Fees:** Venmo charges a 3% sender’s fee. -### Pay outside of Expensify +## Pay outside of Expensify If you are unable to pay using one of the above methods, you can still mark the Bill as paid. This will update its status to indicate that the payment was made outside Expensify. **To mark a Bill as paid outside of Expensify:** diff --git a/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-an-Invoice.md b/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-an-Invoice.md new file mode 100644 index 000000000000..84fafc949527 --- /dev/null +++ b/docs/articles/expensify-classic/bank-accounts-and-payments/payments/Pay-an-Invoice.md @@ -0,0 +1,65 @@ +--- +title: Pay an Invoice +description: A guide to different methods of paying an invoice +--- + +
+ +There are multiple ways to pay Invoices in Expensify. Let’s go over each method below. + +# How to Pay Invoices + +1. Sign in to your [Expensify web account](www.expensify.com). +2. Click on the Invoice you’d like to pay to see the details. +3. Click on the **Pay** button. +4. Follow the prompts to pay through one of the following methods. + +### ACH bank-to-bank transfer + +To use this payment method, you must have a [business bank account connected to your Expensify account](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account). + +**To pay with an ACH bank-to-bank transfer:** +1. Sign in to your [Expensify web account](www.expensify.com). +2. Go to the **Home** or **Reports** page and locate the Invoice that needs to be paid. +3. Click the **Pay** button to be redirected to the Invoice. +4. Choose the ACH option from the drop-down list. + +**Fees:** None + +### Credit or Debit Card +This option is available to all US and International customers receiving an invoice from a US vendor with a US business bank account. + +**To pay with a credit or debit card:** +1. Sign in to your [Expensify web account](www.expensify.com). +2. Click on the Invoice you’d like to pay to see the details. +3. Click the **Pay** button. +4. Enter your credit card or debit card details. + +**Fees:** 2.9% credit card payment fee. + +### Venmo +If both you and the vendor must have Venmo connected to Expensify, you can pay the Invoice by following the steps outlined [here](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/Third-Party-Payments#setting-up-third-party-payments). + +**Fees:** Venmo and Paypal.me charges may apply. + + +### Pay outside of Expensify +If you are unable to pay using one of the above methods, you can still mark the Invoice as paid. This will update its status to indicate that the payment was made outside Expensify. + +**To mark an Invoice as paid outside of Expensify:** +1. Sign in to your [Expensify web account](www.expensify.com). +2. Click on the Invoice you’d like to pay to see the details. +3. Click the Pay button. +4. Choose **I’ll do it manually**. + +**Fees:** None. + +{% include faq-begin.md %} + +## What’s the difference between an Invoice and an Expense Report in Expensify? +An invoice is an expense submitted to a client or contractor for payment. An expense report is an expense/group of expenses submitted to an employer for reimbursement. + +## What’s the difference between a Bill and an Invoice in Expensify? +A Bill is an amount owed to a payee (usually a vendor or supplier) and is usually created from a vendor invoice. An Invoice is a receivable and indicates an amount owed to you by someone else. + +{% include faq-end.md %} diff --git a/docs/articles/expensify-classic/connections/quickbooks-online/Quickbooks-Online-Troubleshooting.md b/docs/articles/expensify-classic/connections/quickbooks-online/Quickbooks-Online-Troubleshooting.md index 158a55b93e0f..6a43141f1ab9 100644 --- a/docs/articles/expensify-classic/connections/quickbooks-online/Quickbooks-Online-Troubleshooting.md +++ b/docs/articles/expensify-classic/connections/quickbooks-online/Quickbooks-Online-Troubleshooting.md @@ -18,7 +18,7 @@ This error occurs when the account applied as a category to the expense in Expen 5. Click on the pencil icon on the right to check if you have "In multiple accounts" selected: 6. If "In multiple accounts" is selected, go to Chart of Accounts and click Edit for the account in question. 7. Check the billable option and select an income account within your chart of accounts -8. Sync your QuickBooks Online connection in Settings > Workspaces > [click workspace] > Connections. +8. Sync your QuickBooks Online connection in Settings > Workspaces > [workspace name] > Connections. 9. Open the report and click the Export to button and then the QuickBooks Online option. # ExpensiError QBO046: Feature Not Included in Subscription @@ -40,11 +40,11 @@ _Please note: Self Employed is not supported:_ **Why does this happen?** -QuickBooks Online requires all expenses exported from Expensify to use a category matching an account in your chart of accounts. If a category from another source is used, QuickBooks Online will reject the expense. This errors occurs when an expense on the report has a category applied that is not valid in QuickBooks Online. +QuickBooks Online requires all expenses exported from Expensify to use a category matching an account in your chart of accounts. If a category from another source is used, QuickBooks Online will reject the expense. This error occurs when an expense on the report has a category applied that is not valid in QuickBooks Online. ## How to fix it -1. Sync your QuickBooks Online connection in Expensify from Settings > Workspaces > [click workspace] > Connections, and click the **Sync Now** button. +1. Sync your QuickBooks Online connection in Expensify from Settings > Workspaces > [workspace name] > Connections, and click the **Sync Now** button. 2. Review the expenses on the report. If any appear with a red _Category no longer valid_ violation, recategorize the expense until all expenses are violation-free. 3. Click the **Export t**o button and then the **QuickBooks Online** option. - If you receive the same error, continue. @@ -56,7 +56,7 @@ QuickBooks Online requires all expenses exported from Expensify to use a categor **Why does this happen?** -This error occurs when you have an Employee Record set up with the employee's name, which prevents the Expensify integration from automatically creating the Vendor Record with the same name, since QuickBooks Online won't allow you to have an employee and vendor with the same name. +This error occurs when you have an Employee Record set up with the employee's name. This prevents the Expensify integration from automatically creating the Vendor Record with the same name since QuickBooks Online won't allow you to have an employee and vendor with the same name. ## How to fix it @@ -67,7 +67,7 @@ There are two different ways you can resolve this error. 1. Log into QuickBooks Online. 2. Access the Employee Records for your submitters. 3. Edit the name to differentiate them from the name they have on their account in Expensify. -4. Sync your QuickBooks Online connection in Settings > Workspaces > [click workspace] > Connections. +4. Sync your QuickBooks Online connection in Settings > Workspaces > [workspace name] > Connections. 5. Open the report and click the Export to button and then the QuickBooks Online option. **Option 2**: @@ -85,7 +85,7 @@ This error occurs when you are exporting reimbursable expenses as Journal Entrie There are three different ways you can resolve this error. - Select a different type of export for reimbursable expenses under Settings > Workspaces > [worksapce name] > Connections > Configure > Export tab. -- Enable _Automatically Create Entities_ under Settings > Workspaces > [worksapce name] > Connections > Configure > Advanced to create vendor records automatically. +- Enable _Automatically Create Entities_ under Settings > Workspaces > [workspace name] > Connections > Configure > Advanced to create vendor records automatically. - Manually create vendor records in QuickBooks Online for each employee. # ExpensiError QBO099: Items marked as billable must have sales information checked @@ -97,7 +97,7 @@ This error occurs when an Item category on an expense does not have sales inform ## How to fix it 1. Log into QuickBooks Online. -2. Navigate to to your items list. +2. Navigate to your items list. 3. Click **Edit** to the right of the item used on the report with the error. Here you will see an option to check either "Sales" or "Purchasing". 4. Check the option for **Sales**. 5. Select an income account. @@ -146,12 +146,12 @@ This error occurs because the currency on the Vendor record in QuickBooks Online 1. Log into QuickBooks Online. 2. Open the vendor record. -3. Update the record to use with the correct A/P account, currency and an email matching their Expensify email. -You can find the correct Vendor record by exporting your QuickBooks Online [vendor list](https://community.expensify.com/home/leaving?allowTrusted=1&target=https%3A%2F%2Fqbo.intuit.com%2Fapp%2Fvendors) to a spreadsheet (click the export icon on the right-hand side of the page), and search for the email address of the person who submitted the report. +3. Update the record to use with the correct A/P account, currency, and email matching their Expensify email. +You can find the correct Vendor record by exporting your QuickBooks Online vendor list to a spreadsheet (click the export icon on the right-hand side of the page), and search for the email address of the person who submitted the report. If you have multiple Vendors with different currencies with the same email, Expensify is likely trying to export to the wrong one. -1. Try removing the email address from the vendor in QuickBooks Online you aren't trying to export to. +1. Try removing the email address from the vendor in QuickBooks Online that you aren't trying to export to. 2. Sync your QuickBooks Online connection in Settings > Workspaces > [workspace name] > Connections. 3. Open the report and click the **Export to** button and then the **QuickBooks Online** option. @@ -160,13 +160,13 @@ If this still fails, you'll need to confirm that the A/P account selected in Exp 1. Navigate to Settings > Workspaces > [workspace name] > Connections. 2. Under the Exports tab check that both A/P accounts are the correct currency. -# Why are company card expenses exporting to the wrong account in QuickBooks Online? +# Why are company card expenses exported to the wrong account in QuickBooks Online? Multiple factors could be causing your company card transactions to export to the wrong place in your accounting system, but the best place to start is always the same. 1. First, confirm that the company cards have been mapped to the correct accounts in Settings > Domains > Company Cards > click the **Edit Export button** for the card to view the account. -2. Next, confirm the expenses in question have been imported from the company card? - - Only expenses that have the Card+Lock icon next to them will export according to the mapping settings that you configure in the domain settings. +2. Next, confirm the expenses in question have been imported from the company card. + - Only expenses with the Card+Lock icon next to them will export according to the mapping settings that you configure in the domain settings. It’s important to note that expenses imported from a card linked at the individual account level, expenses created from a SmartScanned receipt, and manually created cash expenses will export to the default bank account selected in your connection's configuration settings. @@ -174,7 +174,7 @@ It’s important to note that expenses imported from a card linked at the indivi The user exporting the report must be a domain admin. You can check the history and comment section at the bottom of the report to see who exported the report. -If your reports are being exported automatically by Concierge, the user listed as the Preferred Exporter under Settings > Workspaces > [workspaces name] > Connections > click **Configure** must be a domain admin as well. +If your reports are being exported automatically by Concierge, the user listed as the Preferred Exporter under Settings > Workspaces > [workspace name] > Connections > click **Configure** must also be a domain admin. If the report exporter is not a domain admin, all company card expenses will export to the bank account set in Settings > Workspaces > [workspace name] > Connections > click **Configure** for non-reimbursable expenses. diff --git a/docs/articles/expensify-classic/domains/SAML-SSO.md b/docs/articles/expensify-classic/domains/SAML-SSO.md index e4b27b238e46..a6032afe8d24 100644 --- a/docs/articles/expensify-classic/domains/SAML-SSO.md +++ b/docs/articles/expensify-classic/domains/SAML-SSO.md @@ -2,18 +2,20 @@ title: Managing Single Sign-On (SSO) and User Authentication in Expensify description: Learn how to effectively manage Single Sign-On (SSO) and user authentication in Expensify alongside your preferred SSO provider. Our comprehensive guide covers SSO setup, domain verification, and specific instructions for popular providers like AWS, Okta, and Microsoft Azure. Streamline user access and enhance security with Expensify's SAML-based SSO integration. --- -# Overview -This article provides a comprehensive guide on managing Single Sign-On (SSO) and user authentication in Expensify alongside your preferred SSO provider. Expensify uses SAML to enable and manage SSO between Expensify and your SSO provider. -# How to Use SSO in Expensify -Before setting up Single Sign-On with Expensify you will need to make sure your domain has been verified. Once the domain is verified, you can access the SSO settings by navigating to Settings > Domains > [Domain Name] > SAML. -On this page, you can: +# Using SSO in Expensify +Before setting up Single Sign-On with Expensify you will need to make sure the [domain is verified](https://help.expensify.com/articles/expensify-classic/domains/Claim-And-Verify-A-Domain#step-2-verify-domain-ownership). + +Once the domain is verified, you can access the SSO settings by navigating to Settings > Domains > [Domain Name] > SAML. + +## The Domains page +**On this page, you can:** - Get Expensify's Service Provider MetaData. You will need to give this to your identity provider. - Enter your Identity Provider MetaData. Please contact your SAML SSO provider if you are unsure how to get this. - Choose whether you want to make SAML SSO required for login. If you choose this option, members will only be able to log in to Expensify via SAML SSO. -Instructions for setting up Expensify for specific SSO providers can be found below. If you do not see your provider listed below, please contact them and request instructions. + +**Below are instructions for setting up Expensify for specific SSO providers:** - [Amazon Web Services (AWS SSO)](https://static.global.sso.amazonaws.com/app-202a715cb67cddd9/instructions/index.htm) -- [Bitium](https://support.bitium.com/administration/saml-expensify/) - [Google SAML](https://support.google.com/a/answer/7371682) (for GSuite, not Google SSO) - [Microsoft Azure Active Directory](https://azure.microsoft.com/en-us/documentation/articles/active-directory-saas-expensify-tutorial/) - [Okta](https://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-Expensify.html) @@ -22,22 +24,39 @@ Instructions for setting up Expensify for specific SSO providers can be found be - [SAASPASS](https://saaspass.com/saaspass/expensify-two-factor-authentication-2fa-single-sign-on-sso-saml.html) - Microsoft Active Directory Federation Services (see instructions in the FAQ section below) -When SSO is enabled, employees will be prompted to sign in through Single Sign-On when using their company email (private domain email) and also a public email (e.g. gmail.com) linked as a secondary login. +If your provider is not listed, please contact them and request instructions. + +When SSO is enabled, employees will be prompted to sign in through Single Sign-On when using their company email (private domain email) and also a public email (e.g. gmail.com) linked as a [Secondary Login](https://help.expensify.com/articles/expensify-classic/settings/Change-or-add-email-address). + +{% include faq-begin.md %} + +## What should I do if I’m getting an error when trying to set up SSO? +You can double-check your configuration data for errors using samltool.com. If you’re still having issues, you can contact your Account Manager or Concierge for assistance. + +## What is the EntityID for Expensify? +The entityID for Expensify is https://expensify.com. Remember not to copy and paste any extra slashes or spaces. If you've enabled the Multi-Domain support (see below) then your entityID will be https://expensify.com/mydomainname.com. + +## Can you have multiple domains with only one entity ID? +Yes. Please send a message to the Concierge or your account manager, and we will enable the use of the same entity ID with multiple domains. ## How can I update the Microsoft Azure SSO Certificate? -Expensify's SAML configuration doesn't support multiple active certificates. This means that if you create the new certification ahead of time without first removing the old one, the respective IdP will include two unique x509 certificates instead of one and the connection will break. Should you need to access Expensify, switching back to the old certificate will continue to allow access while that certificate is still valid. +Expensify's SAML configuration doesn't support multiple active certificates. This means that if you create the new certification ahead of time without first removing the old one, the respective IDP will include two unique x509 certificates instead of one, and the connection will break. Should you need to access Expensify, switching back to the old certificate will continue to allow access while that certificate is still valid. -To transfer from one Microsoft Azure certificate to another, please follow the below steps: -1. In Azure Directory , create your new certificate. +**To transfer from one Microsoft Azure certificate to another, please follow the below steps:** +1. In Azure Directory, create your new certificate. 2. In Azure Director, remove the old, expiring certificate. -3. In Azure Directory, activate the remaining certificate, and get a new IdP for Expensify from it. -4. In Expensify, replace the previous IdP with the new IdP. -5. Log in via SSO. If login continues to fails, write into Concierge for assistance. +3. In Azure Directory, activate the remaining certificate and get a new IDP for Expensify from it. +4. In Expensify, replace the previous IDP with the new IDP. +5. Log in via SSO. If login continues to fail, write to Concierge for assistance. -## How can I enable deactivating users with the Okta SSO integration? -Companies using Okta can deactivate users in Expensify using the Okta SCIM API. This means that when a user is deactivated in Okta their access to Expensify will expire and they will be logged out of both the web and mobile apps. Deactivating a user through Okta will not close their account in Expensify, if you are offboarding this employee, you will still want to close the account. You will need have a verified domain and SAML fully setup before completing setting up the deactivation feature. +## How can I enable "deactivating users" with the Okta SSO integration? +Companies using Okta can deactivate users in Expensify using the Okta SCIM API: +- When a user is deactivated in Okta, their access to Expensify expires, and they are logged out of both the web and mobile apps. +- Deactivating a user through Okta will not close their account in Expensify +- If you are offboarding this employee, you will still want to close the account. +- A verified domain and a complete SAML setup are required before you can configure the deactivation feature. -To enable deactivating users in Okta, follow these steps: +**To enable deactivating users in Okta, follow these steps:** 1. In Expensify, head to *Settings > Domains > _[Domain Name]_ > SAML* 2. Ensure that the toggle is set to Enabled for *SAML Login* and *Required for login* 3. In Okta, go to *Admin > Applications > Add Application* @@ -49,18 +68,18 @@ To enable deactivating users in Okta, follow these steps: 9. Then, go to *Directory > Profile Editor > Okta user > Profile* 10. Click the information bubble to the right of the *First name* and *Last name* attributes 11. Uncheck *Yes* under *Attribute required* field and press *Save Attribute*. -12. Email concierge@expensify.com providing your domain and request that Okta SCIM be enabled. You will receive a response when this step has been completed. +12. Email concierge@expensify.com, providing your domain, and request that Okta SCIM be enabled. You will receive a response when this step has been completed. 13. In Expensify, go to *Domains > _[Domain Name]_ > SAML > Show Token* and copy the Okta SCIM Token you received. 14. In Okta, go to *Admin > Applications > Expensify > Provisioning > API Integration > Configure API Integration* -15. Select Enable API Integration and paste the Okta SCIM Token in API Token field and then click Save. -15. Go to To App, click Edit Provisioning Users, select Enable Deactivate Users and then Save. (You may also need to set up the Expensify Attribute Mappings if you have not previously in steps 9-11). +15. Select Enable API Integration, paste the Okta SCIM Token in the API Token field, and then click Save. +15. Go to To App, click Edit Provisioning Users, select Enable Deactivate Users, and then Save. (You may also need to set up the Expensify Attribute Mappings if you have not previously in steps 9-11). Successful activation of this function will be indicated by the green Push User Deactivation icon being enabled at the top of the app page. -## How can I set up SAML authentication with Microsoft ADFS? -Before getting started, you will need to have a verified domain and Control plan in order to set up SSO with Microsoft ADFS. +## How do I set up the SAML authentication with Microsoft ADFS? +Before getting started, you will need a verified domain and Control plan to set up SSO with Microsoft ADFS. -To enable SSO with Microsoft ADFS follow these steps: +**To enable SSO with Microsoft ADFS follow these steps:** 1. Open the ADFS management console, and click the *Add Relying Party Trust* link on the right. 2. Check the option to *Import data about the relying party from a file*, then click the *Browse* button. You will input the XML file of Expensify’s metadata which can be found on the Expensify SAML setup page. 3. The metadata file will provide the critical information that ADFS needs to set up the trust. In ADFS, give it a name, and click Next. @@ -69,22 +88,10 @@ To enable SSO with Microsoft ADFS follow these steps: 6. The new trust is now created. Highlight the trust, then click *Edit claim rules* on the right. 7. Click *Add a Rule*. 8. The default option should be *Send LDAP Attributes as Claims*. Click Next. -9. Depending upon how your Active Directory is set up, you may or may not have a useful email address associated with each user, or you may have a policy to use the UPN as the user attribute for authentication. If so, using the UPN user attribute may be appropriate for you. If not, you can use the emailaddress attribute. +9. Depending upon how your Active Directory is set up, you may or may not have a useful email address associated with each user, or you may have a policy to use the UPN as the user attribute for authentication. If so, using the UPN user attribute may be appropriate for you. If not, you can use the email address attribute. 10. Give the rule a name like *Get email address from AD*. Choose Active Directory as the attribute store from the dropdown list. Choose your source user attribute to pass to Expensify that has users’ email address info in it, usually either *E-Mail-Address* or *User-Principal-Name*. Select the outgoing claim type as “E-Mail Address”. Click OK. 11. Add another rule; this time, we want to *Transform an Incoming Claim*. Click Next. 12. Name the rule *Send email address*. The Incoming claim type should be *E-Mail Address*. The outgoing claim type should be *Name ID*, and the outgoing name ID format should be *Email*. Click OK. 13. You should now have two claim rules. -Assuming you’ve also set up Expensify SAML configuration with your metadata, SAML logins on Expensify.com should now work. For reference, ADFS’ default metadata path is: https://yourservicename.yourdomainname.com/FederationMetadata/2007-06/FederationMetadata.xml. - -{% include faq-begin.md %} -## What should I do if I’m getting an error when trying to set up SSO? -You can double check your configuration data for errors using samltool.com. If you’re still having issues, you can reach out to your Account Manager or contact Concierge for assistance. - -## What is the EntityID for Expensify? -The entityID for Expensify is https://expensify.com. Remember not to copy and paste any extra slashes or spaces. If you've enabled the Multi-Domain support (see below) then your entityID will be https://expensify.com/mydomainname.com. - -## Can you have multiple domains with only one entityID? -Yes. Please send a message to Concierge or your account manager and we will enable the ability to use the same entityID with multiple domains. - {% include faq-end.md %} diff --git a/docs/articles/expensify-classic/expenses/Add-Invoices-in-Bulk.md b/docs/articles/expensify-classic/expenses/Add-Invoices-in-Bulk.md new file mode 100644 index 000000000000..6257c1e6d84d --- /dev/null +++ b/docs/articles/expensify-classic/expenses/Add-Invoices-in-Bulk.md @@ -0,0 +1,48 @@ +--- +title: Bulk Upload Invoices +description: How to Bulk Upload Invoices +--- + +Expensify offers importing multiple invoices (bulk import) via CSV to save you from manually creating individual invoices. + +## Uploading Invoices into Expensify + +1. Click the **Reports** tab. +2. Click the **New Report** drop-down. +3. Select **Bulk Import Invoices**. +4. Click the sample CSV link to download your custom CSV template to your browser or computer. +5. Add the invoice details following the formatting rules (see below **CSV formatting guide** section) +6. Click **Upload CSV** + +## CSV formatting guide + +- Send to: recipient's email address (ex: john.smith@companydomain.com) +- Share: email address (ex: julie.clarke@companydomain.com) +- Report Name: this will be the name of the Invoice report +- Merchant: business name of invoice sender +- Amount: use the number format in this column. Negative amounts cannot be invoiced. +- Date: YYYY-MM-DD formatting +- Due Date: YYYY-MM-DD formatting + +## After the Invoices are uploaded + +- After you click **Upload**, the invoices will automatically be created and viewable on the **Reports** page. +- The **Send To** contact will get an email notifying them of the invoice you sent. +- You can manually edit the invoice details. +- You can manually upload a PDF of the invoice to the report. + +{% include faq-begin.md %} + +## Are there any fees associated with Invoices in Expensify? +No, Invoices are part of the [Control Plan](https://help.expensify.com/articles/expensify-classic/expensify-billing/Change-Plan-Or-Subscription#change-group-plan). + +## Can Invoices be revised once they are sent? +If you sent an invoice by mistake, you can click **Undo Send** on the invoice to revoke it. If you’d like to add more details to a sent invoice, you can add those as a [Report comment](https://help.expensify.com/articles/expensify-classic/reports/Add-comments-and-attachments-to-a-report) for everyone to view. + +## How do I communicate with the payor +You can communicate with the payor through [Report comments](https://help.expensify.com/articles/expensify-classic/reports/Add-comments-and-attachments-to-a-report). + +## What’s the difference between an Invoice and an Expense Report in Expensify? +An invoice is an expense submitted to a client or contractor for payment. An expense report is an expense or group of expenses submitted to an employer for reimbursement. + +{% include faq-end.md %} diff --git a/docs/articles/expensify-classic/expenses/Send-and-Receive-Payment-for-Invoices.md b/docs/articles/expensify-classic/expenses/Send-and-Receive-Payment-for-Invoices.md new file mode 100644 index 000000000000..c2ebb64b0af6 --- /dev/null +++ b/docs/articles/expensify-classic/expenses/Send-and-Receive-Payment-for-Invoices.md @@ -0,0 +1,39 @@ +--- +title: Send and Receive Payment for Invoices +description: How to Send and Receive Payments for Invoices +--- + +Simplify your back office by sending invoices to vendors and suppliers in Expensify. +Invoices can be sent to anyone with or without an Expensify account and paid directly to your business bank account through Expensify. + +## How to send an invoice in Expensify + +1. Sign in to your [Expensify web account](www.expensify.com) +2. Customize your company invoices following the steps in this [help article](https://help.expensify.com/articles/expensify-classic/workspaces/Set-Up-Invoicing). (Optional) +3. From the **Reports** page, click the drop-down and select **Invoice**. +4. Upload a PDF/image of the invoice. +5. Add applicable tags and categories based on your workspace settings. +6. Click **Send**. + +## How to Receive an Invoice Payment in Expensify + +1. To use Expensify payments, you must have a [business bank account connected to your Expensify account](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account). +2. Ensure the payment details are on the invoice sent to the payor. +3. The payor will receive a notification of the submitted invoice. +4. They will have the option to pay the invoice through Expensify. + +{% include faq-begin.md %} + +## Are there any fees associated with Invoices in Expensify? +No, Invoices are part of the [Control Plan](https://help.expensify.com/articles/expensify-classic/expensify-billing/Change-Plan-Or-Subscription#change-group-plan). + +## Can Invoices be revised once they are sent? +If you sent an invoice by mistake, you can click **Undo Send** on the invoice to revoke it. If you’d like to add more details to a sent invoice, you can add those as a [Report comment](https://help.expensify.com/articles/expensify-classic/reports/Add-comments-and-attachments-to-a-report) for everyone to view. + +## How do I communicate with the payor +You can communicate with the payor through [Report comments](https://help.expensify.com/articles/expensify-classic/reports/Add-comments-and-attachments-to-a-report). + +## What’s the difference between an Invoice and an Expense Report in Expensify? +An invoice is an expense submitted to a client or contractor for payment. An expense report is an expense or group of expenses submitted to an employer for reimbursement. + +{% include faq-end.md %} diff --git a/docs/articles/expensify-classic/expenses/Trips.md b/docs/articles/expensify-classic/expenses/Trips.md index 04f95c96eb44..1c84cd9189f7 100644 --- a/docs/articles/expensify-classic/expenses/Trips.md +++ b/docs/articles/expensify-classic/expenses/Trips.md @@ -2,38 +2,35 @@ title: Trips description: Automate getting paid back for your travel through Expensify's Trips feature. --- -# Overview -Discover how Expensify streamlines your travel expense management when it comes to trips. With the automatic classification of trip receipts and real-time notifications for travel changes, you can effortlessly stay organized and informed on all your trips. - -When a travel receipt/itinerary is uploaded into Expensify and SmartScanned, the Trips section of the mobile app will automatically populate your trip information.. If your flight has any cancellations, unexpected changes, or delays, we will make sure you know about it. We will notify you of the change as soon as it happens via the mobile app. +When a travel receipt or itinerary is uploaded to Expensify via SmartScan, the Trips section of the mobile app automatically populates your trip information. If your flight has any cancellations, unexpected changes, or delays, we will notify you of them as soon as they occur via the mobile app. For the receipt to be processed as a Trip, it must include the total amount of the expense, date, and merchant name. If your company is using a travel integration from the list shown below, you can automate this process entirely: - [TravelPerk](https://help.expensify.com/articles/expensify-classic/integrations/travel-integrations/TravelPerk) - [Egencia](https://help.expensify.com/articles/expensify-classic/integrations/travel-integrations/Egencia) -- [Navan](https://help.expensify.com/articles/expensify-classic/integrations/travel-integrations/Trip-Actions) +- [Navan](https://help.expensify.com/articles/expensify-classic/connections/Navan) -# How to add a Trip to your account +# Add a Trip to your account -Trip receipts are typically sent via email, and will include multiple pages. With that in mind, we recommend emailing receipts directly to Expensify for ease. +Trip receipts are typically sent via email and will include multiple pages. For ease, we recommend emailing receipts directly to Expensify. -To email a flight or hotel receipt, you’ll forward the receipt from your Expensify-associated email address to receipts@expensify.com. +To email a flight or hotel receipt, simply forward the receipt from your Expensify-associated email address to receipts@expensify.com. -# How to access your Trip information +# Access your Trip information To view details about your past or upcoming trips, follow these steps within the Expensify mobile app: 1. Open the Expensify mobile app -2. Navigate to the "Menu" option (top left ≡ icon) +2. Navigate to the **Menu** option (top left ≡ icon) 3. Select **Trips** {% include faq-begin.md %} ## How do I capture Trip receipts sent to my personal email address? -If you received your receipt in an email that is not associated with your Expensify account, you can add this email as a [secondary login](https://help.expensify.com/articles/expensify-classic/account-settings/Account-Details#how-to-add-a-secondary-login) to directly forward the receipt into your account. +If you received your receipt in an email that is not associated with your Expensify account, you can add this email as a [secondary login](https://help.expensify.com/articles/expensify-classic/settings/Change-or-add-email-address) to directly forward the receipt into your account. ## How do I upload Trip receipts that were not sent to me by email? -If your trip receipt was not sent to you by email, you can manually upload the receipt to your account. Check out this resource for more information on [manually uploading receipts](https://help.expensify.com/articles/expensify-classic/expenses/expenses/Upload-Receipts#manually-upload). +If your trip receipt was not sent to you by email, you can manually upload the receipt to your account. Check out this resource for more information on [manually creating expenses](https://help.expensify.com/articles/expensify-classic/expenses/Add-an-expense#add-an-expense-manually). {% include faq-end.md %} diff --git a/docs/articles/expensify-classic/expensify-billing/Consolidated-Domain-Billing.md b/docs/articles/expensify-classic/expensify-billing/Consolidated-Domain-Billing.md index 2e829c0785d3..671d0c41e772 100644 --- a/docs/articles/expensify-classic/expensify-billing/Consolidated-Domain-Billing.md +++ b/docs/articles/expensify-classic/expensify-billing/Consolidated-Domain-Billing.md @@ -16,9 +16,12 @@ When a Domain Admin enables Consolidated Domain Billing, all Group workspaces ow If you don’t have multiple billing owners across your organization, or if you want to keep billing separate for any reason, then this feature isn’t necessary. If you have an Annual Subscription and enable Consolidated Domain Billing, the Consolidated Domain Billing feature will gather the amounts due for each Group workspace Billing Owner (listed under **Settings > Workspaces > Group**). To make full use of the Annual Subscription for all workspaces in your domain, you should also be the billing owner for all Group workspaces. + {% include faq-begin.md %} + ## How do I take over the billing of a workspace with Consolidated Domain Billing enabled? You’ll have to toggle off Consolidated Domain Billing, take over ownership of the workspace, and then toggle it back on. + ## Can I use Consolidated Domain Billing to cover the bill for some workspaces, but not others? No, this feature means that you’ll be paying the bill for all domain members who choose a subscription. diff --git a/docs/articles/expensify-classic/expensify-billing/Receipt-Breakdown.md b/docs/articles/expensify-classic/expensify-billing/Receipt-Breakdown.md index 21e2db5604f8..8f512fb71512 100644 --- a/docs/articles/expensify-classic/expensify-billing/Receipt-Breakdown.md +++ b/docs/articles/expensify-classic/expensify-billing/Receipt-Breakdown.md @@ -2,46 +2,36 @@ title: Receipts Breakdown description: This article goes over the Expensify receipt for billing owners. --- +**Your receipt is broken up into the following sections:** +- A high-level summary of your total Expensify bill +- Ways to reduce your bill and get paid to use Expensify +- A billing breakdown that covers all activity and discounts +- An activity breakdown by workspace -# Overview -This article will give you (the billing owner) a detailed breakdown of your Expensify bill. +## A high-level summary -Your receipt is broken up into multiple sections that include: -1. A high-level summary of your total Expensify bill -2. Ways to reduce your bill and get paid to use Expensify -3. A billing breakdown that covers all activity and discounts -4. An activity breakdown by workspace +- The top section will show the total amount you paid as the billing owner of Expensify Workspaces and give you a breakdown of the price per member. +- Every member of your workspace(s) can store data, review data, and access free features like Expensify Chat. +- We show the total price and then calculate the price per member by using the number of members across all of the workspaces you own. +- Further down in the receipt, there's a breakdown of the members who generated billable activity. -## How-to understand the high-level summary -The top section will show the total amount you paid as the billing owner of Expensify workspaces and give you a breakdown of price per member. Every member of your workspace(s) gets to store data, review data, and access free features like Expensify Chat. Thus, we show the total price and then use all of the members across all of the workspaces you own to calculate the price per member. Further down in the receipt, and in this article, we break down the members who generated billable activity. - -## How-to reduce your bill and get paid to use Expensify +## Reduce your bill and get paid to use Expensify Chances are you can actually get paid to use Expensify with the Expensify Card. In this section of the receipt, we outline how much money you're leaving on the table by not using the Expensify Card. You can click `Get started` to connect with your account manager (if you have one) or Concierge, both of whom can help get you started with the card. _Note: Currently, we offer Expensify Cards to companies with US bank accounts._ -## How-to understand your billing breakdown +## The billing breakdown Your receipt will have a detailed breakdown of activity and discounts across all workspaces. Here's a description of items that may appear on your bill: -- [Number of] Inactive workspace members @ $0.00 - - All inactive members from any of your workspaces. -- [Number of] Chat-only members @ $0.00 - - Any workspace members who chatted but didn't generate any other billable activity. Learn more about [chatting for free.](https://help.expensify.com/articles/new-expensify/chat/Introducing-Expensify-Chat) -- [Number of] Annual Control members @ $18.00 - - Any members included in your annual subscription on the Control plan. -- [Number of] Pay-per-use Control members @ $36.00 - - Any members above your annual subscription size on the Control plan. They're billed at the pay-per-use rate. -- [Number of] Annual Collect members @ $10.00 - - Any members included in your annual subscription on the Collect plan. -- [Number of] Pay-per-use Collect members @ $20.00 - - Any members above your annual subscription size on the Collect plan. These members are billed at the pay-per-use rate. -- X% Expensify Card discount with $Y spend - - The % discount you're getting based on total settled US purchases across your Expensify Cards. -- X% Expensify Card cash back credit for $Y spend - - The amount of cash back you've earned based on total settled US purchases across your Expensify Cards. -- 50% ExpensifyApproved! partner discount - - If you're part of an accounting firm, you get an additional discount for being our partner. [Learn more about our ExpensifyApproved! accountants program.](https://use.expensify.com/accountants-program) -- Total - - Sum of all the line items above. +- **[Number of] Inactive workspace members @ $0.00:** All inactive members from any of your workspaces. +- **[Number of] Chat-only members @ $0.00:** Any workspace members who chatted but didn't generate any other billable activity. Learn more about [chatting for free.](https://help.expensify.com/new-expensify/hubs/chat/) +- **[Number of] Annual Control members @ $18.00:** Any members included in your annual subscription on the Control plan. +- **[Number of] Pay-per-use Control members @ $36.00:** Any members above your annual subscription size on the Control plan. They're billed at the pay-per-use rate. +- **[Number of] Annual Collect members @ $10.00:** Any members included in your annual subscription on the Collect plan. +- **[Number of] Pay-per-use Collect members @ $20.00:** Any members above your annual subscription size on the Collect plan. These members are billed at the pay-per-use rate. +- **X% Expensify Card discount with $Y spend:** The % discount you're getting based on total settled US purchases across your Expensify Cards. +- **X% Expensify Card cash back credit for $Y spend:** The amount of cash back you've earned based on total settled US purchases across your Expensify Cards. +- **50% ExpensifyApproved! partner discount:** If you're part of an accounting firm, you get an additional discount for being our partner -- learn more about our ExpensifyApproved! accountant program [here](https://use.expensify.com/accountants-program). +- **Total:** The sum of all the line items above. -## How-to understand your activity breakdown +## The activity breakdown This section will list all of your workspaces alongside their IDs and break down the billing for each of them. diff --git a/docs/articles/expensify-classic/expensify-card/Unlimited-Virtual-Cards.md b/docs/articles/expensify-classic/expensify-card/Unlimited-Virtual-Cards.md index fdbc178737e1..5b0f0c1c2879 100644 --- a/docs/articles/expensify-classic/expensify-card/Unlimited-Virtual-Cards.md +++ b/docs/articles/expensify-classic/expensify-card/Unlimited-Virtual-Cards.md @@ -9,7 +9,7 @@ For admins to issue virtual cards, your company **must upgrade to Expensify’s Once upgraded to the new Expensify Card, admins can issue an unlimited number of virtual cards with a fixed or monthly limit for specific company purchases or recurring subscription payments _(e.g., Marketing purchases, Advertising, Travel, Amazon Web Services, etc.)._ -This feature supports businesses that require tighter controls on company spending, allowing customers to set fixed or monthly spending limits for each virtual card. +This feature supports businesses that require tighter controls on company spending. Customers can set fixed or monthly spending limits for each virtual card. Use virtual cards if your company needs or wants: @@ -20,7 +20,7 @@ Use virtual cards if your company needs or wants: Admins can also name each virtual card, making it easy to categorize and assign them to specific accounts upon creation. Naming the card ensures a clear and organized overview of expenses within the Expensify platform. -# How to set up virtual cards +# Set up virtual cards After adopting the new Expensify Card, domain admins can issue virtual cards to any employee using an email matching your domain. Once created and assigned, the card will be visible under the name given to the card. @@ -36,7 +36,7 @@ Head to **Settings** > **Domains** > [**Company Cards**](https://www.expensify.c ![The Issue Virtual Cards modal is open in the middle of the screen. There are four options to set; Card Name, Assignee, Card Limit, and Limit type. A cancel (left) and save (right) button are at the bottom right of the modal.]({{site.url}}/assets/images/AdminissuedVirtualCards.png){:width="100%"} -# How to edit virtual cards +# Edit virtual cards Domain admin can update the details of a virtual card on the [Company Cards](https://www.expensify.com/domain_companycards) page. @@ -46,7 +46,7 @@ Domain admin can update the details of a virtual card on the [Company Cards](htt 2. Change the editable details. 3. Click **Edit Card** to save the changes. -# How to terminate a virtual card +# Terminate a virtual card Domain admin can also terminate a virtual card on the [Company Cards](https://www.expensify.com/domain_companycards) page by setting the limit to $0. @@ -59,30 +59,29 @@ Domain admin can also terminate a virtual card on the [Company Cards](https://ww {% include faq-begin.md %} -**What is the difference between a fixed limit and a monthly limit?** +## What is the difference between a fixed limit and a monthly limit? There are two different limit types that are best suited for their intended purpose. - -- _Fixed limit_ spend cards are ideal for one-time expenses or providing employees access to a card for a designated purchase. +- _Fixed-limit_ spend cards are ideal for one-time expenses or providing employees with access to a card for a designated purchase. - _Monthly_ limit spend cards are perfect for managing recurring expenses such as subscriptions and memberships. A virtual card with either of these limit types doesn't share its limit with any other cards, including the cardholder's smart limit cards. -**Where can employees see their virtual cards?** +## Where can employees see their virtual cards? Employees can see their assigned virtual cards by navigating to **Settings** > **Account** > [**Credit Cards Import**](https://www.expensify.com/settings?param=%7B%22section%22:%22creditcards%22%7D) in their account. -On this page, employees can see the remaining card limit, the type of card it is (i.e., fixed or monthly), and view the name given to the card. +On this page, employees can see the remaining card limit, the type of card (e.g., fixed or monthly), and the name given to the card. When the employee needs to use the card, they’ll click the **Show Details** button to expose the card details for making purchases. _Note: If the employee doesn’t have Two-Factor Authentication (2FA) enabled when they display the card details, they’ll be prompted to enable it. Enabling 2FA for their account provides the best protection from fraud and is **required** to dispute virtual card expenses._ -**What do I do when there is fraud on one of our virtual cards?** +## What do I do when there is fraud on one of our virtual cards? -If you or an employee loses their virtual card, experiences fraud, or suspects the card details are no longer secure, please [request a new card](https://help.expensify.com/articles/expensify-classic/expensify-card/Dispute-A-Transaction) immediately. A domain admin can also set the limit for the card to $0 to terminate the specific card immediately if the employee cannot take action. +If you or an employee loses their virtual card, experiences fraud, or suspects the card details are no longer secure, please [request a new card](https://help.expensify.com/articles/expensify-classic/expensify-card/Request-the-Card) immediately. A domain admin can also set the limit for the card to $0 to terminate the specific card immediately if the employee cannot take action. -When the employee requests a new card, the compromised card will be terminated immediately. This is best practice for any Expensify Card and if fraud is suspected, action should be taken as soon as possible to reduce financial impact on the company. +When the employee requests a new card, the compromised card will be terminated immediately. This is best practice for any Expensify Card, and if fraud is suspected, action should be taken as soon as possible to reduce the company's financial impact. {% include faq-end.md %} diff --git a/docs/articles/expensify-classic/expensify-partner-program/Card-Revenue-Share.md b/docs/articles/expensify-classic/expensify-partner-program/Card-Revenue-Share.md index b6c3bc0904c0..663a5e3cd9c8 100644 --- a/docs/articles/expensify-classic/expensify-partner-program/Card-Revenue-Share.md +++ b/docs/articles/expensify-classic/expensify-partner-program/Card-Revenue-Share.md @@ -2,26 +2,23 @@ title: Expensify Card revenue share for ExpensifyApproved! partners description: Earn money when your clients adopt the Expensify Card --- -# Overview You can now earn additional income for your firm every time your client uses their Expensify Card. In short, your firm gets 0.5% of your clients’ total Expensify Card spend as cash back. The more your clients spend, the more cashback your firm receives! This program is currently only available to US-based ExpensifyApproved! partner accountants. -# Become a domain admin -To benefit from this program, you or a member of your firm must be a domain admin on your client’s domain in Expensify. +# Become a Domain Admin +To benefit from this program, you or a member of your firm must be a domain admin on the client’s domain in Expensify: 1. Head to *Settings > Domains* -2. Click the name of your client's domain +2. Click the client's domain + - If you can click on the domain and access the domain settings, you are a Domain Admin + - If you’re not a Domain Admin, your client can add you as one by heading to **Settings > Domains > [Client's Domain] > Domain Admins > Add Admin**. -If you can click into the domain and access the domain settings, that means you are a domain admin. +_**Note:** You can view all domain admins under Settings > Domains > [Client's Domain] > Domain Admins._ -Note: You can view all domain admins under *Settings > Domains > [Client's domain name] > Domain Admins*. +# Connect a deposit-only business bank account +[Follow these instructions](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account#connect-a-business-deposit-only-account) to connect a deposit-only business bank account. -If you’re not a domain admin, your client can add you as one by heading to **Settings > Domains > [Client's domain name] > Domain Admins > Add admin**. - -# Connect a deposit account -Next, connect a deposit-only business bank account. Any revenue earned will be deposited directly into that account. - -Instructions to connect a deposit-only business bank account are [here](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/deposit-accounts/Deposit-Accounts-USD#how-to-connect-a-business-deposit-only-bank-account). +Once that's complete, any revenue earned will be deposited directly into that bank account. {% include faq-begin.md %} diff --git a/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-Small-To-Medium-Sized-Businesses.md b/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-Small-To-Medium-Sized-Businesses.md index 411cc64eda7f..fc457c1d6f7f 100644 --- a/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-Small-To-Medium-Sized-Businesses.md +++ b/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-Small-To-Medium-Sized-Businesses.md @@ -9,7 +9,7 @@ This guide provides practical tips and recommendations for small businesses with - See our [US-based VC-Backed Startups](https://help.expensify.com/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-US-Based-VC-Backed-Startups) if you are more concerned with top-line revenue growth # Who you are -As a small to medium-sized business owner, your main aim is to achieve success and grow your business. To achieve your goals, it is crucial that you make worthwhile investments in both your workforce and your business processes. This means providing your employees with the resources they need to generate revenue effectively, while also adopting measures to guarantee that expenses are compliant. +As a small—to medium-sized business owner, your main aim is to achieve success and grow your business. To achieve your goals, it is crucial that you make worthwhile investments in your workforce and your business processes. This means providing your employees with the resources they need to generate revenue effectively while also adopting measures to guarantee that expenses are compliant. # Step-by-step instructions for setting up Expensify This playbook is built on best practices we’ve developed after processing expenses for tens of thousands of companies around the world. As such, use this playbook as your starting point, knowing that you can customize Expensify to suit your business needs. Every company is different, and your dedicated Setup Specialist is always one chat away with any questions you may have. @@ -26,7 +26,7 @@ If you don't already have one, go to *[new.expensify.com](https://new.expensify. There are three workspace types, but for your small business needs we recommend the *Control Plan* for the following reasons: - *The Control Plan* is designed for organizations with a high volume of employee expense submissions, who also rely on compliance controls -- The ease of use and mobile-first design of the Control plan can increase employee adoption and participation, leading to better expense tracking and management. +The Control plan's ease of use and mobile-first design can increase employee adoption and participation, leading to better expense tracking and management. - The plan integrates with a variety of tools, including accounting software and payroll systems, providing a seamless and integrated experience - Accounting integrations include QuickBooks Online, Xero, NetSuite, and Sage Intacct, with indirect support from Microsoft Dynamics and any other accounting solution you work with @@ -38,14 +38,14 @@ To create your Control Workspace: 2. Select *Group* and click the button that says *New Workspace* 3. Click *Select* under Control -The Control Plan also gives you access to a dedicated Setup Specialist. You can find yours by looking at your workspace's *#admins* room in *[new.expensify.com](https://new.expensify.com)*, and in your company’s workspace settings in the *Overview* tab, where you can chat with them and schedule an onboarding call to walk through any setup questions. The Control Plan bundled with the Expensify Visa® Commercial Card is only *$9 per user per month* (not taking into account cash back your earn) when you commit annually. Adopting the Expensify Card with an Annual Subscription gives a 75% discount off the unbundled price. +The Control Plan also gives you access to a dedicated Setup Specialist. You can find yours by looking at your workspace's *#admins* room in *[new.expensify.com](https://new.expensify.com)*, and in your company’s workspace settings in the *Overview* tab, where you can chat with them and schedule an onboarding call to walk through any setup questions. The Control Plan bundled with the Expensify Visa® Commercial Card is only *$9 per user per month* (not taking into account cash back you earn) when you commit annually. Adopting the Expensify Card with an Annual Subscription gives a 75% discount off the unbundled price. ## Step 3: Connect your accounting system -As a small to medium-sized business, it's important to maintain proper spend management to ensure the success and stability of your organization. This requires paying close attention to your expenses, streamlining your financial processes, and making sure that your financial information is accurate, compliant, and transparent. Include best practices such as: +As a small to medium-sized business, it's important to maintain proper spending management to ensure the success and stability of your organization. This requires paying close attention to your expenses, streamlining your financial processes, and making sure that your financial information is accurate, compliant, and transparent. Include best practices such as: - Every purchase is categorized into the correct account in your chart of accounts - Receipts are sent to the accounting package to ensure visibility across the organization and to auditors -- Every expense is accounted for and added to your accounting system on time for your monthly accounts reconciliation. +- Every expense is accounted for and added to your accounting system on time for the reconciliation of your monthly accounts. You do this by synchronizing Expensify and your accounting package as follows: @@ -68,53 +68,53 @@ Check out the links below for more information on how to connect to your account ## Step 4: Set category-specific compliance controls Head over to the *Categories* tab to set compliance controls on your newly imported list of categories. More specifically, we recommend the following: -1. First, enable *People Must Categorize Expenses*. Employees must select a category for each expense, otherwise, in most cases, it’s more work on you and our accounting connections will simply reject any attempt to export. +1. First, enable *People Must Categorize Expenses*. Employees must select a category for each expense; otherwise, it’s more work for you, and our accounting connections will simply reject any attempt to export. 2. For more high-risk, travel-related categories, we recommend setting more strict compliance controls. For example, “Meals & Entertainment” should be set with the following: - Receipts Required - Descriptions Required, with Description Hints set - Travel: “What is the business purpose of this expense?” - - Meals: “Could you share the business purpose, and tag attendees?” - - Entertainment: “Could you share the business purpose, and tag attendees?” + - Meals: “Could you share the business purpose and tag attendees?” + - Entertainment: “Could you share the business purpose and tag attendees?” 3. Disable any irrelevant expense categories that aren’t associated with employee spend -4. Configure *auto-categorization*, located just below your category list in the same tab. The section is titled *Default Categories*. Just find the right category, and match it with the presented category groups to allow for MCC (merchant category code) automated category selection with every imported connected card transaction. +4. Configure auto-categorization, located just below your category list in the same tab. The section is titled Default Categories. Find the right category and match it with the presented category groups to allow for MCC (merchant category code) automated category selection with every imported connected card transaction. ## Step 5: Make sure tags are required, or defaults are set -Tags in Expensify often relate to departments, projects/customers, classes, and so on. And in some cases they are *required* to be selected on every transactions. And in others, something like *departments* is a static field, meaning we could set it as an employee default and not enforce the tag selection with each expense. +Tags in Expensify often relate to departments, projects/customers, classes, and so on. And in some cases, they are *required* to be selected on every transaction. In others, something like *departments* is a static field, meaning we could set it as an employee default and not enforce the tag selection with each expense. *Make Tags Required* -In the tags tab in your workspace settings, you’ll notice the option to enable the “Required” field. This makes it so any time an employee doesn’t assign a tag to an expense, we’ll flag a violation on it and notify both the employee and the approver. +In the tags tab in your workspace settings, you’ll notice the option to enable the “Required” field. This means that any time an employee doesn’t assign a tag to an expense, we’ll flag a violation and notify both the employee and the approver. - *Note:* In general, we take prior selection into account, so anytime you select a tag in Expensify, we’ll pre-populate that same field for any subsequent expense. It’s completely interchangeable, and there for convenience. *Set Tags as an Employee Default* -Separately, if your workspace is connected to NetSuite or Sage Intacct, you can set departments, for example, as an employee default. All that means is we’ll apply the department (for example) that’s assigned to the employee record in your accounting package and apply that to every exported transaction, eliminating the need for the employee to have to manually select a department for each expense. +Separately, if your workspace is connected to NetSuite or Sage Intacct, you can set departments, for example, as an employee default. All that means is we’ll apply the department (for example) assigned to the employee record in your accounting package to every exported transaction, eliminating the need for the employee to manually select a department for each expense. ## Step 6: Set rules for all expenses regardless of categorization -In the Expenses tab in your group Control workspace, you’ll notice a *Violations* section designed to enforce top-level compliance controls that apply to every expense, for every employee in your workspace. We recommend the following confiuration: +In the Expenses tab in your group Control workspace, you’ll notice a *Violations* section designed to enforce top-level compliance controls that apply to every expense, for every employee in your workspace. We recommend the following configuration: *Max Expense Age: 90 days (or leave it blank)* -This will enable Expensify to catch employee reimbursement requests that are far too outdated for reimbursement, and present them as a violations. If you’d prefer a different time window, you can edit it accordingly +This will enable Expensify to catch employee reimbursement requests that are far too outdated for reimbursement and present them as a violation. If you’d prefer a different time window, you can edit it accordingly *Max Expense Amount: $2,000 (or leave it blank)* -This is essentially like setting a daily or individual expense limitation on any employee, regardless of whether the transaction is reimbursable or non-reimbursable.This rule will enables Expensify to present larger expenses with a violation to notify both the submitter and approvers. +This is essentially like setting a daily or individual expense limitation on any employee, regardless of whether the transaction is reimbursable or non-reimbursable. This rule will enable Expensify to present larger expenses with a violation to notify both the submitter and approvers. *Receipt Required Amount: $75* -Receipts are important, and in most cases you prefer an itemized receipt. However, Expensify will generate an IRS-compliant electronic receipt (not itemized) for every expense not tied to hotels expense. For this reason, it’s important to enforce a rule where anytime an employee is on the road, and making business-related purchases at hotel (which happens a lot!), they are required to attach a physical receipt. +Receipts are important, and in most cases, you prefer an itemized receipt. However, Expensify will generate an IRS-compliant electronic receipt (not itemized) for every expense not tied to hotel expenses. For this reason, it’s important to enforce a rule that anytime an employee is on the road and making business-related purchases at a hotel (which happens a lot!), they are required to attach a physical receipt. ![Expense Basics](https://help.expensify.com/assets/images/playbook-expense-basics.png){:width="100%"} -At this point, you’ve set enough compliance controls around categorical spend and general expenses for all employees, such that you can put trust in our solution to audit all expenses up front so you don’t have to. Next, let’s dive into how we can comfortably take on more automation, while relying on compliance controls to capture bad behavior (or better yet, instill best practices in our employees). +At this point, you’ve set enough compliance controls around categorical spending and general expenses for all employees that you can trust our solution to audit all expenses upfront so you don’t have to. Next, let’s explore how we can comfortably take on more automation while relying on compliance controls to capture bad behavior (or better yet, instill best practices in our employees). ## Step 7: Set up scheduled submit -For an efficient company, we recommend setting up [Scheduled Submit](https://help.expensify.com/articles/expensify-classic/policy-and-domain-settings/reports/Scheduled-Submit) on a *Daily* frequency: +For an efficient company, we recommend setting up [Scheduled Submit](https://help.expensify.com/articles/expensify-classic/policy-and-domain-settings/reports/Scheduled-Submit) on a *Daily* Frequency: - Click *Settings > Workspace* -- From here, select your group collect workspace +- From here, select a workspace on a Collect Plan - Within your workspace settings, select the *Reports* tab - You’ll notice *Scheduled Submit* is located directly under *Report Basics* - Choose *Daily* -Between Expensify's SmartScan technology, automatic categorization, and [DoubleCheck](https://help.expensify.com/articles/expensify-classic/copilots-and-delegates/Approving-Reports) features, your employees shouldn't need to do anything more than swipe their Expensify Card or take a photo of their receipt. +Between Expensify's SmartScan technology, automatic categorization, and [Receipt Audit](https://help.expensify.com/articles/expensify-classic/workspaces/Expense-Settings#concierge-receipt-audit) features, your employees shouldn't need to do anything more than swipe their Expensify Card or take a photo of their receipt. Expenses with violations will stay behind for the employee to fix, while expenses that are “in-workspace” will move into an approver’s queue to mitigate any potential for delays. Scheduled Submit will ensure all expenses are submitted automatically for approval. @@ -132,7 +132,7 @@ If you’re located in the US, you can utilize Expensify’s payment processing 1. Your bank account credentials 2. A form of ID (a driver’s license or passport) -3. Your business tax ID number, your business’ address and your website URL +3. Your business tax ID number, your business address, and your website URL Let’s walk through the process of linking your business bank account: @@ -143,30 +143,30 @@ Let’s walk through the process of linking your business bank account: 4. Once that’s done, we’ll collect all of the necessary information on your business, such as your legal business name and address 5. We’ll then collect your personal information, and a photo ID to confirm your identity -You only need to do this once: you are fully set up for not only reimbursing expense reports, but granting Expensify Cards, collecting customer invoice payments online (if applicable), as well as paying supplier bills online. +You only need to do this once: you are fully set up for reimbursing expense reports, granting Expensify Cards, collecting customer invoice payments online (if applicable), and paying supplier bills online. ## Step 9: Invite employees and set an approval workflow *Select an Approval Mode* We recommend you select *Advanced Approval* as your Approval Mode to set up a middle-management layer of approval. If you have a single layer of approval, we recommend selecting [Submit & Approve](https://help.expensify.com/articles/expensify-classic/copilots-and-delegates/Approval-Workflows). But if *Advanced Approval* is your jam, keep reading! *Import your employees in bulk via CSV* -Given the amount of employees you have, it’s best you import employees in bulk via CSV. You can learn more about using a CSV file to bulk upload employees with *Advanced Approval [here](https://help.expensify.com/articles/expensify-classic/copilots-and-delegates/Approval-Workflows)* +Given the amount of employees you have, it’s best you import employees in bulk via CSV. You can learn more about using a CSV file to bulk upload employees with *Advanced Approval [here](https://help.expensify.com/articles/expensify-classic/reports/How-Complex-Approval-Workflows-Work)* ![Bulk import your employees](https://help.expensify.com/assets/images/playbook-impoort-employees.png){:width="100%"} *Manually Approve All Reports* In most cases, at this stage, approvers prefer to review all expenses for a few reasons. 1) We want to make sure expense coding is accurate, and 2) We want to make sure there are no bad actors before we export transactions to our accounting system. -In this case we recommend setting *Manually approve all expenses over: $0* +In this case, we recommend setting *Manually approve all expenses over $0* ## Step 10: Configure Auto-Approval -Knowing you have all the control you need to review reports, we recommend configuring auto-approval for *all reports*. Why? Because you’ve already put reports through an entire approval workflow, and manually triggering reimbursement is an unnecessary action at this stage. +Knowing you have all the control you need to review reports, we recommend configuring auto-approval for all reports. You’ve already put reports through an entire approval workflow, and manually triggering reimbursement is an unnecessary action at this stage. 1. Navigate to *Settings > Workspace > Group > [Workspace Name] > Reimbursement* 2. Set your *Manual Reimbursement threshold to $20,000* ## Step 11: Enable Domains and set up your corporate card feed for employees -Expensify is optimized to work with corporate cards from all banks – or even better, use our own perfectly integrated *[Expensify Card](https://use.expensify.com/company-credit-card)*. The first step for connecting to any bank you use for corporate cards, and the Expensify Card is to validate your company’s domain in Domain settings. +Expensify is optimized to work with corporate cards from all banks—or, even better, use our perfectly integrated *[Expensify Card](https://use.expensify.com/company-credit-card)*. The first step for connecting to any bank you use for corporate cards and the Expensify Card is to validate your company’s domain in Domain settings. To do this: @@ -215,7 +215,7 @@ Here’s how to enable it: Once the Expensify Cards have been assigned, each employee will be prompted to enter their mailing address so they can receive their physical card. In the meantime, a virtual card will be ready to use immediately. -If you have an accounting system we directly integrate with, check out how we take automation a step further with [Continuous Reconciliation](https://help.expensify.com/articles/expensify-classic/expensify-card/Auto-Reconciliation). We’ll create an Expensify Card clearing and liability account for you. Each time settlement occurs, we’ll take the total amount of your purchases and create a journal entry that credits the settlement account and debits the liability account - saving you hours of manual reconciliation work at the end of your statement period. +If you have an accounting system we directly integrate with, check out how we take automation a step further with [Continuous Reconciliation](https://help.expensify.com/articles/expensify-classic/expensify-card/Expensify-Card-Reconciliation). We’ll create an Expensify Card clearing and liability account for you. Each time settlement occurs, we’ll take the total amount of your purchases and create a journal entry that credits the settlement account and debits the liability account - saving you hours of manual reconciliation work at the end of your statement period. ## Step 12: Set up Bill Pay and Invoicing As a small business, managing bills and invoices can be a complex and time-consuming task. Whether you receive bills from vendors or need to invoice clients, it's important to have a solution that makes the process simple, efficient, and cost-effective. @@ -223,21 +223,20 @@ As a small business, managing bills and invoices can be a complex and time-consu Here are some of the key benefits of using Expensify for bill payments and invoicing: - Flexible payment options: Expensify allows you to pay your bills via ACH, credit card, or check, so you can choose the option that works best for you (US businesses only). - No Cost Feature: The bill pay and invoicing features come included with every workspace and plan. -- Integration with your business bank account: With your business bank account verified, you can easily link your finances to receive payment from customers when invoices are paid. - -Let’s first chat through how Bill Pay works +Integration with your business bank account: Once your business bank account is verified, you can easily link your finances to receive payment from customers when invoices are paid. +Let’s go over how Bill Pay works: 1. Have your vendors send their invoices to yourdomain.com@expensify.cash. - This email address comes with every account, so no need to activate it anywhere. -2. Once the invoicehas been received, we’ll create a bill to pay for your review directly in Expensify -3. At the top of the bill, you’ll notice a Pay button. Once you click that, you’ll see options including ACH, credit/debit card, along with mailing a physical check. +2. Once the invoices have been received, we’ll create a bill to pay for your review directly in Expensify +3. At the top of the bill, you’ll notice a Pay button. Once you click that, you’ll see options including ACH, credit/debit card, and mailing a physical check. Similarly, you can send bills directly from Expensify as well. 1. From the *Reports* tab, select the down arrow next to *New Report* and select *Bill* 2. Next, enter the Supplier’s email address, the Merchant name, the total amount, and the date 3. At this point, you can also upload an attachment to further validate the bill if necessary -4. Click *Submit*, we’ll forward the newly created bill directly to your Supplier. +4. Click *Submit*, and we’ll forward the newly created bill directly to your Supplier. ![Send bills directly from Expensify](https://help.expensify.com/assets/images/playbook-new-bill.png){:width="100%"} @@ -247,10 +246,10 @@ Reports, invoices, and bills are largely the same, in theory, just with differen 2. Add all of the expenses/transactions tied to the Invoice 3. Enter the recipient’s email address, a memo if needed, and a due date for when it needs to get paid, and click *Send* -You’ll notice it’s a slightly different flow from creating a Bill. Here, you are adding the transactions tied to the Invoice, and establishing a due date for when it needs to get paid. If you need to apply any markups, you can do so from your workspace settings under the Invoices tab. Your customers can pay their invoice in Expensify via ACH, or Check, or Credit Card. +You’ll notice it’s a slightly different flow from creating a Bill. Here, you are adding the transactions tied to the Invoice and establishing a due date for when it needs to be paid. If you need to apply any markups, you can do so from your workspace settings under the Invoices tab. Your customers can pay their invoices in Expensify via ACH, Check, or Credit Card. -## Step 13: Run monthly, quarterly and annual reporting -At this stage, reporting is important and given that Expensify is the primary point of entry for all employee spend, we make reporting visually appealing and wildly customizable. +## Step 13: Run monthly, quarterly, and annual reporting +At this stage, reporting is important, and given that Expensify is the primary point of entry for all employee spending, we make reporting visually appealing and wildly customizable. 1. Head to the *Expenses* tab on the far left of your left-hand navigation 2. Select the pie chart icon on the right top right corner @@ -258,17 +257,16 @@ At this stage, reporting is important and given that Expensify is the primary po We recommend reporting: -- *Monthly* - for spend analysis on your GLs, active projects and department spend +- *Monthly* - for spend analysis on your GLs, active projects, and department spend - *Quarterly* - for budget comparison reporting. Pull up your BI tool and compare your active budgets with your spend reporting here in Expensify -- *Annually* - Run annual spend trend reports with month-over-month spend analysis, and prepare yourself for the upcoming fiscal year. +- *Annually*— Run annual spending trend reports with month-over-month spending analysis to prepare for the upcoming fiscal year. ![Expenses!](https://help.expensify.com/assets/images/playbook-expenses.png){:width="100%"} ## Step 14: Set your Subscription Size and Add a Payment card -Our pricing model is unique in the sense that you are in full control of your billing. Meaning, you have the ability to set a minimum number of employees you know will be active each month and you can choose which level of commitment fits best. We recommend setting your subscription to *Annual* to get an additional 50% off on your monthly Expensify bill. In the end, you've spent enough time getting your company fully set up with Expensify, and you've seen how well it supports you and your employees. Committing annually just makes sense. - -To set your subscription, head to: +Our pricing model is unique in the sense that you are in full control of your billing. This means you have the ability to set a minimum number of employees you know will be active each month, and you can choose which level of commitment fits best. We recommend setting your subscription to *Annual* to get an additional 50% off on your monthly Expensify bill. In the end, you've spent enough time getting your company fully set up with Expensify, and you've seen how well it supports you and your employees. Committing annually just makes sense. +To set up your subscription, head to: 1. Settings > Workspace 2. Select *Group* 3. Scroll down to *Subscription* @@ -276,12 +274,12 @@ To set your subscription, head to: 5. Enter the number of employees you know will be active each month 6. Enable *Auto-Renew* and *Auto-Increase Subscription Size* -Now that we’ve gone through all of the steps for setting up your account, let’s make it official so there are no interruptions in service as your employees begin using Expensify. We handle payments for our service via a paymentcard, and to add one: +Now that we’ve gone through all of the steps for setting up your account, let’s make it official so there are no interruptions in service as your employees begin using Expensify. We handle payments for our service via a payment card, and to add one: 1. Go to *Account > Settings > Payments* 2. Select *Add Payment Card* -3. Enter your name, card number, postal code, expiration and CVV +3. Enter your name, card number, postal code, expiration, and CVV 4. Click *Accept Terms* # You’re all set! -Congrats, you are all set up! If you need any assistance with anything mentioned above or would like to understand other features available in Expensify, reach out to your Setup Specialist directly in *[new.expensify.com](https://new.expensify.com)*. Don’t have one yet? Create a Control Workspace, and we’ll automatically assign a dedicated Setup Specialist to you. +Congrats, you are all set up! If you need any assistance with anything mentioned above or would like to understand other features available in Expensify, reach out to your Setup Specialist directly at *[new.expensify.com](https://new.expensify.com)*. Don’t have one yet? Create a Control Workspace, and we’ll automatically assign a dedicated Setup Specialist to you. diff --git a/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-US-Based-VC-Backed-Startups.md b/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-US-Based-VC-Backed-Startups.md index 0f6df238db5b..144e7328e630 100644 --- a/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-US-Based-VC-Backed-Startups.md +++ b/docs/articles/expensify-classic/getting-started/playbooks/Expensify-Playbook-For-US-Based-VC-Backed-Startups.md @@ -3,11 +3,7 @@ title: Expensify Playbook for US-Based VC-Backed Startups description: Best practices for how to deploy Expensify for your business redirect_from: articles/playbooks/Expensify-Playbook-for-US-based-VC-Backed-Startups/ --- -This playbook details best practices on how Seed to Series A startups with under 100 employees can use Expensify to prioritize top-line revenue growth while managing spend responsibly. - -- See our Playbook for Bootstrapped Businesses if you haven't taken any VC money yet. -- See our Playbook for Small Businesses if you are more concerned with maintaining profitability than growing top-line revenue. [Coming soon…] -- See our Playbook for Midsize Businesses if you are series B or beyond, or have more than 100 employees. [Coming soon…] +This playbook details best practices for Seed to Series A startups with under 100 employees who can use Expensify to prioritize top-line revenue growth while managing spending responsibly. # Who you are As a VC-backed business focused on growth and efficiency, you are looking for a product that puts smart automation in your hands. You prioritize top-line revenue growth over cash conservation, understanding that you’ll need to spend in order to grow. As a result, you want to enable your employees by putting spending power in their hands responsibly so there are appropriate compliance controls in place that scale with the business growth. Not only that, you want to decrease the amount of time you spend at the end of each month reimbursing employees, reconciling spend, and closing your books. @@ -18,19 +14,18 @@ This playbook is built based on best practices we’ve developed after processin ## Step 1: Create your Expensify account If you don't already have one, go to *[new.expensify.com](https://new.expensify.com)* and sign up for an account with your work email address. The account is free so don’t worry about the cost at this stage. -## Step 2: Upgrade to a paid policy -There are three paid policies; Individual, Collect, and Control, but for your needs we recommend the Control Policy for the following reasons: - -- You can cap spend on certain expense types, and set compliance controls so Expensify’s built-in Concierge Audit Tracking can detect violations on your behalf -- As a growing business with VC-funding, the Control plan will scale with you as your team grows and you start to introduce more sophisticated [approval workflows](https://help.expensify.com/articles/expensify-classic/copilots-and-delegates/Approval-Workflows) (see Step 8 below). +## Step 2: Upgrade to a paid workspace +There are three paid workspaces; Individual, Collect, and Control, but for your needs we recommend the Control workspace for the following reasons: -To create your Control Policy: +- You can cap spending on certain expense types, and set compliance controls so Expensify’s built-in Concierge Audit Tracking can detect violations on your behalf +- As a growing business with VC funding, the Control plan will scale with you as your team grows and you start to introduce more sophisticated [approval workflows](https://help.expensify.com/articles/expensify-classic/copilots-and-delegates/Approval-Workflows) (see Step 8 below). -1. Go to *Settings > Policies* -2. Select *Group* and click the button that says *New Policy* +To create a Control workspace: +1. Go to *Settings > Workspaces* +2. Select *Group* and click the button that says *New workspace* 3. Click *Select* under Control -The Control plan also gives you access to a dedicated Setup Specialist. You can find yours by looking at your policy's #admins room at *[new.expensify.com](https://new.expensify.com)*, and chatting with them there. The Control plan is bundled with the Expensify Visa® Commercial Card is $9 per user per month when you commit annually, which is a 75% discount off our standard unbundled price point. The Control plan also gives you access to a dedicated Setup Specialist. You can find yours by looking at your policy's *#admins* room in *[new.expensify.com](https://new.expensify.com)*, and chat with them there. +The Control plan also gives you access to a dedicated Setup Specialist. You can find yours by looking at your workspace's #admins room at *[new.expensify.com](https://new.expensify.com)* and chatting with them there. The Control plan is bundled with the Expensify Visa® Commercial Card is $9 per user per month when you commit annually, which is a 75% discount off our standard unbundled price point. The Control plan also gives you access to a dedicated Setup Specialist. You can find yours by looking at your workspace's *#admins* room in *[new.expensify.com](https://new.expensify.com)*, and chat with them there. ## Step 3: Connect your accounting system As a VC-backed company, your investors will want to see that your books are managed properly. That means making sure that: @@ -38,9 +33,8 @@ As a VC-backed company, your investors will want to see that your books are mana - Every purchase is categorized into the correct account in your chart of accounts - Every expense is accounted for and added to your accounting system -You do this by synchronizing Expensify and your accounting package as follows: - -1. Click *Settings > Policies* +**You do this by synchronizing Expensify and your accounting package as follows:** +1. Click *Settings > Workspaces* 2. Navigate to the *Connections* tab 3. Select your accounting system - If you don’t see your accounting solution in the list of integrations we support, you can review an alternative solution in the Feature Deep Dives section below. @@ -48,16 +42,16 @@ You do this by synchronizing Expensify and your accounting package as follows: - Detailed instructions on connecting your accounting package are linked on the Connections page 5. Once connected, your categories will sync, and you’re ready to set Category Rules -_“Expensify syncs seamlessly with QuickBooks, supports our web-based, paperless workflow, and offers internal controls, so it was the natural choice.”_ +_“Expensify syncs seamlessly with QuickBooks, supports our web-based, paperless workflow, and offers internal controls, so it was a natural choice.”_ _- Laura Redmond, CEO of Redmond Accounting_ ## Step 4: Set up category rules [Category rules](https://community.expensify.com/discussion/4638/how-to-enable-category-specific-rules-and-descriptions) are how you provide employees hints and requirements to make sure purchases stay within reasonable ranges and are documented appropriately for approval. For your company size and stage, we recommend the following: -1. Click *Settings > Policies* +1. Click *Settings > Workspaces* 2. Navigate to the *Categories* tab where you’ll see all the categories you just imported from your accounting package 3. To set a rule for a specific category, click *“Edit Rules”* -4. The Edit Rules section will provide several expense category rules that tie to specific general ledger categories. While the individual rules might change slightly from business to business, and the exact category name will depend on your specific chart of accounts, we recommend these settings for VC backed startups: +4. The Edit Rules section will provide several expense category rules that tie to specific general ledger categories. While the individual rules might change slightly from business to business, and the exact category name will depend on your specific chart of accounts, we recommend these settings for VC-backed startups: - Set a $75 daily limit on meals and entertainment purchases - Though we recommend [Expensify Guaranteed eReceipts](https://community.expensify.com/discussion/5542/deep-dive-what-are-ereceipts) for most purchases, for large purchases or those in categories most often associated with fraud, we recommend scanned receipts for extra protection: - For any purchase over $1000 @@ -66,38 +60,38 @@ _“Expensify syncs seamlessly with QuickBooks, supports our web-based, paperles - For all office supplies - For all software purchases - For all airfare purchases - - Require manual explanations for certain high risk categories: - - For airfare expenses a description of the expense mandatory for the employee to include the purpose of the travel + - Require manual explanations for certain high-risk categories: + - For airfare expenses, a description of the expense is mandatory for the employee to include the purpose of the travel - Require a description for all rideshare and taxi expenses, ensuring employees are listing a purpose for the expense Setting up these category rules allows you to concentrate on growth versus needing to micromanage your employees' spending. + ## Step 5: Set up scheduled submit For an efficiency-focused company, we recommend setting up [Scheduled Submit](https://community.expensify.com/discussion/4476/how-to-enable-scheduled-submit-for-a-group-policy) on a Daily frequency: -1. Click *Settings > Policies* -2. From here, select your group Control policy -3. Within your policy settings, select the *Reports* tab +1. Click *Settings > Workspaces* +2. From here, select your group Control workspace +3. Within your workspace settings, select the *Reports* tab 4. You’ll notice *Scheduled Submit* is located directly under *Report Basics* 5. Choose *Daily* -Between Expensify's SmartScan technology, direct corporate card feed import, automatic categorization, and [DoubleCheck](https://community.expensify.com/discussion/5738/deep-dive-how-does-concierge-receipt-audit-work) features, your employees shouldn't need to do anything more than swipe their Expensify Visa® Commercial Card or scan their receipt. +Between Expensify's SmartScan technology, direct corporate card feed import, automatic categorization, and [Receipt Audit](https://community.expensify.com/discussion/5738/deep-dive-how-does-concierge-receipt-audit-work) features, your employees shouldn't need to do anything more than swipe their Expensify Visa® Commercial Card or scan their receipt. -Scheduled Submit will ensure all expenses are submitted automatically. Any expenses that do not fall within the rules you’ve set up for your policy will be escalated to you for manual review. +Scheduled Submit will ensure all expenses are submitted automatically. Any expenses that do not fall within the rules you’ve set up for your workspace will be escalated to you for manual review. _“Our employees just SmartScan a receipt as soon as they receive it, and regardless of what currency it's in, we process the expense and issue reimbursement automatically.”_ _- Amina Mobasher, Accountant at Ideo.org_ -## Step 6: Connect your business bank account +## Step 6: Connect a business bank account If you’re located in the US, you can utilize Expensify’s payment processing and reimbursement features. *Note:* Before you begin, you’ll need the following to validate your business bank account: - Your bank account credentials - A form of ID (a driver’s license or passport) -- Your business tax ID number, your business’ address and your website URL - -Let’s walk through the process of linking your business bank account: +- Your business tax ID number, your business address, and your website URL +**Let’s walk through the process of linking your business bank account:** 1. Go to *Settings > Account*, and select the *Payments* tab 2. Select *Add Verified Bank Account* 3. From here, we’ll ask you to use your online banking credentials to connect to your bank @@ -105,30 +99,30 @@ Let’s walk through the process of linking your business bank account: 4. Once that’s done, we’ll collect all of the necessary information on your business, such as your legal business name and address 5. We’ll then collect your personal information, and a photo ID to confirm your identity -You only need to do this once. You are fully set up for not only reimbursing expense reports, but issuing Expensify Cards, collecting invoice payments online, as well as paying bills online. +You only need to do this once. You are fully set up to reimburse expense reports, issue Expensify Cards, collect invoice payments online, and pay bills online. ## Step 7: Invite employees -Next, you’ll want to invite your employees to the company policy you created. You can invite employees under *Settings > Policies > Policy Name > People*. From there, you can add employees one of three ways: +Next, you’ll want to invite your employees to the company workspace you created. You can invite employees under *Settings > Workspaces > Workspace Name > member*. From there, you can add employees one of three ways: -- [Unique Policy Link](https://community.expensify.com/discussion/4643/how-to-invite-people-to-your-policy-using-a-join-link) - Each policy has a unique policy invite link, which is located at the top of the People tab in your policy settings. Simply share that link with anyone you’d like to add to your policy. -- [Manually](https://community.expensify.com/discussion/4975/how-to-invite-users-to-your-policy-manually-or-in-bulk/p1?new=1) - Enter employee email addresses manually by clicking the green Invite button in the People tab of your policy -- [Google SSO](https://community.expensify.com/discussion/4774/how-to-enable-google-apps-sso-with-your-expensify-group-policy) - Or, if you have a Google Workspace configured, you can synchronize your policy's people list to match your Google Workspace employee list. +- [Unique Workspace Link](https://community.expensify.com/discussion/4643/how-to-invite-people-to-your-policy-using-a-join-link) - Each workspace has a unique workspace invite link, which is located at the top of the member tab in your workspace settings. Simply share that link with anyone you’d like to add to your workspace. +- [Manually](https://help.expensify.com/articles/expensify-classic/workspaces/Invite-members-and-assign-roles#invite-with-a-link) - Enter employee email addresses manually by clicking the green Invite button in the member tab of your workspace +- [Google SSO](https://community.expensify.com/discussion/4774/how-to-enable-google-apps-sso-with-your-expensify-group-policy) - Or, if you have a Google Workspace configured, you can synchronize your workspace's member list to match your Google Workspace employee list. -In the next section, we’ll go through how to configure approval routing but it’s important to remember that you’ll always have these 3 options to utilize, specifically the unique policy link and manual invites as your team continues to grow. +In the next section, we’ll go through how to configure approval routing, but it’s important to remember that you’ll always have these 3 options to utilize, specifically the unique workspace link and manual invites, as your team continues to grow. ## Step 8: Set up an approval workflow Now, let’s set up some approval rules for your business as well as the ideal approval workflow that employee reports will follow after report submission: -1. Go to *Settings > Policies*, and select the *People* tab. -2. From there, select [Submit & Approve](https://community.expensify.com/discussion/5643/deep-dive-submit-and-approve) - this will automatically add you as the approver, which ensures that any expenses that fall outside of the rules you set for your policy are brought to your attention. +1. Go to *Settings > Workspaces*, and select the *Members* tab. +2. From there, select [Submit & Approve](https://community.expensify.com/discussion/5643/deep-dive-submit-and-approve). This will automatically add you as the approver, which ensures that any expenses that fall outside of the rules you set for your workspace are brought to your attention. - *Note*: If you are over 50 employees, please ask your Guide about the benefits of setting up an Advanced Approval workflow. 3. Next, enable manual approval for *expenses over $1000*. - *Note*: We do not recommend configuring random report auditing for companies of your stage and scale. 4. Next, enable *Workflow Enforcement*. - This ensures that employees are required to submit to you and not to someone else. -5. Disable *Prevent Self-Approval*. This is a more powerful feature recommended for companies with advanced compliance requirements, but generally isn't recommended for a company of your scale. +5. Disable *Prevent Self-Approval*: This is a more powerful feature recommended for companies with advanced compliance requirements, but it is generally not recommended for a company of your scale. -Thanks to our [Concierge Receipt audit technology](https://community.expensify.com/discussion/5738/deep-dive-how-does-concierge-receipt-audit-work), once you set up an approval workflow, most expenses will be audited automatically and won’t require manual review. Your time is valuable, so you should focus it on reviewing only the expenses that fall outside of your policy’s rules. +Thanks to our [Concierge Receipt audit technology](https://community.expensify.com/discussion/5738/deep-dive-how-does-concierge-receipt-audit-work), once you set up an approval workflow, most expenses will be audited automatically and won’t require manual review. Your time is valuable, so you should focus on reviewing only the expenses that fall outside of your workspace’s rules. ## Step 9: Set up your corporate card and assign cards to employees Expensify is optimized to work with corporate cards from all banks – or even better, use our own perfectly integrated Expensify Card. @@ -163,8 +157,7 @@ Expensify provides a corporate card with the following features: The Expensify Card is recommended as the most efficient way to manage your company's spending. -Here’s how to enable it: - +**Here’s how to enable it:** 1. There are *two ways* you can [apply for the Expensify Card](https://community.expensify.com/discussion/4874/how-to-apply-for-the-expensify-card) - *Via your Inbox* - *Via Domain Settings* - Go to Settings > Domain > Company Cards > Enable Expensify Card @@ -176,43 +169,40 @@ Here’s how to enable it: Once the Expensify Cards have been assigned, each employee will be prompted to enter their mailing address so they can receive their physical card. In the meantime, a virtual card will be ready to use immediately. -If you have an accounting system we directly integrate with, check out how we take automation a step further with [Auto-Reconciliation](https://community.expensify.com/discussion/7335/faq-what-is-the-expensify-card-auto-reconciliation-process). We’ll create an Expensify Card clearing and liability account for you. Each time settlement occurs, we’ll take the total amount of your purchases and create a journal entry that credits the settlement account and debits the liability account - saving you hours of manual reconciliation work at the end of your statement period. +If you have an accounting system we directly integrate with, check out how we take automation a step further with [Auto-Reconciliation](https://help.expensify.com/articles/expensify-classic/expensify-card/Expensify-Card-Reconciliation). We’ll create an Expensify Card clearing and liability account for you. Each time settlement occurs, we’ll take the total amount of your purchases and create a journal entry that credits the settlement account and debits the liability account - saving you hours of manual reconciliation work at the end of your statement period. _“Moving from our other bank and getting Expensify cards into the hands of employees was super easy. I also love how simple it is to adjust credit limits and the auto reconciliation with the daily settlement.”_ _- Robin Gresham, Senior Accounting Systems Manager at SunCommon_ ## Step 10: Set up Bill Pay and Invoicing -As a VC-backed startup, you might have vendors you work with that send you bills. And in most cases, you probably use some third party to pay those bills if you aren’t cutting checks the old fashioned way. Similarly, you probably have clients you invoice from time to time. As an all-in-one solution, we’re here to make bill payments and invoicing easy, and every policy and workspace comes with bill pay and invoicing - at no additional cost. Since you have your business bank account verified, you can either pay your bills via ACH. Alternatively, you can pay via credit card or by check. - -Let’s first chat through how Bill Pay works +As a VC-backed startup, you might have vendors you work with that send you bills. And in most cases, you probably use some third party to pay those bills if you aren’t cutting checks the old fashioned way. Similarly, you probably have clients you invoice from time to time. As an all-in-one solution, we’re here to make bill payments and invoicing easy, and every workspace and workspace comes with bill pay and invoicing - at no additional cost. Since you have your business bank account verified, you can either pay your bills via ACH. Alternatively, you can pay via credit card or by check. +**Let’s go over how Bill Pay works:** 1. Have your vendors submit bills to domain.com@expensify.cash. - This email address comes with every account, so no need to activate it anywhere. 2. Once the bill has been received, we’ll create the bill for your review directly in Expensify -3. At the top of the bill/invoice, you’ll notice a Pay button. Once you click that, you’ll see options including ACH, credit/debit card, along with mailing a physical check. - -Similarly, you can send bills directly from Expensify as well. +3. At the top of the bill/invoice, you’ll notice a Pay button. Once you click that, you’ll see options including ACH, credit/debit card, and mailing a physical check. +**Similarly, you can send bills directly from Expensify:** 1. From the *Reports* tab, select the down arrow next to *New Report* and select *Bill* -2. Next, enter in the Supplier’s email address, the Merchant name, total amount and date -3. At this point, you can also enter in an attachment to further validate the bill if necessary -4. Click *Submit*, we’ll forward the newly created bill directly to your Supplier. - -Reports, invoices and bills - they are largely the same in theory, just with different rules. As such, creating an invoice is just like creating an expense report and even a Bill. +2. Next, enter the Supplier’s email address, the Merchant name, the total amount, and the date +3. At this point, you can also enter an attachment to further validate the bill if necessary +4. Click *Submit*, and we’ll forward the newly created bill directly to your Supplier. +**Reports, invoices, and bills are largely the same in theory, just with different rules. As such, creating an invoice is just like creating an expense report or even a Bill:** 1. From the *Reports* tab, select the down arrow next to *New Report* and select *Invoice*. 2. Add all of the expenses/transactions tied to the Invoice 3. Enter the recipient’s email address, a memo if needed, and a due date for when it needs to get paid, and click *Send* -You’ll notice it’s a slightly different flow from creating a Bill. Here, you are adding the transactions tied to the Invoice, and establishing a due date for when it needs to get paid. If you need to apply any markups, you can do so from your policy settings under the Invoices tab. +You’ll notice it’s a slightly different flow from creating a Bill. Here, you are adding the transactions tied to the Invoice, and establishing a due date for when it needs to get paid. If you need to apply any markups, you can do so from your workspace settings under the Invoices tab. ## Step 11: Add a billing card Now that we’ve gone through all of the steps for setting up your account, let’s make it official so there are no interruptions in service as your employees begin using Expensify. We handle billing via a billing card, and to add one: 1. Go to *Account > Settings > Payments* 2. Select *Add Payment Card* -3. Enter your name, card number, postal code, expiration and CVV +3. Enter your name, card number, postal code, expiration, and CVV 4. Click *Accept Terms* # You’re all set! -Congrats, you are all set up! If you need any assistance with anything mentioned above, reach out to either your Setup Specialist or your Account Manager directly in *[new.expensify.com](https://new.expensify.com)*. Don’t have one yet? Create a Control Policy, and we’ll automatically assign a dedicated Setup Specialist to you. +Congrats, you are all set up! If you need any assistance with anything mentioned above, reach out to either your Setup Specialist or your Account Manager directly in *[new. Expensify.com](https://new.expensify.com)*. Don’t have one yet? Create a Control workspace, and we’ll automatically assign you a dedicated Setup Specialist. diff --git a/docs/articles/expensify-classic/spending-insights/Insights.md b/docs/articles/expensify-classic/spending-insights/Insights.md index c5ee218352fd..edd9c2207466 100644 --- a/docs/articles/expensify-classic/spending-insights/Insights.md +++ b/docs/articles/expensify-classic/spending-insights/Insights.md @@ -1,12 +1,11 @@ --- title: Custom Reporting and Insights -description: How to get the most out of the Custom Reporing and Insights +description: How to get the most out of the Custom Reporting and Insights redirect_from: articles/other/Insights/ --- -# Overview -The Insights dashboard allows you to monitor all aspects of company spending across categories, employees, projects, departments, and more. You can see trends in real-time, forecast company budgets, and build unlimited custom reports with help from our trained specialist team. +The Insights dashboard allows you to monitor all aspects of company spending across categories, employees, projects, departments, and more. You can see trends in real time, forecast company budgets, and build unlimited custom reports with help from our trained specialist team. ![Insights Pie Chart](https://help.expensify.com/assets/images/insights-chart.png){:width="100%"} ## Review your Insights data @@ -15,7 +14,7 @@ The Insights dashboard allows you to monitor all aspects of company spending acr 2. Select a specific date range (the default view has the current month pre-selected) 3. Use the filter options to select the categories, tags, employees, or any other parameter 4. Make sure that View in the top right corner is set to the pie chart icon -5. You can view any dataset in more detail by clicking in the “View Raw Data” column +5. You can view any dataset in more detail by clicking in the **View Raw Data** column ## Export your Insights data @@ -26,46 +25,47 @@ The Insights dashboard allows you to monitor all aspects of company spending acr ## Create a Custom Export Report for your Expenses 1. Navigate to **Settings > Account > Preferences > scroll down to CSV Export Formats** -2. Build up a report using these [formulas]((https://help.expensify.com/articles/expensify-classic/spending-insights/Custom-Templates)) +2. Build up a report using these [expense-level formulas](https://help.expensify.com/articles/expensify-classic/spending-insights/Custom-Templates#expense-level) 3. Click the **Custom Export** button on the Insights page and your Account Manager will help get you started on building up your report ## Create a Custom Export Report for your Workspace 1. Navigate to **Settings > Workspaces > Group > [Workspace Name] > Export Formats** -2. Build up a report using these [formulas](https://help.expensify.com/articles/expensify-classic/spending-insights/Custom-Templates) -3. If you need any help, click the **Support** button on the top left to contact your Account Manager +2. Build up a report using these [report-level formulas](https://help.expensify.com/articles/expensify-classic/spending-insights/Custom-Templates#report-level) +3. If you need any help, click the **Support** button on the top left to contact Concierge or your Account Manager {% include faq-begin.md %} -#### Can I share my custom export report? +## Can I share my custom export report? If you would like to create a custom export report that can be shared with other workspace admins, you can do so by navigating to the **[Settings > Workspaces > Group > [Workspace Name] > Export Formats** page. Custom export reports created under the **Settings > Account > Preferences** page are only available to the member who created them. -#### Can I put expenses from different workspaces on the same report? +## Can I put expenses from different workspaces on the same report? -Custom export reports created under the Settings > Account > Preferences page can export expenses from multiple workspaces, and custom export formats created under Settings > Workspaces> Group > [Workspace Name] > Export Formats are for expenses reported under that workspace only. +Custom export reports created under the **Settings > Account > Preferences** page can export expenses from multiple workspaces. -#### Are there any default export reports available? +Custom export formats created under **Settings > Workspaces> Group > [Workspace Name] > Export Formats** are for expenses reported under that workspace only. + +## Are there any default export reports available? Yes! We have [seven default reports](https://help.expensify.com/articles/expensify-classic/spending-insights/Default-Export-Templates) available to export directly from the Reports page: -- **All Data** - Expense Level Export** - the name says it all! This is for the people who want ALL the details from their expense reports. We're talking Tax, Merchant Category Codes, Approvers - you name it, this report's got it! -- **All Data** - Report Level Export - this is the report for those who don't need to see each individual expense but want to see a line-by-line breakdown at a report level - submitter, total amount, report ID - that kind of stuff -- **Basic Export** - this is the best way to get a simple breakdown of all your expenses - just the basics -- **Canadian Multiple Tax Export** - tax, GST, PST...if you need to know tax then this is the export you want! -- **Category Export** - want to see a breakdown of your expenses by Category? This is the export you -- **Per Diem Export** - the name says it all -- **Tag Export** - much like the Category Export, but for Tags +- **All Data — Expense Level Export**: Use this to view all of the details from their expense reports (tax, merchant category codes, approvals, etc.) +- **All Data—Report Level Export**: This report is great if you don't need to see each individual expense but want to see a line-by-line breakdown at a report level (submitter, total amount, report ID, etc.) +- **Basic Export**: The best way to get a simple breakdown of all your expenses +- **Canadian Multiple Tax Export**: To gain a better understanding of the various Canadian taxes tied to expenses (GST, PST, etc.) +- **Category Export**: Use this to see a breakdown of your expenses by Category +- **Per Diem Export**: Use to export your Per Diem details +- **Tag Export**: Similar to the Category Export, but for Tags *These reports will be emailed directly to your email address rather than automatically downloaded.* -#### How many expenses can I export in one report? +## How many expenses can I export in one report? The custom export reports are best for small-to-medium chunks of data. If you want to export large amounts of data, we recommend you use a [default export report](https://help.expensify.com/articles/expensify-classic/spending-insights/Default-Export-Templates) that you can run from the Reports page. -#### What other kinds of export reports can my Account Manager help me create? +## What other kinds of export reports can my Account Manager help me create? We’ve built a huge variety of custom reports for customers, so make sure to reach out to your Account Manager for more details. Some examples of custom reports we’ve built for customers before are: - - Accrual Report - Aged Approval Reports - Attendee Reporting diff --git a/docs/articles/expensify-classic/workspaces/Create-tags.md b/docs/articles/expensify-classic/workspaces/Create-tags.md index ad3f51bc8c58..0743b53ff5fa 100644 --- a/docs/articles/expensify-classic/workspaces/Create-tags.md +++ b/docs/articles/expensify-classic/workspaces/Create-tags.md @@ -1,23 +1,20 @@ --- -title: Create tags +title: Create Tags description: Code expenses by creating tags ---
You can tag expenses for a specific department, project, location, cost center, customer, etc. You can also use different tags for each workspace to create customized coding for different employees. -You can use single tags or multi-level tags: -- **Single Tags**: Employees click one dropdown to select one tag. Single tags are helpful if employees need to select only one tag from a list, for example their department. -- **Multi-level Tags**: Employees click multiple dropdowns to select more than one tag. You can also create dependent tags that only appear if another tag has already been selected. Multi-tags are helpful if you have multiple tags, for example projects, locations, cost centers, etc., for employees to select, or if you have dependent tags. For example, if an employee selects a specific department, another tag can appear where they have to select their project. +**There are two options for tag configuration in Expensify:** +- **Single Tags**: Employees click one dropdown to select one tag. Single tags are helpful if employees need to select only one tag from a list, for example, their department. +- **Multi-level Tags**: Employees click multiple dropdowns to select more than one tag. You can also create dependent tags that only appear if another tag has already been selected. Multi-tags are helpful if you have multiple tags, for example, projects, locations, cost centers, etc., for employees to select or if you have dependent tags. For example, if an employee selects a specific department, another tag can appear where they have to select their project. -To add your tags, you can either import them for an accounting system or spreadsheet, or add them manually. +# Individual Tags -# Single tags - -## Import a spreadsheet - -You can add a list of single tags by importing them in a .csv, .txt, .xls, or .xlsx spreadsheet. +## Import via spreadsheet +You can add a list of single tags by importing them via .csv, .txt, .xls, or .xlsx spreadsheet: 1. Hover over Settings, then click **Workspaces**. 2. Click the **Group** tab on the left. 3. Click the desired workspace name. @@ -30,31 +27,35 @@ Each time you upload a list of tags, it will override your previous list. To avo {% include end-info.html %} ## Manually add individual tags - +You can also add single tags by adding them manually: 1. Hover over Settings, then click **Workspaces**. 2. Click the **Group** tab on the left. 3. Click the desired workspace name. 4. Click the **Tags** tab on the left. 5. Enter a tag name into the field and click **Add**. -# Multi-level tags +# Multi-level Tags + +## Automatic import via accounting integration + +When you first connect your accounting integration (for example, QuickBooks Online, QuickBooks Desktop, Sage Intacct, Xero, or NetSuite), you’ll configure classes, customers, projects, department locations, etc., that automatically import into Expensify as tags. -## Automatic import with accounting integration +To update your tags in Expensify, you must first update the tag in your accounting system: +1. Hover over Settings, then click **Workspaces**. +2. Click the **Group** tab on the left. +3. Click the desired workspace name. +4. Click the **Connections** tab on the left. +5. Click **Sync Now**. -When you first connect your accounting integration (for example, QuickBooks Online, QuickBooks Desktop, Sage Intacct, Xero, or NetSuite), you’ll configure classes, customers, projects, departments locations, etc. that automatically import into Expensify as tags. +Once the tags are updated in your accounting integration, the changes will automatically reflect in Expensify after the connection sync is run. -1. To update your tags in Expensify, you must first update the tag in your accounting system. Then in Expensify, -2. Hover over Settings, then click **Workspaces**. -3. Click the **Group** tab on the left. -4. Click the desired workspace name. -5. Click the **Connections** tab on the left. -6. Click **Sync Now**. +## Import via spreadsheet -## Import a spreadsheet +You can add mutli-level tags by importing them in a .csv, .txt, .xls, or .xlsx spreadsheet. -You can add a list of single tags by importing them in a .csv, .txt, .xls, or .xlsx spreadsheet. +First, determine whether you will use independent (a separate tag for department and project) or dependent tags (the project tags populate different options based on the department selected) and whether you will capture general ledger (GL) codes. -1. Determine whether you will use independent (a separate tag for department and project) or dependent tags (the project tags populate different options based on the department selected), and whether you will capture general ledge (GL) codes. Then use one of the following templates to build your tags list: +Then use one of the following templates to build your tags list: - [Dependent tags with GL codes]({{site.url}}/assets/Files/Dependent+with+GL+codes+format.csv) - [Dependent tags without GL codes]({{site.url}}/assets/Files/Dependent+without+GL+codes+format.csv) - [Independent tags with GL codes]({{site.url}}/assets/Files/Independent+with+GL+codes+format.csv) @@ -64,21 +65,22 @@ You can add a list of single tags by importing them in a .csv, .txt, .xls, or .x If you have more than 50,000 tags, divide them into two separate files. {% include end-info.html %} -2. Hover over Settings, then click **Workspaces**. -3. Click the **Group** tab on the left. -4. Click the desired workspace name. -5. Click the **Tags** tab on the left. -6. Enable the “Use multiple levels of tags” option. -7. Click **Import from Spreadsheet**. -8. Select the applicable checkboxes and click **Upload Tags**. +To import multi-level tags: +1. Hover over Settings, then click **Workspaces**. +2. Click the **Group** tab on the left. +3. Click the desired workspace name. +4. Click the **Tags** tab on the left. +5. Enable the “Use multiple levels of tags” option. +6. Click **Import from Spreadsheet**. +7. Select the applicable checkboxes and click **Upload Tags**. {% include info.html %} Each time you upload a list of tags, it will override your previous list. To avoid losing tags, update your current spreadsheet and re-import it into Expensify. {% include end-info.html %} -# FAQs +# FAQ -**Why can’t I see a "Do you want to use multiple level tags" option on my workspace.** +## Why can’t I see a multi-level tags option on my workspace? If you are connected to an accounting integration, you will not see this feature. You will need to add those tags in your integration first, then sync the connection. diff --git a/docs/articles/new-expensify/connections/sage-intacct/Connect-to-Sage-Intacct.md b/docs/articles/new-expensify/connections/sage-intacct/Connect-to-Sage-Intacct.md index 8e69a03fb666..c577c17e8463 100644 --- a/docs/articles/new-expensify/connections/sage-intacct/Connect-to-Sage-Intacct.md +++ b/docs/articles/new-expensify/connections/sage-intacct/Connect-to-Sage-Intacct.md @@ -4,37 +4,37 @@ description: Integrate Sage Intacct with Expensify order: 1 --- -# Connect to Sage Intacct +The Sage Intacct integration allows for automated syncing and reduces manual entries. The integration allows you to import your standard dimensions (like department, class, location, customer, and project/job) as well as user-defined dimensions for selection in Expensify. -Enjoy automated syncing and reduce manual entries with the Expensify and Sage Intacct integration. Gain in-depth, real-time financial insights with user-defined dimensions, as well as expense coding by department, class, location, customer, and project (job). +The features available for the Expensify connection with Sage Intacct vary based on your Sage Intacct subscription. The features may still be visible in Expensify even if you don't have access, but you will receive an error if the feature isn't available with your subscription. {% include info.html %} The Sage Intacct integration is only available on the Control plan. {% include end-info.html %} -## Overview +# Overview -Expensify’s integration with Sage Intacct allows you to connect using either role-based permissions or user-based permissions and exporting either expense reports or vendor bills. +Expensify’s integration with Sage Intacct allows you to connect using either role-based permissions or user-based permissions and to export either expense reports or vendor bills. -Checklist of items to complete: +**Checklist of items to complete:** 1. Create a web services user and configure permissions -1. Enable the T&E module (only required if exporting out-of-pocket expenses as Expense Reports) -1. Set up Employees in Sage Intacct (only required if exporting expenses as Expense Reports) -1. Set up Expense Types (only required if exporting expenses as Expense Reports) -1. Enable Customization Services -1. Download the Expensify Package -1. Upload the Expensify Package in Sage Intacct -1. Add web services authorization -1. Enter credentials and connect Expensify and Sage Intacct -1. Configure integration sync options - -## Step 1a: Create a web services user (Connecting with User-based permissions) -Note: If the steps in this section look different in your Sage Intacct instance, you likely use role-based permissions. If that’s the case, follow the steps [here]. +2. Enable the T&E module (only required if exporting out-of-pocket expenses as Expense Reports) +3. Set up Employees in Sage Intacct (only required if exporting expenses as Expense Reports) +4. Set up Expense Types (only required if exporting expenses as Expense Reports) +5. Enable Customization Services +6. Download the Expensify Package +7. Upload the Expensify Package in Sage Intacct +8. Add web services authorization +9. Enter credentials and connect Expensify and Sage Intacct +10. Configure integration sync options + +# Step 1a: Create a web services user (Connecting with User-based permissions) +Note: If the steps in this section look different from your Sage Intacct instance, you likely use role-based permissions. If that’s the case, start with [Step 1b](#step-1b-create-a-web-services-user-connecting-with-role-based-permissions). To connect to Sage Intacct, you’ll need to create a special web services user (please note that Sage Intacct does not charge extra for web services users). -1. Go to **Company > Web Services Users > New**. +1. Go to **Company > Web Services Users > New** 2. Configure the user as outlined below: - **User ID**: “xmlgateway_expensify” - **Last Name and First Name:** “Expensify” @@ -59,15 +59,15 @@ These are the permissions required for this integration when exporting out-of-po - **Projects (Read-only)** - Only required if using Projects or Customers - **Accounts Payable (All)** - Only required if exporting any expenses expenses as vendor bills -## Step 1b: Create a web services user (Connecting with Role-based permissions) -Note: If the steps in this section look different in your Sage Intacct instance, you likely use role-based permissions. If that’s the case, follow the steps [here]. +# Step 1b: Create a web services user (Connecting with Role-based permissions) +Note: If the steps in this section look different in your Sage Intacct instance, you likely use role-based permissions. If that’s the case, start with [Step 1a](#step-1a-create-a-web-services-user-connecting-with-user-based-permissions). **First, you'll need to create the new role:** 1. In Sage Intacct, click **Company**, then click on the **+ button** next to Roles -1. Name the role "Expensify", then click **Save** -1. Go to **Roles > Subscriptions** and find the “Expensify” role you just created -1. Configure correct permissions for this role by clicking the checkbox and then clicking on the Permissions hyperlink. These are the permissions required for this integration when exporting out-of-pocket expenses as vendor bills: +2. Name the role "Expensify", then click **Save** +3. Go to **Roles > Subscriptions** and find the “Expensify” role you just created +4. Configure correct permissions for this role by clicking the checkbox and then clicking on the Permissions hyperlink. These are the permissions required for this integration when exporting out-of-pocket expenses as vendor bills: - **Administration (All)** - **Company (Read-only)** - **Cash Management (All)** @@ -89,7 +89,7 @@ Note: If the steps in this section look different in your Sage Intacct instance, 3. Assign the role to that user: click the **+ button**, then select the “Expensify” role and click **Save** -## Step 2: Enable and configure the Time & Expenses Module +# Step 2: Enable and configure the Time & Expenses Module **Note: This step is only required if exporting out-of-pocket expenses from Expensify to Sage Intacct as Expense Reports.** Enabling the T&E module is a paid subscription through Sage Intacct and the T&E module is often included in your Sage Intacct instance. For information on the costs of enabling this module, please contact your Sage Intacct account manager. @@ -118,7 +118,7 @@ In Sage Intacct, go to **Company menu > Subscriptions > Time & Expenses** and to 6. Click **Save** to confirm your configuration -## Step 3: Set up Employees in Sage Intacct +# Step 3: Set up Employees in Sage Intacct **Note: This step is only required if exporting out-of-pocket expenses from Expensify to Sage Intacct as Expense Reports.** To set up employees in Sage Intacct: @@ -135,7 +135,7 @@ To set up employees in Sage Intacct: 1. Fill in their Primary Email Address along with any other required information -## Step 4: Set up Expense Types in Sage Intacct +# Step 4: Set up Expense Types in Sage Intacct **Note: This step is only required if exporting out-of-pocket expenses from Expensify to Sage Intacct as Expense Reports.** Expense Types provide a user-friendly way to display the names of your expense accounts to your employees. To set up expense types in Sage Intacct: @@ -150,20 +150,20 @@ Expense Types provide a user-friendly way to display the names of your expense a - **Description** - **Account Number** (from your General Ledger) -## Step 5: Enable Customization Services +# Step 5: Enable Customization Services **Note:** If you already have Platform Services enabled, you can skip this step. To enable Customization Services, go to **Company > Subscriptions > Customization Services**. -## Step 6: Download the Expensify Package +# Step 6: Download the Expensify Package 1. In Expensify, go to Settings > Workspaces 1. Click into the workspace where you'd like to connect to Sage Intacct - If you already use Expensify, you can optionally create a test workspace by clicking **New Workspace** at the top-right of the Workspaces page. A test workspace allows you to have a sandbox environment for testing before implementing the integration live. 1. Go to **Connections > Sage Intacct > Connect to Sage Intacct** 1. Select **Download Package** (You only need to download the file; we’ll upload it from your Downloads folder later) -## Step 7: Upload Package in Sage Intacct +# Step 7: Upload Package in Sage Intacct If you use Customization Services: 1. Go to **Customization Services > Custom Packages > New Package** @@ -177,20 +177,20 @@ If you use Platform Services: 1. Click **Import** -## Step 8: Add Web Services Authorization +# Step 8: Add Web Services Authorization 1. Go to **Company > Company Info > Security** in Sage Intacct and click **Edit** 2. Scroll down to **Web Services Authorizations** and add “expensify” (all lower case) as a Sender ID -## Step 9: Enter Credentials and Connect Expensify and Sage Intacct +# Step 9: Enter Credentials and Connect Expensify and Sage Intacct 1. In Expensify, go to **Settings > Workspaces > [Workspace Name] > Accounting** 1. Click **Set up** next to Sage Intacct 1. Enter the credentials you set for your web services user in Step 1 1. Click **Confirm** -## FAQ +# FAQ -### Why wasn't my report automatically exported to Sage Intacct? +## Why wasn't my report automatically exported to Sage Intacct? There are a number of factors that can cause auto-export to fail. If this happens, you will find the specific export error in the report comments for the report that failed to export. Once you’ve resolved any errors, you can manually export the report to Sage Intacct. -### Can I export negative expenses to Sage Intacct? +## Can I export negative expenses to Sage Intacct? Yes, you can export negative expenses to Sage Intacct. If you are exporting out-of-pocket expenses as expense reports, then the total of each exported report cannot be negative. diff --git a/docs/articles/new-expensify/expenses-&-payments/Track-expenses.md b/docs/articles/new-expensify/expenses-&-payments/Track-expenses.md index f4eeea09ecec..f6260b9f8f84 100644 --- a/docs/articles/new-expensify/expenses-&-payments/Track-expenses.md +++ b/docs/articles/new-expensify/expenses-&-payments/Track-expenses.md @@ -13,7 +13,7 @@ Create, store, or share non-reimbursable expenses with the Track Expenses featur 2. Create the expense manually, scan the receipt, or add a distance expense. {% include info.html %} -For an in-depth walkthrough on how to create an expense, check out the create an expense article. +For an in-depth walkthrough on how to create an expense, check out the [create an expense](https://help.expensify.com/articles/new-expensify/expenses-&-payments/Create-an-expense) article. {% include end-info.html %} 3. Choose the next steps for the expense: @@ -28,7 +28,7 @@ For an in-depth walkthrough on how to create an expense, check out the create an expense article. +For an in-depth walkthrough on how to create an expense, check out the [create an expense](https://help.expensify.com/articles/new-expensify/expenses-&-payments/Create-an-expense) article. {% include end-info.html %} 3. Choose the next steps for the expense: diff --git a/docs/articles/new-expensify/expensify-card/Manage-Expensify-Cards.md b/docs/articles/new-expensify/expensify-card/Manage-Expensify-Cards.md index d7a1b75e128d..47962f81a5a7 100644 --- a/docs/articles/new-expensify/expensify-card/Manage-Expensify-Cards.md +++ b/docs/articles/new-expensify/expensify-card/Manage-Expensify-Cards.md @@ -4,6 +4,10 @@ description: How to manage the Expensify Card ---
+{% include info.html %} +You must be a Workspace Admin to manage this feature. +{% include end-info.html %} + Once your Expensify Cards have been issued, you can monitor them and check your card’s current balance, remaining limit, and earned cash back. 1. Click your profile image or icon in the bottom left menu. diff --git a/docs/articles/new-expensify/expensify-card/Set-up-the-Expensify-Card.md b/docs/articles/new-expensify/expensify-card/Set-up-the-Expensify-Card.md index ad4982cee4b3..d52c475aa488 100644 --- a/docs/articles/new-expensify/expensify-card/Set-up-the-Expensify-Card.md +++ b/docs/articles/new-expensify/expensify-card/Set-up-the-Expensify-Card.md @@ -34,7 +34,7 @@ Before you can issue your Expensify Cards, you must connect your cards with the 1. Click **Expensify Card** in the left menu. 2. Click **Issue new card**. -3. Select an existing bank account from the list, or follow the steps to add a new one. +3. Select an existing bank account from the list, or follow [the steps to add a new one](https://help.expensify.com/articles/new-expensify/expenses-&-payments/Connect-a-Business-Bank-Account). ![Click the issue card button]({{site.url}}/assets/images/ExpensifyHelp-WorkspaceFeeds_02.png){:width="100%"} diff --git a/docs/articles/new-expensify/expensify-card/Upgrade-to-the-new-Expensify-Card-from-Visa.md b/docs/articles/new-expensify/expensify-card/Upgrade-to-the-new-Expensify-Card-from-Visa.md index 56e456eb1256..8fffec75e744 100644 --- a/docs/articles/new-expensify/expensify-card/Upgrade-to-the-new-Expensify-Card-from-Visa.md +++ b/docs/articles/new-expensify/expensify-card/Upgrade-to-the-new-Expensify-Card-from-Visa.md @@ -4,25 +4,26 @@ description: Get the new Expensify Visa® Commercial Card ---
-If your company is already using Expensify Cards, you can upgrade your cards for free to the new Expensify Visa® Commercial Card to get even more tools to manage employee spending, including: -- Unlimited virtual cards +When you upgrade the Expensify Cards to the new program, you'll have access to even more tools to manage employee spending, including: +- Unlimited [virtual cards](https://use.expensify.com/unlimited-virtual-cards) - Controlled spending amounts on virtual cards to manage subscriptions - Tighter controls for managing spend across employees and merchants -- Fixed or monthly spend limits for each card +- Fixed or monthly spending limits for each card - Unique naming for each virtual card for simplified expense categorization -# Upgrade your company’s Expensify Cards - {% include info.html %} -This process must be completed by a Domain Admin. Although the process is available for all Domain Admins, only one admin needs to complete these steps. +The Expensify Card upgrade must be completed by November 1, 2024. +{% include end-info.html %} -Before completing this process, you’ll want to: +# Upgrade your company’s Expensify Card program +This process must be completed by a Domain Admin. Any domain Admin can complete the upgrade, but only one admin needs to complete these steps. -- Have your employees update their address if needed so that they receive their new Expensify Card in the mail before completing the steps below. -- Ensure that existing cardholders have a limit greater than $0 if you want them to receive a new Expensify Card. If their limit is $0, increase the limit. -{% include end-info.html %} +**Before updating the card program:** +- Make sure your employees' address is up-to-date in their Expensify account +- Confirm the employees who should be receiving a new Expensify Card have a card limit set that's greater than $0 -1. On your Home page, click the task titled “Upgrade to the new and improved Expensify Card.” +## Steps to upgrade the Expensify Cards +1. On your Home page, click the task titled _Upgrade to the new and improved Expensify Card._ 2. Review and agree to the Terms of Service. 3. Click **Get the new card**. All existing cardholders with a limit greater than $0 will be automatically mailed a new physical card to the address they have on file. Virtual cards will be automatically issued and available for immediate use. 4. If you have Positive Pay enabled for your settlement account, contact your bank as soon as possible to whitelist the new ACH ID: 2270239450. @@ -36,19 +37,19 @@ Cards won’t be issued to any employees who don’t currently have them. In thi {% include faq-begin.md %} -**Why don’t I see the task to agree to new terms on my Home page?** +## Why don’t I see the task to agree to new terms on my Home page? There are a few reasons why you might not see the task on your Home page: - You may not be a Domain Admin - Another domain admin has already accepted the terms - The task may be hidden. To find hidden tasks, scroll to the bottom of the Home page and click **Show Hidden Tasks** to see all of your available tasks. -**Will this affect the continuous reconciliation process?** +## Will this affect the continuous reconciliation process? No. During the transition period, you may have some employees with old cards and some with new cards, so you’ll have two different debits (settlements) made to your settlement account for each settlement period. Once all spending has transitioned to the new cards, you’ll only see one debit/settlement. -**Do I have to upgrade to the new Expensify Visa® Commercial Card?** +## Do I have to upgrade to the new Expensify Visa® Commercial Card? -Yes. We’ll provide a deadline soon. But don’t worry—you’ll have plenty of time to upgrade. +Yes, the Expensify Cards will not work on the old program. This must be completed by November 1, 2024. {% include faq-end.md %}
diff --git a/docs/articles/new-expensify/settings/Add-or-Act-As-a-Copilot.md b/docs/articles/new-expensify/settings/Add-or-Act-As-a-Copilot.md new file mode 100644 index 000000000000..6be4e0451d22 --- /dev/null +++ b/docs/articles/new-expensify/settings/Add-or-Act-As-a-Copilot.md @@ -0,0 +1,78 @@ +--- +title: Add-or-Act-As-a-Copilot.md +description: How to add a Copilot or act as a Copilot for delegated account access +--- + + +Copilots can access another Expensify user’s account directly from their own Expensify account to: + +- View all expenses and chats visible from the other user’s account +- Prepare expenses on their behalf +- Approve and reimburse expense reports submitted to them +- View and make changes to their account, domain, and workspace settings + +Copilots **cannot** add additional Copilots. + +# Add a Copilot + +**To add a Copilot to your account:** + +1. Click your profile icon in the bottom left corner to open Settings +2. Click **Security** +3. Under Copilot: Delegated Access, click **Add copilot** +4. Search for the user you'd like to add as a Copilot using their name or email address +5. Select **Full** or **Limited** access + - **Full Access**: Grants access to take any actions in your account that you can take. This includes chat, submissions, approvals, payments, and settings. All Copilots (both Full and Limited access) are prevented from adding additional Copilots. + - **Limited Access**: Limited access excludes approvals, payments, rejections, and holds. +6. Click **Add Copilot** + +**Note:** You can invite someone to be your Copilot who doesn’t have an Expensify account yet. Your invitation will also help them create an account. + +# Remove or change a Copilot's access level + +**To remove a Copilot from your account:** + +1. Click your profile icon in the bottom left corner to open Settings +2. Click **Security** +3. Under Copilot: Delegated Access, click the three vertical dots next to the Copilot you'd like to remove, then click **Remove Copilot** +4. Click the red **Remove Copilot** button to confirm removal + +**To change a Copilot's access level:** + +1. Click your profile icon in the bottom left corner to open Settings +2. Click **Security** +3. Under Copilot: Delegated Access, click the three vertical dots next to the Copilot you'd like to change, then click **Change access level** +4. Select **Full** or **Limited** access + - **Full Access**: Grants access to take any actions in your account that you can take. This includes chat, submissions, approvals, payments, and settings. All Copilots (both Full and Limited access) are prevented from adding additional Copilots. + - **Limited Access**: Limited access excludes approvals, payments, rejections, and holds. + +# Act as a Copilot + +Once you have been added as a Copilot, you can switch between the account you’ve been granted Copilot access to and your own account on the Expensify website and mobile app. + +**To switch accounts:** + +1. Click your profile icon in the bottom left corner to open Settings +2. Click the up-down arrow next to your profile name in the top left corner to access the account switcher +3. Select the account you'd like to switch to. Each account will show the level of access you've been granted. + +A dual avatar displays in the bottom left corner to confirm that you are in Copilot mode. + +# Forward an email receipt as a Copilot +If you have been added to another user's account as their Copilot, you can forward email receipts to their account from your own email. + +1. Forward the email receipt +2. Add receipts@expensify.com to the To: field +3. For the email’s subject line, enter the email address of the account you are a Copilot for. This ensures the receipt is routed to the correct Expensify account. +4. Send the email + +# FAQ + +## As a Copilot, can I add or remove other Copilots? +No. Copilots are restricted from adding or removing Copilots from other accounts. Only the account owner can add or remove Copilots from their own account. The only exception is that Copilots can remove themselves from another user's account. + +## How can I tell which actions were taken by a Copilot? +Any action taken by a Copilot will be displayed as being taken by the Copilot on behalf of the account owner. + +## Can I have more than one Copilot? +You can assign as many Copilots as you need—there is no limit. However, you can only add one Copilot per minute. diff --git a/docs/articles/new-expensify/workspaces/Create-expense-categories.md b/docs/articles/new-expensify/workspaces/Create-expense-categories.md index 80588aa95d63..56557d449908 100644 --- a/docs/articles/new-expensify/workspaces/Create-expense-categories.md +++ b/docs/articles/new-expensify/workspaces/Create-expense-categories.md @@ -12,36 +12,41 @@ An admin can manually create categories for a workspace, or they will be automat # Manually add or delete categories +To manually add a category, + {% include selector.html values="desktop, mobile" %} {% include option.html value="desktop" %} -To manually add a category, - 1. Click your profile image or icon in the bottom left menu. 2. Scroll down and click **Workspaces** in the left menu. 3. Select the workspace you want to add categories to. 4. Click **Categories** in the left menu. 5. Click **Add Category** in the top right. 6. Enter a name for the category and click **Save**. - -To delete a category, - -1. Click the category on the Categories page. -2. Click the 3-dot menu in the top right. -3. Click **Delete category** to permanently delete the category. {% include end-option.html %} {% include option.html value="mobile" %} -To manually add a category, - 1. Tap your profile image or icon in the bottom menu. 2. Tap **Workspaces**. 3. Select the workspace you want to add categories to. 4. Tap **Categories**. 5. Tap **Add Category**. 6. Enter a name for the category and tap **Save**. +{% include end-option.html %} + +{% include end-selector.html %} To delete a category, + +{% include selector.html values="desktop, mobile" %} + +{% include option.html value="desktop" %} +1. Click the category on the Categories page. +2. Click the 3-dot menu in the top right. +3. Click **Delete category** to permanently delete the category. +{% include end-option.html %} + +{% include option.html value="mobile" %} 1. Tap the category on the Categories page. 2. Tap the 3-dot menu in the top right. 3. Tap **Delete category** to permanently delete the category. @@ -106,8 +111,7 @@ GL codes and payroll codes can be exported to a CSV export. They are not display 7. To add or edit a payroll code, click the payroll code field, make the desired change, then click **Save** - -# Automatic Expensify categories +# Apply categories to expenses automatically Over time, Expensify learns how you categorize specific merchants and automatically applies that category to the merchant in the future. - If you change a category, Expensify learns that correction over time as well. However, changing a category on one expense does not change it for other expenses that have already been assigned the category. @@ -129,6 +133,10 @@ Yes. When a category is manually edited, Expensify will log the change in the re If a category is disabled in the accounting system, it will be removed from the workspace’s categories list in the workspace. However, the disabled category will remain on approved and drafted expense reports that it has been previously added to. An admin can change the category on an approved or reimbursed expense, and anyone can change the category on an unapproved expense. +**How can my employees see the GL codes on categories?** + +GL codes added in the GL section of individual category settings are not visible to employees. If your employees need to see the GL code associated with a category, the category name would need to be edited to include it. + {% include faq-end.md %}
diff --git a/docs/articles/new-expensify/workspaces/Create-expense-tags.md b/docs/articles/new-expensify/workspaces/Create-expense-tags.md index cc76b4016856..fa4ce5327a27 100644 --- a/docs/articles/new-expensify/workspaces/Create-expense-tags.md +++ b/docs/articles/new-expensify/workspaces/Create-expense-tags.md @@ -6,17 +6,17 @@ description: Add tags to use for coding expenses In Expensify, tags refer to **classes, projects, cost centers, locations, customers, jobs**, and other line-item details that help code expenses for accounting and financial reporting. -An admin can manually create tags for a workspace, or they will be automatically imported if your workspace is connected to an accounting system, like QuickBooks Online or Xero. These imported tags can be enabled or disabled to use as tags for expenses added to Expensify. Additionally, Expensify will learn how you apply tags to specific merchants over time and apply them automatically. +An admin can manually create tags for a workspace, or they will be automatically imported if your workspace is connected to an accounting system, like QuickBooks Online, Intacct, Xero, or NetSuite. These imported tags can be enabled or disabled to use as tags for expenses added to Expensify. Additionally, Expensify will learn how you apply tags to specific merchants over time and apply them automatically. ![The Tags tab]({{site.url}}/assets/images/ExpensifyHelp_R4_Tags_2.png){:width="100%"} # Manually add or delete tags +To manually add a tag, + {% include selector.html values="desktop, mobile" %} {% include option.html value="desktop" %} -To manually add a tag, - 1. Click your profile image or icon in the bottom left menu. 2. Scroll down and click **Workspaces** in the left menu. 3. Select the workspace you want to add tags to. @@ -25,19 +25,9 @@ To manually add a tag, 6. Click **Tags** in the left menu. 7. Click **Add Tag** in the top right. 8. Enter a name for the tag and click **Save**. - -![The toggle to enable Tags]({{site.url}}/assets/images/ExpensifyHelp_R4_Tags_1.png){:width="100%"} - -To delete a tag, - -1. Click the tag on the Tags page. -2. Click the 3-dot menu in the top right. -3. Click **Delete tag** to permanently delete the tag. {% include end-option.html %} {% include option.html value="mobile" %} -To manually add a tag, - 1. Tap your profile image or icon in the bottom menu. 2. Tap **Workspaces**. 3. Select the workspace you want to add tags to. @@ -46,10 +36,26 @@ To manually add a tag, 6. Tap **Tags**. 7. Tap **Add Tag**. 8. Enter a name for the tag and tap **Save**. +{% include end-option.html %} +{% include end-selector.html %} + +![The toggle to enable Tags]({{site.url}}/assets/images/ExpensifyHelp_R4_Tags_1.png){:width="100%"} + +To delete a tag, + +{% include selector.html values="desktop, mobile" %} + +{% include option.html value="desktop" %} +1. Click the tag on the Tags page. +2. Click the 3-dot menu in the top right. +3. Click **Delete tag** to permanently delete the tag. +{% include end-option.html %} + +{% include option.html value="mobile" %} To delete a tag, 1. Tap the tag on the Tags page. -2. Tap the 3-dot menu in the top right. +2. Tap the three-dot menu in the top right. 3. Tap **Delete tag** to permanently delete the tag. {% include end-option.html %} @@ -95,23 +101,22 @@ You can enable, disable, or delete tags in bulk by selecting the checkbox to the {% include end-selector.html %} -# Add or edit a GL code or payroll code +# Add or edit a GL code -If your workspace is on the Control plan, you can optionally add a GL code and payroll code to each category. Collect plan users will need to upgrade to Control for access to GL codes and payroll codes. +If your workspace is on the Control plan, you can optionally add a GL code to each tag. Collect plan users will need to upgrade to Control for access to GL codes. -GL codes and payroll codes can be exported to a CSV export. They are not displayed to users. +GL codes can be exported to a CSV export. They are not displayed to users. -**To edit GL codes or payroll codes for a category:** +**To edit GL codes for a tag:** 1. Click your profile image or icon in the bottom left menu 2. Click **Workspaces** in the left menu 3. Select a workspace -4. Click **Categories** -5. Click a category to open the category-settings +4. Click **Tags** +5. Click a tag to open the tag-settings 6. To add or edit a GL code, click the GL code field, make the desired change, then click **Save** -7. To add or edit a payroll code, click the payroll code field, make the desired change, then click **Save** -# Automatic Expensify tags +# Apply tags to expenses automatically Over time, Expensify learns how you tag specific merchants and automatically applies that tag to the merchant in the future. - If you change a tag, Expensify learns that correction over time as well. However, changing a tag on one expense does not change it for other expenses that have already been assigned the tag. diff --git a/docs/assets/images/ExpensifyHelp-AttendeeTracking-1.png b/docs/assets/images/ExpensifyHelp-AttendeeTracking-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c08b9133b835109d54a92759346ddb23759fd2 GIT binary patch literal 523098 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

FRHMD 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 z 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 SgwW>M{^dWYNS8|*1^o}w{4SyZ literal 0 HcmV?d00001 diff --git a/docs/assets/images/quickbooks-desktop-access-rights.png b/docs/assets/images/quickbooks-desktop-access-rights.png new file mode 100644 index 0000000000000000000000000000000000000000..bcdd35b8c827656ade8b7931b50b82fe0c5220ea GIT binary patch literal 582066 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 z z#5wr}AFl!gueUEe&{h35Z(HqmCogy6Gn(~O0@zW~0sR)eBW<7y+3$~4ZTh$#@lhx7rkV=8N!d^Bw$SzXhE(zwJ>If?m8M`B z3*is?`08=CD+z@0TaJZ8pIDUa>B88Std~=gxy=I>MY=*ohN9W^Jrjjuv#>#6^rD%> zQy?LRiw|7>Cb5H8Svx{zR>m`_r8al?!dr!T6sMGmE(e!)rcg(}Krkh1t<0y@_3jl{UC&E$3LH^&OFrppA@VCx$3 zpQZR8t8wTzb5+(r`}wanc;MG1z9#l<=vbdWICm%UzON#sWPqH0XSLI|wKH%ME%7wzi5HqruGp{h}f7nij|-v84S=-+Tl zD6aflLF?EUGlU>wcrL6e9R;QjTbk5h1S%%JF46oqjiN(3@Aka7!(|}hF-c`APx?!Rc0Dl|*uZxi zz(0+E5P7ecy9Hj`pu4u<{U(p3B&)0kcZ$Dp8m;0Q3I5A!OApv&(Rlj4CG#1(@;Lbl z#qzu{&=uRS%gRenoaX*F7r-sRhVnyurl4!3!xSmUvl(+kAcf9)Q7rOhLK6malRpYJ z1(>Tbz`ysj+X%nTKXfQ4a{c0&!{eWW?~9!USN~uS@+$_nx2-dur}# zkM6DhnlH=QdCCcFTk0-wj8p0fLDy!pgx9X&neR0q*RP%X5!9X<~?4o zR$o|7v!(zX)EHWziw+YS(x6xp(iG-VH(lInUGb>i*R2U5NIDl*dIjX3wdd0^G?{mh2@2dTr_zMp+)}LjmcV zFZ4WS&ECEYfpifM%%KPEo}Bf@$!$lS0>KgsVH4xOXSLD^1Sjnqa*`c<*u*$ros~9l zM`|kf6KMnOua!Dioym^eE$doi>g<9X6;n2`08F73{`BFbVmV!>P~7}=U7>+JOMq}} zrb|bh!AOdYNK)wj>$5BI#2zH=8~zudHP)kU5-;ger;b0;UU9|mEG{yuwg`vIECYjt)wt$Nx{dzS9+EzSR^b=I>r z$%BM_)tW;Y_`KJ&<`BYZBoLUfs$HlQrhwZJJ%j@ z3~0!N@Ly0L0CH0e#^o+4Yf(~KF*2*w@fXR}%65l0bUJPpxT_jASB?C@%|HAu)pCx>*`WATki_l+JEd}%Z zQI^9JSG}(dtp-iIY99@1Ge;^&qR&?3eYShD;rRIZU(t9Y{h1_2!yn> zL!_CR9{zA%chPcZW>w`^yKP^tMC3f*xtyQCkmk=aEL*ld9qR5*R$yyOYn7(ccy;4H zoy!ycs`kV3*r15q{kr)!WS)tmHI%5|uK>70BvT5px|v{p~2*qj;p1#_X=#;Lh|=44FYsqbeI1hTEA zWJFJN-^w>HN4}_0G$gEZ@ylk8fnoXW;RuceH(C-u1h3N{Je29@I(a-)32IogdVws9PPuoogWqbYV-;STHHkds*hcmz2?q%xJTD zp1vA1R#|cr6?{cLJ?$+KYyumCoNv{4+ny6$uyxRx1`HlcfebTv<~qY|S3ou!Qt^jR z7!UwO_B-EBvdk)?c3;9sio+ThnB5=xKevDCoaUhct;OXY|?KX^VU3Wx-N ziZ!p0dTnURHJGtW@oo=7um(e*3|+p^oZ6gCdhHhWdRU()m=!rr z0(=lQdsl3q7NNFKlj`tC*8B0Ll`si%!pYL0|6;qJtGo^{x3z5lamp2baC$mM2)=64 zCx-f5^v9nGt1J*Od zENe#xj-boWvK>YiQ}G(&`}`i4Z(C#}ws1aga94--h?j5Vi;;fsVz?efBxUxc_@fz4 zT4Z>5xv*=So=LIYy9ds4If&UJS9d#ac(~d%iUt2*#D_4Es88|2OF}E47 z6`fIeX}QgDuj)DOLmyXn==G?0=9C9gjccyAJg7B5!)Z!Yu@szn20d7SCwO#JF*A+b zk1cAT09<)aWubCN44feS6QoZp=|_D4NQAu{T#&mipzmCpVxboy7*}yg?%R>N#}|1_ z4l$U-#|!JhQ}41DmM%?LlcjcSfQfYdT3#Z{(v)z92}|*Hb#1MhPc-Ge4rH|!jEsQz z#IgWy{usOw%IA6-S^rCU1}?nm8p0e>6U%Yu;q7US*ZYAC_7-7leXkN@k_< z@oAZk@b7JbcLoR%=3v!wf}qHpnj{?6rgRGx5Rp#Mt9I!3Zjd})&XH=gR4Nvwiz;Xi z;%Ei$S3&Di!Pb#R6G_f6ta~CSPG;@bUCP@#UB~qXHzy;S6Lo@>(FMN1ywa4jc>Vh?Pm4#rlPGzZ#FlpEz+ek zv`(TIDp$r})=nsFi!1OKx5t0ktkO~_Dd7uAH%YQHd^@nCIaqR9-?>QCi-l-Wlw~7) zfBinv>QTuBrN|WyYw3c_YIAXFZ4@ZRk-4{nT*n*86FZ_vHwWJH+mYS=4~lYLVj~*t@wBA|O2GSI{@3pfT`M-F2*8^bx;gR$_Z-w6X|Xu7JB5U0Jg)*AGyvFb|x1*cheka>Z#SE&UC}9@D0r_T`<<31eb3Ikg28E>L~Yu zWj)QI%DQ93B~5*VwZ@hd&t>!pJ}O!Gia3goDw;J4bmI@`9d)`<-YPikvV)%GvAgD4 zB|c7J15bF?(}}}FET>c^tRux0WZi42Io+XzUbZkLf>6III*@)pqY3!xG2ZDxtp?F@ zS*G&U{A(rAj0EKIT4Z{9^9VQ^A!e`lfW2?vLk0O$C0n-IIpZ;;gp1JyZbqxZ-8m)1 z{_)#73tB7M=^JTeQW0PQ>u3~*!yRA6*%Zj>_4DIem9?Unk%>nS=CL!WEFZOuMt(U3|C!W-`8{LXWo`~{-D({f2;UM23KQB|T#xlid^ zi1-;j!!onZW8Z_gy&Kh6(j>`Mi}0O?moQM-z$e|x{LVzlv1Na^^{8Wi|3QC9D6;GQ zDWX$Y>5&5&I`sL*Dj$@qhLNHp=JdQhG>c({7{Yc9VQxSOEnYuR*D+BWX0^yYa#1<( zcX{cfClZVsvJ(2y({Db8PYjYu-=FT_%CHe+#s!x%9pbSuusCbp>H31AogO~5^mV;G z`auj$A7%O7hcLYeuq3DY77ITr3;jx`#iUTJHAAPUm30C02|MtCYDHj`?!Y1ZR#5pK zWGj+^)A8)9I{R7VWg@N5nR8JuR3fEAF&8;6EoM&3S%QbzG<}f))4rk*_)|y9P@f?t zO#!d!LO4(wqSKE9rPzCA6)=of6>IGghE7bO#dJH~CLv&OA$`e<|*FlnSpd_~X zv2c9{Jg+RgMK<2=S%FRmg~5q3(CVbQ)aj``7;D;-$G#jmlIr%{fi>n8713%{G0iHW z`(ftB7Q$+3_y`XesxJhb3XE!s^vVi#ct`C`9;N>(*;db`uGd92*y>UlfWB1!9(AsI z_4Y;r=JlU4=^1u-fHky-?yw`I>!@*ZgOT9=n4I-($EwVpZy!R1a#mRMjqRsD6vGQN zphy{(xxhkhrq(Lg*o~kJ6i?YZjQ_Ic4MFPg;%e#c<8>4suL$Ec@^&V@rG@r;yJT$R zF*z?|nAaIKv9u~0;JM-(_pr;^5XTFLCbpIkhhZj!p)qa(uo76Fv$-DJ(Tx*5YPmk00dAKL#@ zqOhWtQG6&i*}gkqE=`B6x~78b|CMo>BQ9_mx*w#3O^&h{1aL4kz(|oSX70&+NAf(Q zD19X=tiT$nH*@Px0vRk6;!hvmFrb!i4o#x zEI~=mn=cP4c#Z)}WqBlLDY&J{Da^b+Xn!ACYI-k~M$EStWOdU4BE8Cb7JF3aCf7B8 zP2mTNK*uP;-c%tDpFHofVUx7656Y45D^lOKU!OK`K?1#aoOU89YMh9hLS+UE?+0`; z9JG92?xmsTSOlV8tQYou4#YQH>|-O1wSCV#pStFC0?n~y8-J8|Q+l>atx;>Lr{(@y z`WMf&;!kGf?!52iPOAqfP$^3(s2$w)XqWAruD~7sz4IjdiF;$Lp8Ph^PFwLy=doh8 zG-K*t^B17$4BjCIg4`UuK6Z5y)05)`I+Qx7U9$YMcIl=0PG;r+?L0A(c4!q9V>ILj zX!S6@mS_9E&tdMIFzL5orfi2e569o z*(FY-$%N-bc2EF%jkQU}fG6xIS*Gqgq0-iYXYg${oGs_KW4UF;F>02eF0*bN#ZPF@|sw#>XGKi_7l2!KGh}?e9TkZDdchMHo{^j2U=HL{r^t&;z6Q(EdU*Eq1*zNA^`!Uk{$BOY@Re8|#`QrS_y z_FB9DoH`6?s4fmERu_^Y0RwyF6F^me8976JRuu;srKDz$g zRy286&)HI5&|t}=bKn=-4Pb>tm6|Rld5wi;Kd~$*_k~&+1h;uZ+So?36jco`Xp57T zG;YX4i3rI%j+Ue%TU&I!Qv3+n>r(E4s-!hcQ$_XU9R&r+g5_C$uZ_kh%m$t*5vh$w zT`owms~T5hRWbVx?BgC@3cm*3ZGP1PU}VUd`X38duFU z{+aPjt*quEY4=`3p6#}wtb-xqq()Ct#;MHYT*BP`$dH@zIS=5pN zT?^`Y-urbLQvVLLs?gd+Hg3As49G5|9NeBw6L(@9%d<`M--yxuPcCb1Db6+>*5ExO>X#;&A2w_#w!5%@T(CbtIKGVW z8eCQ`WFbCY!v_7Dg|q!Py-!s9zgG^LoFBe;u^lEh{-E>$&OfbIbs4l&7@GFp?jtRg2>qd|O796IteBHuhgXUCRHxCMY9H6Gi*n>y#xo(2OmO4)7jk zf$#Di{-cHEL*8DkM6#RzSuw?!P3s5&zpeV}3#|3~oU#8d0S&8@XmsQwig)?WKsOuv zc%jdOod9DdZ8$iDLUzmCe=t0>8{6~?FvFnxoXXz*e?AF(k@^}iM}Iwp(#64;W&4q7aemjd@#RytJhwCRu{rt?HKF_DQt<&#wo*KqOE+@7xKF z`(|SNm1jR<<6oWz_IRS8zYB|kkR*GJ^RLS=l9MqzlGg>vSQUNM$Gg78Dk za`1X$QjDd)Yf_q4v>;DaA=(;U5Vv0t12oo$@SEGS5oHG}*Pk=j>9)5Taex*JS}WO= zDGEn91(G2pSb-|A=l(v>Be2*fIH6=+%qA`A32@=#=E#%hLSv z3heXhI7mGFd)`s*{4sN9cF^48V-ylJJCp`Wo_`VAY{2xNVT_PuC83TxG{x{H4 zIV632=~j~U4TKvV2){6)MCY|xZ~#Ri-NqWV@QM|KVqKbpHxpPC3^@`m=FuMv<5a_v z*lXR?X&$1eJ&RI`Hk0bMoTt&_XnzPD7;s?PHYz=R9=keT#nqIb){5p^)U-M_fDSF6 zNhLKv_>tK%LEZy6F#l)cxG%){INkI^?W_~|zN}Bs`TX7bV0LoIaV6thX`qiz$=Lt_ z258NNfqRYM2hj2ph2KC=iWES40BL%^UtNiWK|Q!;X@0bF7Gwq;-kfeS?2oh49nz+1 zFbK`JjNkofC{U|q^(2BWU*0^G@lf+{P4SbmDBcGt~T|5g=laGn^&t%nh|2|TC+cYKL;{NtZ?XYSSe=D zLy$1GJpugl%qEJkuNsO@3qn#($LFFX2R1;2JeS`l#)+heJwF%i?83}b7b$*8TEk!* z57R#X_EM*9muH}9ceKF-Cal>F*<=AMN!APV(KNx2DZf0{iQfIL@TjTpk@d5BUB4*f zMTjfu44d-&wTYF2o&)_09FSDyGMSCXq3dIb#}Sp{`P1gU7tfp z877^dsMHG90rB{ivJRnL9xBz6S4smq%cWUm%{KCopNi}}n{ri3QXjbLwMyaO?xJ~dXa(dY-|lXCR?+peEaZ%j)U8LAV&o+nPqM0 zy+-)Rx1QPlZ(Oks32Kd3p`?>P^o8SAC!mlO=h>dyvF)uR!UlFt>(s@{l;fBAVPhst z#I%RYvGyQAX+?N+$3M+R19Rq41!&B0l=VCQRqKY4S~>hy1<=L9I=l`77SjBpWHz$K zT@O-_#&trOzTDqO^E(z%v-LSQYk?7|BU{%YOg52FtU)vOb{cQCvED8iSbe45+%&-~ zgzCx{tAY950*j>fXQ5bo< z80?{G?49h@7JYJnG9_=U7f+Q9=YfRSYM;wU;k-{fuOUO1RI9gyB-c#L&P$B{jj2-W z)Sk1YXk`o^T)*SFZChvfgab!qa5-Y#Sr$)Tyc=yXSi0`m)j8_Wig)(Jj-zT$@S2mJ zoDvagUV;=%vUBeZ_0n7^sRcLgygac(wyo1lEJ^U3JtSZ85^w4&*q{h$-@1;y4A<}% zTIp(uYR=ucq$bBNiAh_7h2V;;!{(A=MOt#WFgRVU_gp)q1OF}I)DH2L%B1h$$h^Ekrn7r|g}$c`CwSJ9Frm2o2Bo=DhXMuTQEBHFny z8WA{18PBfwbF;_fH}Qgxhy$a2etPmk$Ec6A$@lo(1`1;jOYwTl__mXgy}4(iP1b`~ z4q$QFY<|IF1uc%tJhguKg?c#JX_5pFA@R$+7THTpm_l0QGe3L+se`4Z`%tKy_GMX_AxY4(NprDJwu_LDFDT!c2I zO(5=}k3k9RE>mdfW-u-1L_s>IxWGn7!w$=O!ZL($gLMi=itI!xSECUFyQ%QCeXW6J z^LyT^Kl&e$@dtdj`yheynB=Q&K)*Z<`F=`yX#$tk$+x>d>oKMX54$sZNI$j+BgYcAs!%VCl zI*{wEYtrH^q-V9`1dYX7E!gkPsH4}SQqY!?OpMxMJA+m>QU&yCs(cZS)Tx>i5&;_g z0!o3vG(t1!_IRs%+SssWOF?)8G1uyKl?41lM$2rgHjYSp6noj7+T64+7H1Lsf9*Eg zVAJDTNk9Qm5xYffEPJ(AeO4|&n_qk#CS^%K*9a>n){caQ8WtG2q_T=UZUtgwL;x7y zC9n1b9{iKRcAhGh5OZxTa)9*ywm5M*V;oSPjKUat;U3JaDv!Z!S+Zn+S`)pG|PBF-#|1Utg8 zR4_1%8=jOKw~Zxi62NbEc`5`vL-Df&5(9WT(_?*cJuWqS-=ZN00*##whp#~R{`PV3 zt+5B!_@2=XnE+dAkYc%g7{4v3=}KHhCCo^x**Opg_#bjXl+G85Te6&WN-nuA8yR^d zC0Y;*)3%ewM=0FYs{mQboFvm{%|HpL6VkZmu4tV1AF|*Ki(%ZD?H%SFMm$~#0u6e< zWdG7F%2r`bA$%PZ#f%sWW(_O^uHdBCaXx$C37PSS&CiT1(^E+E>aR zlk5(nC_b@Uq^QnxM#)@5q*L$NOLyI6(6;>p<^5h>VvTK~e3+nytV${R%_s)(p-7X1 zO$^nx*FUt+7*ZlA!L2NPR^6~=D@*>Ei5l@ zYYalk%+#!rx7^S8hA^c=?=ALWPe7#2E?&lJ%_foPIfBC6v)rx=$qixQHwo zoF5u%W-Hrwc0Z=!;!+^dyb`Xpj0_!u6cb`^?1f;T^BuG{G*~t3Zojb1DYkbO<;Flw z?dxc6bXXBfa)e4E4Ft^~-szmV#YUn_x5n+-fKqWdf-fw}4%zPwa~WI^xTYW^X8KfV z@x*+FxL3S}bjUa}ytQ{?xE!qBw@%EeSr<5`=3LxyyEOLF{LAq9ZgcY4`7|-tiQui& z{*zI1x};O8<+3dc?4Uv1r(V}Bp;iGuukVt@-C&G@J%}OAt25!_Sh&zYIr4^ z(Yh~}+v7{wZuuj%&^mI4C(MudeBJS@V*_g{E%nv#?h5*8?_e9x;RF>;FM$=Vg&%v3 zNR{P{@jNrS-*I#P`sSs_Jhu`sEQ_W-Y^`bl^gid%zL=Pr8lM_hYfLa@!0NL?1oXZp zvjA4Yqr0B2Nk$0|JVP8H@ii4WC=|9%>>^w)$FExxPN%I1_F0$WmjjGfr%tTA)COH; zd~C1X<{AYD^yW2hv&HZ*RT3P3a(YGLtRa(E(^bTUN#ps7CttX0>!C!osXpqX8WiuqmNm#Nk%_YC*^%Vku>pVmS}lK4G87Ws+^blMZyL># z1++_hq_0%PnC;2BnJy~fR0g?;L9ow{sGY<|8|pU@V zaw9Tt|Fjpi;y_ z)&eezh{MNwpCUQTiw$YOk>pLcexkw%rUF$)=?SqD1t^QOe8af{HG7biMhJz~XsvEC zN_$3EZP^A%Q^vHK0wASJG>%ce5x*`MmLSC=<_|Y>UR^ZGMha{ZO*zLsGnT053N0(d zHNMBKo)$&;I4TtyjQR*R6CF-LE8A1wH?eqnDF~-lf^pREdx{m|-vt5=M!^fsyv(c6 zIi>Ed$lK#0gOP6|>eX9Kt=0k+^Im`5kWr+Z)sDpdiD)Fku@(03E=lj(q6Q+7s-LVH zlOk0nzlz!vN`}L)G}2jkDNMCI@rWB>%Xbpj7TDm?6KcRdm)k5b8U{~N&~|wX_wALm znextd)S z;^r@Ayujo^9^#aYCl9gY#=Sl>3T?2Q{B0yhVw6rqnMsmV1h5Ea)IeRI?zBRTSowf) z*A!2B7P8Fz@PVG0QB71Zq5t;^Nt5^8&eGUu9mis^F;alAjU@_K+W9=sa1PKJc|9ua z=G*scQ4hK15{{c+f&L_wnN~WLt0ANNHzxsfVUknPdI|q0Uewk~<+xGI zI7Z6j74bTSYSJCmorlsHIM^f){MA`zx~RzQm&jlzFKAy&S6a3WiFTzv$a(X(1wB}_ zjR-LoD0z9L**Ugq<8M!ln2L>X4r6WmR^QiDRT=VP9=Pi~rhp8DzEy=X<(auTe+4SC zLDuY|X{H!~$xCyZqt&e8>mAEys>J`eQ%oMDmwd)f1@RF`YaY`MupFYMB&^THJ>kE}wKp z|7KFbi0N}nVfl4w7lQ(x=s76LmgSbCO33Hc)02vRj)vB|p`6_bF^H32UqE?ve${l% zz~;1bSa*6K?TCn?HQN5(tXgZI6yP}0^^w{m+?)bfnUa^U45|98r#6uQOm+L~eqdgA z!ICGAgjKkEVR7BK^WB~>?%j5f*zqTmnns9SP;2}CweGxaBHWg2tB*v{YD04(ba`9& zi?8eM!kc{z-`nHIQ>0oId2l9ae;DHX^Y2vxo{ZWT@98(R?Dqxv9mfultMW(Z&CihX zEt5F~i=s+uaA|~1UCSA>L~Gd~d#?S&=h1r`3RF3QP(-``5Wi92U9^BVL~U5%i5OYm^QA{1IlOcdzXyI9c>67~|kirXPTbuP@8QHF(wUtTHE4| z3{Nw1G~$<3k*CmD>*PQnodXm!;1cUf&aAU2N?}%_+l$vHsY)Q#VE(2(mZ!i-jEHYM zo*Zov2cbY`JMTjU>z0m_DR2OIi%t z^d&{r)6$rbFh{JSSoHbWLZxu?8r$51jhj^xT`gPry?thfj+hHyfRrvYyZ$sayrZl5 zk&V$q+exd&Jtzz|ezPTS_Dh@S3hJXM>IqR5U3i)~-h0I5cKxHXdO!bhg!>3b1Fm)T zL@M8Ng6c1wr5gUku^S`+4$x z`ec>hV~f09P31zAYjujmCaI@$)Z*l3anMjRx_Lh>u3W)iGm$;80wK_AmhStSzqnqu zb+CDx)7#4*qdrdVvJ>yeTf3CYTfJLvIv7K?AJ$&Zl8F+SY@2zOGge{-w3BFu=`{1H z{Ve*LayV|pFrgzZ?h^;8ibdDa3EAsmyT#6IlondZ1t82e$a_3(+2BX&^Bx9iL)^+n z>5e}bOsm?um1R><%MV8Ut7Q|0B$~}6txB%D6vQl)+u*7!l?2hFh6GN(7eh)%rVVt@ zc$T;G*!QuFQ_ZAW9=>otcid?&SBNYEuJT>WhflTA!N!Uij z4CxfFQ}#Q|wT*paY9D{*;doH=vSDZRSWAQ3n{#gKd75!NjHDgBP8qJ`=Ke+yGQ|Aj zJW2V%fp^ldoa<=VIm7r|;#9+wkUfoA?ykxm;fzIvS@k#au&~Oq7bh_K+{^`&-W>WP ze$E8?{d%x_l)GFQ>AC1bpI9N( z>$EBMy$ZVHk}g*ht*(NRFG%D!Zd$?1{%F*p(Kq+NyWLY$94omb%C5;TN6(Ztm4ZV| zFeD2W^|NvNPME7*nX4X=@S_O1tzfBEn|}8_h$MT}=ZmLk)|JUnEgxr;b{^Fa#wwf8 zOrF$!E9RiY4S%CjMBdILrU;yyzA%#ccrCZnd0nv(mhkZ6ZKJAirL;`MIdig1!n;$b zU-(Y_042qOfL$fFw2v;isc4q4-xS=M?1T1CTw`5!vFcG~q_db&FS5fUXTp62L?;}` zh10L^0s|ZSPIGI=sgPH!AtB7?U4CH^u&o?l4l@SV(kk zC*`W0M6?cr!|kb@!GRlMI0S1^l6;YvR4!k>0IOnz204+g9?7j-&} zgd)$%s_Zc(bEvTIUj&MvdU&EvI{lDVn;0s-Cf1j}?is;)jQS`kj87Px-h7)N7l_Di z#kJmqS-4@_e9MjQ_3kp04c>N5h*~Mlt1LI-^>`0$cFiTljs@kZL<-k|rSCSRN{JXL zIjV~t-`+hyOB{o9SR~SpV>tJ*M||moZM`XAO-+;4Z~mT~u^IASb1rPlYi)P}!QlOf zC1EnJghfBw+*q<}b}zp}Q^m^L(ms_pjVGo?^0QRQFDvI4Vhn=_d$MAc=7=(i+hIwL zXhycg>728SHdcR>0sKtIY=bGT%byGJ5czQ?V12@_pTU&j3tyA74P1gTShpx1$e?Q~b>B zK*9>^LQt#CY}37^nMQM5bHOnQ^0IgV1}SHF9jxi~9_O@Sr9y$>a&T`+cHhj-JJ))7 zp3feBr?1P`;bF(CCTHO`4|HxGWffbLkA0U;0j}uBX+}L_!(T4ov+r{?+Y$0J&!f6S zcO&F)&%C5iceWuc+Y`13A*SJnV=E)|_bF|6D3=_c*3Ud= zwhVr$r1#?f-FcO|{EOlOf4?oH3$@A4eWoI7C0Qa}237^|K0ZSfsu4$eyQAfLAsnh@ zV~?mHZQ#PI-sSzfmSZ?}A)X8o_@Rx=?TVTG)K_9=WiFD@6-elF_O+M>LPia5^v?y? z9Z(cmiY+2S@C_ll>s~;vD54Z&YWEn?@X9kE3SV(&T)VgBLX5I#x-D+!;*pZNqk_oD)j9+%Ab8?OwI><Z(Sy>SG+OTh^yf2yR4*<3?(Uxx?| z$uvdtY!q~c5i}CMkoY{OxwOI2NRLcp59hq^@TL}Ax@@2e*Sk_8c<(slNqLx`Ym|7d zuq89Ted)O!Dx_PMC z6ZAo%KaEI5L_$M@5CS){HDGg16hQ{@Cc@c)W?zv^GSmA9i-QWaz6oDYTQ(WQOTtQ1 z75GtdMCpFT&$Sq#d~kVuJP{*`fRj}`K1cL@S{#Ec#jjdmP%5-Do}^M=rTA)6sW4<# z2ppP!leB9K&xb5W{&MvRkHw`77d1!AXA2U#K*;0IANRP}$q)X>MHE(!W&VamNh#?Y zpQ%1XA}1HMJLZO@L61-;DMIS{O)>lfMG;A))Zz_wO$q0(as^zH*qyYr3Y<#|2@ch- z>Inmw6q&sXXYe!u&>FLz^D;dk|wwYiXX)x0(UE)xa?$g)emEPcIc1Z-;UcxW6TmFRjRD`(J+C-fnm znp8K5{Q}1RyI5#DKY?4Pj#-~sWy(l3dEAN<$v4>oF`jp}A;y?qbO+H#@xn#gd}GJ? z6s9Bw{Wvl2V8QFS!X9>(o}7zwquGU?P}XN;vv)^4URn5!pw z3i#ih!ZqRAI%BpDd3h;Um#RzF>+fT1|Xv)UQNeHuZy>4L()R={%bezCX5 ziHrfg8-(`VahW+zv96&BoIZ;_G$;TncIWb91ClUo+&JOu`cH_C=Fqh9BfHZTZZD>E zNlVEu5*}YsQ~0P#*_z#KC`rZ*Q}Nn4B@_rIaAODFHM+erwN%RPEU|M3j7fjXvVjS?d9A* zSmdHx3@#JirJfuVq*er6-nh=A<@1`>oG7?z`qRuxP6^yjJogc2oPjERoh7&eub@$| z()Djiioh<$b%=Jtw!-{){m~5Vs_RbY;q$5Z#KeDxpcv>Dc3@{8{j2-KtT39?5g`QU zA>v4NojV4daDGPmt}FIV8I zd;Wq5T-}qz!R6Hy)ot`~4Gqg1-t@6+YcnB5mQzh-4o5laBsL;J=-~fs;R;x-qvi56 zfO*!@%jpO{7)9oJP$_K0cQe<;t1`hUtE*`B`9mjwHBGvC8qguP)fI+EVabfQ`9Tin zaj2--8huMCzk^~;i|7L^f!|wJFl_Hm?AQHuBZo%g1tDhV zxT9nSm;2|Y8xnI3O!ELRxo%a9JA2d@x|gwK7`7n=XgC=MX9q*y{>p530tA<-lRzB< z#Drk|ZD8Tv%`XNx+sl3-S4b}bhhNWpEZ&~;uEb6;>TH4D-4|rJkHjgA+q{Avh|5F8 z%q~%1Z5*)vK#7ln93>mn=`X|rQhV>3VAZp+CEH?OM^-bHL`$42$gEPvc&vQkypd5a zb;e2g_axY@MvuWv^}$WTGo$Xo>AXD{T~5J`V2vl_60QLLhIiG>Xkt;fZM3Yd$>&0z zrC^>h=fBE~QPPh_nD=3F|E^+Q$>@gSq2f^3C@W-4=p~E2R%dk`QytD;PURj5(P~O% z667%I88nA~w~I0qE=+Dzb967CQ};t_5f2xTozEPxkMEM@53K$}rgTCx#4h;I*gA^L z8vyQL5S28FU7miml8=!OEz6a~<4q=FzCWXw8^LoLE+r?AAi0?Q&}G*dei6Gbrb{)8 z823>dh)AL2=3~mMt;6$>#;rY`5{G;OhOQ-%qqTcxx@93ddhSE$5)TCIHUauLBm4DS zt`~4X+KJ>%_Ey~az`SSn&{Q`73S6YVP@F>kak)qXkN+e1;YEzzA31&k zDc2zchljDJ(~ZitH}T%o6sG+o-1Q}~O@b_#N=Biu&g`l>=o-= zeG_k7oPgU<(7oLQpIJtJb^`uA&!KPEK593Dq|3n6wGqtcbriey;pM$8w5=cEN@*FF zF3({o=0lk5;7WQ5>4F#az9(f=GG$o^Ri_CUE@|Uh-uHc5%cM#9-h{^4o&Mwk+{MecBLsRB3dO3rv7RBJx!`K#d zA$#F%jMQ_uF_yxfLt@AK>KqIlR&HYxq0QwP9b|TbMZU4*u}%_i*D&I}o62v|h?$Zg!qj?+`xo!fy2I zlSrNU4u1Qsuj9S;ZiK8Lx{9+ndC5ZW=U>2J(hDs$iW}cMfj@ogUEFx4195K+!D<1^ za|@Uz0lMeeE*xxcMet9~;s@`Y#OUrMTKYU_q3=%mjWJB8^61s)pif-F$+;Bv(f2{| zxb8gU5NXk583fzOyk$En%4ODcF*CrdAVd3*a>Wqq*@^vMeh$N7546G=9Dn-*yniu| z!mgjjSDy)@c^?#dYOdj1uXk_pm+a%9Qyoz3K~%PX8o%~R5K}+=|KYtWr|{0WfnA4sv8PUB-&`6Cbgx+qhVkovZx3#K`>$~N z)CjH@Phs+B_rhBn!&SN$y!pMenCkm!{QQ@9OnhgZF-jQ74{SAC-zZag#w{Z6T6Zp~BgBaS?3DrN2+|+q||E=pVp7}DKdMSxm{sKnd{WiY; z?%TNfMKKsfu2p&6wcRo0e(MzWh49BHNT&tFl zPc0(5IExZFg-oN~EP!~Yj;zi44s~V@h3O6~rIO@8$>9BT30Fx_cL&Ikv|_E1Ky9Re z+!>55J%v5)Nlef-uav4J5~ES4Z|z1j*yU?D@ve=@(P8}NZyv_4{pM3pOj|~?d%`Nl z|LvdSt*hhsU@nJcV+w!#{eJj9)r)%;DW zJ!p-$f?=3X2Jy@{NqEZTayWME7#0>5WF)%B<3W3SyNp7A90YV($JytFyCs0s*c2*} zFzO^iE>9SU9CCwhX|ha@>I=ZPa~C4VreL&cSR%W(HkL-;&K5)?KIm$5CZc1DTGkBG zv$OclzdeOF^@deQBB1K=qV1_)#nARvbbDs8wCE)ZtrxvJd(qz?M;i%|sEpy-X$78F zdeAjAfPpTN);W#IKUsh^m%(yh2YOqh|K3XOSwUhRz zQpe7!iGVhRkv06p;_ z`f4I0l?Q&^aqDjWAR!y2Vu3{KX(;v+h?C$P3yE@2H!n!Suu;b1JKw~Kt641h_u}QR zyoSB|W2gmhU~>8mT)cE1KRG#z!!4GWIShX^hRD9d*u85fZ1pM@r$-PTSwi2gr?GvP zAIZ=p0!vq5ow$LS3I8S5j9a6 zAl`=lBTu6H>)*lLdp z72CJPX{57E<3|tNeM9Kle-KA@?m(-%jF}(NevZv!s@9DcUOs@`+uU@RuE0&>$v;2+ z2990-yXfqRB1GS#u&9adYe8FQ0{-f0OkcQ&Gjo1?`p|Cd+0%x;qKTri8~^*eZ{ot( z^N2)Saad%6@Oj|b`veB|J%Oi&wjr*Uas5x;#n?EB>(Om^@|6P^9@5d7-G!0)<2Z5Y zD2`qI1q{&mPL%obN8{+)djtn|cOZEEeY*FgF_F!qY}Zkmxs0omH*ku!z59iiF}$w@ zt*-4DF6XiPwIcj6x|ZI*fblCgNOX_lbF{79-5MeZx>saI@r^TY;MB;M(b`!AXneW2 zNY~TJG1NY{8{G$o@Z__vqn&RRrO{sZL!#Vfk(KI~ zH!W}7+SJNo_U#(m8gqam)+!nxJFbPd@|rIEUFrB|U=kZ+#!{ymb`s7m|4D zSN}OavonM}9bRZEOXv*4Fq;(?&>u2xUB|&a!)R}9A>qP94%9~7ANy9PlvA@7jardF zZ)ZEEdKPhcWCBa+EUuqDDhJ!9NJm(&!Vn&k6-(<54{MQna^XD2j*jEsU!u!ldKpV1 z)BE{6IfG8(TfQ1@j4zP5k|syZ9RB2YFT+!s!(!Gz&J08M4xlZjqcAm!^xO>cV`R_I(f-wutu5hq#?M2Uo=2`iM!r=<==fXspKs_Wr*g<->#$t`=zC*G1S%*m z6fkzNf=bTkL~MxYbGtcXp_vz8^=R47$zFf%KjaiL48w@$!%}7u^VxZrJ`*mR1OP*W zmptI5WC?Fw`Vrl?7f>^6ST>g7?$+r!VL+{`u&NevdAfI1(wI%nq9f6PL?j_IcQ6d| zU~$Us(D!#~2_qvTn3xxNg;t|3Eq za@ya8y;=d6)W!ruks(7*B2hhoOu@i%$%E2t2X;Q^LC~#8@v~V&QAEe8N)oY-B(^`d z8#^LiSsPuJ+@WI{ZtFqJXTwtwJrFs`eQ>*+Qbo3mv?cqkoWj@}e~OFm`|!4hgf_E? z{IU=2fe>PaR&=@=1$~4)Yt@DO%vtA$e~Jr7SJzpZ_MxvchFGx`9hwmLeKMuHCf1h* zKH16D3?@h4!Sa=pI8S!6Sg)8NF*DMKNY=zQSs2+(*MplxHbqXjwS>)0`zun@%XIYA z2O|)s{SKnV>qJ=#yVM)7;U>G(6t$bHbbX!qG0t2)fe!-Cb_yvEys=(HGQiI6Z8-F5 znuPlq9RH)=#{0Bax;u%k-TScXi9Lu)g?aObh>7dTuCU)F zC(_EPzACk$3NcztzI93zh!QHj{jGFyjJe(Im%rKg|3 z-gY+>Lqw+2SkOzq(@PV5F{xjb3SDDKMg4cf#Kl59k#rBRU+FdN6GYs>% zV2RtceD=!c*A}_`$wx8$)I2(d_OxP8n;U~6=lNpS3@lD%aB;GPqq7D~vIoM65Vm!A z@N|!c-1S9#>qZ?VvNNK|0JiN+;*|vXOlh4TL78aM!X)PhVJAWA{TJu z=dBA^(yq3IUE|b1m3Es<9&445o4$gHNee~aGx*ZqehE(xM9@n1yvoj8hGCdZ4GZWG z8R58zhRHeNCZ~!_fA`^u*6o%5L8kWfi5hf1XEs}3QzE4~ zm0x6WQSM=YYdcfs<)B{(SVAn3nOJVSZ+4?EaGt?RV}g`zH!{yO-V^7f+1}dcxp>Bk zf%+|(UYN~@IJcs-f)LP!U@p?Q3q(YECXFIXxFdBREOhBwrLE+JT! z8}|Zb{WQ$RTPyo**A23T$wqD5KjiMx{Yb>M3WuPo(01Y^+I1xm^Eulw`$#|!C(#)Y zjy?}Ut$pY)eHgYv$kR1y<#VVNmN7c9fc9_)qWTs{G2IZEL-9EMI*UTFLN8(KL)z?e z@&TMl2xwdr;?+pT1>y9!N#GSiuSxf1kFLx6{;f3gO0Bu)H@2^=orutwFH$h>13^SQ3#hD&g&Y5u-$OCc zAc&T}Z5T)f5!1zYxQ^{L6>SH)v8}~TW41;g*F00vJYT8@{!kq4JBG14M#8>T!)`HY zododCK|km#AScZq9MA!xn1C3HHKjx7i1RB z=9p(Iq;R*L=dX*N%RK{8?C#LfM$f$bVh!{3%=7r%NG5_97FjH{BHo!Ie+kKyO_t( zA6$g@$aeH6LI|vk=S|egi&(fZiqUg7FhTaYFWiIn-Y)Fi(}F-@4CmfCg-aKgF;WUc zy*7sfJNCiW_+id4471r`0sTI(QF}#1o(r*77+BWFm~N*?XNo4BH9|nIiimUEgY#cR zs#I;%#WXv$;V`LJ$$8@#Wm+STp-n<_u^<*Ahkh`Ea9a|C{T|fkuj2hHix{7;pjgL; z4EB|VbE1Y4IjD*^?W(5gBDTSqk!cBcXBAaisAxIPMU5O1mbhY7Cl$L|ts!H{gzb)V zh(0P;ODhf&QSn@@*O0H11A-hEN{s~ibP89eYM7ZzVSXWvrA&pKvO?@|NiUNSlFUjS z)p}7zPsm^-F?m37>iaovlsXD!v7@HrG!g%+RFSoHd2Hh3oDH;hVt?F3{>Bv&q{eY2 zn@6RQT3%^-8yoqlY{gzbGlErehG9MiLTDQy@%;Sg8H_KE)6mXzoVg^RTco!Mhi|AY zgi3(~C>K39e9kOr)ul@DMGU}opAeWdTphnGYnbY8H}-Gek61VkukMxY-5d10s4iid z?zi)F-_6vTbGa4xVN^Z1v>asjZ zao#|zJ3-H67hE5+GqznsZf-%Q*j=vHVYlueCwTy!F+aTPqR1SjUL2FDSreMij|eRj zBxkxjP8kcuiVN}fD1u4~Q=_x=UJ*rO)sv(IlO*=EVmmG4cXNc=RzRd~pPrt^)YKH} zBJ)jyd_IrS(NUSwy|c3uJ`(zrtvqW&Dpw@tk`Ng8WH33I!IH-dgj?zUv?N7s$5bL2 zSn;Bx%Z=rwJhD|kYOUK4^5{Z~y49Dc&^^!Pg+CHOl*Bs`5vy2hL^?57vN?-pMYI$D z7xtwe{vbKe28WU8Zp9$kc&=iazUSmLi-ZyP(f7Evc1{Us-~6;r z))BwgPMj4H=^kGYaT0UgyLR9}M+jP_fC7p8buv^(Q_ao=8hIop>aYwRf0E8!W3skuR5!Q9S5qr)Q>HZ)BFh>f|ST z_4-;pZ>v|$8bw};^-FW2d{hWka;jHSb4bC1P$UT5NFg;hfw5Et&+prV!NE3k6m!Vc z#P+;!({tRVDXSAY8kw(}!;F<{O`~(?iDLV<7HHRQV6u=ynjG{UN7@h|r~a+az{dB2 z#$tN!Q+VpdUD(?jCgE9(m2`w#+MVnVW(DQ-t28#KK=b?I@dgo&#L;u;RlK?_h>%i7 zwNSuvQA5YJFrp-sFRonMjc=6OLxOY=K35f8`=7;AL+#iWru{80V>atTVxSWde-Y|J z^Dx^h-(Rs^Js5_#jl_e!=y~#0e0Detlu{^^Xk1&<(N5cSFRCjOQtVr2Im^j@zE}dm zKnP*vkt2JmPGd}yzEhQ=s9R58=x7oq-Dljs2tolHJ%?Yzi#>j{XeHE2MWkpS6a5jo z&P`tEgZu}zFK zPg8|A=)=BUG3@kKk)9~v%=H2;msB!s!+37kkDhK7T>;?STuwf}U2Y9QzXlo(%1lWS zdN%iU`>{7{Vd7i?SLdpj%$ZopbiPHzb3x+~{?K+w*lvbtp^zzI^x`b`?e0Zq0`Q}e zhlgyx{K8dSIr%Q$duJADzj)@)qo2lWw!3kgS%UCLnM=o|R|98+afSGi`8LsoP*U3ZJCx{ zS@9A&HO!rA>rQl_NWbs33MOJy*3<|O`d>;fwJMdV5q6l!#AG}TGrsHiJeVZ$xs zggSiGWyD4o!!S1?oZ~g4hGQ4s$3kTuY8+?@CCFLqZrsD2`;{o8LQ* za|;F3RaHI%cD(Wnc=GeVf`9mW0C6`SAhs0G&3XzS{Kx+XzVVZ57`MV0{@j<4zutnc z{7M`;iA*6L?6M$?|&2D{QYm?yVF^iKlLy1kH4@VUq0MN zj*~Sl3CF%!KyCS5{QmD2F!am;?0d2wL#-sjEWL~Gf4hPV+VR5YcVnma9{%e8{A2v^ z=v7?LmSKoV4??`y|F^LJ+1K$ee)$NtCGO?CFpmmy;v|V>6B83sJQqT`jFxQJUqVb5 zugjM&BNzf&sK)VPTNHlfL%eYE5K=qgHpGILQ7l$5HCKn( zO8cA}!}yg2oH}2{(9ax%FIhrPM3&dZc3PoNT*m1eHkJ{?i>(p(r{BYmE>gb}op|=h z5IV?vSV?)|oi|V|S5SY*H7f5LbRFrjF8E!~V_Al}u17IhTaikQ%nL`=DX;^YtUwZ8_Q{ncNp*jj!GJruTG)- zObF%DWlUZ=hd=tmqi}ucpWw@hcGA%o5wU0FK1QQ4L^E`~oI8rI9aZq@f7Ati=^Sz+ zXYg;nc@5is_Fv!^4<*p+&Oljchwhq1wQ9)>K@7t%j}6VqPgdhDzS;d=;#n>xaCzK_ zCW3gfQ-d{&PEWY(Y4&xOYxw`F4VBBKeYOmB5k~C8UucX9u!WayjT&i^wc50EFP$D+nNeQnuok>bFQJ>`) z?W)s{X1YSLO<~Y0jl6(%Bkg?ifXMglIxN*m#fnTFli3_<^beNf0CGvwOI;TMvi_jn zazO6*5yLP{GxhWQ@;v4;v#7ah@P)jHC!DD9rZ6OzvkVkU1$kTX=pOhyUZ{=xS-Dik z!t5eS*%D%%F*$IA%O>&UP1Magp5A=~Lp?)qyYEdzx9e%7j1EMGzKmb{)t%VY9fD$v zVf5GnCjaB_IXL` zfLSK$h9UP?YCA4BbRmQbXGARnbNM*lo$N;6D=*;L;eH(0I|Q4Aj-=-_i6KikKMoAn zoNe25yhJ}ttC{ZIB_sJY_2#tcwoI>^{@`19VS@%EG3(DrN>e9k;GW)sp((=G&ZQTtrl4{K;fubw-14jmmGvUHD#8s2i) zt6o4S5LbbxtyM;R_&ou%#_9WKH>WfLH`o@4?6m*I%QZ)5b*`}qCiqNEYs|EfX6hj-!-3F@7Gk28qe z^g5pk)g6N;7Qj#cU;lH2{`8v|eg72x$D>}E?W&%df_vau3?BI$Ufmf%EcgZd)Xzl` zedjbeOMe^xp!-=o`D_r;3XbI}@cJ73opT**G8R?XYUi%}q zN!PaRa=|-%0K?%cSc-&DY2S-OT|NZeG9lTWR~OGP>-HtbR(8o=^OxKyFG9U9;-y#W z^j&xpfAIDH4*&dH^yI3MlR4Ufz*B!4dlNc*PNK7wNOBtJ!4uz!-G@#5<6lbS-@NrZ z_}_nMAb=83%_91le~F>a1iAxdSm~SkBr}P55!?AieDSk7Jnvn=pa0Q+hyU!GH2SM# z;OToB?T22%o`eQ>%^7>%Zg1>HM7uk>7f-%cL@1=<|MYgYT!q4Jg z9_++G_*Ha7;!rBz!vFS1|1JK9KUd&ILGEMd>A#Jg9SO9%_oLOL;#Zev@vndPpX2h^ zRrr;%j5O@{^nZ>o9_+!6HZR;f_+uF6aiW3_%f!f~TL(;0^0T5U;%xDd{oWy2Z?gi>yyRt zZZrc>?ng$^o9!g~Hh-!mh@R#4Pm-50idas zudcni-G&&y(vE%8a!T_pYbDA_L;zW)-S}8*)a6sxr0Bnk1IAVs!!REK-O*63RY@SP zlh|vLnCwEx8-|+%9K$pk(X1rEr~#DA6}gVr;D)uGi|Q@A*7lJ+u=~4kk!^ zS5O~&17H8%DU8i!k*&Mo-ungo!VAL~NY+pqJC9R;@~3#02DsXE9lNSJ`nJ1q?L-RR z)El^ZbsERdx{&#L3;e%v0G_!^m^k?Xj^D_kXuA*_ejW#&djrm+nC%*i@JC0=MHtadDA3NJg zhBtbkT%N?`8>5(5&Z9))n#bihVwlZ^%pOsz(Y1FKi;IgW7K`%zo3sCj}kDhQiN4fbIhISM-!A7UiV>TVKhU+RGsAh9y+hi(nx$yZyTlV~0H z2)oLJRWG9K3zC%;MJIg`^mW;MY^U8&KeZc2drfm{iZ^PFuid(g+V&)n>>tLnpDm&_ z;zL+#*pDQ_1zY!G-!oCPFBMS`b(2*e;{9#tO!(n-ThPMWaro7CczaqA7ui0j)xd4m zX&q`uYkYN`XFuD9*dVP#PFBTsvN(Ao+t5EuVz+-8X>ng50WjF!i9}}vK8^O9*4y?( z8C}#~izvq-@$h!4LW1$OoXk<2K_ z%b64^0-d{YpdE<13>dl_{_Rg-M`w)I3n8@cHGJk5edy0AGBb%sL|KQU*h&5F+|z-c z_5dR05q$O6Bd~XNV_O$}hy2?y`0B6Ymv^+I=RhwBxSEss%SVF0hn`iTD9pAlw0Rw8 z@%l+w^c?fFqIcg5c7HOj?qhe@ji4(IyXOE7 zyrkimeY0{>j5w64CxGDgr?In@zKcE$DnHj5hIx!wN#VW)GTexL5GJWc;;Gw1&mkJ8 z*Q+#UuiB1}P%J|>UcG9fX4v#BCtH)ovRd7l2x*hO=L-eo#ImT5o*@MlVULY+(}uli ze&|-gN$$E*c;+E>0@5)pve79kwa-Pzs;Fcakjm5eEfzpB=7Wpud0(J~&e0-T^*I!4 ziWK0L#-v;k2%vB<6vHsgmVgEH4YE<;xJFK`OV`FwD3#?y`s1YK6t&4m#-@?U6&iNb zC;ezv?u&4~meu%~_3z%iOmknGy18=Owr=;nW5hIl63zL5%15+tyZuzwrV?%ZTxaab z6u^!A^UVnNhc%m$VVEt8B`57PGJ#l*KrYfgSF2SL1q`?}8hq0rTqOZS+=4_Ja4|rw zRLZE6$X+UyP@v~Xs51bUaA1p~nOwYrfpTwEVK6F0+BnGyTz!q^!kz&oltB0j9fh#AgDCDo<8i^71(rH|r zio@OB)tFEw>eQ2v76>C8iy;;#0li*Dlmz^Ur-G%r*_aTf}&4w69E(sJ8n znnHOpnUuo$Rz##syfKwQs+@;m=TN$o!h&6wjz&}q$QNcYYty~TG@+$RuAbr=ZW1nr3VQCS?$ z0eHgg_}l>C3wmffVuQ{oM~`pEj)O^TOL|Dm)!+^#5Txr@rw59sWe~exjG?<~$ce%V z_0db`?m(>uodj{QyhjP*xzF`e!x8wz->MHCPkauq?9%D{dElyNP@EsbyXP)prW8P+ zqYE9odJv^;xNcLzOVi^>^!RX)_G7m@j1cX>t!dsxU+6mZcH-dYK8L!f2k!N)3hnfn zFVTzcPzyfSA?y!J_FW^O@3s;qA+YTtVTA$Wa$ z+AbaS&;SPZb)sX3_-=;jzN{iS_#^_IH4IvAgv7)YaZdL#T1YJa0_{&T(~YXqK19SMJr>Uy zhIzbbW-oD)^VsWxVm2dAVxmSCvqreMY1)lo8s~lSyRd()h9>S*i*#%&VJqrkdd_Am zD3VQLxxMJ?^&&b_LxDc8HxJkrLmrn$;oRG}O_f%9=G!7*fu8#|J+I|VLq%q!b&*Y> zD;AA48WTVo*`l`4TxW)1n8zL#&^OGz)*W{ory@n{4}N@1I>ux>ALl8n2mz#qB8l&Y zD3Y_uv2SZB-!7e=vLdvvD{fN3b!izrn}Qe@Z=xhuH*<1_fy4@~HOHwjZDq_;hf@UG9{KMnez6i?vN zBXThK8^m-6#Acj1_uwfVq4$} zeQsgz%iExa`>==rKL4rx=qmjX$8!eG2cE_+er^vr`>)~M-=9VC!WhP$+lC<$&>Pj` zo&S?~;u(Au!xLY_#PJ{DcmMJr{)>O|W$fyWpgly-c9C{oRc}fCj=7)U-4hus15Vof zY99IUOL*opyI?hi2^pns%4dAtr~}3#mKK1;nF#!3H;}Gy-zTy$pA5q06A|V6_wSdl zyIsdcqOJIjDqHBpi~GwPZ@-I$`FT0{$3a;Uku0k*O;mI2xAw3LukDK9`zH*<542-A z5tGrOGK%}AwiOcbNTY@*YJo-;qT3?MG`MsGy>LoJtec!71X4G=%9?uVvebh!c}a-P z!3Z2@*-C2b+pHtAeqeQ-=*{a0$O-4AdyGGb(8{(f8Ods`*&k(1CMZQCQQI%J<@8J7{5D7fxTKZ&RGTKk^nr$+r~ z6$_dr6x2rgTJaf)z@cO-T02PK)z^O46)C>@6K%4@!JTm<(Yme&&?2qQ_n=-uVd6TL z&VCdB;SWwBl^Vdl&kx|aXZjHExNh@I5yCh<=K|st#)m@|h(OL>p ze6icEEd+RxI@J@n`4boE?-8`LMR2F>iU(q()qnf#k{BNdi`VVfR`dX!A9{t>v?zph z|1BM)=e3SRM-X>tN!FHkX(DZJ6n8{%_NTog0)}Cj$DT&?xttVkZT_*1ZLOC7Smy^^ z5zL*kAuAIG(D=P!T*=6FzlG7G8JL|Bv~CaLz+e!aZ{#pVpQjtmZM7j_Gy442?4S>U zo3oSBb6X?3+3U*5iSCZjZ_>|-3|c4_cudYP46~JC0sSE(oS?G{OAW*6<34doKvq=w zx?>pjmgG@aqi@qcHl`Scd5{Rv#4=zS^fE0Zqb&%LFe1{rizqFPUgCYolN5JgIp{ZP2Ev{&LcS1mZDZzw9e)D*KJy%Y{^h;c*BgdnjNs(o zoW})G%lpdnNVqTJ+NpQ&jXytw{5RZ)lB2$oo`b9BDQvUn@H1T&)Rqpk@7ROA2M^-O zt|G>V{zojSDaFYLsQy*(Ic@xfg94*udzH*69QG?Ds`#1w1dukjau@o(_|{eL+kyXLAR zIQ+BN`}EJ^KYy|pF>Ujg34ELpY5x3vzZAopuiN1`;hYIFLTuhj>DvV^mxix=`O8u~ zzne@FmGz4H3I-FMI_g`z;yG(;j1`SZRbQtWU4 zG@k5u7XSX`GTgClBtsr@)INX#gv$+I$3C=&JMqtlDl+>*BpyLD7NGAD4_O$7VVF;l zh96T#W1HAA0&d>B%w*I|Arv*AZJ%VHXUUc|`HL5KVf~5_cn5ui^4&1qBjl zlk}NUtz-GhGJZH!r*_;p5cJ`N{W1L9i&=c*auun$Ivxd$`FM%k4rN~ z%PDLVKsY*p-o8_~n9JZh@9o3>r-9t$2qyDYTxs8npGnZN6Dw8O7=~e(Ed&eb8>H#f z+z9GM^R%(2gJBrvvBk;w=7?(|l6-b?mc((7BecOuADXt)DCP??(}zJKd!<^H(S|}S zuhhyidNDJXMKEc??e#ztu@3YM4q?}}C}6fh8Jj>b za|&0|MHGT2s)-$FePt(p;lLmU;vO0G=T7#bwWk+R&n#4tD@~JyF=$*(Vxx!lPj%{u z+m?aa6JN#`o}hI}Bv1OCboHVBL)bQuL{z7J&zrJMS$DjV`&=9!OGbbSQPM|h9iK@WcSPyPp7PiNpCehN?i9WUsR;^u6(iibpeI<^Dbw_~{7k6P#~+D})JQM8p& zw-Von1Ft@VFYZo~*s+AS{?8vnZSTU+o^B+fI*aF<963>izK?ekP2RLMx0-k^5c{7< zB<_0OL`=6zUlS2vtCE=M96okcF&`f>29puxB&2`T_1DY*@jwt0qTTeI)O_gjTTomc z=$dlNbK|~k%j1VfccafQLj5$jbdjQ5uva6uH~Yg#PHHp_)Qc6Q=Ce4P zjiA3Xis6)r`QylA zItF7HT23LIuHi;y)$-jc&u-hcR}+gq1iM}(yGxXLTbx|RpZ(jn@ujakiCsN$#2U5G zJ<%5Q?A?jfnQOTIhyPFfx8Eh7i5-I8K8R2M%ptV6Y@`$(kuVIyY(-c=-yruRP0LnF z!^toV!+g>>DS%DGl2PO3a)}1**2?Hj3`Og85}1W(E|Ui<&=gGy2O{FGTq=t~Z75~S zGD_X$amk2KqfkdYkU%sTg-dg-MB&{Ns;Ix~ftQ4M@lwnJT$Z043o!)!GH{@E|jC4(VzRv`er>SezKVDorPWEG{S0-&vx*tS^j2IZI;uFm~+j#EwWE zb0^?CeIZauQe0{TNHjSMb5r zS$z3WCwx8Lp(Dx&(98Gnz6$q*LeF&Z@_z!`Vi<;D zn2*A?n-jwAEs+Xa>`T2;MS4lWv2$rCeO@Gb<9OBQ#b8y1FYL#5Uk%yGGR}0SMh=6KKisnKbR~yeIWu@?%qBd%qH{KVeKWx)RwOo|~ zx?vhH>n2K>5;@gL9Hs%INAbvYDzz#~B+3iNzFWUHk-;`9DCHKgI6H+2PY$X{Kj#(9 z7lzQ=8iYUEj#l?PB1>~vEL2c2Ow5m*#eB&J!?ObiNn~HmhHS6?5MkzS669kY*ikxx z++rHbg*ZCYG{#T=7-el3o|Z23L>dOq?FQr`f)!P`i~^QZ1*D4?aB)JznL-!(I(FdD z3jug5mvAvx!_`s|bf}!Zh&s9S@&=Qz${FNRi&)5n5skzV4XW@X3RfTim&oHr$66fM z^#{eN^(P$#Xw*}-){Fb1My@{;M@xGzx;k~d^3#)8{)6kd^8Oi|IoyYB@qUCfjvCxd zG}Ex(k2>aCNjScjePP+0VHk#C7-o~xs1+{jgKrhvR_u>qp`5Sa@`WY%JneY0%a5Ui z7d^C}D(z=^HjRs;S^Q{(#=fQoZ(U4;uOpkYk*hif#i-Y@oG#v!pDOm8r?#;V;DOl1_n(Rf;>iN7>3z0uz=1m48t&+95GW}M2{=Bik5h*Ofy@p zR;5rU>b3fPekqoV0jY>6k42-Ho0-Sr^di#Pj7UZfPuL@c_NJ(3kcj>6<#%ym>;iUl z58MilA=ERJOOP@e6kd==m)E*>Ap&fAJ^(JHGXY z%P3fG)P}x_|N6Bq^e6o!GFMT*L+6xe4F3ETXlLHUKmTuQ_;3EJm(l9|0lJU=9{z9t zK8vD=ln)N$z>BZoXI~jYTUdcxhLfvMeM$Ha{RV#J$G?dmzVS8uSO2bxve@>%zm30h zq=aBJi{JU16L_NSRrE$ZcZl|DOmbNB`$|l?5ZLKuNC$}z@!hZC(4J!`%@1=}S)3GGJ+o4eC!KIaE7=~dOhGCco zjVvu@Ig#ktBG8VA3~|eIIsD|UD$e;-1awD`75iE()sZV3$W}%Aa2v(>6i%cwxO&D( zC7!N|h-?$pR1srGC-L81RAiR9QpH5hTs=-(<#>rn<(Bmj_l7P$F)s7_-RS9#Ipef- z18h-3$_sx~ypm|Ud3{BN%NIsuW0mh1hGCdT5caq+48t(YCZ;)4+Y&X;$@$MEX^-rd~_VeY7weOk)pWj(y%tsm`MZnnpwkAWf6rN zIV@+F@b|v*o9OH4hu7o1i=HWRAgQ;$j<5Wqy*TvcC2|ndVJnVEA8hSGw7nOdAsTEd zG}s(|9xt{G;(vL1mYfMD)My7fx_hy$Eezd$6@TaN8?fC$M3W(?dJxb5gWp0eoPZjM zBjolV{JDRKe=@XyIdU>oEEQV&PVDT8qch@#rnW+9`xO4cZ`Bb>MiGg5p{uXrpZ?c% zBs<+ub|1#!U7x~Nm3Hji*9-Ud1fJac437MCNk#;Kgz~nIZuIvgWIFbh{Szs7gKc>E zm;V`tK3l|B(lu0Rd9`y7wuh_GH5Z<#c+nZw;g-49RVc0?+-;x6Kcv2dMPK4UIv%Qg z?<>D#qOOoo-Wnm1{&oD?ZyHc&pJQ>qJTs~u!R{~qeY780#KC+L!?YhhP7k-K5H-(* z@GVl7i?q=nH+8w7DaLy|o_iAD8HQn)t;I@-8ZK$UFwA|TIbr(2W!!W!qlvqgDa2E= zaS!|dv-ci=aU|E7@YmflJvk3@&S1`YxjAU1&8y^H`E1FOgJcEYe|J9Tbhf3l&*vP@ zR`p|INJdM)EF7KI4VU%oXO8yC(G(CZd`~rEe8=3m)84p0QR1>)y82{&G5-6z zI*sWC&wk7uf`EX4fPg>&f^2Vi4MV8(*Ryk?EQ)8*au^`4sxc`!O*)i85a~PxIoGDH3GWk3fwL zc7HX}x%|AnwQ6_3Lisey-~_T{al;xgW5raxb8w_z&?vkc+xEsA+uV5LO*XbMvAw~> zb~3ST+t}E)ZR=)#->vukZvXMrR87s9^YrQN)9w%U)2+Cf!C= zezT(@m-lLJz>MYndNw(4&~aAHZ5R%#NhPS^XyisPOW``~I zdB2E|D!xncgv4*!YOI6t1#aQ-D3rr~e+6LWlY7A>=Z8invgtr(GhBbWP7!$S1Ao5fAB{b##_DiZ=;x^d zsEqqV^b`GAL84O?eQ~p1-8H`MsgZQ5qkcI^N->v~!Q%9y)`n?Q?Ur;Xo%@U2!j!+8 z|A#Q383U}n2*LOQd;SDWl@`ZtybGf`iA4?qVjW)ZE%oj~hLY^L>Cc}oO}L0wr3JU5 zEEfYJ`q;te9<1AvzHNLk3)xpTrj&*OMBD+#+{5-whV!Mwp1Rphw}v0ebZeWQ9h2OSK8KSb$SS*IXc} zn~tL5x77xC7?`$vYIizNN{X;R=HLnvWe?lsTM>%s0t1)tcnjzd{J*1A#R=FyW$E4? z3zaSX$E{thU&Rr)2<1-KUHQ`r({ONzyB-&DYMKGv6stW%b&^C?-^2Pj8&m05F)Gc@Zhmg*b5jor zX}k<`VIlwi4A^xGS^^|iVsC`>nywzU;Y7;#sHVHXw}nlHTEAAJK(*Ue(f9&>xx(<73%}G{uAE>N_Z@!yCG~*~EeHt#0a1Yi1NQd$It_4b9!--x zyJuP!baX+VUqGyTG3^bsMBc$X|7F4kiLeoE&4UG6-a|@4^6+E8ZYh6!zmz6M&ArJ zoXO{!zO-0=LO$>$T3{VcO?>w5-<&HW;qw*oHXg=yrWfp|HDg2nA?#NbcTq-#I;huUIPgSC)PA)Y$GuO zBJ}^{@c(@@Ib!VSSORetf3&)vWgh}bDvu!jp4X;R7}}B!{BbdDqdWueny);%qva+@ zaPfMEQeX*=YqGX0WG|zAiOr)jACDW(VdupOhz+CtF0iO{Da*Tn5#FkkP#8PUpml@_ev2#$dX!+NY2{l!S z53>+4qrohfgE1e@Z^+!m_PQ;?JC{K3SU(J zK)U;Ond+ckyH!vr<`LMtrGPA?YQRF&?A3?KGG$4yLi8!)p>IwGJ#UA3;KhU<4#H<~ zmc}EHjobryfx1kh$((x0L5FYu_(GKw!k59eUyr-x*?wLQ+j6X8;=?1Gmof4ZDzQb{ zn;#?nE9}ZYrgXtFiNpPB^JQh>bQ9|Yp!6s{ew{qx9A<$^r1}pX{{sx*P!2=e5))#- zs?;zZ+f-y^`Oxx=nl7oUBP?ko82hH+5W4)W;I-aPDfHz8Ww z2NX|M!>EuX zYLpU}C<$_`-aEXXlu2C+2EvM(wh?~$QbSZ2GiHH}e4BZ<=KCzB7|mZ4MeC8kR}t&wkL0;TN6lnZI)<; zxpPf#2QE20;^yH|q-oqhVnJOXW+TV=pb94(z2W+H`hq{XtHXaxh2kgF3BWL{gV6#_ zGM-~q!=QbtA^6$m0|U~ucm6KImt9(-S?~s0{|{xQ`!AJctzPuq*Vnt=cX1gUspr|F zswqQ)El?)w@TZRp|2{C87rLyVITKM+BIKbX? zNFGR2O7+zI{M^wdTp-CLWQ92$mttr9TxiGW2K@g1vwh>w%A|P;It0df`Swqd@EhJa zkTyn!EPZ&2N|R(pmpGQ8+k~~(B0s8swEQ!c{{M${xnvB;ua$)ODk|ANMo3<{wUT)( zq8f1h^Yw5AGfZ(ry=PT9&C3xHr6t)z7q9vsknnb}CQFE!yutI48p=(v!Qx)F-yN7D zf>095<5hV9x7BKgE}U;^tRgXvc}lQGaq7F;&RjGaQw7VDdemUi zNTjV41>)IQMD0Qw<=^lB7uwSGXp}+y;RP1N-tQewl4x!jW9BGL4c*VcrMxcv+OCs^cFPuL zYlD2|sAC#()|g$6eA_7*@=mbUM3at>L&yPI(DNGSEiAU#)nPa zYLl|ZO<3SN)JFT3yX2$ir^egFRTa04cXp2B=50+LXf%#Ax5wO(ETNb|*Ees#Jn=wu zE@5be@*9&#&59<9TLsP}e;i?EuV>iCPEF?jp-21fhQv|$)D6qR@=|ST6-Wfh{*J5h z6CyQiBfJ>Ch0G!N1xG9z`9OV;9I?5u>B#%IG@O@F%Xwg<9el%+hC;nFT!;+BR(9=S zRQP9OmF1wh%=NFFwE#xE9O-^ey0QM(q<`EEruqfK*E6>oh|iM}S2D)23;1Sb)=5APqsXj;^{)gAxlPTXn(kVujn6@h-Eu_`{Cg z(R5hQ{2taxl91d9wyU_tdHcxQ+rBj8rzRIYVW|~crSuxkruv&T=E%883+Z`{jnTwJ zq;_b3dT5V@DP-cKqfDMp6pSX|__wZuO2lWG4SreoQ)=UyJ!f0FmL#Ft6R zriS}SmbpOER33RHIV5jQY2Fu<5n!yu|8c5a=ql_)s!#N*ZVJK}P4#;E@-0MJ_dQaOn9xyt{7 z?+CEKJa};Db8wwx{;xDi>?V%xV2j!%86G$jh|O(5-0b(r1MqO_so?!_hZ0Sb5A)kC zxHvkeWrFDJ4JUkM8x-po^<>J2O^*-8U}T>f#N)o3Ap##FpZ7Y##BfY!dFbT^o8C8M zK!EN%H!Rr^Jj1H)26*Y@6Wl-gf&C|5e#GvMxG*EroRNRi|7&k1^SE z>V}6-4l|t)@sP(2Y3{dhJY;*727Taa?uWeN9%|U2o=SO@TA3%3p_+g}OXM&tVG1B4 z?({#7`kzM_sGA3Prqt1}lO6x#tdX4*2Hx${>2p5I^Vs zjgxIFknmyC7suhnI&k>ZZ{)-%RT*MFwTWyYU>l@;2q$P7aytjp~Ie+v{O(1*rKjUp))Cl=J|j@e<@!z6>*z{ zy^CFIJb7J{k^1Gxsv95*l1TB%>){VvHFihGT4?7o#$AAW_`FrxO7(*59O)&l1N$%H zva70xlN9@_GejaAu;H|guJ=N9-Qlz-Z=b+5WCo-|!J3(JcMok+-ZNZ$+#q*lX-1`< z+K~EhRd&Z*gAzICUusC>Sn8NEx7IRR7uD#8M{?Sx9+mT+*tbCb6zdI+1tjy~ z^^mk5_zT^!rVQLRHjwLo+YTX9nkNsM8rl?mYK9Nv+R|_Lj<0*nb*d)lLE=)ndKb*Y zNje2NWeZXp(Yl_mzc_GfHXct9(OKS&Pek_X)xCFG=HVF}**P+d`?(5r_$~!>7Y-^p z!}Ok5_bHC(S9Dly0^GCDms;-2Wi-3K*r=*Zh?ea|go-n}Go6gstbS}fn? zNgl24IsTQcCKSLU^=%1ZNe+TryXx3PO`W)*IXjh(saZ|kOq;G$GzY}}l;f}i=_Tx= zy((fyH}?@*{g1M2^FM9g3sU7UNZ%3-<@$<%8RCGP^M67f-_5 zwIo-K?$vtk3}gJ5geM2PdGCx zp$%Fq*q#>pxzmT@-ulAK#}biZgymMz7Qa<)E$$}5%VSB6oWdL)S-^xnmYV~2cm_#B z6OLihYcgA}(tDt+k44_{X$-@q&&Tx+>h>#Z2oFt#pPl`-Ey`2y3p8@Ya1fEOquU5f zOvO`vI;#Q!DW>KSQ<-a+chQs%p#hXfEZ5@X296lLZ+0?cU)WbPHYXzW4M=>K z@*s^%EfvocHh?uJd^SsqFyhbX$D6r<}};~EWDGB>4O}TuYGtT z%C?2rN5c9&Lp<0>Uw_pm<7H$&OXgZbM<6>ugbc%sPjAq3R{o*l4;)ek^Y0ZpyH|mr zr!1;$oge;&u78%=cUu(kA0N^FEm0* z2>JmyWz*pj00MkR8=An1bQ{sFgfX3ecN9HO-@xXXNK87hA$t7&l2DF$S^O6=bMEGQ zUXBCK*)eeSv&B{;x z!J?ybGO3F$cunIAO5=r*K)l0j4SCS4*6=#XiXn)SiPUQ=gr_?AVp;`eG6vOpE_zcz zxtL3qOz@L5wl+6*SN6|y^ivKj=RPTu{9E)r&8Lepg|H}(SvNaX6u)Ck&qEIDrp?T_ ztb``YW9+^XY=J?ISWhxe0OYk!Z;Pg#%^tf%($+kXh|4p@&RR`vQg6mDccNMQ1ELwT zp{KURARoU>;jCrrOrDYbkcOZpHgSgkKdVZs_}^WYV>Wzg(p{hzw)WNMHzC*@A``P} zi;Ymub@KzM%=#03UABWeI7|fcHx5pJ0L?hn11&Lp!KyU!`W5XnY41%eV^Wy3&TGeK z=i99bAnm|SjdJX~ANqrv;nf}nSJ)YQ{!K*{AAQ5|tlRXo+fv;A#pJ${#&LzV?tF_j zVB%Aa;YxNL#;*x$w#rP)pzP22EWplewPpOvPM_I3Dg(nRO1)~ggIC9)BE-%}O-ol| z7fs8DJ^1l_Lags3L9c;Nqt~c$wcj039te0uxfi&{$Z)U5Z=Yf#FCa*`E>d@)QaO*_ zYW*w}nQ7-*VGpZdwL4u-?{DlV)?abvIFRC+vKoBLY(m6Z?rJHM#?a`QmJr$`1SZPr z+kP0jo;xByYd2=?tFA{4{DBKg>|0e6M0(q_xpEqu*y+G8Yw9-H+TA6ktHIK8N4yF0 z(s2QtJhP0n8&7+&ZZNi(HmmBmUU|Kvj^-ymjI=A!T-DfhBeWMgGI$~<##^O$tSclk zd|1noPz^?>aRq-o);cV{tsv`pS%QrZTYnZX6LppQ-04=u4oMu;Ks-~-kJ!H%H+v)l z0R{-!9qsXr-?Tnjk@d7Sk*+7r`QGpBv=$WP@-i`1;=(yg;`TOr*M*HN56O`ProtBP zckN6iFgc9eC)-WIsN8=8Y+!Px^$CRH81px~ioS+@76?GWULyRhm)hj|xt*2*mPdMVe)@CdUsoSM$Db>{#5$v7=!Cs88&a>g z8>V)amMG;GjGuK!-3uS?aDuh@sPtP5Y3}+cQT#Ez+O(F{?3R|TZrIb^Td7l@ zGGq^Au!pjeAA_@BEs&2L{25knJsxty=YPUK8N20p={*BwJfW1>0_6lhE*@VlGQ~JR2Ut!S$CQ94Tg>&&a@cfZEbpqHG{qY?D|E>8 zNqGY97!%%{0io%ZRmJnVLksq2KaDgkkgAIXPM@M|x^9asg2NlxE=VZ)5J24cvE^lpZkK<_ zEz}uoKlv^pt#571sPnjvVUS^RYC$hCSr$(a&;+ye*s{kU;Pc(#Vh+CDwhI(<7@9Mx zNeB zXGZ})HAwtvispFzFfpk1l2^PYe&5!rXp9aYK_o$*H+=;oL{u74454L@S+U^*tB@@+f!XVKK-1BK(Por zxXH^cHP720j!(db?0ipeJK=cR-H|?6l3rb%>hOGc`knS?(vG&Olr)>lCrrF50Ds8u zgg;&E$grM7A^qE2&N%T^f;|# zqr}X1Ww{(8B!?Yp}m{EV!Os*sI!XstoVQO#-x4+<+q zD!uhr_7$07PSLW}EOaQ00AfQ*XQhe4qx4!FZr%_DHeY3quhOL9G3&6RXt+jo`RDO> zZmOdxMyZv1*hz&|a;8>d5p*fZuM6BH{Vh?!+2)aIiAxn?Mf+PXt!8U@V@uMi#C4;cQv)Ovo>*Rn$4%CEAh-V!g7E4X*?GV`NTt3a^7VCrpgV|(sR;%e?)_A%4vQM#x~ z;l+4>nb#2_>a|k0Ti)jh8KvDA-kEJ#FNWGiJ$=N?tz+y^V_YqP#sry9mUAonBh`P& zDrhEqJPMmKH<|Xn&5r6~2apbu?`P)aK|mi)Bu~C&apUOkMANrXqfr^;y&>b`!=rmcAiPIk?!m z=1mec@jDuI!<67{Zi!mU|U>fdrUZ2CX-(03YpDGinz<;Ei>A4;s z(GfF(-%{_!d8`2zGR%r2I1`l=>A0P{@kloh?FmC&Cpa|*v+OI$;iry=Y}kvo?Rn1n zj1s5Mz0QfS)ICo!@?b?H!4iH{{atjL+-Gr7mJ<7V>as>_(=eGyz7vE7%o$y#OWcR6=%c1NNV*$0n-<(mzrQ>ejD{=xYNgw+Uw-tXNZ z(x+bke4^;d6^Z-cSfy>{`CqjQ$8*}~B#8w99Pl6GTpD?XChkxk55SPi;T^ySiTGfz zZByIoU(bnb2OK;^{hd^CGIhcvfx$6<80%m2yk3|^R%W6ix$wUP{I5!=13mR;U6s|Q z+YbeZ#C3IXPE<{sXxRz?#w;1MQ3)uh=Yqlu)kFmNp`@vtx##;)I}K;0)y3RjDt`mG zAR*RaC2QbZ-Wcl2Wp)PEFSaEZowH|J(Uwn9Nga^L+D@>_Y)U1{t&nO9?>F-qKTzZ& z2EU%*v6bsa@DjHWo%qvS&ji_R0-4i@SPb_jw1N_Z;b&cm-KC)T-*(IaFLy7KM7CYI zSZg;dOxqS{JN!XcJ)N&G^0EV2rF%u{wYZuW?dUFbJlXQZz3-+v0~tw?JEFnsmesk& z4_<1GR@m0sTLCP0G&)O};yxE71lIz5E^Oium5B8q>%m0)i!S{u@d_r}|Z~VQk`}yP+gn|Pd84v|IqCM(wi&wRs zzPzeW3i~7mWavNKpJCqL|!bLK??!bSVkPsuYLPi*vcH!uSA z{dMZWc*|gw*Pg%5vdW<>%`D#1Hs;n2 zBX@om57_#hP`;+}TPHqm?IXhOlr zxFFr`Bp*i@I$BC;{A1pQopbs1a71t3jn1L8FB2q$M?I{%Pp~@f`Z&<0uQ)GW8t{Bw z&vIC-qbzTNnS)XCQzb(7S$3>*{gIk>7Z!|VXfdx2?T5S_#Db3lH(bJuvBjg9>7eRo zXBr1-MxEDrL)W9vNgKFIs84S^i#~7GWi|*|X~dF4q|DA=pfe)%#o_hVf;h6cogf6= zcp^m~$?c2d7FW`LtnUiH+&vh+?bkO|n?MLYhh6M+Nu_QKLNmQnU>f^elHlEW-}2vp z>3ACuBMk-{-2r;fUz`mW&Nt zmHON1e{EB@6ttkE{WqM8cyE4G@Oj3kf87k~d&0a-IlU-L<-n!x>z7KRV8hj=z!1g~ znAdJ_GYb2K7?21JU+6-|)kN~zvw4|yrEo55;A`Kv*Uk?Qv@zmld|9hGwXI0)7ezKV*-Mg&vJC{)pTSnA@9}lgBu9uMrE}R)svicXCf>D`ib5b2@ zTcw&I5f86m>kC^y{y2UK1rXdy2FPy$ZTN-ne9$DQ=q2B*A-(U1azMZ&a&&ciA?tYOYqQUmFRTR@x6Xi@!^N zCZHEi6+JKT9jG^|@k*UJax<3c+|S+k?nO#ib#dnftFW9{p)VH~Ot&^BBiS3ve}v5h z+>Q#Leq2erp6#J?rOakM&u{KWtpy<>V!5V-$3%du51}2ol|To1Kl1bCu7_IHiyEC^ zsSz3%Sz70N>-kQ|v|iGoo}6>3Kok3p#S777?#%CmOn&9NVT{`BJ5o&hnWB%V6XhZ3 zM#kZ&oa1+AyuZvVg;~UUvy=A9gc)Yas6=QU1Kai( z;nVM{#-DbkdD(S##zg!=Id{dJhL=W0x&(&Zevq5l2~Nl^;2vcj;)0ZDLS$ExWcu-h zdMYSZLslwuSJ{`I=?(+Z04q{P9~!^g1a&^ibAg~J_uyPDId*nBh2JJj0x4L76gF@* zI0eI8>%oKM5o2G|d@H!BuS7Bj=^I3n3Ap@i1ZMohha(a}0)e0gX9I@_Il~WvjE_R= zyf(IqJXiugHpp5Bdh5@LA!Wx|+@ zm1CnmXr2C@iT;>0UMZG6j10cCKm)`aw->9$ju)uY3dzk!GM~t!ROGIuwuD_LqLA)( zSNkYf;|N5x)?y;#x(4}i=bf%7;z6ZPU&Ytd8zp6`Bar6S_!6^=c+Xj<9r|hBi2j?f zVkp0g2+eX-bp@I0^9VWk4%+Fv?BQY)mdpF7^YIG}R-J&SaqmlfUOv;@3yaQk zkW+G*KpmhJoVH=Zua)PFZE%_^0(r*MR!=~?)B{olu;RNS*n(JEM*c7urGN46z~$)) zH{WNMYUrZ(qTO2M=75qALge|@_peqBX!A_;`!}Q=rWyQ5E%T`;<4o$q>Io0=|E%lK|H64mK9Z+BusA9QB#>zVJdHiD zU=55zW@v)_pz$NgeFme5icU9!JMD}@Y=VptVE(Y*NJh@feZD*nG(@OnWKW2hHf>&S zym9E(b5zV;tce;n#(BbR&Qvp?ul73*?@;v5akN8<#It@Eyu8Rf?2r9|9|K-uwD`ly zTwksE#!jWKM}PR?D<6x0MqpUzN`SxzoN*NFieVrDgL>;{z(wn1Q=DjYItZi40o8~l zuS<@S311~zG8wxWKVo2eHHSjvL2g2n30pS1r2y$`CcZ?gd$W@YT}+RkXRooy&v3od zQCzeq3C+H+iDTldKakd zc*2aIoPT8;aD2|##QlYpq0em9q^co5Q*asyM|)#hp%7^`s;z4fC;0AZpi*O#VdM?@ zM2(i{Po{(++^jF%ZZo<3_*qRLEG@J93Zs*c`ga%;bGIWCF8czR>|2PnwM8-3+93%= zPxpfXMEo9DK^gdBZ>H-}?v;q=ZahiqIpg}*x58T>)M9Q;nzM>FUN8YcyDLZOP ziekI70=H?YJ#`epsevT)i4sg+*94IR?PkU6e+C}ExZh{?Y-N~prCPzLykw2t8hU17 zGZG*79`isSYwwGx__{NMRx4F*EvjLd`V(HN&Z5Ec2d8v^yV|+pWOFdu-;>b1<|e17 z_bHMNJ~z%~4HNx1rHj#$Kkski4*n8@{wo6}{*nCtbAVDq<3@mxCqZsu%FCV-SL+;X z>r8~bdEihTEZ@B+Hpi?r<+ZQT=HurWfGueps@MsG1z|_ba@t(3%k~9@hf6Fj4gSkx zeT1_&hI<66m>Sd+snNuE-Ux|IobJT?vnmy362k~Riwze$v-o}JTI8>-0js0ld=3B# zfC_$Ey-t&|TgQ04XZUd=@=NC%8Wfsn(Nn1cSz)j=NR)HVEkPDo_}gDzBYNpZ+jvPf zHc%_^`R4>|n)g1YjN0E#r>Pqah$qkZg^`j_Z8Q6EQXVHP?TI&-x1*nngh)+mqFIA4 zSG_hJU^n0=)g`e*^HQWChZ!-FxTrD=P3>4kwFhtyWx^nd9i3)`Qdt^QROy(IZv;NZ zI8K5t=y)@V0pfCcyO(i?)pHW;rML)Ehcz}i;xED7wUv&AEv7d4@_a5HH{)1h{1_Ttrs4e zg@zh;Cd(@+YAGj7JmgMWcEN#eE!@(SdYFAI)`mh&AsV>x7~gK0cT$#M6NsGls+1Fg zSI%9Qcfw62?|EYCXe@-ZYIN)xMq>UP&L|m*DaW`sw&%-w^g}&?m|+kDgS5Zr3TApH z!HnEq7KGbn=EFFUFRryvLnNFIlhZqBcbh;YvlL8zyC1@u(-^EdU z$Xv!mPAD~HeSBEt$?qPSGV2C4|zgh8+6?;s=Iw$SmEtnIETsl&I zsq(m)^d=;*HTI*gA}Z-5xd=uljcM@kFv$~RSR?Uw?MqhbIiA#k6p`3ed@gK zmFe)Gq~wHu$;Bg`4b60s3(n$wh(~;yqCeUf*PYQzWEDrJnojs@pbOcK{eO@CLFkzNGU6{_Q?rIi@tvYtW`l$ zlE!L|IVAHoVw(;wkTIrgC5dp|AF~~QNb?)f-tGN?cD5)bN$54FSfU>LmckR{kc~A9 zMIUYOjnw7kGVVa$!0=9ki=M-pd7Pxy`400qb6E9fud)2hxh>SyDa7~~TUPb_Ptil1 zh-~54TcGvod^4Oq0L`%dO*C0rEoD4TK%c;?GDG+wL`rgxy~q^nWy?+`GNW%N2!E=s z9o0DwpoY#$yX^@zd{jG&B`gD3YJ2dkqO2guwA!Uv%;)B)(+GENgZOKyl)0@ZV1LP* zz*`@THuZQadQ6xMj9+Y_1v!9(-ONmqLID-GC!~F6R_^O;q0*3)9f8mG%i(bninDT7 zV4tgiCzc12^9byH;#M1kWXv_JaB`Z>VrCkgiEEyF@NVnIZw)^Mx@ZTKh z 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

ZztTJX$S()@S948%M!MW~j671m${;jgv^UrQ$ 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

Eb05D~`3k*{MGbN^@!Rv)2SFUrfAquV{mfZTm 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%0AbV8(ih064!_D_& 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 ULd##t@)3;c9Yoq0Z{FXfBIJm_AQIX^7m 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/quickbooks-desktop-advanced-settings.png b/docs/assets/images/quickbooks-desktop-advanced-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..181380ed767499ee1878566cd2e93666a54a5787 GIT binary patch literal 175528 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%0D7o~^hxe*{voWPX>F7fF0>Be2}u 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%0A;hW#IfB><~I=NAuw7RR4g7YLZR zp^R*b4NVQdyoffE?&>XXv^Nj~INQWv7-E!)7*k@DQ&$&i#B|v2F&`IKhCMYg(qdZX<^ zH+{wQ8<@#laO!7YPrqy95aa^LKHxOY5;E$d_&{}x2$6ps(|ur*2!vyexW1r)Q+KD?NgU z=86F@yorqs@VgxzNwGqm55keU8E?=?`6-jD^b-jZ#CK{b^>j=k*Jm6vNm2t7Mm=Mk z=1(?x%er0CVQEHdXj%FH3JBJn|CfFs<1^B$FQvUCQ#?~&#ECJC+bAjDlv=hKT?;Jv zUB;F?8*!#m<(ub^L@y7cA*ndkrOKvRa~)t7ED&h~f?(Sgym%aGK6%s5;zN`w@3Czk zDVfN_7fL2Y3Sg@T>~EtO#(wP!UkNB1gQS~}I5#ncU®>2Q`RGo2(*vJa;eRi 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