{"version":3,"file":"static/js/main.0e4b6234.js","mappings":"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","sources":["../node_modules/@babel/runtime/regenerator/index.js","../node_modules/dijkstrajs/dijkstra.js","../node_modules/encode-utf8/index.js","../node_modules/object-assign/index.js","../node_modules/qrcode/lib/browser.js","../node_modules/qrcode/lib/can-promise.js","../node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/qrcode/lib/core/byte-data.js","../node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/qrcode/lib/core/format-info.js","../node_modules/qrcode/lib/core/galois-field.js","../node_modules/qrcode/lib/core/kanji-data.js","../node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/qrcode/lib/core/mode.js","../node_modules/qrcode/lib/core/numeric-data.js","../node_modules/qrcode/lib/core/polynomial.js","../node_modules/qrcode/lib/core/qrcode.js","../node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/qrcode/lib/core/regex.js","../node_modules/qrcode/lib/core/segments.js","../node_modules/qrcode/lib/core/utils.js","../node_modules/qrcode/lib/core/version-check.js","../node_modules/qrcode/lib/core/version.js","../node_modules/qrcode/lib/renderer/canvas.js","../node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/qrcode/lib/renderer/utils.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v1.js","constants/NAV_PAGES.tsx","constants/POST_ACTIONS.tsx","constants/TABLE_NAMES.tsx","containers/Banner.tsx","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","helpers/req.ts","helpers/timeStamp.ts","requests/createWithPhone.ts","components/CopyButton.tsx","components/LoadingButton.tsx","components/PhoneNumberInput.tsx","components/QrCode.tsx","helpers/copyToClipboard.ts","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@aws-amplify/core/src/constants.ts","../node_modules/@aws-amplify/core/src/Logger/types.ts","../node_modules/@aws-amplify/core/src/Logger/ConsoleLogger.ts","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@aws-amplify/core/src/errors/AmplifyError.ts","../node_modules/@aws-amplify/core/src/Hub/index.ts","../node_modules/@aws-amplify/core/src/utils/deepFreeze.ts","../node_modules/@aws-amplify/core/src/singleton/constants.ts","../node_modules/@aws-amplify/core/src/parseAWSExports.ts","../node_modules/@aws-amplify/core/src/parseAmplifyOutputs.ts","../node_modules/@aws-amplify/core/src/utils/parseAmplifyConfig.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/index.ts","../node_modules/@aws-crypto/sha256-js/node_modules/tslib/tslib.es6.mjs","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@smithy/util-hex-encoding/dist-es/index.js","../node_modules/@aws-amplify/core/src/singleton/Amplify.ts","../node_modules/js-cookie/dist/js.cookie.mjs","../node_modules/@aws-amplify/core/src/types/errors.ts","../node_modules/@aws-amplify/core/src/storage/CookieStorage.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/utils/errorHelpers.ts","../node_modules/@aws-amplify/core/src/errors/PlatformNotSupportedError.ts","../node_modules/@aws-amplify/core/src/storage/KeyValueStorage.ts","../node_modules/@aws-amplify/core/src/storage/InMemoryStorage.ts","../node_modules/@aws-amplify/core/src/storage/DefaultStorage.ts","../node_modules/@aws-amplify/core/src/storage/utils.ts","../node_modules/@aws-amplify/core/src/storage/SessionStorage.ts","../node_modules/@aws-amplify/core/src/storage/index.ts","../node_modules/@aws-amplify/core/src/utils/globalHelpers/index.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/base64Decoder.ts","../node_modules/@aws-amplify/core/src/errors/createAssertionFunction.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/utils/index.ts","../node_modules/@aws-amplify/core/src/utils/deDupeAsyncFunction.ts","../node_modules/@aws-amplify/core/src/clients/internal/composeServiceApi.ts","../node_modules/@aws-amplify/core/src/clients/serde/responseInfo.ts","../node_modules/@aws-amplify/core/src/clients/serde/json.ts","../node_modules/@aws-amplify/auth/src/errors/AuthError.ts","../node_modules/@aws-amplify/auth/src/errors/utils/assertServiceError.ts","../node_modules/@aws-amplify/core/src/clients/endpoints/partitions.ts","../node_modules/@aws-amplify/core/src/clients/endpoints/getDnsSuffix.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/middleware.ts","../node_modules/@aws-amplify/core/src/clients/middleware/userAgent/middleware.ts","../node_modules/@aws-amplify/core/src/clients/internal/composeTransferHandler.ts","../node_modules/@aws-amplify/core/src/clients/utils/memoization.ts","../node_modules/@aws-amplify/core/src/clients/handlers/fetch.ts","../node_modules/@aws-amplify/core/src/clients/handlers/unauthenticated.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/isClockSkewError.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/defaultRetryDecider.ts","../node_modules/@aws-amplify/core/src/utils/retry/constants.ts","../node_modules/@aws-amplify/core/src/utils/retry/jitteredBackoff.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/jitteredBackoff.ts","../node_modules/@aws-amplify/core/src/Platform/types.ts","../node_modules/@aws-amplify/core/src/utils/amplifyUrl/index.ts","../node_modules/@aws-amplify/core/src/Platform/version.ts","../node_modules/@aws-amplify/core/src/Platform/detection/helpers.ts","../node_modules/@aws-amplify/core/src/Platform/detection/index.ts","../node_modules/@aws-amplify/core/src/Platform/detectFramework.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Expo.ts","../node_modules/@aws-amplify/core/src/Platform/detection/ReactNative.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Next.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Nuxt.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Angular.ts","../node_modules/@aws-amplify/core/src/Platform/detection/React.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Vue.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Svelte.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Web.ts","../node_modules/@aws-amplify/core/src/Platform/customUserAgent.ts","../node_modules/@aws-amplify/core/src/Platform/index.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/clients/CognitoIdentityProvider/base.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/clients/CognitoIdentityProvider/index.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/clients/CognitoIdentityProvider/utils.ts","../node_modules/@aws-amplify/auth/src/errors/constants.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/userContextData.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/refreshAuthTokens.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/errorHelpers.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/TokenStore.ts","../node_modules/@aws-amplify/core/src/utils/isBrowser.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/signInWithRedirectStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/oAuthStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/inflightPromise.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/TokenOrchestrator.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/tokenProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/IdentityIdStore.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/base.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/getCredentialsForIdentity.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/getId.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/utils.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/IdentityIdProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/credentialsProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/index.ts","../node_modules/aws-amplify/src/initSingleton.ts","../node_modules/@aws-amplify/data-schema-types/src/client/symbol.ts","../node_modules/rxjs/src/internal/util/isFunction.ts","../node_modules/rxjs/src/internal/util/lift.ts","../node_modules/rxjs/node_modules/tslib/tslib.es6.mjs","../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts","../node_modules/rxjs/src/internal/util/createErrorClass.ts","../node_modules/rxjs/src/internal/util/arrRemove.ts","../node_modules/rxjs/src/internal/Subscription.ts","../node_modules/rxjs/src/internal/config.ts","../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts","../node_modules/rxjs/src/internal/util/reportUnhandledError.ts","../node_modules/rxjs/src/internal/util/noop.ts","../node_modules/rxjs/src/internal/NotificationFactories.ts","../node_modules/rxjs/src/internal/util/errorContext.ts","../node_modules/rxjs/src/internal/Subscriber.ts","../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts","../node_modules/rxjs/src/internal/operators/map.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@aws-amplify/data-schema/src/runtime/utils/resolveOwnerFields.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/stringTransformation.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/APIClient.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/utils.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/custom.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/generateCustomOperationsProperty.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/list.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/indexQuery.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/get.ts","../node_modules/rxjs/src/internal/symbol/observable.ts","../node_modules/rxjs/src/internal/util/identity.ts","../node_modules/rxjs/src/internal/util/pipe.ts","../node_modules/rxjs/src/internal/Observable.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/findIndexByFields.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/observeQuery.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/resolvePKFields.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/clientUtils.ts","../node_modules/@aws-amplify/api-graphql/src/types/index.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/utils/clientProperties/generateModelsProperty.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/subscription.ts","../node_modules/@aws-amplify/data-schema/src/runtime/addSchemaToClient.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/utils/clientProperties/generateEnumsProperty.ts","../node_modules/@aws-amplify/api-graphql/src/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.ts","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/polyfills/symbols.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/location.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/printLocation.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/error/GraphQLError.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/error/syntaxError.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/kinds.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/defineInspect.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/invariant.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/ast.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/tokenKind.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/inspect.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/devAssert.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/instanceOf.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/source.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/directiveLocation.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/blockString.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/lexer.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/parser.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/visitor.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/printer.mjs","../node_modules/rxjs/src/internal/util/isArrayLike.ts","../node_modules/rxjs/src/internal/util/isPromise.ts","../node_modules/rxjs/src/internal/util/isInteropObservable.ts","../node_modules/rxjs/src/internal/util/isAsyncIterable.ts","../node_modules/rxjs/src/internal/util/throwUnobservableError.ts","../node_modules/rxjs/src/internal/symbol/iterator.ts","../node_modules/rxjs/src/internal/util/isIterable.ts","../node_modules/rxjs/src/internal/util/isReadableStreamLike.ts","../node_modules/rxjs/src/internal/observable/innerFrom.ts","../node_modules/rxjs/src/internal/operators/catchError.ts","../node_modules/@aws-amplify/api-rest/src/errors/validation.ts","../node_modules/@aws-amplify/core/src/errors/APIError.ts","../node_modules/@aws-amplify/api-rest/src/errors/RestApiError.ts","../node_modules/@aws-amplify/api-rest/src/errors/CanceledError.ts","../node_modules/@aws-amplify/api-rest/src/utils/serviceError.ts","../node_modules/@aws-amplify/api-rest/src/utils/logger.ts","../node_modules/@aws-amplify/api-rest/src/utils/resolveApiUrl.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/constants.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/signRequest.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/getSkewCorrectedDate.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/getUpdatedSystemClockOffset.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/isClockSkewed.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/middleware.ts","../node_modules/@aws-amplify/core/src/clients/handlers/authenticated.ts","../node_modules/@aws-amplify/api-rest/src/utils/constants.ts","../node_modules/@aws-amplify/api-rest/src/utils/parseSigningInfo.ts","../node_modules/@aws-amplify/api-rest/src/utils/resolveHeaders.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/handler.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/internalPost.ts","../node_modules/@aws-amplify/api-rest/src/utils/createCancellableOperation.ts","../node_modules/@aws-amplify/core/src/singleton/apis/fetchAuthSession.ts","../node_modules/@aws-amplify/core/src/singleton/apis/internal/fetchAuthSession.ts","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/@aws-amplify/core/src/utils/amplifyUuid/index.ts","../node_modules/@aws-amplify/core/src/utils/retry/isNonRetryableError.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/bytesToString.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/base64Encoder.ts","../node_modules/@aws-amplify/core/src/utils/retry/retry.ts","../node_modules/@aws-amplify/core/src/utils/retry/jitteredExponentialRetry.ts","../node_modules/@aws-amplify/api-graphql/src/types/PubSub.ts","../node_modules/@aws-amplify/core/src/utils/retry/NonRetryableError.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/constants.ts","../node_modules/rxjs/src/internal/util/executeSchedule.ts","../node_modules/rxjs/src/internal/operators/observeOn.ts","../node_modules/rxjs/src/internal/operators/subscribeOn.ts","../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts","../node_modules/rxjs/src/internal/scheduled/scheduled.ts","../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts","../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts","../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts","../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts","../node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts","../node_modules/@aws-amplify/core/src/utils/isWebWorker.ts","../node_modules/@aws-amplify/core/src/Reachability/Reachability.ts","../node_modules/rxjs/src/internal/observable/from.ts","../node_modules/@aws-amplify/api-graphql/src/utils/ReachabilityMonitor/index.ts","../node_modules/@aws-amplify/api-graphql/src/utils/ReconnectionMonitor.ts","../node_modules/@aws-amplify/api-graphql/src/utils/ConnectionStateMonitor.ts","../node_modules/rxjs/src/internal/operators/filter.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/validation.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/AWSAppSyncRealTimeProvider/index.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/GraphQLApiError.ts","../node_modules/@aws-amplify/api-graphql/src/utils/resolveConfig.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/assertValidationError.ts","../node_modules/@aws-amplify/api-graphql/src/utils/resolveLibraryOptions.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/repackageAuthError.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/constants.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/createGraphQLResultWithError.ts","../node_modules/@aws-amplify/api-graphql/src/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.ts","../node_modules/@aws-amplify/api-graphql/src/internals/InternalGraphQLAPI.ts","../node_modules/@aws-amplify/api-graphql/src/GraphQLAPI.ts","../node_modules/@aws-amplify/api-graphql/src/internals/v6.ts","../node_modules/@aws-amplify/api-graphql/src/internals/generateClient.ts","../node_modules/@aws-amplify/api-graphql/src/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.ts","app-sync-amplify-configure.ts","../node_modules/@aws-amplify/api/src/API.ts","helpers/getVotes.ts","graphql/subscriptions.js","containers/Feedback.tsx","components/FeedbackBullets.tsx","containers/FeedbackForm.tsx","helpers/getIsFeedbackLinkInbound.ts","helpers/getIsVoteLinkInbound.ts","containers/Home.tsx","components/VoteBullets.tsx","react-keys.ts","containers/Vote/actions.ts","containers/Vote/reducer.ts","containers/Vote/Vote.tsx","graphql/mutations.js","containers/VoteForm.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"1f013cd5\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"react-typescript:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkreact_typescript\"] = self[\"webpackChunkreact_typescript\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return 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]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || unsafeStringify(b);\n}\n\nexport default v1;","export const NAV_PAGES = {\r\n HOME: 'Home',\r\n FEEDBACK: 'Feedback',\r\n VOTE: 'Vote',\r\n};\r\n","export const POST_ACTIONS = {\r\n CREATE_WITH_PHONE: 'CREATE_WITH_PHONE',\r\n SEND_FEEDBACK_TO_PHONE: 'SEND_FEEDBACK_TO_PHONE',\r\n POST_VOTE: 'POST_VOTE',\r\n};\r\n","export const TABLE_NAMES = {\r\n FEEDBACK_LINKS: 'ti-feedback-links',\r\n VOTE_LINKS: 'ti-votes',\r\n};\r\n","import React, { useContext } from 'react';\r\n\r\nimport { BackButtonContext } from '../App';\r\nimport { NAV_PAGES } from '../constants';\r\n\r\nexport default function Banner() {\r\n const { back, page } = useContext(BackButtonContext);\r\n\r\n return (\r\n
\r\n
\r\n { page !== NAV_PAGES.HOME && ← Back }\r\n { page === NAV_PAGES.HOME && }\r\n
\r\n
Toastmasters Hybrid Meeting System
\r\n
\r\n );\r\n}\r\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import QRCode from 'qrcode';\r\n\r\nexport interface reqParams {\r\n data: object;\r\n endpoint?: string;\r\n};\r\n\r\nconst RESTUrl = 'https://api.ti-manager.com/ti-manager-lambda';\r\n\r\nexport async function req({ data, endpoint = '' }: reqParams) {\r\n const response = await fetch(RESTUrl + endpoint, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Origin': 'http://localhost:3000',\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n return response.json();\r\n}\r\n\r\nexport async function getVotesPoll({ queryString }: { queryString: string }) {\r\n const response = await fetch(`${RESTUrl}?${queryString}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Origin': 'http://localhost:3000',\r\n },\r\n });\r\n return response.json();\r\n}\r\n\r\nexport async function getQrCode(canvas: HTMLCanvasElement, link: string) {\r\n QRCode.toDataURL(canvas, link);\r\n};\r\n\r\n/*\r\nrouter.post('/voteQr/:link', async (req, res, next) => {\r\n QRCode.toDataURL(`https://ti-manager.com/castVote/${req.params.link}`, function (err, qrCode) {\r\n if (err) {\r\n console.trace(err);\r\n res.json({ err, qrCode: '' });\r\n }\r\n res.json({ qrCode });\r\n });\r\n});\r\n const response = await fetch(`https://api.qr.io/v1/create`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Origin': 'http://localhost:3000',\r\n },\r\n });\r\n return response.json();\r\n*/\r\n","export const generateTimeStamp: () => number = () => {\r\n const offset = 10000;\r\n const hoursInDay = 24;\r\n const minutesInHour = 60;\r\n const secondsInMinute = 60;\r\n\r\n return Math.floor(Date.now() / 1000) + (hoursInDay*minutesInHour*secondsInMinute) + offset;\r\n};\r\n","// Helpers\r\nimport { req } from '../helpers/req';\r\n\r\n// Types\r\nimport { PhoneNumber } from '../types/PhoneNumber';\r\n\r\n// Helpers\r\nimport { generateTimeStamp } from '../helpers/timeStamp';\r\n\r\n// Constant\r\nimport { POST_ACTIONS, TABLE_NAMES } from '../constants';\r\n\r\nexport const createWithPhone = async (phone: PhoneNumber, Id: string) => {\r\n return req({\r\n data: {\r\n TableName: TABLE_NAMES.FEEDBACK_LINKS,\r\n Item: {\r\n Action: POST_ACTIONS.CREATE_WITH_PHONE,\r\n PhoneNumber: phone.areaCode + phone.firstThree + phone.lastFour,\r\n TimeStamp: generateTimeStamp(),\r\n Id,\r\n },\r\n },\r\n });\r\n};\r\n","export const CopyButton = (props: {\r\n copy: () => void,\r\n copyStatus: string\r\n}) => {\r\n const { copy, copyStatus } = props;\r\n\r\n return \r\n \r\n { copyStatus === 'Copied' && Copied! }\r\n { copyStatus === 'Failed' && Copy Failed }\r\n \r\n};\r\n","export const LoadingButton = () => {\r\n return \r\n};\r\n","import React, { useState, useRef } from 'react';\r\n\r\n// Types\r\nimport { PhoneNumber } from '../types/PhoneNumber';\r\n\r\nexport interface PhoneNumberInputPropTypes {\r\n focusNext: (phoneNumber: PhoneNumber) => void;\r\n isNumberHidden: boolean;\r\n};\r\n\r\nexport default function PhoneNumberInput(props: PhoneNumberInputPropTypes) {\r\n const { focusNext, isNumberHidden } = props;\r\n\r\n const [areaCode, setAreaCode] = useState('');\r\n const [firstThree, setFirstThree] = useState('');\r\n const [ , setLastFour] = useState('')\r\n\r\n const firstThreeRef = useRef(null);\r\n const lastFourRef = useRef(null);\r\n\r\n const nextFocus = (placement: string, digits: string) => {\r\n if (placement === 'areaCode' && digits.length === 3) return firstThreeRef && firstThreeRef.current && firstThreeRef.current.focus();\r\n if (placement === 'firstThree' && digits.length === 3) return lastFourRef && lastFourRef.current && lastFourRef.current.focus();\r\n if (placement === 'lastFour' && digits.length === 4) return focusNext && focusNext({ areaCode, firstThree, lastFour: digits });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n 1(\r\n ) => { setAreaCode(event.target.value); nextFocus('areaCode', event.target.value); }}\r\n />\r\n )\r\n ) => { setFirstThree(event.target.value); nextFocus('firstThree', event.target.value); }}\r\n />\r\n -\r\n ) => { setLastFour(event.target.value); nextFocus('lastFour', event.target.value); }}\r\n />\r\n
\r\n \r\n );\r\n}\r\n","export const QrCode = (props: { qrCodeImageUrl: string }) => {\r\n const { qrCodeImageUrl } = props;\r\n\r\n return
\r\n
For hybrid meetings:
\r\n \"QR\r\n
\r\n};\r\n","import { RefObject } from 'react';\r\n\r\nexport const copyToClipboard = (inputRef: RefObject) => {\r\n let isFailedCopy = false;\r\n let copyStatus;\r\n\r\n try { copyStatus = copy(inputRef); }\r\n catch(error) { isFailedCopy = true; }\r\n\r\n return { isFailedCopy, copyStatus };\r\n};\r\n\r\nconst copy = (inputRef: RefObject) => {\r\n const inputText = inputRef.current && inputRef.current.value;\r\n const textarea = document.createElement(\"textarea\");\r\n\r\n textarea.textContent = inputText;\r\n textarea.style.position = \"fixed\"; // Prevent scrolling to bottom of page in Microsoft Edge.\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n\r\n try {\r\n return document.execCommand(\"copy\"); // Security exception may be thrown by some browsers.\r\n } catch (ex) {\r\n console.warn(\"Copy to clipboard failed.\", ex);\r\n return false;\r\n } finally {\r\n document.body.removeChild(textarea);\r\n }\r\n}\r\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nexport const AWS_CLOUDWATCH_CATEGORY = 'Logging';\nexport const USER_AGENT_HEADER = 'x-amz-user-agent';\n// Error exception code constants\nexport const NO_HUBCALLBACK_PROVIDED_EXCEPTION = 'NoHubcallbackProvidedException';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var LogType;\n(function (LogType) {\n LogType[\"DEBUG\"] = \"DEBUG\";\n LogType[\"ERROR\"] = \"ERROR\";\n LogType[\"INFO\"] = \"INFO\";\n LogType[\"WARN\"] = \"WARN\";\n LogType[\"VERBOSE\"] = \"VERBOSE\";\n LogType[\"NONE\"] = \"NONE\";\n})(LogType || (LogType = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AWS_CLOUDWATCH_CATEGORY } from '../constants';\nimport { LogType } from './types';\nconst LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n NONE: 6,\n};\n/**\n * Write logs\n * @class Logger\n */\nexport class ConsoleLogger {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n constructor(name, level = LogType.WARN) {\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n _padding(n) {\n return n < 10 ? '0' + n : '' + n;\n }\n _ts() {\n const dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n }\n configure(config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n }\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LogType|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n _log(type, ...msg) {\n let loggerLevelName = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n loggerLevelName = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n loggerLevelName = window.LOG_LEVEL;\n }\n const loggerLevel = LOG_LEVELS[loggerLevelName];\n const typeLevel = LOG_LEVELS[type];\n if (!(typeLevel >= loggerLevel)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n let log = console.log.bind(console);\n if (type === LogType.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LogType.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n if (ConsoleLogger.BIND_ALL_LOG_LEVELS) {\n if (type === LogType.INFO && console.info) {\n log = console.info.bind(console);\n }\n if (type === LogType.DEBUG && console.debug) {\n log = console.debug.bind(console);\n }\n }\n const prefix = `[${type}] ${this._ts()} ${this.name}`;\n let message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = `${prefix} - ${msg[0]}`;\n log(message);\n }\n else if (msg.length === 1) {\n message = `${prefix} ${msg[0]}`;\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n let obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = `${prefix} - ${msg[0]} ${obj}`;\n log(`${prefix} - ${msg[0]}`, obj);\n }\n else {\n message = `${prefix} ${msg}`;\n log(prefix, msg);\n }\n for (const plugin of this._pluggables) {\n const logEvent = { message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n log(...msg) {\n this._log(LogType.INFO, ...msg);\n }\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n info(...msg) {\n this._log(LogType.INFO, ...msg);\n }\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n warn(...msg) {\n this._log(LogType.WARN, ...msg);\n }\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n error(...msg) {\n this._log(LogType.ERROR, ...msg);\n }\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n debug(...msg) {\n this._log(LogType.DEBUG, ...msg);\n }\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n verbose(...msg) {\n this._log(LogType.VERBOSE, ...msg);\n }\n addPluggable(pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n }\n listPluggables() {\n return this._pluggables;\n }\n}\nConsoleLogger.LOG_LEVEL = null;\nConsoleLogger.BIND_ALL_LOG_LEVELS = false;\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport class AmplifyError extends Error {\n /**\n * Constructs an AmplifyError.\n *\n * @param message text that describes the main problem.\n * @param underlyingError the underlying cause of the error.\n * @param recoverySuggestion suggestion to recover from the error.\n *\n */\n constructor({ message, name, recoverySuggestion, underlyingError, }) {\n super(message);\n this.name = name;\n this.underlyingError = underlyingError;\n this.recoverySuggestion = recoverySuggestion;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AmplifyError;\n Object.setPrototypeOf(this, AmplifyError.prototype);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '../Logger';\nimport { NO_HUBCALLBACK_PROVIDED_EXCEPTION } from '../constants';\nimport { AmplifyError } from '../errors';\nexport const AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined'\n ? Symbol('amplify_default')\n : '@@amplify_default');\nconst logger = new ConsoleLogger('Hub');\nexport class HubClass {\n constructor(name) {\n this.listeners = new Map();\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n /**\n * Used internally to remove a Hub listener.\n *\n * @remarks\n * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n */\n _remove(channel, listener) {\n const holder = this.listeners.get(channel);\n if (!holder) {\n logger.warn(`No listeners for ${channel}`);\n return;\n }\n this.listeners.set(channel, [\n ...holder.filter(({ callback }) => callback !== listener),\n ]);\n }\n dispatch(channel, payload, source, ampSymbol) {\n if (typeof channel === 'string' &&\n this.protectedChannels.indexOf(channel) > -1) {\n const hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`);\n }\n }\n const capsule = {\n channel,\n payload: { ...payload },\n source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n listen(channel, callback, listenerName = 'noname') {\n let cb;\n if (typeof callback !== 'function') {\n throw new AmplifyError({\n name: NO_HUBCALLBACK_PROVIDED_EXCEPTION,\n message: 'No callback supplied to Hub',\n });\n }\n else {\n // Needs to be casted as a more generic type\n cb = callback;\n }\n let holder = this.listeners.get(channel);\n if (!holder) {\n holder = [];\n this.listeners.set(channel, holder);\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n return () => {\n this._remove(channel, cb);\n };\n }\n _toListeners(capsule) {\n const { channel, payload } = capsule;\n const holder = this.listeners.get(channel);\n if (holder) {\n holder.forEach(listener => {\n logger.debug(`Dispatching to ${channel} with `, payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n }\n}\n/* We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events. */\nexport const Hub = new HubClass('__default__');\n/**\n * @internal\n *\n * Internal hub used for core Amplify functionality. Not intended for use outside of Amplify.\n *\n */\nexport const HubInternal = new HubClass('internal-hub');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const deepFreeze = (object) => {\n const propNames = Reflect.ownKeys(object);\n for (const name of propNames) {\n const value = object[name];\n if ((value && typeof value === 'object') || typeof value === 'function') {\n deepFreeze(value);\n }\n }\n return Object.freeze(object);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const ADD_OAUTH_LISTENER = Symbol('oauth-listener');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from './Logger';\nimport { AmplifyError } from './errors';\nconst logger = new ConsoleLogger('parseAWSExports');\nconst authTypeMapping = {\n API_KEY: 'apiKey',\n AWS_IAM: 'iam',\n AMAZON_COGNITO_USER_POOLS: 'userPool',\n OPENID_CONNECT: 'oidc',\n NONE: 'none',\n AWS_LAMBDA: 'lambda',\n // `LAMBDA` is an incorrect value that was added during the v6 rewrite.\n // Keeping it as a valid value until v7 to prevent breaking customers who might\n // be relying on it as a workaround.\n // ref: https://github.com/aws-amplify/amplify-js/pull/12922\n // TODO: @v7 remove next line\n LAMBDA: 'lambda',\n};\n/**\n * Converts the object imported from `aws-exports.js` or `amplifyconfiguration.json` files generated by\n * the Amplify CLI into an object that conforms to the {@link ResourcesConfig}.\n *\n * @param config A configuration object imported from `aws-exports.js` or `amplifyconfiguration.json`.\n *\n * @returns An object that conforms to the {@link ResourcesConfig} .\n */\nexport const parseAWSExports = (config = {}) => {\n if (!Object.prototype.hasOwnProperty.call(config, 'aws_project_region')) {\n throw new AmplifyError({\n name: 'InvalidParameterException',\n message: 'Invalid config parameter.',\n recoverySuggestion: 'Ensure passing the config object imported from `amplifyconfiguration.json`.',\n });\n }\n const { aws_appsync_apiKey, aws_appsync_authenticationType, aws_appsync_graphqlEndpoint, aws_appsync_region, aws_bots_config, aws_cognito_identity_pool_id, aws_cognito_sign_up_verification_method, aws_cognito_mfa_configuration, aws_cognito_mfa_types, aws_cognito_password_protection_settings, aws_cognito_verification_mechanisms, aws_cognito_signup_attributes, aws_cognito_social_providers, aws_cognito_username_attributes, aws_mandatory_sign_in, aws_mobile_analytics_app_id, aws_mobile_analytics_app_region, aws_user_files_s3_bucket, aws_user_files_s3_bucket_region, aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing, aws_user_pools_id, aws_user_pools_web_client_id, geo, oauth, predictions, aws_cloud_logic_custom, Notifications, modelIntrospection, } = config;\n const amplifyConfig = {};\n // Analytics\n if (aws_mobile_analytics_app_id) {\n amplifyConfig.Analytics = {\n Pinpoint: {\n appId: aws_mobile_analytics_app_id,\n region: aws_mobile_analytics_app_region,\n },\n };\n }\n // Notifications\n const { InAppMessaging, Push } = Notifications ?? {};\n if (InAppMessaging?.AWSPinpoint || Push?.AWSPinpoint) {\n if (InAppMessaging?.AWSPinpoint) {\n const { appId, region } = InAppMessaging.AWSPinpoint;\n amplifyConfig.Notifications = {\n InAppMessaging: {\n Pinpoint: {\n appId,\n region,\n },\n },\n };\n }\n if (Push?.AWSPinpoint) {\n const { appId, region } = Push.AWSPinpoint;\n amplifyConfig.Notifications = {\n ...amplifyConfig.Notifications,\n PushNotification: {\n Pinpoint: {\n appId,\n region,\n },\n },\n };\n }\n }\n // Interactions\n if (Array.isArray(aws_bots_config)) {\n amplifyConfig.Interactions = {\n LexV1: Object.fromEntries(aws_bots_config.map(bot => [bot.name, bot])),\n };\n }\n // API\n if (aws_appsync_graphqlEndpoint) {\n const defaultAuthMode = authTypeMapping[aws_appsync_authenticationType];\n if (!defaultAuthMode) {\n logger.debug(`Invalid authentication type ${aws_appsync_authenticationType}. Falling back to IAM.`);\n }\n amplifyConfig.API = {\n GraphQL: {\n endpoint: aws_appsync_graphqlEndpoint,\n apiKey: aws_appsync_apiKey,\n region: aws_appsync_region,\n defaultAuthMode: defaultAuthMode ?? 'iam',\n },\n };\n if (modelIntrospection) {\n amplifyConfig.API.GraphQL.modelIntrospection = modelIntrospection;\n }\n }\n // Auth\n const mfaConfig = aws_cognito_mfa_configuration\n ? {\n status: aws_cognito_mfa_configuration &&\n aws_cognito_mfa_configuration.toLowerCase(),\n totpEnabled: aws_cognito_mfa_types?.includes('TOTP') ?? false,\n smsEnabled: aws_cognito_mfa_types?.includes('SMS') ?? false,\n }\n : undefined;\n const passwordFormatConfig = aws_cognito_password_protection_settings\n ? {\n minLength: aws_cognito_password_protection_settings.passwordPolicyMinLength,\n requireLowercase: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_LOWERCASE') ?? false,\n requireUppercase: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_UPPERCASE') ?? false,\n requireNumbers: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_NUMBERS') ?? false,\n requireSpecialCharacters: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_SYMBOLS') ?? false,\n }\n : undefined;\n const mergedUserAttributes = Array.from(new Set([\n ...(aws_cognito_verification_mechanisms ?? []),\n ...(aws_cognito_signup_attributes ?? []),\n ]));\n const userAttributes = mergedUserAttributes.reduce((attributes, key) => ({\n ...attributes,\n // All user attributes generated by the CLI are required\n [key.toLowerCase()]: { required: true },\n }), {});\n const loginWithEmailEnabled = aws_cognito_username_attributes?.includes('EMAIL') ?? false;\n const loginWithPhoneEnabled = aws_cognito_username_attributes?.includes('PHONE_NUMBER') ?? false;\n if (aws_cognito_identity_pool_id || aws_user_pools_id) {\n amplifyConfig.Auth = {\n Cognito: {\n identityPoolId: aws_cognito_identity_pool_id,\n allowGuestAccess: aws_mandatory_sign_in !== 'enable',\n signUpVerificationMethod: aws_cognito_sign_up_verification_method,\n userAttributes,\n userPoolClientId: aws_user_pools_web_client_id,\n userPoolId: aws_user_pools_id,\n mfa: mfaConfig,\n passwordFormat: passwordFormatConfig,\n loginWith: {\n username: !(loginWithEmailEnabled || loginWithPhoneEnabled),\n email: loginWithEmailEnabled,\n phone: loginWithPhoneEnabled,\n },\n },\n };\n }\n const hasOAuthConfig = oauth ? Object.keys(oauth).length > 0 : false;\n const hasSocialProviderConfig = aws_cognito_social_providers\n ? aws_cognito_social_providers.length > 0\n : false;\n if (amplifyConfig.Auth && hasOAuthConfig) {\n amplifyConfig.Auth.Cognito.loginWith = {\n ...amplifyConfig.Auth.Cognito.loginWith,\n oauth: {\n ...getOAuthConfig(oauth),\n ...(hasSocialProviderConfig && {\n providers: parseSocialProviders(aws_cognito_social_providers),\n }),\n },\n };\n }\n // Storage\n if (aws_user_files_s3_bucket) {\n amplifyConfig.Storage = {\n S3: {\n bucket: aws_user_files_s3_bucket,\n region: aws_user_files_s3_bucket_region,\n dangerouslyConnectToHttpEndpointForTesting: aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing,\n },\n };\n }\n // Geo\n if (geo) {\n const { amazon_location_service } = geo;\n amplifyConfig.Geo = {\n LocationService: {\n maps: amazon_location_service.maps,\n geofenceCollections: amazon_location_service.geofenceCollections,\n searchIndices: amazon_location_service.search_indices,\n region: amazon_location_service.region,\n },\n };\n }\n // REST API\n if (aws_cloud_logic_custom) {\n amplifyConfig.API = {\n ...amplifyConfig.API,\n REST: aws_cloud_logic_custom.reduce((acc, api) => {\n const { name, endpoint, region, service } = api;\n return {\n ...acc,\n [name]: {\n endpoint,\n ...(service ? { service } : undefined),\n ...(region ? { region } : undefined),\n },\n };\n }, {}),\n };\n }\n // Predictions\n if (predictions) {\n // map VoiceId from speechGenerator defaults to voiceId\n const { VoiceId: voiceId } = predictions?.convert?.speechGenerator?.defaults ?? {};\n amplifyConfig.Predictions = voiceId\n ? {\n ...predictions,\n convert: {\n ...predictions.convert,\n speechGenerator: {\n ...predictions.convert.speechGenerator,\n defaults: { voiceId },\n },\n },\n }\n : predictions;\n }\n return amplifyConfig;\n};\nconst getRedirectUrl = (redirectStr) => redirectStr?.split(',') ?? [];\nconst getOAuthConfig = ({ domain, scope, redirectSignIn, redirectSignOut, responseType, }) => ({\n domain,\n scopes: scope,\n redirectSignIn: getRedirectUrl(redirectSignIn),\n redirectSignOut: getRedirectUrl(redirectSignOut),\n responseType,\n});\nconst parseSocialProviders = (aws_cognito_social_providers) => {\n return aws_cognito_social_providers.map((provider) => {\n const updatedProvider = provider.toLowerCase();\n return updatedProvider.charAt(0).toUpperCase() + updatedProvider.slice(1);\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isAmplifyOutputs(config) {\n // version format initially will be '1' but is expected to be something like x.y where x is major and y minor version\n const { version } = config;\n if (!version) {\n return false;\n }\n return version.startsWith('1');\n}\nfunction parseStorage(amplifyOutputsStorageProperties) {\n if (!amplifyOutputsStorageProperties) {\n return undefined;\n }\n const { bucket_name, aws_region } = amplifyOutputsStorageProperties;\n return {\n S3: {\n bucket: bucket_name,\n region: aws_region,\n },\n };\n}\nfunction parseAuth(amplifyOutputsAuthProperties) {\n if (!amplifyOutputsAuthProperties) {\n return undefined;\n }\n const { user_pool_id, user_pool_client_id, identity_pool_id, password_policy, mfa_configuration, mfa_methods, unauthenticated_identities_enabled, oauth, username_attributes, standard_required_attributes, } = amplifyOutputsAuthProperties;\n const authConfig = {\n Cognito: {\n userPoolId: user_pool_id,\n userPoolClientId: user_pool_client_id,\n },\n };\n if (identity_pool_id) {\n authConfig.Cognito = {\n ...authConfig.Cognito,\n identityPoolId: identity_pool_id,\n };\n }\n if (password_policy) {\n authConfig.Cognito.passwordFormat = {\n requireLowercase: password_policy.require_lowercase,\n requireNumbers: password_policy.require_numbers,\n requireUppercase: password_policy.require_uppercase,\n requireSpecialCharacters: password_policy.require_symbols,\n minLength: password_policy.min_length ?? 6,\n };\n }\n if (mfa_configuration) {\n authConfig.Cognito.mfa = {\n status: getMfaStatus(mfa_configuration),\n smsEnabled: mfa_methods?.includes('SMS'),\n totpEnabled: mfa_methods?.includes('TOTP'),\n };\n }\n if (unauthenticated_identities_enabled) {\n authConfig.Cognito.allowGuestAccess = unauthenticated_identities_enabled;\n }\n if (oauth) {\n authConfig.Cognito.loginWith = {\n oauth: {\n domain: oauth.domain,\n redirectSignIn: oauth.redirect_sign_in_uri,\n redirectSignOut: oauth.redirect_sign_out_uri,\n responseType: oauth.response_type === 'token' ? 'token' : 'code',\n scopes: oauth.scopes,\n providers: getOAuthProviders(oauth.identity_providers),\n },\n };\n }\n if (username_attributes) {\n authConfig.Cognito.loginWith = {\n ...authConfig.Cognito.loginWith,\n email: username_attributes.includes('email'),\n phone: username_attributes.includes('phone_number'),\n // Signing in with a username is not currently supported in Gen2, this should always evaluate to false\n username: username_attributes.includes('username'),\n };\n }\n if (standard_required_attributes) {\n authConfig.Cognito.userAttributes = standard_required_attributes.reduce((acc, curr) => ({ ...acc, [curr]: { required: true } }), {});\n }\n return authConfig;\n}\nexport function parseAnalytics(amplifyOutputsAnalyticsProperties) {\n if (!amplifyOutputsAnalyticsProperties?.amazon_pinpoint) {\n return undefined;\n }\n const { amazon_pinpoint } = amplifyOutputsAnalyticsProperties;\n return {\n Pinpoint: {\n appId: amazon_pinpoint.app_id,\n region: amazon_pinpoint.aws_region,\n },\n };\n}\nfunction parseGeo(amplifyOutputsAnalyticsProperties) {\n if (!amplifyOutputsAnalyticsProperties) {\n return undefined;\n }\n const { aws_region, geofence_collections, maps, search_indices } = amplifyOutputsAnalyticsProperties;\n return {\n LocationService: {\n region: aws_region,\n searchIndices: search_indices,\n geofenceCollections: geofence_collections,\n maps,\n },\n };\n}\nfunction parseData(amplifyOutputsDataProperties) {\n if (!amplifyOutputsDataProperties) {\n return undefined;\n }\n const { aws_region, default_authorization_type, url, api_key, model_introspection, } = amplifyOutputsDataProperties;\n const GraphQL = {\n endpoint: url,\n defaultAuthMode: getGraphQLAuthMode(default_authorization_type),\n region: aws_region,\n apiKey: api_key,\n modelIntrospection: model_introspection,\n };\n return {\n GraphQL,\n };\n}\nfunction parseNotifications(amplifyOutputsNotificationsProperties) {\n if (!amplifyOutputsNotificationsProperties) {\n return undefined;\n }\n const { aws_region, channels, amazon_pinpoint_app_id } = amplifyOutputsNotificationsProperties;\n const hasInAppMessaging = channels.includes('IN_APP_MESSAGING');\n const hasPushNotification = channels.includes('APNS') || channels.includes('FCM');\n if (!(hasInAppMessaging || hasPushNotification)) {\n return undefined;\n }\n // At this point, we know the Amplify outputs contains at least one supported channel\n const notificationsConfig = {};\n if (hasInAppMessaging) {\n notificationsConfig.InAppMessaging = {\n Pinpoint: {\n appId: amazon_pinpoint_app_id,\n region: aws_region,\n },\n };\n }\n if (hasPushNotification) {\n notificationsConfig.PushNotification = {\n Pinpoint: {\n appId: amazon_pinpoint_app_id,\n region: aws_region,\n },\n };\n }\n return notificationsConfig;\n}\nexport function parseAmplifyOutputs(amplifyOutputs) {\n const resourcesConfig = {};\n if (amplifyOutputs.storage) {\n resourcesConfig.Storage = parseStorage(amplifyOutputs.storage);\n }\n if (amplifyOutputs.auth) {\n resourcesConfig.Auth = parseAuth(amplifyOutputs.auth);\n }\n if (amplifyOutputs.analytics) {\n resourcesConfig.Analytics = parseAnalytics(amplifyOutputs.analytics);\n }\n if (amplifyOutputs.geo) {\n resourcesConfig.Geo = parseGeo(amplifyOutputs.geo);\n }\n if (amplifyOutputs.data) {\n resourcesConfig.API = parseData(amplifyOutputs.data);\n }\n if (amplifyOutputs.notifications) {\n resourcesConfig.Notifications = parseNotifications(amplifyOutputs.notifications);\n }\n return resourcesConfig;\n}\nconst authModeNames = {\n AMAZON_COGNITO_USER_POOLS: 'userPool',\n API_KEY: 'apiKey',\n AWS_IAM: 'iam',\n AWS_LAMBDA: 'lambda',\n OPENID_CONNECT: 'oidc',\n};\nfunction getGraphQLAuthMode(authType) {\n return authModeNames[authType];\n}\nconst providerNames = {\n GOOGLE: 'Google',\n LOGIN_WITH_AMAZON: 'Amazon',\n FACEBOOK: 'Facebook',\n SIGN_IN_WITH_APPLE: 'Apple',\n};\nfunction getOAuthProviders(providers = []) {\n return providers.reduce((oAuthProviders, provider) => {\n if (providerNames[provider] !== undefined) {\n oAuthProviders.push(providerNames[provider]);\n }\n return oAuthProviders;\n }, []);\n}\nfunction getMfaStatus(mfaConfiguration) {\n if (mfaConfiguration === 'OPTIONAL')\n return 'optional';\n if (mfaConfiguration === 'REQUIRED')\n return 'on';\n return 'off';\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseAWSExports } from '../parseAWSExports';\nimport { isAmplifyOutputs, parseAmplifyOutputs } from '../parseAmplifyOutputs';\n/**\n * Parses the variety of configuration shapes that Amplify can accept into a ResourcesConfig.\n *\n * @param amplifyConfig An Amplify configuration object conforming to one of the supported schemas.\n * @return A ResourcesConfig for the provided configuration object.\n */\nexport const parseAmplifyConfig = (amplifyConfig) => {\n if (Object.keys(amplifyConfig).some(key => key.startsWith('aws_'))) {\n return parseAWSExports(amplifyConfig);\n }\n else if (isAmplifyOutputs(amplifyConfig)) {\n return parseAmplifyOutputs(amplifyConfig);\n }\n else {\n return amplifyConfig;\n }\n};\n","export function isTokenExpired({ expiresAt, clockDrift, }) {\n const currentTime = Date.now();\n return currentTime + clockDrift > expiresAt;\n}\nexport class AuthClass {\n /**\n * Configure Auth category\n *\n * @internal\n *\n * @param authResourcesConfig - Resources configurations required by Auth providers.\n * @param authOptions - Client options used by library\n *\n * @returns void\n */\n configure(authResourcesConfig, authOptions) {\n this.authConfig = authResourcesConfig;\n this.authOptions = authOptions;\n }\n /**\n * Fetch the auth tokens, and the temporary AWS credentials and identity if they are configured. By default it\n * does not refresh the auth tokens or credentials if they are loaded in storage already. You can force a refresh\n * with `{ forceRefresh: true }` input.\n *\n * @param options - Options configuring the fetch behavior.\n *\n * @returns Promise of current auth session {@link AuthSession}.\n */\n async fetchAuthSession(options = {}) {\n let credentialsAndIdentityId;\n let userSub;\n // Get tokens will throw if session cannot be refreshed (network or service error) or return null if not available\n const tokens = await this.getTokens(options);\n if (tokens) {\n userSub = tokens.accessToken?.payload?.sub;\n // getCredentialsAndIdentityId will throw if cannot get credentials (network or service error)\n credentialsAndIdentityId =\n await this.authOptions?.credentialsProvider?.getCredentialsAndIdentityId({\n authConfig: this.authConfig,\n tokens,\n authenticated: true,\n forceRefresh: options.forceRefresh,\n });\n }\n else {\n // getCredentialsAndIdentityId will throw if cannot get credentials (network or service error)\n credentialsAndIdentityId =\n await this.authOptions?.credentialsProvider?.getCredentialsAndIdentityId({\n authConfig: this.authConfig,\n authenticated: false,\n forceRefresh: options.forceRefresh,\n });\n }\n return {\n tokens,\n credentials: credentialsAndIdentityId?.credentials,\n identityId: credentialsAndIdentityId?.identityId,\n userSub,\n };\n }\n async clearCredentials() {\n await this.authOptions?.credentialsProvider?.clearCredentialsAndIdentityId();\n }\n async getTokens(options) {\n return ((await this.authOptions?.tokenProvider?.getTokens(options)) ?? undefined);\n }\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\n/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n","import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n }\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","export const fromUtf8 = (input) => new TextEncoder().encode(input);\n","import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Checksum {\n private readonly secret?: SourceData;\n private hash: RawSha256;\n private outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\n\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n async digest(): Promise {\n return this.digestSync();\n }\n\n reset(): void {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(this.secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AMPLIFY_SYMBOL, Hub } from '../Hub';\nimport { deepFreeze } from '../utils';\nimport { parseAmplifyConfig } from '../libraryUtils';\nimport { AuthClass } from './Auth';\nimport { ADD_OAUTH_LISTENER } from './constants';\nexport class AmplifyClass {\n constructor() {\n this.oAuthListener = undefined;\n this.resourcesConfig = {};\n this.libraryOptions = {};\n this.Auth = new AuthClass();\n }\n /**\n * Configures Amplify for use with your back-end resources.\n *\n * @remarks\n * This API does not perform any merging of either `resourcesConfig` or `libraryOptions`. The most recently\n * provided values will be used after configuration.\n *\n * @remarks\n * `configure` can be used to specify additional library options where available for supported categories.\n *\n * @param resourceConfig - Back-end resource configuration. Typically provided via the `aws-exports.js` file.\n * @param libraryOptions - Additional options for customizing the behavior of the library.\n */\n configure(resourcesConfig, libraryOptions) {\n const resolvedResourceConfig = parseAmplifyConfig(resourcesConfig);\n this.resourcesConfig = resolvedResourceConfig;\n if (libraryOptions) {\n this.libraryOptions = libraryOptions;\n }\n // Make resource config immutable\n this.resourcesConfig = deepFreeze(this.resourcesConfig);\n this.Auth.configure(this.resourcesConfig.Auth, this.libraryOptions.Auth);\n Hub.dispatch('core', {\n event: 'configure',\n data: this.resourcesConfig,\n }, 'Configure', AMPLIFY_SYMBOL);\n this.notifyOAuthListener();\n }\n /**\n * Provides access to the current back-end resource configuration for the Library.\n *\n * @returns Returns the immutable back-end resource configuration.\n */\n getConfig() {\n return this.resourcesConfig;\n }\n /** @internal */\n [ADD_OAUTH_LISTENER](listener) {\n if (this.resourcesConfig.Auth?.Cognito.loginWith?.oauth) {\n // when Amplify has been configured with a valid OAuth config while adding the listener, run it directly\n listener(this.resourcesConfig.Auth?.Cognito);\n }\n else {\n // otherwise register the listener and run it later when Amplify gets configured with a valid oauth config\n this.oAuthListener = listener;\n }\n }\n notifyOAuthListener() {\n if (!this.resourcesConfig.Auth?.Cognito.loginWith?.oauth ||\n !this.oAuthListener) {\n return;\n }\n this.oAuthListener(this.resourcesConfig.Auth?.Cognito);\n // the listener should only be notified once with a valid oauth config\n this.oAuthListener = undefined;\n }\n}\n/**\n * The `Amplify` utility is used to configure the library.\n *\n * @remarks\n * `Amplify` orchestrates cross-category communication within the library.\n */\nexport const Amplify = new AmplifyClass();\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var AmplifyErrorCode;\n(function (AmplifyErrorCode) {\n AmplifyErrorCode[\"NoEndpointId\"] = \"NoEndpointId\";\n AmplifyErrorCode[\"PlatformNotSupported\"] = \"PlatformNotSupported\";\n AmplifyErrorCode[\"Unknown\"] = \"Unknown\";\n})(AmplifyErrorCode || (AmplifyErrorCode = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport JsCookie from 'js-cookie';\nexport class CookieStorage {\n constructor(data = {}) {\n const { path, domain, expires, sameSite, secure } = data;\n this.domain = domain;\n this.path = path || '/';\n this.expires = Object.prototype.hasOwnProperty.call(data, 'expires')\n ? expires\n : 365;\n this.secure = Object.prototype.hasOwnProperty.call(data, 'secure')\n ? secure\n : true;\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!sameSite || !['strict', 'lax', 'none'].includes(sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n if (sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n this.sameSite = sameSite;\n }\n }\n async setItem(key, value) {\n JsCookie.set(key, value, this.getData());\n }\n async getItem(key) {\n const item = JsCookie.get(key);\n return item ?? null;\n }\n async removeItem(key) {\n JsCookie.remove(key, this.getData());\n }\n async clear() {\n const cookie = JsCookie.get();\n const promises = Object.keys(cookie).map(key => this.removeItem(key));\n await Promise.all(promises);\n }\n getData() {\n return {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure,\n ...(this.sameSite && { sameSite: this.sameSite }),\n };\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createAssertionFunction } from '../../../errors';\nexport var AuthConfigurationErrorCode;\n(function (AuthConfigurationErrorCode) {\n AuthConfigurationErrorCode[\"AuthTokenConfigException\"] = \"AuthTokenConfigException\";\n AuthConfigurationErrorCode[\"AuthUserPoolAndIdentityPoolException\"] = \"AuthUserPoolAndIdentityPoolException\";\n AuthConfigurationErrorCode[\"AuthUserPoolException\"] = \"AuthUserPoolException\";\n AuthConfigurationErrorCode[\"InvalidIdentityPoolIdException\"] = \"InvalidIdentityPoolIdException\";\n AuthConfigurationErrorCode[\"OAuthNotConfigureException\"] = \"OAuthNotConfigureException\";\n})(AuthConfigurationErrorCode || (AuthConfigurationErrorCode = {}));\nconst authConfigurationErrorMap = {\n [AuthConfigurationErrorCode.AuthTokenConfigException]: {\n message: 'Auth Token Provider not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app.',\n },\n [AuthConfigurationErrorCode.AuthUserPoolAndIdentityPoolException]: {\n message: 'Auth UserPool or IdentityPool not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app with UserPoolId and IdentityPoolId.',\n },\n [AuthConfigurationErrorCode.AuthUserPoolException]: {\n message: 'Auth UserPool not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app with userPoolId and userPoolClientId.',\n },\n [AuthConfigurationErrorCode.InvalidIdentityPoolIdException]: {\n message: 'Invalid identity pool id provided.',\n recoverySuggestion: 'Make sure a valid identityPoolId is given in the config.',\n },\n [AuthConfigurationErrorCode.OAuthNotConfigureException]: {\n message: 'oauth param not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure with oauth parameter in your app.',\n },\n};\nexport const assert = createAssertionFunction(authConfigurationErrorMap);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyErrorCode } from '../types';\nimport { AmplifyError } from './AmplifyError';\nexport class PlatformNotSupportedError extends AmplifyError {\n constructor() {\n super({\n name: AmplifyErrorCode.PlatformNotSupported,\n message: 'Function not supported on current platform',\n });\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PlatformNotSupportedError } from '../errors';\n/**\n * @internal\n */\nexport class KeyValueStorage {\n constructor(storage) {\n this.storage = storage;\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n async setItem(key, value) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.setItem(key, value);\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n async getItem(key) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n return this.storage.getItem(key);\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n async removeItem(key) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.removeItem(key);\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n async clear() {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.clear();\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nexport class InMemoryStorage {\n constructor() {\n this.storage = new Map();\n }\n get length() {\n return this.storage.size;\n }\n key(index) {\n if (index > this.length - 1) {\n return null;\n }\n return Array.from(this.storage.keys())[index];\n }\n setItem(key, value) {\n this.storage.set(key, value);\n }\n getItem(key) {\n return this.storage.get(key) ?? null;\n }\n removeItem(key) {\n this.storage.delete(key);\n }\n clear() {\n this.storage.clear();\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KeyValueStorage } from './KeyValueStorage';\nimport { getLocalStorageWithFallback } from './utils';\n/**\n * @internal\n */\nexport class DefaultStorage extends KeyValueStorage {\n constructor() {\n super(getLocalStorageWithFallback());\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { InMemoryStorage } from './InMemoryStorage';\n/**\n * @internal\n * @returns Either a reference to window.localStorage or an in-memory storage as fallback\n */\nexport const getLocalStorageWithFallback = () => typeof window !== 'undefined' && window.localStorage\n ? window.localStorage\n : new InMemoryStorage();\n/**\n * @internal\n * @returns Either a reference to window.sessionStorage or an in-memory storage as fallback\n */\nexport const getSessionStorageWithFallback = () => typeof window !== 'undefined' && window.sessionStorage\n ? window.sessionStorage\n : new InMemoryStorage();\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KeyValueStorage } from './KeyValueStorage';\nimport { getSessionStorageWithFallback } from './utils';\n/**\n * @internal\n */\nexport class SessionStorage extends KeyValueStorage {\n constructor() {\n super(getSessionStorageWithFallback());\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { DefaultStorage } from './DefaultStorage';\nimport { InMemoryStorage } from './InMemoryStorage';\nimport { KeyValueStorage } from './KeyValueStorage';\nimport { SessionStorage } from './SessionStorage';\nexport { CookieStorage } from './CookieStorage';\nexport const defaultStorage = new DefaultStorage();\nexport const sessionStorage = new SessionStorage();\nexport const sharedInMemoryStorage = new KeyValueStorage(new InMemoryStorage());\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError } from '../../errors';\nexport const getCrypto = () => {\n if (typeof window === 'object' && typeof window.crypto === 'object') {\n return window.crypto;\n }\n // Next.js global polyfill\n if (typeof crypto === 'object') {\n return crypto;\n }\n throw new AmplifyError({\n name: 'MissingPolyfill',\n message: 'Cannot resolve the `crypto` function from the environment.',\n });\n};\nexport const getBtoa = () => {\n // browser\n if (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n return window.btoa;\n }\n // Next.js global polyfill\n if (typeof btoa === 'function') {\n return btoa;\n }\n throw new AmplifyError({\n name: 'Base64EncoderError',\n message: 'Cannot resolve the `btoa` function from the environment.',\n });\n};\nexport const getAtob = () => {\n // browser\n if (typeof window !== 'undefined' && typeof window.atob === 'function') {\n return window.atob;\n }\n // Next.js global polyfill\n if (typeof atob === 'function') {\n return atob;\n }\n throw new AmplifyError({\n name: 'Base64EncoderError',\n message: 'Cannot resolve the `atob` function from the environment.',\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getAtob } from '../../globalHelpers';\nexport const base64Decoder = {\n convert(input) {\n return getAtob()(input);\n },\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError } from './AmplifyError';\nexport const createAssertionFunction = (errorMap, AssertionError = AmplifyError) => (assertion, name, additionalContext) => {\n const { message, recoverySuggestion } = errorMap[name];\n if (!assertion) {\n throw new AssertionError({\n name,\n message: additionalContext\n ? `${message} ${additionalContext}`\n : message,\n recoverySuggestion,\n });\n }\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { base64Decoder } from '../../../utils/convert';\nimport { AuthConfigurationErrorCode, assert } from './errorHelpers';\nexport function assertTokenProviderConfig(cognitoConfig) {\n let assertionValid = true; // assume valid until otherwise proveed\n if (!cognitoConfig) {\n assertionValid = false;\n }\n else {\n assertionValid =\n !!cognitoConfig.userPoolId && !!cognitoConfig.userPoolClientId;\n }\n assert(assertionValid, AuthConfigurationErrorCode.AuthUserPoolException);\n}\nexport function assertOAuthConfig(cognitoConfig) {\n const validOAuthConfig = !!cognitoConfig?.loginWith?.oauth?.domain &&\n !!cognitoConfig?.loginWith?.oauth?.redirectSignOut &&\n !!cognitoConfig?.loginWith?.oauth?.redirectSignIn &&\n !!cognitoConfig?.loginWith?.oauth?.responseType;\n assert(validOAuthConfig, AuthConfigurationErrorCode.OAuthNotConfigureException);\n}\nexport function assertIdentityPoolIdConfig(cognitoConfig) {\n const validConfig = !!cognitoConfig?.identityPoolId;\n assert(validConfig, AuthConfigurationErrorCode.InvalidIdentityPoolIdException);\n}\nexport function decodeJWT(token) {\n const tokenParts = token.split('.');\n if (tokenParts.length !== 3) {\n throw new Error('Invalid token');\n }\n try {\n const base64WithUrlSafe = tokenParts[1];\n const base64 = base64WithUrlSafe.replace(/-/g, '+').replace(/_/g, '/');\n const jsonStr = decodeURIComponent(base64Decoder\n .convert(base64)\n .split('')\n .map(char => `%${`00${char.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''));\n const payload = JSON.parse(jsonStr);\n return {\n toString: () => token,\n payload,\n };\n }\n catch (err) {\n throw new Error('Invalid token payload');\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * returns in-flight promise if there is one\n *\n * @param asyncFunction - asyncFunction to be deduped.\n * @returns - the return type of the callback\n */\nexport const deDupeAsyncFunction = (asyncFunction) => {\n let inflightPromise;\n return async (...args) => {\n if (inflightPromise)\n return inflightPromise;\n inflightPromise = new Promise((resolve, reject) => {\n asyncFunction(...args)\n .then(result => {\n resolve(result);\n })\n .catch(error => {\n reject(error);\n })\n .finally(() => {\n inflightPromise = undefined;\n });\n });\n return inflightPromise;\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const composeServiceApi = (transferHandler, serializer, deserializer, defaultConfig) => {\n return async (config, input) => {\n const resolvedConfig = {\n ...defaultConfig,\n ...config,\n };\n // We may want to allow different endpoints from given config(other than region) and input.\n // Currently S3 supports additional `useAccelerateEndpoint` option to use accelerate endpoint.\n const endpoint = await resolvedConfig.endpointResolver(resolvedConfig, input);\n // Unlike AWS SDK clients, a serializer should NOT populate the `host` or `content-length` headers.\n // Both of these headers are prohibited per Spec(https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name).\n // They will be populated automatically by browser, or node-fetch polyfill.\n const request = await serializer(input, endpoint);\n const response = await transferHandler(request, {\n ...resolvedConfig,\n });\n return deserializer(response);\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const parseMetadata = (response) => {\n const { headers, statusCode } = response;\n return {\n ...(isMetadataBearer(response) ? response.$metadata : {}),\n httpStatusCode: statusCode,\n requestId: headers['x-amzn-requestid'] ??\n headers['x-amzn-request-id'] ??\n headers['x-amz-request-id'],\n extendedRequestId: headers['x-amz-id-2'],\n cfId: headers['x-amz-cf-id'],\n };\n};\nconst isMetadataBearer = (response) => typeof response?.$metadata === 'object';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata } from './responseInfo';\n/**\n * Utility functions for serializing and deserializing of JSON protocol in general(including: REST-JSON, JSON-RPC, etc.)\n */\n/**\n * Error parser for AWS JSON protocol.\n */\nexport const parseJsonError = async (response) => {\n if (!response || response.statusCode < 300) {\n return;\n }\n const body = await parseJsonBody(response);\n const sanitizeErrorCode = (rawValue) => {\n const [cleanValue] = rawValue.toString().split(/[,:]+/);\n if (cleanValue.includes('#')) {\n return cleanValue.split('#')[1];\n }\n return cleanValue;\n };\n const code = sanitizeErrorCode(response.headers['x-amzn-errortype'] ??\n body.code ??\n body.__type ??\n 'UnknownError');\n const message = body.message ?? body.Message ?? 'Unknown error';\n const error = new Error(message);\n return Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n });\n};\n/**\n * Parse JSON response body to JavaScript object.\n */\nexport const parseJsonBody = async (response) => {\n if (!response.body) {\n throw new Error('Missing response payload');\n }\n const output = await response.body.json();\n return Object.assign(output, {\n $metadata: parseMetadata(response),\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError, } from '@aws-amplify/core/internals/utils';\nexport class AuthError extends AmplifyError {\n constructor(params) {\n super(params);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AuthError;\n Object.setPrototypeOf(this, AuthError.prototype);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyErrorCode, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../AuthError';\nexport function assertServiceError(error) {\n if (!error ||\n error.name === 'Error' ||\n error instanceof TypeError) {\n throw new AuthError({\n name: AmplifyErrorCode.Unknown,\n message: 'An unknown error has occurred.',\n underlyingError: error,\n });\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Default partition for AWS services. This is used when the region is not provided or the region is not recognized.\n *\n * @internal\n */\nexport const defaultPartition = {\n id: 'aws',\n outputs: {\n dnsSuffix: 'amazonaws.com',\n },\n regionRegex: '^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-global'],\n};\n/**\n * This data is adapted from the partition file from AWS SDK shared utilities but remove some contents for bundle size\n * concern. Information removed are `dualStackDnsSuffix`, `supportDualStack`, `supportFIPS`, restricted partitions, and\n * list of regions for each partition other than global regions.\n *\n * * Ref: https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints\n * * Ref: https://github.com/aws/aws-sdk-js-v3/blob/0201baef03c2379f1f6f7150b9d401d4b230d488/packages/util-endpoints/src/lib/aws/partitions.json#L1\n *\n * @internal\n */\nexport const partitionsInfo = {\n partitions: [\n defaultPartition,\n {\n id: 'aws-cn',\n outputs: {\n dnsSuffix: 'amazonaws.com.cn',\n },\n regionRegex: '^cn\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-cn-global'],\n },\n ],\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultPartition, partitionsInfo } from './partitions';\n/**\n * Get the AWS Services endpoint URL's DNS suffix for a given region. A typical AWS regional service endpoint URL will\n * follow this pattern: {endpointPrefix}.{region}.{dnsSuffix}. For example, the endpoint URL for Cognito Identity in\n * us-east-1 will be cognito-identity.us-east-1.amazonaws.com. Here the DnsSuffix is `amazonaws.com`.\n *\n * @param region\n * @returns The DNS suffix\n *\n * @internal\n */\nexport const getDnsSuffix = (region) => {\n const { partitions } = partitionsInfo;\n for (const { regions, outputs, regionRegex } of partitions) {\n const regex = new RegExp(regionRegex);\n if (regions.includes(region) || regex.test(region)) {\n return outputs.dnsSuffix;\n }\n }\n return defaultPartition.outputs.dnsSuffix;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst DEFAULT_RETRY_ATTEMPTS = 3;\n/**\n * Retry middleware\n */\nexport const retryMiddlewareFactory = ({ maxAttempts = DEFAULT_RETRY_ATTEMPTS, retryDecider, computeDelay, abortSignal, }) => {\n if (maxAttempts < 1) {\n throw new Error('maxAttempts must be greater than 0');\n }\n return (next, context) => async function retryMiddleware(request) {\n let error;\n let attemptsCount = context.attemptsCount ?? 0;\n let response;\n // When retry is not needed or max attempts is reached, either error or response will be set. This function handles either cases.\n const handleTerminalErrorOrResponse = () => {\n if (response) {\n addOrIncrementMetadataAttempts(response, attemptsCount);\n return response;\n }\n else {\n addOrIncrementMetadataAttempts(error, attemptsCount);\n throw error;\n }\n };\n while (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n try {\n response = await next(request);\n error = undefined;\n }\n catch (e) {\n error = e;\n response = undefined;\n }\n // context.attemptsCount may be updated after calling next handler which may retry the request by itself.\n attemptsCount =\n (context.attemptsCount ?? 0) > attemptsCount\n ? (context.attemptsCount ?? 0)\n : attemptsCount + 1;\n context.attemptsCount = attemptsCount;\n if (await retryDecider(response, error)) {\n if (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n // prevent sleep for last attempt or cancelled request;\n const delay = computeDelay(attemptsCount);\n await cancellableSleep(delay, abortSignal);\n }\n continue;\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n }\n if (abortSignal?.aborted) {\n throw new Error('Request aborted.');\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n };\n};\nconst cancellableSleep = (timeoutMs, abortSignal) => {\n if (abortSignal?.aborted) {\n return Promise.resolve();\n }\n let timeoutId;\n let sleepPromiseResolveFn;\n const sleepPromise = new Promise(resolve => {\n sleepPromiseResolveFn = resolve;\n timeoutId = setTimeout(resolve, timeoutMs);\n });\n abortSignal?.addEventListener('abort', function cancelSleep(_) {\n clearTimeout(timeoutId);\n abortSignal?.removeEventListener('abort', cancelSleep);\n sleepPromiseResolveFn();\n });\n return sleepPromise;\n};\nconst addOrIncrementMetadataAttempts = (nextHandlerOutput, attempts) => {\n if (Object.prototype.toString.call(nextHandlerOutput) !== '[object Object]') {\n return;\n }\n nextHandlerOutput.$metadata = {\n ...(nextHandlerOutput.$metadata ?? {}),\n attempts,\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Middleware injects user agent string to specified header(default to 'x-amz-user-agent'),\n * if the header is not set already.\n *\n * TODO: incorporate new user agent design\n */\nexport const userAgentMiddlewareFactory = ({ userAgentHeader = 'x-amz-user-agent', userAgentValue = '', }) => next => {\n return async function userAgentMiddleware(request) {\n if (userAgentValue.trim().length === 0) {\n const result = await next(request);\n return result;\n }\n else {\n const headerName = userAgentHeader.toLowerCase();\n request.headers[headerName] = request.headers[headerName]\n ? `${request.headers[headerName]} ${userAgentValue}`\n : userAgentValue;\n const response = await next(request);\n return response;\n }\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compose a transfer handler with a core transfer handler and a list of middleware.\n * @param coreHandler Core transfer handler\n * @param middleware\tList of middleware\n * @returns A transfer handler whose option type is the union of the core\n * \ttransfer handler's option type and the middleware's option type.\n * @internal\n */\nexport const composeTransferHandler = (coreHandler, middleware) => (request, options) => {\n const context = {};\n let composedHandler = (composeHandlerRequest) => coreHandler(composeHandlerRequest, options);\n for (let i = middleware.length - 1; i >= 0; i--) {\n const m = middleware[i];\n const resolvedMiddleware = m(options);\n composedHandler = resolvedMiddleware(composedHandler, context);\n }\n return composedHandler(request);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Cache the payload of a response body. It allows multiple calls to the body,\n * for example, when reading the body in both retry decider and error deserializer.\n * Caching body is allowed here because we call the body accessor(blob(), json(),\n * etc.) when body is small or streaming implementation is not available(RN).\n *\n * @internal\n */\nexport const withMemoization = (payloadAccessor) => {\n let cached;\n return () => {\n if (!cached) {\n // Explicitly not awaiting. Intermediate await would add overhead and\n // introduce a possible race in the event that this wrapper is called\n // again before the first `payloadAccessor` call resolves.\n cached = payloadAccessor();\n }\n return cached;\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { withMemoization } from '../utils/memoization';\nconst shouldSendBody = (method) => !['HEAD', 'GET', 'DELETE'].includes(method.toUpperCase());\n// TODO[AllanZhengYP]: we need to provide isCanceledError utility\nexport const fetchTransferHandler = async ({ url, method, headers, body }, { abortSignal, cache, withCrossDomainCredentials }) => {\n let resp;\n try {\n resp = await fetch(url, {\n method,\n headers,\n body: shouldSendBody(method) ? body : undefined,\n signal: abortSignal,\n cache,\n credentials: withCrossDomainCredentials ? 'include' : 'same-origin',\n });\n }\n catch (e) {\n // TODO: needs to revise error handling in v6\n // For now this is a thin wrapper over original fetch error similar to cognito-identity-js package.\n // Ref: https://github.com/aws-amplify/amplify-js/blob/4fbc8c0a2be7526aab723579b4c95b552195a80b/packages/amazon-cognito-identity-js/src/Client.js#L103-L108\n if (e instanceof TypeError) {\n throw new Error('Network error');\n }\n throw e;\n }\n const responseHeaders = {};\n resp.headers?.forEach((value, key) => {\n responseHeaders[key.toLowerCase()] = value;\n });\n const httpResponse = {\n statusCode: resp.status,\n headers: responseHeaders,\n body: null,\n };\n // resp.body is a ReadableStream according to Fetch API spec, but React Native\n // does not implement it.\n const bodyWithMixin = Object.assign(resp.body ?? {}, {\n text: withMemoization(() => resp.text()),\n blob: withMemoization(() => resp.blob()),\n json: withMemoization(() => resp.json()),\n });\n return {\n ...httpResponse,\n body: bodyWithMixin,\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { retryMiddlewareFactory } from '../middleware/retry';\nimport { userAgentMiddlewareFactory, } from '../middleware/userAgent';\nimport { composeTransferHandler } from '../internal/composeTransferHandler';\nimport { fetchTransferHandler } from './fetch';\nexport const unauthenticatedHandler = composeTransferHandler(fetchTransferHandler, [userAgentMiddlewareFactory, retryMiddlewareFactory]);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// via https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L8\nconst CLOCK_SKEW_ERROR_CODES = [\n 'AuthFailure',\n 'InvalidSignatureException',\n 'RequestExpired',\n 'RequestInTheFuture',\n 'RequestTimeTooSkewed',\n 'SignatureDoesNotMatch',\n 'BadRequestException', // API Gateway\n];\n/**\n * Given an error code, returns true if it is related to a clock skew error.\n *\n * @param errorCode String representation of some error.\n * @returns True if given error is present in `CLOCK_SKEW_ERROR_CODES`, false otherwise.\n *\n * @internal\n */\nexport const isClockSkewError = (errorCode) => !!errorCode && CLOCK_SKEW_ERROR_CODES.includes(errorCode);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isClockSkewError } from './isClockSkewError';\n/**\n * Get retry decider function\n * @param errorParser Function to load JavaScript error from HTTP response\n */\nexport const getRetryDecider = (errorParser) => async (response, error) => {\n const parsedError = error ??\n (await errorParser(response)) ??\n undefined;\n const errorCode = parsedError?.code || parsedError?.name;\n const statusCode = response?.statusCode;\n return (isConnectionError(error) ||\n isThrottlingError(statusCode, errorCode) ||\n isClockSkewError(errorCode) ||\n isServerSideError(statusCode, errorCode));\n};\n// reference: https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L22-L37\nconst THROTTLING_ERROR_CODES = [\n 'BandwidthLimitExceeded',\n 'EC2ThrottledException',\n 'LimitExceededException',\n 'PriorRequestNotComplete',\n 'ProvisionedThroughputExceededException',\n 'RequestLimitExceeded',\n 'RequestThrottled',\n 'RequestThrottledException',\n 'SlowDown',\n 'ThrottledException',\n 'Throttling',\n 'ThrottlingException',\n 'TooManyRequestsException',\n];\nconst TIMEOUT_ERROR_CODES = [\n 'TimeoutError',\n 'RequestTimeout',\n 'RequestTimeoutException',\n];\nconst isThrottlingError = (statusCode, errorCode) => statusCode === 429 ||\n (!!errorCode && THROTTLING_ERROR_CODES.includes(errorCode));\nconst isConnectionError = (error) => error?.name === 'Network error';\nconst isServerSideError = (statusCode, errorCode) => (!!statusCode && [500, 502, 503, 504].includes(statusCode)) ||\n (!!errorCode && TIMEOUT_ERROR_CODES.includes(errorCode));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const MAX_DELAY_MS = 5 * 60 * 1000;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { MAX_DELAY_MS } from './constants';\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(maxDelayMs = MAX_DELAY_MS) {\n const BASE_TIME_MS = 100;\n const JITTER_FACTOR = 100;\n return attempt => {\n const delay = 2 ** attempt * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { jitteredBackoff as jitteredBackoffUtil } from '../../../utils';\n// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.\nconst DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;\nexport const jitteredBackoff = attempt => {\n const delayFunction = jitteredBackoffUtil(DEFAULT_MAX_DELAY_MS);\n const delay = delayFunction(attempt);\n // The delayFunction returns false when the delay is greater than the max delay(5 mins).\n // In this case, the retry middleware will delay 5 mins instead, as a ceiling of the delay.\n return delay === false ? DEFAULT_MAX_DELAY_MS : delay;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var Framework;\n(function (Framework) {\n // < 100 - Web frameworks\n Framework[\"WebUnknown\"] = \"0\";\n Framework[\"React\"] = \"1\";\n Framework[\"NextJs\"] = \"2\";\n Framework[\"Angular\"] = \"3\";\n Framework[\"VueJs\"] = \"4\";\n Framework[\"Nuxt\"] = \"5\";\n Framework[\"Svelte\"] = \"6\";\n // 100s - Server side frameworks\n Framework[\"ServerSideUnknown\"] = \"100\";\n Framework[\"ReactSSR\"] = \"101\";\n Framework[\"NextJsSSR\"] = \"102\";\n Framework[\"AngularSSR\"] = \"103\";\n Framework[\"VueJsSSR\"] = \"104\";\n Framework[\"NuxtSSR\"] = \"105\";\n Framework[\"SvelteSSR\"] = \"106\";\n // 200s - Mobile framework\n Framework[\"ReactNative\"] = \"201\";\n Framework[\"Expo\"] = \"202\";\n})(Framework || (Framework = {}));\nexport var Category;\n(function (Category) {\n Category[\"API\"] = \"api\";\n Category[\"Auth\"] = \"auth\";\n Category[\"Analytics\"] = \"analytics\";\n Category[\"DataStore\"] = \"datastore\";\n Category[\"Geo\"] = \"geo\";\n Category[\"InAppMessaging\"] = \"inappmessaging\";\n Category[\"Interactions\"] = \"interactions\";\n Category[\"Predictions\"] = \"predictions\";\n Category[\"PubSub\"] = \"pubsub\";\n Category[\"PushNotification\"] = \"pushnotification\";\n Category[\"Storage\"] = \"storage\";\n})(Category || (Category = {}));\nexport var AnalyticsAction;\n(function (AnalyticsAction) {\n AnalyticsAction[\"Record\"] = \"1\";\n AnalyticsAction[\"IdentifyUser\"] = \"2\";\n})(AnalyticsAction || (AnalyticsAction = {}));\nexport var ApiAction;\n(function (ApiAction) {\n ApiAction[\"GraphQl\"] = \"1\";\n ApiAction[\"Get\"] = \"2\";\n ApiAction[\"Post\"] = \"3\";\n ApiAction[\"Put\"] = \"4\";\n ApiAction[\"Patch\"] = \"5\";\n ApiAction[\"Del\"] = \"6\";\n ApiAction[\"Head\"] = \"7\";\n})(ApiAction || (ApiAction = {}));\nexport var AuthAction;\n(function (AuthAction) {\n AuthAction[\"SignUp\"] = \"1\";\n AuthAction[\"ConfirmSignUp\"] = \"2\";\n AuthAction[\"ResendSignUpCode\"] = \"3\";\n AuthAction[\"SignIn\"] = \"4\";\n AuthAction[\"FetchMFAPreference\"] = \"6\";\n AuthAction[\"UpdateMFAPreference\"] = \"7\";\n AuthAction[\"SetUpTOTP\"] = \"10\";\n AuthAction[\"VerifyTOTPSetup\"] = \"11\";\n AuthAction[\"ConfirmSignIn\"] = \"12\";\n AuthAction[\"DeleteUserAttributes\"] = \"15\";\n AuthAction[\"DeleteUser\"] = \"16\";\n AuthAction[\"UpdateUserAttributes\"] = \"17\";\n AuthAction[\"FetchUserAttributes\"] = \"18\";\n AuthAction[\"ConfirmUserAttribute\"] = \"22\";\n AuthAction[\"SignOut\"] = \"26\";\n AuthAction[\"UpdatePassword\"] = \"27\";\n AuthAction[\"ResetPassword\"] = \"28\";\n AuthAction[\"ConfirmResetPassword\"] = \"29\";\n AuthAction[\"FederatedSignIn\"] = \"30\";\n AuthAction[\"RememberDevice\"] = \"32\";\n AuthAction[\"ForgetDevice\"] = \"33\";\n AuthAction[\"FetchDevices\"] = \"34\";\n AuthAction[\"SendUserAttributeVerificationCode\"] = \"35\";\n AuthAction[\"SignInWithRedirect\"] = \"36\";\n})(AuthAction || (AuthAction = {}));\nexport var DataStoreAction;\n(function (DataStoreAction) {\n DataStoreAction[\"Subscribe\"] = \"1\";\n DataStoreAction[\"GraphQl\"] = \"2\";\n})(DataStoreAction || (DataStoreAction = {}));\nexport var GeoAction;\n(function (GeoAction) {\n GeoAction[\"SearchByText\"] = \"0\";\n GeoAction[\"SearchByCoordinates\"] = \"1\";\n GeoAction[\"SearchForSuggestions\"] = \"2\";\n GeoAction[\"SearchByPlaceId\"] = \"3\";\n GeoAction[\"SaveGeofences\"] = \"4\";\n GeoAction[\"GetGeofence\"] = \"5\";\n GeoAction[\"ListGeofences\"] = \"6\";\n GeoAction[\"DeleteGeofences\"] = \"7\";\n})(GeoAction || (GeoAction = {}));\nexport var InAppMessagingAction;\n(function (InAppMessagingAction) {\n InAppMessagingAction[\"SyncMessages\"] = \"1\";\n InAppMessagingAction[\"IdentifyUser\"] = \"2\";\n InAppMessagingAction[\"NotifyMessageInteraction\"] = \"3\";\n})(InAppMessagingAction || (InAppMessagingAction = {}));\nexport var InteractionsAction;\n(function (InteractionsAction) {\n InteractionsAction[\"None\"] = \"0\";\n})(InteractionsAction || (InteractionsAction = {}));\nexport var PredictionsAction;\n(function (PredictionsAction) {\n PredictionsAction[\"Convert\"] = \"1\";\n PredictionsAction[\"Identify\"] = \"2\";\n PredictionsAction[\"Interpret\"] = \"3\";\n})(PredictionsAction || (PredictionsAction = {}));\nexport var PubSubAction;\n(function (PubSubAction) {\n PubSubAction[\"Subscribe\"] = \"1\";\n})(PubSubAction || (PubSubAction = {}));\nexport var PushNotificationAction;\n(function (PushNotificationAction) {\n PushNotificationAction[\"InitializePushNotifications\"] = \"1\";\n PushNotificationAction[\"IdentifyUser\"] = \"2\";\n})(PushNotificationAction || (PushNotificationAction = {}));\nexport var StorageAction;\n(function (StorageAction) {\n StorageAction[\"UploadData\"] = \"1\";\n StorageAction[\"DownloadData\"] = \"2\";\n StorageAction[\"List\"] = \"3\";\n StorageAction[\"Copy\"] = \"4\";\n StorageAction[\"Remove\"] = \"5\";\n StorageAction[\"GetProperties\"] = \"6\";\n StorageAction[\"GetUrl\"] = \"7\";\n})(StorageAction || (StorageAction = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst AmplifyUrl = URL;\nconst AmplifyUrlSearchParams = URLSearchParams;\nexport { AmplifyUrl, AmplifyUrlSearchParams };\n","// generated by genversion\nexport const version = '6.5.0';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const globalExists = () => {\n return typeof global !== 'undefined';\n};\nexport const globalThisExists = () => {\n return typeof globalThis !== 'undefined';\n};\nexport const windowExists = () => {\n return typeof window !== 'undefined';\n};\nexport const documentExists = () => {\n return typeof document !== 'undefined';\n};\nexport const processExists = () => {\n return typeof process !== 'undefined';\n};\nexport const keyPrefixMatch = (object, prefix) => {\n return !!Object.keys(object).find(key => key.startsWith(prefix));\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from '../types';\nimport { reactSSRDetect, reactWebDetect } from './React';\nimport { vueSSRDetect, vueWebDetect } from './Vue';\nimport { svelteSSRDetect, svelteWebDetect } from './Svelte';\nimport { nextSSRDetect, nextWebDetect } from './Next';\nimport { nuxtSSRDetect, nuxtWebDetect } from './Nuxt';\nimport { angularSSRDetect, angularWebDetect } from './Angular';\nimport { reactNativeDetect } from './ReactNative';\nimport { expoDetect } from './Expo';\nimport { webDetect } from './Web';\n// These are in the order of detection where when both are detectable, the early Framework will be reported\nconst detectionMap = [\n // First, detect mobile\n { platform: Framework.Expo, detectionMethod: expoDetect },\n { platform: Framework.ReactNative, detectionMethod: reactNativeDetect },\n // Next, detect web frameworks\n { platform: Framework.NextJs, detectionMethod: nextWebDetect },\n { platform: Framework.Nuxt, detectionMethod: nuxtWebDetect },\n { platform: Framework.Angular, detectionMethod: angularWebDetect },\n { platform: Framework.React, detectionMethod: reactWebDetect },\n { platform: Framework.VueJs, detectionMethod: vueWebDetect },\n { platform: Framework.Svelte, detectionMethod: svelteWebDetect },\n { platform: Framework.WebUnknown, detectionMethod: webDetect },\n // Last, detect ssr frameworks\n { platform: Framework.NextJsSSR, detectionMethod: nextSSRDetect },\n { platform: Framework.NuxtSSR, detectionMethod: nuxtSSRDetect },\n { platform: Framework.ReactSSR, detectionMethod: reactSSRDetect },\n { platform: Framework.VueJsSSR, detectionMethod: vueSSRDetect },\n { platform: Framework.AngularSSR, detectionMethod: angularSSRDetect },\n { platform: Framework.SvelteSSR, detectionMethod: svelteSSRDetect },\n];\nexport function detect() {\n return (detectionMap.find(detectionEntry => detectionEntry.detectionMethod())\n ?.platform || Framework.ServerSideUnknown);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from './types';\nimport { detect } from './detection';\n// We want to cache detection since the framework won't change\nlet frameworkCache;\nexport const frameworkChangeObservers = [];\n// Setup the detection reset tracking / timeout delays\nlet resetTriggered = false;\nconst SSR_RESET_TIMEOUT = 10; // ms\nconst WEB_RESET_TIMEOUT = 10; // ms\nconst PRIME_FRAMEWORK_DELAY = 1000; // ms\nexport const detectFramework = () => {\n if (!frameworkCache) {\n frameworkCache = detect();\n if (resetTriggered) {\n // The final run of detectFramework:\n // Starting from this point, the `frameworkCache` becomes \"final\".\n // So we don't need to notify the observers again so the observer\n // can be removed after the final notice.\n while (frameworkChangeObservers.length) {\n frameworkChangeObservers.pop()?.();\n }\n }\n else {\n // The first run of detectFramework:\n // Every time we update the cache, call each observer function\n frameworkChangeObservers.forEach(fcn => {\n fcn();\n });\n }\n // Retry once for either Unknown type after a delay (explained below)\n resetTimeout(Framework.ServerSideUnknown, SSR_RESET_TIMEOUT);\n resetTimeout(Framework.WebUnknown, WEB_RESET_TIMEOUT);\n }\n return frameworkCache;\n};\n/**\n * @internal Setup observer callback that will be called everytime the framework changes\n */\nexport const observeFrameworkChanges = (fcn) => {\n // When the `frameworkCache` won't be updated again, we ignore all incoming\n // observers.\n if (resetTriggered) {\n return;\n }\n frameworkChangeObservers.push(fcn);\n};\nexport function clearCache() {\n frameworkCache = undefined;\n}\n// For a framework type and a delay amount, setup the event to re-detect\n// During the runtime boot, it is possible that framework detection will\n// be triggered before the framework has made modifications to the\n// global/window/etc needed for detection. When no framework is detected\n// we will reset and try again to ensure we don't use a cached\n// non-framework detection result for all requests.\nfunction resetTimeout(framework, delay) {\n if (frameworkCache === framework && !resetTriggered) {\n setTimeout(() => {\n clearCache();\n resetTriggered = true;\n setTimeout(detectFramework, PRIME_FRAMEWORK_DELAY);\n }, delay);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists } from './helpers';\n// Tested with expo 48 / react-native 0.71.3\nexport function expoDetect() {\n return globalExists() && typeof global.expo !== 'undefined';\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with react-native 0.17.7\nexport function reactNativeDetect() {\n return (typeof navigator !== 'undefined' &&\n typeof navigator.product !== 'undefined' &&\n navigator.product === 'ReactNative');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, keyPrefixMatch, windowExists } from './helpers';\n// Tested with next 13.4 / react 18.2\nexport function nextWebDetect() {\n return (windowExists() &&\n window.next &&\n typeof window.next === 'object');\n}\nexport function nextSSRDetect() {\n return (globalExists() &&\n (keyPrefixMatch(global, '__next') || keyPrefixMatch(global, '__NEXT')));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, windowExists } from './helpers';\n// Tested with nuxt 2.15 / vue 2.7\nexport function nuxtWebDetect() {\n return (windowExists() &&\n (window.__NUXT__ !== undefined ||\n window.$nuxt !== undefined));\n}\nexport function nuxtSSRDetect() {\n return (globalExists() && typeof global.__NUXT_PATHS__ !== 'undefined');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { documentExists, processExists, windowExists } from './helpers';\n// Tested with @angular/core 16.0.0\nexport function angularWebDetect() {\n const angularVersionSetInDocument = Boolean(documentExists() && document.querySelector('[ng-version]'));\n const angularContentSetInWindow = Boolean(windowExists() && typeof window.ng !== 'undefined');\n return angularVersionSetInDocument || angularContentSetInWindow;\n}\nexport function angularSSRDetect() {\n return ((processExists() &&\n typeof process.env === 'object' &&\n process.env.npm_lifecycle_script?.startsWith('ng ')) ||\n false);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { documentExists, processExists } from './helpers';\n// Tested with react 18.2 - built using Vite\nexport function reactWebDetect() {\n const elementKeyPrefixedWithReact = (key) => {\n return key.startsWith('_react') || key.startsWith('__react');\n };\n const elementIsReactEnabled = (element) => {\n return Object.keys(element).find(elementKeyPrefixedWithReact);\n };\n const allElementsWithId = () => Array.from(document.querySelectorAll('[id]'));\n return documentExists() && allElementsWithId().some(elementIsReactEnabled);\n}\nexport function reactSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(key => key.includes('react')));\n}\n// use the some\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, keyPrefixMatch, windowExists } from './helpers';\n// Tested with vue 3.3.2\nexport function vueWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__VUE');\n}\nexport function vueSSRDetect() {\n return globalExists() && keyPrefixMatch(global, '__VUE');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { keyPrefixMatch, processExists, windowExists } from './helpers';\n// Tested with svelte 3.59\nexport function svelteWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__SVELTE');\n}\nexport function svelteSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(key => key.includes('svelte')));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { windowExists } from './helpers';\nexport function webDetect() {\n return windowExists();\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Maintains custom user-agent state set by external consumers.\nconst customUserAgentState = {};\n/**\n * Sets custom user agent state which will be appended to applicable requests. Returns a function that can be used to\n * clean up any custom state set with this API.\n *\n * @note\n * This API operates globally. Calling this API multiple times will result in the most recently set values for a\n * particular API being used.\n *\n * @note\n * This utility IS NOT compatible with SSR.\n *\n * @param input - SetCustomUserAgentInput that defines custom state to apply to the specified APIs.\n */\nexport const setCustomUserAgent = (input) => {\n // Save custom user-agent state & increment reference counter\n // TODO Remove `any` when we upgrade to TypeScript 5.2, see: https://github.com/microsoft/TypeScript/issues/44373\n customUserAgentState[input.category] = input.apis.reduce((acc, api) => ({\n ...acc,\n [api]: {\n refCount: acc[api]?.refCount ? acc[api].refCount + 1 : 1,\n additionalDetails: input.additionalDetails,\n },\n }), customUserAgentState[input.category] ?? {});\n // Callback that cleans up state for APIs recorded by this call\n let cleanUpCallbackCalled = false;\n const cleanUpCallback = () => {\n // Only allow the cleanup callback to be called once\n if (cleanUpCallbackCalled) {\n return;\n }\n cleanUpCallbackCalled = true;\n input.apis.forEach(api => {\n const apiRefCount = customUserAgentState[input.category][api].refCount;\n if (apiRefCount > 1) {\n customUserAgentState[input.category][api].refCount = apiRefCount - 1;\n }\n else {\n delete customUserAgentState[input.category][api];\n // Clean up category if no more APIs set\n if (!Object.keys(customUserAgentState[input.category]).length) {\n delete customUserAgentState[input.category];\n }\n }\n });\n };\n return cleanUpCallback;\n};\nexport const getCustomUserAgent = (category, api) => customUserAgentState[category]?.[api]?.additionalDetails;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from './types';\nimport { version } from './version';\nimport { detectFramework, observeFrameworkChanges } from './detectFramework';\nimport { getCustomUserAgent } from './customUserAgent';\nconst BASE_USER_AGENT = `aws-amplify`;\nclass PlatformBuilder {\n constructor() {\n this.userAgent = `${BASE_USER_AGENT}/${version}`;\n }\n get framework() {\n return detectFramework();\n }\n get isReactNative() {\n return (this.framework === Framework.ReactNative ||\n this.framework === Framework.Expo);\n }\n observeFrameworkChanges(fcn) {\n observeFrameworkChanges(fcn);\n }\n}\nexport const Platform = new PlatformBuilder();\nexport const getAmplifyUserAgentObject = ({ category, action, } = {}) => {\n const userAgent = [[BASE_USER_AGENT, version]];\n if (category) {\n userAgent.push([category, action]);\n }\n userAgent.push(['framework', detectFramework()]);\n if (category && action) {\n const customState = getCustomUserAgent(category, action);\n if (customState) {\n customState.forEach(state => {\n userAgent.push(state);\n });\n }\n }\n return userAgent;\n};\nexport const getAmplifyUserAgent = (customUserAgentDetails) => {\n const userAgent = getAmplifyUserAgentObject(customUserAgentDetails);\n const userAgentString = userAgent\n .map(([agentKey, agentValue]) => agentKey && agentValue ? `${agentKey}/${agentValue}` : agentKey)\n .join(' ');\n return userAgentString;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { getDnsSuffix, getRetryDecider, jitteredBackoff, parseJsonError, unauthenticatedHandler, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, getAmplifyUserAgent, } from '@aws-amplify/core/internals/utils';\nimport { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nconst SERVICE_NAME = 'cognito-idp';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region.\n */\nconst endpointResolver = ({ region }) => {\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n const customURL = authConfig?.userPoolEndpoint;\n const defaultURL = new AmplifyUrl(`https://${SERVICE_NAME}.${region}.${getDnsSuffix(region)}`);\n return {\n url: customURL ? new AmplifyUrl(customURL) : defaultURL,\n };\n};\n/**\n * A Cognito Identity-specific middleware that disables caching for all requests.\n */\nconst disableCacheMiddlewareFactory = () => (next, _) => async function disableCacheMiddleware(request) {\n request.headers['cache-control'] = 'no-store';\n return next(request);\n};\n/**\n * A Cognito Identity-specific transfer handler that does NOT sign requests, and\n * disables caching.\n *\n * @internal\n */\nexport const cognitoUserPoolTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n/**\n * @internal\n */\nexport const defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n cache: 'no-store',\n};\n/**\n * @internal\n */\nexport const getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityProviderService.${operation}`,\n});\n/**\n * @internal\n */\nexport const buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { parseJsonBody, parseJsonError, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { assertServiceError } from '../../../../../errors/utils/assertServiceError';\nimport { AuthError } from '../../../../../errors/AuthError';\nimport { buildHttpRpcRequest, cognitoUserPoolTransferHandler, defaultConfig, getSharedHeaders, } from './base';\nconst buildUserPoolSerializer = (operation) => (input, endpoint) => {\n const headers = getSharedHeaders(operation);\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst buildUserPoolDeserializer = () => {\n return async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n assertServiceError(error);\n throw new AuthError({ name: error.name, message: error.message });\n }\n else {\n const body = await parseJsonBody(response);\n return body;\n }\n };\n};\nconst handleEmptyResponseDeserializer = () => {\n return async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n assertServiceError(error);\n throw new AuthError({ name: error.name, message: error.message });\n }\n else {\n return undefined;\n }\n };\n};\nexport const initiateAuth = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('InitiateAuth'), buildUserPoolDeserializer(), defaultConfig);\nexport const revokeToken = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('RevokeToken'), buildUserPoolDeserializer(), defaultConfig);\nexport const signUp = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('SignUp'), buildUserPoolDeserializer(), defaultConfig);\nexport const confirmSignUp = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ConfirmSignUp'), buildUserPoolDeserializer(), defaultConfig);\nexport const forgotPassword = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ForgotPassword'), buildUserPoolDeserializer(), defaultConfig);\nexport const confirmForgotPassword = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ConfirmForgotPassword'), buildUserPoolDeserializer(), defaultConfig);\nexport const respondToAuthChallenge = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('RespondToAuthChallenge'), buildUserPoolDeserializer(), defaultConfig);\nexport const resendConfirmationCode = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ResendConfirmationCode'), buildUserPoolDeserializer(), defaultConfig);\nexport const verifySoftwareToken = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('VerifySoftwareToken'), buildUserPoolDeserializer(), defaultConfig);\nexport const associateSoftwareToken = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('AssociateSoftwareToken'), buildUserPoolDeserializer(), defaultConfig);\nexport const setUserMFAPreference = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('SetUserMFAPreference'), buildUserPoolDeserializer(), defaultConfig);\nexport const getUser = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('GetUser'), buildUserPoolDeserializer(), defaultConfig);\nexport const changePassword = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ChangePassword'), buildUserPoolDeserializer(), defaultConfig);\nexport const confirmDevice = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ConfirmDevice'), buildUserPoolDeserializer(), defaultConfig);\nexport const forgetDevice = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ForgetDevice'), handleEmptyResponseDeserializer(), defaultConfig);\nexport const deleteUser = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('DeleteUser'), handleEmptyResponseDeserializer(), defaultConfig);\nexport const getUserAttributeVerificationCode = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('GetUserAttributeVerificationCode'), buildUserPoolDeserializer(), defaultConfig);\nexport const globalSignOut = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('GlobalSignOut'), buildUserPoolDeserializer(), defaultConfig);\nexport const updateUserAttributes = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('UpdateUserAttributes'), buildUserPoolDeserializer(), defaultConfig);\nexport const verifyUserAttribute = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('VerifyUserAttribute'), buildUserPoolDeserializer(), defaultConfig);\nexport const updateDeviceStatus = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('UpdateDeviceStatus'), buildUserPoolDeserializer(), defaultConfig);\nexport const listDevices = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('ListDevices'), buildUserPoolDeserializer(), defaultConfig);\nexport const deleteUserAttributes = composeServiceApi(cognitoUserPoolTransferHandler, buildUserPoolSerializer('DeleteUserAttributes'), buildUserPoolDeserializer(), defaultConfig);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from '../../../../../errors/AuthError';\nexport function getRegion(userPoolId) {\n const region = userPoolId?.split('_')[0];\n if (!userPoolId ||\n userPoolId.indexOf('_') < 0 ||\n !region ||\n typeof region !== 'string')\n throw new AuthError({\n name: 'InvalidUserPoolId',\n message: 'Invalid user pool id provided.',\n });\n return region;\n}\nexport function getRegionFromIdentityPoolId(identityPoolId) {\n if (!identityPoolId || !identityPoolId.includes(':')) {\n throw new AuthError({\n name: 'InvalidIdentityPoolIdException',\n message: 'Invalid identity pool id provided.',\n recoverySuggestion: 'Make sure a valid identityPoolId is given in the config.',\n });\n }\n return identityPoolId.split(':')[0];\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from './AuthError';\nexport const USER_UNAUTHENTICATED_EXCEPTION = 'UserUnAuthenticatedException';\nexport const USER_ALREADY_AUTHENTICATED_EXCEPTION = 'UserAlreadyAuthenticatedException';\nexport const DEVICE_METADATA_NOT_FOUND_EXCEPTION = 'DeviceMetadataNotFoundException';\nexport const AUTO_SIGN_IN_EXCEPTION = 'AutoSignInException';\nexport const INVALID_REDIRECT_EXCEPTION = 'InvalidRedirectException';\nexport const invalidRedirectException = new AuthError({\n name: INVALID_REDIRECT_EXCEPTION,\n message: 'signInRedirect or signOutRedirect had an invalid format or was not found.',\n recoverySuggestion: 'Please make sure the signIn/Out redirect in your oauth config is valid.',\n});\nexport const INVALID_ORIGIN_EXCEPTION = 'InvalidOriginException';\nexport const invalidOriginException = new AuthError({\n name: INVALID_ORIGIN_EXCEPTION,\n message: 'redirect is coming from a different origin. The oauth flow needs to be initiated from the same origin',\n recoverySuggestion: 'Please call signInWithRedirect from the same origin.',\n});\nexport const OAUTH_SIGNOUT_EXCEPTION = 'OAuthSignOutException';\nexport const TOKEN_REFRESH_EXCEPTION = 'TokenRefreshException';\nexport const UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION = 'UnexpectedSignInInterruptionException';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from '../../../errors/AuthError';\nimport { DEVICE_METADATA_NOT_FOUND_EXCEPTION, TOKEN_REFRESH_EXCEPTION, USER_UNAUTHENTICATED_EXCEPTION, } from '../../../errors/constants';\nexport function isTypeUserPoolConfig(authConfig) {\n if (authConfig &&\n authConfig.Cognito.userPoolId &&\n authConfig.Cognito.userPoolClientId) {\n return true;\n }\n return false;\n}\nexport function assertAuthTokens(tokens) {\n if (!tokens || !tokens.accessToken) {\n throw new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n });\n }\n}\nexport function assertIdTokenInAuthTokens(tokens) {\n if (!tokens || !tokens.idToken) {\n throw new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n });\n }\n}\nexport const oAuthTokenRefreshException = new AuthError({\n name: TOKEN_REFRESH_EXCEPTION,\n message: `Token refresh is not supported when authenticated with the 'implicit grant' (token) oauth flow. \n\tPlease change your oauth configuration to use 'code grant' flow.`,\n recoverySuggestion: `Please logout and change your Amplify configuration to use \"code grant\" flow. \n\tE.g { responseType: 'code' }`,\n});\nexport const tokenRefreshException = new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n});\nexport function assertAuthTokensWithRefreshToken(tokens) {\n if (isAuthenticatedWithImplicitOauthFlow(tokens)) {\n throw oAuthTokenRefreshException;\n }\n if (!isAuthenticatedWithRefreshToken(tokens)) {\n throw tokenRefreshException;\n }\n}\nexport function assertDeviceMetadata(deviceMetadata) {\n if (!deviceMetadata ||\n !deviceMetadata.deviceKey ||\n !deviceMetadata.deviceGroupKey ||\n !deviceMetadata.randomPassword) {\n throw new AuthError({\n name: DEVICE_METADATA_NOT_FOUND_EXCEPTION,\n message: 'Either deviceKey, deviceGroupKey or secretPassword were not found during the sign-in process.',\n recoverySuggestion: 'Make sure to not clear storage after calling the signIn API.',\n });\n }\n}\nexport const OAuthStorageKeys = {\n inflightOAuth: 'inflightOAuth',\n oauthSignIn: 'oauthSignIn',\n oauthPKCE: 'oauthPKCE',\n oauthState: 'oauthState',\n};\nfunction isAuthenticated(tokens) {\n return tokens?.accessToken || tokens?.idToken;\n}\nfunction isAuthenticatedWithRefreshToken(tokens) {\n return isAuthenticated(tokens) && tokens?.refreshToken;\n}\nfunction isAuthenticatedWithImplicitOauthFlow(tokens) {\n return isAuthenticated(tokens) && !tokens?.refreshToken;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function getUserContextData({ username, userPoolId, userPoolClientId, }) {\n if (typeof window === 'undefined') {\n return undefined;\n }\n const amazonCognitoAdvancedSecurityData = window\n .AmazonCognitoAdvancedSecurityData;\n if (typeof amazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n const advancedSecurityData = amazonCognitoAdvancedSecurityData.getData(username, userPoolId, userPoolClientId);\n if (advancedSecurityData) {\n const userContextData = {\n EncodedData: advancedSecurityData,\n };\n return userContextData;\n }\n return {};\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig, deDupeAsyncFunction, decodeJWT, } from '@aws-amplify/core/internals/utils';\nimport { initiateAuth } from '../utils/clients/CognitoIdentityProvider';\nimport { getRegion } from '../utils/clients/CognitoIdentityProvider/utils';\nimport { assertAuthTokensWithRefreshToken } from '../utils/types';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getUserContextData } from './userContextData';\nconst refreshAuthTokensFunction = async ({ tokens, authConfig, username, }) => {\n assertTokenProviderConfig(authConfig?.Cognito);\n const region = getRegion(authConfig.Cognito.userPoolId);\n assertAuthTokensWithRefreshToken(tokens);\n const refreshTokenString = tokens.refreshToken;\n const AuthParameters = {\n REFRESH_TOKEN: refreshTokenString,\n };\n if (tokens.deviceMetadata?.deviceKey) {\n AuthParameters.DEVICE_KEY = tokens.deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId: authConfig.Cognito.userPoolId,\n userPoolClientId: authConfig.Cognito.userPoolClientId,\n });\n const { AuthenticationResult } = await initiateAuth({ region }, {\n ClientId: authConfig?.Cognito?.userPoolClientId,\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters,\n UserContextData,\n });\n const accessToken = decodeJWT(AuthenticationResult?.AccessToken ?? '');\n const idToken = AuthenticationResult?.IdToken\n ? decodeJWT(AuthenticationResult.IdToken)\n : undefined;\n const { iat } = accessToken.payload;\n // This should never happen. If it does, it's a bug from the service.\n if (!iat) {\n throw new AuthError({\n name: 'iatNotFoundException',\n message: 'iat not found in access token',\n });\n }\n const clockDrift = iat * 1000 - new Date().getTime();\n return {\n accessToken,\n idToken,\n clockDrift,\n refreshToken: refreshTokenString,\n username,\n };\n};\nexport const refreshAuthTokens = deDupeAsyncFunction(refreshAuthTokensFunction);\nexport const refreshAuthTokensWithoutDedupe = refreshAuthTokensFunction;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createAssertionFunction, } from '@aws-amplify/core/internals/utils';\nexport var TokenProviderErrorCode;\n(function (TokenProviderErrorCode) {\n TokenProviderErrorCode[\"InvalidAuthTokens\"] = \"InvalidAuthTokens\";\n})(TokenProviderErrorCode || (TokenProviderErrorCode = {}));\nconst tokenValidationErrorMap = {\n [TokenProviderErrorCode.InvalidAuthTokens]: {\n message: 'Invalid tokens.',\n recoverySuggestion: 'Make sure the tokens are valid.',\n },\n};\nexport const assert = createAssertionFunction(tokenValidationErrorMap);\n","export const AuthTokenStorageKeys = {\n accessToken: 'accessToken',\n idToken: 'idToken',\n oidcProvider: 'oidcProvider',\n clockDrift: 'clockDrift',\n refreshToken: 'refreshToken',\n deviceKey: 'deviceKey',\n randomPasswordKey: 'randomPasswordKey',\n deviceGroupKey: 'deviceGroupKey',\n signInDetails: 'signInDetails',\n};\n","import { assertTokenProviderConfig, decodeJWT, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nimport { AuthTokenStorageKeys, } from './types';\nimport { TokenProviderErrorCode, assert } from './errorHelpers';\nexport class DefaultTokenStore {\n constructor() {\n this.name = 'CognitoIdentityServiceProvider'; // To be backwards compatible with V5, no migration needed\n }\n getKeyValueStorage() {\n if (!this.keyValueStorage) {\n throw new AuthError({\n name: 'KeyValueStorageNotFoundException',\n message: 'KeyValueStorage was not found in TokenStore',\n });\n }\n return this.keyValueStorage;\n }\n setKeyValueStorage(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n setAuthConfig(authConfig) {\n this.authConfig = authConfig;\n }\n async loadTokens() {\n // TODO(v6): migration logic should be here\n // Reading V5 tokens old format\n try {\n const authKeys = await this.getAuthKeys();\n const accessTokenString = await this.getKeyValueStorage().getItem(authKeys.accessToken);\n if (!accessTokenString) {\n throw new AuthError({\n name: 'NoSessionFoundException',\n message: 'Auth session was not found. Make sure to call signIn.',\n });\n }\n const accessToken = decodeJWT(accessTokenString);\n const itString = await this.getKeyValueStorage().getItem(authKeys.idToken);\n const idToken = itString ? decodeJWT(itString) : undefined;\n const refreshToken = (await this.getKeyValueStorage().getItem(authKeys.refreshToken)) ??\n undefined;\n const clockDriftString = (await this.getKeyValueStorage().getItem(authKeys.clockDrift)) ?? '0';\n const clockDrift = Number.parseInt(clockDriftString);\n const signInDetails = await this.getKeyValueStorage().getItem(authKeys.signInDetails);\n const tokens = {\n accessToken,\n idToken,\n refreshToken,\n deviceMetadata: (await this.getDeviceMetadata()) ?? undefined,\n clockDrift,\n username: await this.getLastAuthUser(),\n };\n if (signInDetails) {\n tokens.signInDetails = JSON.parse(signInDetails);\n }\n return tokens;\n }\n catch (err) {\n return null;\n }\n }\n async storeTokens(tokens) {\n assert(tokens !== undefined, TokenProviderErrorCode.InvalidAuthTokens);\n await this.clearTokens();\n const lastAuthUser = tokens.username;\n await this.getKeyValueStorage().setItem(this.getLastAuthUserKey(), lastAuthUser);\n const authKeys = await this.getAuthKeys();\n await this.getKeyValueStorage().setItem(authKeys.accessToken, tokens.accessToken.toString());\n if (tokens.idToken) {\n await this.getKeyValueStorage().setItem(authKeys.idToken, tokens.idToken.toString());\n }\n if (tokens.refreshToken) {\n await this.getKeyValueStorage().setItem(authKeys.refreshToken, tokens.refreshToken);\n }\n if (tokens.deviceMetadata) {\n if (tokens.deviceMetadata.deviceKey) {\n await this.getKeyValueStorage().setItem(authKeys.deviceKey, tokens.deviceMetadata.deviceKey);\n }\n if (tokens.deviceMetadata.deviceGroupKey) {\n await this.getKeyValueStorage().setItem(authKeys.deviceGroupKey, tokens.deviceMetadata.deviceGroupKey);\n }\n await this.getKeyValueStorage().setItem(authKeys.randomPasswordKey, tokens.deviceMetadata.randomPassword);\n }\n if (tokens.signInDetails) {\n await this.getKeyValueStorage().setItem(authKeys.signInDetails, JSON.stringify(tokens.signInDetails));\n }\n await this.getKeyValueStorage().setItem(authKeys.clockDrift, `${tokens.clockDrift}`);\n }\n async clearTokens() {\n const authKeys = await this.getAuthKeys();\n // Not calling clear because it can remove data that is not managed by AuthTokenStore\n await Promise.all([\n this.getKeyValueStorage().removeItem(authKeys.accessToken),\n this.getKeyValueStorage().removeItem(authKeys.idToken),\n this.getKeyValueStorage().removeItem(authKeys.clockDrift),\n this.getKeyValueStorage().removeItem(authKeys.refreshToken),\n this.getKeyValueStorage().removeItem(authKeys.signInDetails),\n this.getKeyValueStorage().removeItem(this.getLastAuthUserKey()),\n ]);\n }\n async getDeviceMetadata(username) {\n const authKeys = await this.getAuthKeys(username);\n const deviceKey = await this.getKeyValueStorage().getItem(authKeys.deviceKey);\n const deviceGroupKey = await this.getKeyValueStorage().getItem(authKeys.deviceGroupKey);\n const randomPassword = await this.getKeyValueStorage().getItem(authKeys.randomPasswordKey);\n return randomPassword && deviceGroupKey && deviceKey\n ? {\n deviceKey,\n deviceGroupKey,\n randomPassword,\n }\n : null;\n }\n async clearDeviceMetadata(username) {\n const authKeys = await this.getAuthKeys(username);\n await Promise.all([\n this.getKeyValueStorage().removeItem(authKeys.deviceKey),\n this.getKeyValueStorage().removeItem(authKeys.deviceGroupKey),\n this.getKeyValueStorage().removeItem(authKeys.randomPasswordKey),\n ]);\n }\n async getAuthKeys(username) {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n const lastAuthUser = username ?? (await this.getLastAuthUser());\n return createKeysForAuthStorage(this.name, `${this.authConfig.Cognito.userPoolClientId}.${lastAuthUser}`);\n }\n getLastAuthUserKey() {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n const identifier = this.authConfig.Cognito.userPoolClientId;\n return `${this.name}.${identifier}.LastAuthUser`;\n }\n async getLastAuthUser() {\n const lastAuthUser = (await this.getKeyValueStorage().getItem(this.getLastAuthUserKey())) ??\n 'username';\n return lastAuthUser;\n }\n}\nexport const createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(AuthTokenStorageKeys)(`${provider}`, identifier);\n};\nexport function getAuthStorageKeys(authKeys) {\n const keys = Object.values({ ...authKeys });\n return (prefix, identifier) => keys.reduce((acc, authKey) => ({\n ...acc,\n [authKey]: `${prefix}.${identifier}.${authKey}`,\n }), {});\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const isBrowser = () => typeof window !== 'undefined' && typeof window.document !== 'undefined';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore';\nimport { OAuthStorageKeys } from './types';\nconst V5_HOSTED_UI_KEY = 'amplify-signin-with-hostedUI';\nconst name = 'CognitoIdentityServiceProvider';\nexport class DefaultOAuthStore {\n constructor(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n async clearOAuthInflightData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await Promise.all([\n this.keyValueStorage.removeItem(authKeys.inflightOAuth),\n this.keyValueStorage.removeItem(authKeys.oauthPKCE),\n this.keyValueStorage.removeItem(authKeys.oauthState),\n ]);\n }\n async clearOAuthData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.clearOAuthInflightData();\n await this.keyValueStorage.removeItem(V5_HOSTED_UI_KEY); // remove in case a customer migrated an App from v5 to v6\n return this.keyValueStorage.removeItem(authKeys.oauthSignIn);\n }\n loadOAuthState() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthState);\n }\n storeOAuthState(state) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthState, state);\n }\n loadPKCE() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthPKCE);\n }\n storePKCE(pkce) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthPKCE, pkce);\n }\n setAuthConfig(authConfigParam) {\n this.cognitoConfig = authConfigParam;\n }\n async loadOAuthInFlight() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return ((await this.keyValueStorage.getItem(authKeys.inflightOAuth)) === 'true');\n }\n async storeOAuthInFlight(inflight) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.inflightOAuth, `${inflight}`);\n }\n async loadOAuthSignIn() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n const isLegacyHostedUISignIn = await this.keyValueStorage.getItem(V5_HOSTED_UI_KEY);\n const [isOAuthSignIn, preferPrivateSession] = (await this.keyValueStorage.getItem(authKeys.oauthSignIn))?.split(',') ??\n [];\n return {\n isOAuthSignIn: isOAuthSignIn === 'true' || isLegacyHostedUISignIn === 'true',\n preferPrivateSession: preferPrivateSession === 'true',\n };\n }\n async storeOAuthSignIn(oauthSignIn, preferPrivateSession = false) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.oauthSignIn, `${oauthSignIn},${preferPrivateSession}`);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(OAuthStorageKeys)(provider, identifier);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultStorage } from '@aws-amplify/core';\nimport { DefaultOAuthStore } from '../signInWithRedirectStore';\nexport const oAuthStore = new DefaultOAuthStore(defaultStorage);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst inflightPromises = [];\nexport const addInflightPromise = (resolver) => {\n inflightPromises.push(resolver);\n};\nexport const resolveAndClearInflightPromises = () => {\n while (inflightPromises.length) {\n inflightPromises.pop()?.();\n }\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Hub, } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL, assertTokenProviderConfig, isBrowser, isTokenExpired, } from '@aws-amplify/core/internals/utils';\nimport { assertServiceError } from '../../../errors/utils/assertServiceError';\nimport { AuthError } from '../../../errors/AuthError';\nimport { oAuthStore } from '../utils/oauth/oAuthStore';\nimport { addInflightPromise } from '../utils/oauth/inflightPromise';\nexport class TokenOrchestrator {\n constructor() {\n this.waitForInflightOAuth = isBrowser()\n ? async () => {\n if (!(await oAuthStore.loadOAuthInFlight())) {\n return;\n }\n if (this.inflightPromise) {\n return this.inflightPromise;\n }\n // when there is valid oauth config and there is an inflight oauth flow, try\n // to block async calls that require fetching tokens before the oauth flow completes\n // e.g. getCurrentUser, fetchAuthSession etc.\n this.inflightPromise = new Promise((resolve, _reject) => {\n addInflightPromise(resolve);\n });\n return this.inflightPromise;\n }\n : async () => {\n // no-op for non-browser environments\n };\n }\n setAuthConfig(authConfig) {\n oAuthStore.setAuthConfig(authConfig.Cognito);\n this.authConfig = authConfig;\n }\n setTokenRefresher(tokenRefresher) {\n this.tokenRefresher = tokenRefresher;\n }\n setAuthTokenStore(tokenStore) {\n this.tokenStore = tokenStore;\n }\n getTokenStore() {\n if (!this.tokenStore) {\n throw new AuthError({\n name: 'EmptyTokenStoreException',\n message: 'TokenStore not set',\n });\n }\n return this.tokenStore;\n }\n getTokenRefresher() {\n if (!this.tokenRefresher) {\n throw new AuthError({\n name: 'EmptyTokenRefresherException',\n message: 'TokenRefresher not set',\n });\n }\n return this.tokenRefresher;\n }\n async getTokens(options) {\n let tokens;\n try {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n }\n catch (_err) {\n // Token provider not configured\n return null;\n }\n await this.waitForInflightOAuth();\n this.inflightPromise = undefined;\n tokens = await this.getTokenStore().loadTokens();\n const username = await this.getTokenStore().getLastAuthUser();\n if (tokens === null) {\n return null;\n }\n const idTokenExpired = !!tokens?.idToken &&\n isTokenExpired({\n expiresAt: (tokens.idToken?.payload?.exp ?? 0) * 1000,\n clockDrift: tokens.clockDrift ?? 0,\n });\n const accessTokenExpired = isTokenExpired({\n expiresAt: (tokens.accessToken?.payload?.exp ?? 0) * 1000,\n clockDrift: tokens.clockDrift ?? 0,\n });\n if (options?.forceRefresh || idTokenExpired || accessTokenExpired) {\n tokens = await this.refreshTokens({\n tokens,\n username,\n });\n if (tokens === null) {\n return null;\n }\n }\n return {\n accessToken: tokens?.accessToken,\n idToken: tokens?.idToken,\n signInDetails: tokens?.signInDetails,\n };\n }\n async refreshTokens({ tokens, username, }) {\n try {\n const { signInDetails } = tokens;\n const newTokens = await this.getTokenRefresher()({\n tokens,\n authConfig: this.authConfig,\n username,\n });\n newTokens.signInDetails = signInDetails;\n await this.setTokens({ tokens: newTokens });\n Hub.dispatch('auth', { event: 'tokenRefresh' }, 'Auth', AMPLIFY_SYMBOL);\n return newTokens;\n }\n catch (err) {\n return this.handleErrors(err);\n }\n }\n handleErrors(err) {\n assertServiceError(err);\n if (err.message !== 'Network error') {\n // TODO(v6): Check errors on client\n this.clearTokens();\n }\n Hub.dispatch('auth', {\n event: 'tokenRefresh_failure',\n data: { error: err },\n }, 'Auth', AMPLIFY_SYMBOL);\n if (err.name.startsWith('NotAuthorizedException')) {\n return null;\n }\n throw err;\n }\n async setTokens({ tokens }) {\n return this.getTokenStore().storeTokens(tokens);\n }\n async clearTokens() {\n return this.getTokenStore().clearTokens();\n }\n getDeviceMetadata(username) {\n return this.getTokenStore().getDeviceMetadata(username);\n }\n clearDeviceMetadata(username) {\n return this.getTokenStore().clearDeviceMetadata(username);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultStorage, } from '@aws-amplify/core';\nimport { refreshAuthTokens } from '../utils/refreshAuthTokens';\nimport { DefaultTokenStore } from './TokenStore';\nimport { TokenOrchestrator } from './TokenOrchestrator';\nexport class CognitoUserPoolsTokenProvider {\n constructor() {\n this.authTokenStore = new DefaultTokenStore();\n this.authTokenStore.setKeyValueStorage(defaultStorage);\n this.tokenOrchestrator = new TokenOrchestrator();\n this.tokenOrchestrator.setAuthTokenStore(this.authTokenStore);\n this.tokenOrchestrator.setTokenRefresher(refreshAuthTokens);\n }\n getTokens({ forceRefresh } = { forceRefresh: false }) {\n return this.tokenOrchestrator.getTokens({ forceRefresh });\n }\n setKeyValueStorage(keyValueStorage) {\n this.authTokenStore.setKeyValueStorage(keyValueStorage);\n }\n setAuthConfig(authConfig) {\n this.authTokenStore.setAuthConfig(authConfig);\n this.tokenOrchestrator.setAuthConfig(authConfig);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { CognitoUserPoolsTokenProvider } from './CognitoUserPoolsTokenProvider';\n/**\n * The default provider for the JWT access token and ID token issued from the configured Cognito user pool. It manages\n * the refresh and storage of the tokens. It stores the tokens in `window.localStorage` if available, and falls back to\n * in-memory storage if not.\n */\nexport const cognitoUserPoolsTokenProvider = new CognitoUserPoolsTokenProvider();\nexport const { tokenOrchestrator } = cognitoUserPoolsTokenProvider;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const IdentityIdStorageKeys = {\n identityId: 'identityId',\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger, } from '@aws-amplify/core';\nimport { assertIdentityPoolIdConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore';\nimport { IdentityIdStorageKeys } from './types';\nconst logger = new ConsoleLogger('DefaultIdentityIdStore');\nexport class DefaultIdentityIdStore {\n setAuthConfig(authConfigParam) {\n assertIdentityPoolIdConfig(authConfigParam.Cognito);\n this.authConfig = authConfigParam;\n this._authKeys = createKeysForAuthStorage('Cognito', authConfigParam.Cognito.identityPoolId);\n }\n constructor(keyValueStorage) {\n this._authKeys = {};\n this.keyValueStorage = keyValueStorage;\n }\n async loadIdentityId() {\n assertIdentityPoolIdConfig(this.authConfig?.Cognito);\n try {\n if (this._primaryIdentityId) {\n return {\n id: this._primaryIdentityId,\n type: 'primary',\n };\n }\n else {\n const storedIdentityId = await this.keyValueStorage.getItem(this._authKeys.identityId);\n if (storedIdentityId) {\n return {\n id: storedIdentityId,\n type: 'guest',\n };\n }\n return null;\n }\n }\n catch (err) {\n logger.log('Error getting stored IdentityId.', err);\n return null;\n }\n }\n async storeIdentityId(identity) {\n assertIdentityPoolIdConfig(this.authConfig?.Cognito);\n if (identity.type === 'guest') {\n this.keyValueStorage.setItem(this._authKeys.identityId, identity.id);\n // Clear in-memory storage of primary identityId\n this._primaryIdentityId = undefined;\n }\n else {\n this._primaryIdentityId = identity.id;\n // Clear locally stored guest id\n this.keyValueStorage.removeItem(this._authKeys.identityId);\n }\n }\n async clearIdentityId() {\n this._primaryIdentityId = undefined;\n await this.keyValueStorage.removeItem(this._authKeys.identityId);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(IdentityIdStorageKeys)(`com.amplify.${provider}`, identifier);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getDnsSuffix, parseJsonError, unauthenticatedHandler, } from '../../clients';\nimport { composeTransferHandler } from '../../clients/internal/composeTransferHandler';\nimport { getRetryDecider, jitteredBackoff, } from '../../clients/middleware/retry';\nimport { getAmplifyUserAgent } from '../../Platform';\nimport { observeFrameworkChanges } from '../../Platform/detectFramework';\nimport { AmplifyUrl } from '../../utils/amplifyUrl';\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nconst SERVICE_NAME = 'cognito-identity';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region.\n */\nconst endpointResolver = ({ region }) => ({\n url: new AmplifyUrl(`https://cognito-identity.${region}.${getDnsSuffix(region)}`),\n});\n/**\n * A Cognito Identity-specific middleware that disables caching for all requests.\n */\nconst disableCacheMiddlewareFactory = () => next => async function disableCacheMiddleware(request) {\n request.headers['cache-control'] = 'no-store';\n return next(request);\n};\n/**\n * A Cognito Identity-specific transfer handler that does NOT sign requests, and\n * disables caching.\n *\n * @internal\n */\nexport const cognitoIdentityTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n/**\n * @internal\n */\nexport const defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n cache: 'no-store',\n};\nobserveFrameworkChanges(() => {\n defaultConfig.userAgentValue = getAmplifyUserAgent();\n});\n/**\n * @internal\n */\nexport const getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityService.${operation}`,\n});\n/**\n * @internal\n */\nexport const buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';\nimport { composeServiceApi } from '../../clients/internal';\nimport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';\nconst getCredentialsForIdentitySerializer = (input, endpoint) => {\n const headers = getSharedHeaders('GetCredentialsForIdentity');\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst getCredentialsForIdentityDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n throw error;\n }\n else {\n const body = await parseJsonBody(response);\n return {\n IdentityId: body.IdentityId,\n Credentials: deserializeCredentials(body.Credentials),\n $metadata: parseMetadata(response),\n };\n }\n};\nconst deserializeCredentials = ({ AccessKeyId, SecretKey, SessionToken, Expiration, } = {}) => {\n return {\n AccessKeyId,\n SecretKey,\n SessionToken,\n Expiration: Expiration && new Date(Expiration * 1000),\n };\n};\n/**\n * @internal\n */\nexport const getCredentialsForIdentity = composeServiceApi(cognitoIdentityTransferHandler, getCredentialsForIdentitySerializer, getCredentialsForIdentityDeserializer, defaultConfig);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';\nimport { composeServiceApi } from '../../clients/internal';\nimport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';\nconst getIdSerializer = (input, endpoint) => {\n const headers = getSharedHeaders('GetId');\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst getIdDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n throw error;\n }\n else {\n const body = await parseJsonBody(response);\n return {\n IdentityId: body.IdentityId,\n $metadata: parseMetadata(response),\n };\n }\n};\n/**\n * @internal\n */\nexport const getId = composeServiceApi(cognitoIdentityTransferHandler, getIdSerializer, getIdDeserializer, defaultConfig);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { decodeJWT } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nexport function formLoginsMap(idToken) {\n const issuer = decodeJWT(idToken).payload.iss;\n const res = {};\n if (!issuer) {\n throw new AuthError({\n name: 'InvalidIdTokenException',\n message: 'Invalid Idtoken.',\n });\n }\n const domainName = issuer.replace(/(^\\w+:|^)\\/\\//, '');\n res[domainName] = idToken;\n return res;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger, getId } from '@aws-amplify/core';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getRegionFromIdentityPoolId } from '../utils/clients/CognitoIdentityProvider/utils';\nimport { formLoginsMap } from './utils';\nconst logger = new ConsoleLogger('CognitoIdentityIdProvider');\n/**\n * Provides a Cognito identityId\n *\n * @param tokens - The AuthTokens received after SignIn\n * @returns string\n * @throws configuration exceptions: `InvalidIdentityPoolIdException`\n * - Auth errors that may arise from misconfiguration.\n * @throws service exceptions: {@link GetIdException }\n */\nexport async function cognitoIdentityIdProvider({ tokens, authConfig, identityIdStore, }) {\n identityIdStore.setAuthConfig({ Cognito: authConfig });\n // will return null only if there is no identityId cached or if there is an error retrieving it\n let identityId = await identityIdStore.loadIdentityId();\n // Tokens are available so return primary identityId\n if (tokens) {\n // If there is existing primary identityId in-memory return that\n if (identityId && identityId.type === 'primary') {\n return identityId.id;\n }\n else {\n const logins = tokens.idToken\n ? formLoginsMap(tokens.idToken.toString())\n : {};\n const generatedIdentityId = await generateIdentityId(logins, authConfig);\n if (identityId && identityId.id === generatedIdentityId) {\n logger.debug(`The guest identity ${identityId.id} has become the primary identity.`);\n }\n identityId = {\n id: generatedIdentityId,\n type: 'primary',\n };\n }\n }\n else {\n // If there is existing guest identityId cached return that\n if (identityId && identityId.type === 'guest') {\n return identityId.id;\n }\n else {\n identityId = {\n id: await generateIdentityId({}, authConfig),\n type: 'guest',\n };\n }\n }\n // Store in-memory or local storage depending on guest or primary identityId\n identityIdStore.storeIdentityId(identityId);\n return identityId.id;\n}\nasync function generateIdentityId(logins, authConfig) {\n const identityPoolId = authConfig?.identityPoolId;\n const region = getRegionFromIdentityPoolId(identityPoolId);\n // IdentityId is absent so get it using IdentityPoolId with Cognito's GetId API\n const idResult = \n // for a first-time user, this will return a brand new identity\n // for a returning user, this will retrieve the previous identity assocaited with the logins\n (await getId({\n region,\n }, {\n IdentityPoolId: identityPoolId,\n Logins: logins,\n })).IdentityId;\n if (!idResult) {\n throw new AuthError({\n name: 'GetIdResponseException',\n message: 'Received undefined response from getId operation',\n recoverySuggestion: 'Make sure to pass a valid identityPoolId in the configuration.',\n });\n }\n return idResult;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger, getCredentialsForIdentity, } from '@aws-amplify/core';\nimport { assertIdentityPoolIdConfig, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getRegionFromIdentityPoolId } from '../utils/clients/CognitoIdentityProvider/utils';\nimport { assertIdTokenInAuthTokens } from '../utils/types';\nimport { cognitoIdentityIdProvider } from './IdentityIdProvider';\nimport { formLoginsMap } from './utils';\nconst logger = new ConsoleLogger('CognitoCredentialsProvider');\nconst CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nexport class CognitoAWSCredentialsAndIdentityIdProvider {\n constructor(identityIdStore) {\n this._nextCredentialsRefresh = 0;\n this._identityIdStore = identityIdStore;\n }\n async clearCredentialsAndIdentityId() {\n logger.debug('Clearing out credentials and identityId');\n this._credentialsAndIdentityId = undefined;\n await this._identityIdStore.clearIdentityId();\n }\n async clearCredentials() {\n logger.debug('Clearing out in-memory credentials');\n this._credentialsAndIdentityId = undefined;\n }\n async getCredentialsAndIdentityId(getCredentialsOptions) {\n const isAuthenticated = getCredentialsOptions.authenticated;\n const { tokens } = getCredentialsOptions;\n const { authConfig } = getCredentialsOptions;\n try {\n assertIdentityPoolIdConfig(authConfig?.Cognito);\n }\n catch {\n // No identity pool configured, skipping\n return;\n }\n if (!isAuthenticated && !authConfig.Cognito.allowGuestAccess) {\n // TODO(V6): return partial result like Native platforms\n return;\n }\n const { forceRefresh } = getCredentialsOptions;\n const tokenHasChanged = this.hasTokenChanged(tokens);\n const identityId = await cognitoIdentityIdProvider({\n tokens,\n authConfig: authConfig.Cognito,\n identityIdStore: this._identityIdStore,\n });\n // Clear cached credentials when forceRefresh is true OR the cache token has changed\n if (forceRefresh || tokenHasChanged) {\n this.clearCredentials();\n }\n if (!isAuthenticated) {\n return this.getGuestCredentials(identityId, authConfig.Cognito);\n }\n else {\n assertIdTokenInAuthTokens(tokens);\n return this.credsForOIDCTokens(authConfig.Cognito, tokens, identityId);\n }\n }\n async getGuestCredentials(identityId, authConfig) {\n // Return existing in-memory cached credentials only if it exists, is not past it's lifetime and is unauthenticated credentials\n if (this._credentialsAndIdentityId &&\n !this.isPastTTL() &&\n this._credentialsAndIdentityId.isAuthenticatedCreds === false) {\n logger.info('returning stored credentials as they neither past TTL nor expired.');\n return this._credentialsAndIdentityId;\n }\n // Clear to discard if any authenticated credentials are set and start with a clean slate\n this.clearCredentials();\n const region = getRegionFromIdentityPoolId(authConfig.identityPoolId);\n // use identityId to obtain guest credentials\n // save credentials in-memory\n // No logins params should be passed for guest creds:\n // https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html\n const clientResult = await getCredentialsForIdentity({ region }, {\n IdentityId: identityId,\n });\n if (clientResult.Credentials &&\n clientResult.Credentials.AccessKeyId &&\n clientResult.Credentials.SecretKey) {\n this._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n const res = {\n credentials: {\n accessKeyId: clientResult.Credentials.AccessKeyId,\n secretAccessKey: clientResult.Credentials.SecretKey,\n sessionToken: clientResult.Credentials.SessionToken,\n expiration: clientResult.Credentials.Expiration,\n },\n identityId,\n };\n const identityIdRes = clientResult.IdentityId;\n if (identityIdRes) {\n res.identityId = identityIdRes;\n this._identityIdStore.storeIdentityId({\n id: identityIdRes,\n type: 'guest',\n });\n }\n this._credentialsAndIdentityId = {\n ...res,\n isAuthenticatedCreds: false,\n };\n return res;\n }\n else {\n throw new AuthError({\n name: 'CredentialsNotFoundException',\n message: `Cognito did not respond with either Credentials, AccessKeyId or SecretKey.`,\n });\n }\n }\n async credsForOIDCTokens(authConfig, authTokens, identityId) {\n if (this._credentialsAndIdentityId &&\n !this.isPastTTL() &&\n this._credentialsAndIdentityId.isAuthenticatedCreds === true) {\n logger.debug('returning stored credentials as they neither past TTL nor expired.');\n return this._credentialsAndIdentityId;\n }\n // Clear to discard if any unauthenticated credentials are set and start with a clean slate\n this.clearCredentials();\n const logins = authTokens.idToken\n ? formLoginsMap(authTokens.idToken.toString())\n : {};\n const region = getRegionFromIdentityPoolId(authConfig.identityPoolId);\n const clientResult = await getCredentialsForIdentity({ region }, {\n IdentityId: identityId,\n Logins: logins,\n });\n if (clientResult.Credentials &&\n clientResult.Credentials.AccessKeyId &&\n clientResult.Credentials.SecretKey) {\n const res = {\n credentials: {\n accessKeyId: clientResult.Credentials.AccessKeyId,\n secretAccessKey: clientResult.Credentials.SecretKey,\n sessionToken: clientResult.Credentials.SessionToken,\n expiration: clientResult.Credentials.Expiration,\n },\n identityId,\n };\n // Store the credentials in-memory along with the expiration\n this._credentialsAndIdentityId = {\n ...res,\n isAuthenticatedCreds: true,\n associatedIdToken: authTokens.idToken?.toString(),\n };\n this._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n const identityIdRes = clientResult.IdentityId;\n if (identityIdRes) {\n res.identityId = identityIdRes;\n this._identityIdStore.storeIdentityId({\n id: identityIdRes,\n type: 'primary',\n });\n }\n return res;\n }\n else {\n throw new AuthError({\n name: 'CredentialsException',\n message: `Cognito did not respond with either Credentials, AccessKeyId or SecretKey.`,\n });\n }\n }\n isPastTTL() {\n return this._nextCredentialsRefresh === undefined\n ? true\n : this._nextCredentialsRefresh <= Date.now();\n }\n hasTokenChanged(tokens) {\n return (!!tokens &&\n !!this._credentialsAndIdentityId?.associatedIdToken &&\n tokens.idToken?.toString() !==\n this._credentialsAndIdentityId.associatedIdToken);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { defaultStorage } from '@aws-amplify/core';\nimport { DefaultIdentityIdStore } from './IdentityIdStore';\nimport { CognitoAWSCredentialsAndIdentityIdProvider } from './credentialsProvider';\n/**\n * Cognito specific implmentation of the CredentialsProvider interface\n * that manages setting and getting of AWS Credentials.\n *\n * @throws configuration expections: `InvalidIdentityPoolIdException`\n * - Auth errors that may arise from misconfiguration.\n * @throws service expections: {@link GetCredentialsForIdentityException}, {@link GetIdException}\n *\n */\nexport const cognitoCredentialsProvider = new CognitoAWSCredentialsAndIdentityIdProvider(new DefaultIdentityIdStore(defaultStorage));\nexport { CognitoAWSCredentialsAndIdentityIdProvider, DefaultIdentityIdStore };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, CookieStorage, defaultStorage, } from '@aws-amplify/core';\nimport { parseAmplifyConfig, } from '@aws-amplify/core/internals/utils';\nimport { cognitoCredentialsProvider, cognitoUserPoolsTokenProvider, } from './auth/cognito';\nexport const DefaultAmplify = {\n /**\n * Configures Amplify with the {@link resourceConfig} and {@link libraryOptions}.\n *\n * @param resourceConfig The {@link ResourcesConfig} object that is typically imported from the\n * `amplifyconfiguration.json` file. It can also be an object literal created inline when calling `Amplify.configure`.\n * @param libraryOptions The {@link LibraryOptions} additional options for the library.\n *\n * @example\n * import config from './amplifyconfiguration.json';\n *\n * Amplify.configure(config);\n */\n configure(resourceConfig, libraryOptions) {\n const resolvedResourceConfig = parseAmplifyConfig(resourceConfig);\n // If no Auth config is provided, no special handling will be required, configure as is.\n // Otherwise, we can assume an Auth config is provided from here on.\n if (!resolvedResourceConfig.Auth) {\n Amplify.configure(resolvedResourceConfig, libraryOptions);\n return;\n }\n // If Auth options are provided, always just configure as is.\n // Otherwise, we can assume no Auth libraryOptions were provided from here on.\n if (libraryOptions?.Auth) {\n Amplify.configure(resolvedResourceConfig, libraryOptions);\n return;\n }\n // If no Auth libraryOptions were previously configured, then always add default providers.\n if (!Amplify.libraryOptions.Auth) {\n cognitoUserPoolsTokenProvider.setAuthConfig(resolvedResourceConfig.Auth);\n cognitoUserPoolsTokenProvider.setKeyValueStorage(\n // TODO: allow configure with a public interface\n libraryOptions?.ssr\n ? new CookieStorage({ sameSite: 'lax' })\n : defaultStorage);\n Amplify.configure(resolvedResourceConfig, {\n ...libraryOptions,\n Auth: {\n tokenProvider: cognitoUserPoolsTokenProvider,\n credentialsProvider: cognitoCredentialsProvider,\n },\n });\n return;\n }\n // At this point, Auth libraryOptions would have been previously configured and no overriding\n // Auth options were given, so we should preserve the currently configured Auth libraryOptions.\n if (libraryOptions) {\n // If ssr is provided through libraryOptions, we should respect the intentional reconfiguration.\n if (libraryOptions.ssr !== undefined) {\n cognitoUserPoolsTokenProvider.setKeyValueStorage(\n // TODO: allow configure with a public interface\n libraryOptions.ssr\n ? new CookieStorage({ sameSite: 'lax' })\n : defaultStorage);\n }\n Amplify.configure(resolvedResourceConfig, {\n Auth: Amplify.libraryOptions.Auth,\n ...libraryOptions,\n });\n return;\n }\n // Finally, if there were no libraryOptions given at all, we should simply not touch the currently\n // configured libraryOptions.\n Amplify.configure(resolvedResourceConfig);\n },\n /**\n * Returns the {@link ResourcesConfig} object passed in as the `resourceConfig` parameter when calling\n * `Amplify.configure`.\n *\n * @returns An {@link ResourcesConfig} object.\n */\n getConfig() {\n return Amplify.getConfig();\n },\n};\n","export const __modelMeta__ = Symbol();\n","/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n","import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n","/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n","import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n","import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n","/* tslint:disable:no-empty */\nexport function noop() { }\n","import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n","import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n","import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n","import { OperatorFunction } from '../types';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\n\nexport function map(project: (value: T, index: number) => R): OperatorFunction;\n/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */\nexport function map(project: (this: A, value: T, index: number) => R, thisArg: A): OperatorFunction;\n\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.\n *\n * ![](map.png)\n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * ## Example\n *\n * Map every click to the `clientX` position of that click\n *\n * ```ts\n * import { fromEvent, map } from 'rxjs';\n *\n * const clicks = fromEvent(document, 'click');\n * const positions = clicks.pipe(map(ev => ev.clientX));\n *\n * positions.subscribe(x => console.log(x));\n * ```\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return A function that returns an Observable that emits the values from the\n * source Observable transformed by the given `project` function.\n */\nexport function map(project: (value: T, index: number) => R, thisArg?: any): OperatorFunction {\n return operate((source, subscriber) => {\n // The index of the value from the source. Used with projection.\n let index = 0;\n // Subscribe to the source, all errors and completions are sent along\n // to the consumer.\n source.subscribe(\n createOperatorSubscriber(subscriber, (value: T) => {\n // Call the projection function with the appropriate this context,\n // and send the resulting value to the consumer.\n subscriber.next(project.call(thisArg, value, index++));\n })\n );\n });\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","/**\n * Given an introspection schema model, returns all owner fields.\n *\n * @param model Model from an introspection schema\n * @returns List of owner field names\n */\nexport function resolveOwnerFields(model) {\n const ownerFields = new Set();\n for (const attr of model.attributes || []) {\n if (isAuthAttribute(attr)) {\n for (const rule of attr.properties.rules) {\n if (rule.allow === 'owner') {\n ownerFields.add(rule.ownerField || 'owner');\n }\n else if (rule.allow === 'groups' && rule.groupsField !== undefined) {\n // only valid for dynamic group(s)\n // static group auth will have an array of predefined groups in the attribute, groups: string[]\n // but `groupsField` will be undefined\n ownerFields.add(rule.groupsField);\n }\n }\n }\n }\n return Array.from(ownerFields);\n}\n/**\n * Type guard that identifies an auth attribute with an attached rules list that\n * specifies an `allow` attribute at a minimum.\n *\n * @param attribute Any object. Ideally a model introspection schema model attribute\n * @returns True if given object is an auth attribute\n */\nfunction isAuthAttribute(attribute) {\n if (attribute?.type === 'auth') {\n if (typeof attribute?.properties === 'object') {\n if (Array.isArray(attribute?.properties?.rules)) {\n return (attribute?.properties?.rules).every((rule) => !!rule.allow);\n }\n }\n }\n return false;\n}\n","/**\n * @param s string to capitalize\n * @returns capitalized string\n */\nexport function capitalize(s) {\n return `${s[0].toUpperCase()}${s.slice(1)}`;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\nimport { resolveOwnerFields, capitalize } from '../utils';\nconst connectionType = {\n HAS_ONE: 'HAS_ONE',\n HAS_MANY: 'HAS_MANY',\n BELONGS_TO: 'BELONGS_TO',\n};\n// When generating an SK's KeyConditionInput name, string-like types map to String\nconst skGraphQlFieldTypeMap = {\n ID: 'ID',\n String: 'String',\n AWSDate: 'String',\n AWSTime: 'String',\n AWSDateTime: 'String',\n AWSTimestamp: 'Int',\n AWSEmail: 'String',\n AWSPhone: 'String',\n AWSURL: 'String',\n AWSIPAddress: 'String',\n AWSJSON: 'String',\n Boolean: 'Boolean',\n Int: 'Int',\n Float: 'Float',\n};\n// move to util\nconst resolvedSkName = (sk) => {\n if (sk.length === 1) {\n return sk[0];\n }\n else {\n return sk.reduce((acc, curr, idx) => {\n if (idx === 0) {\n return curr;\n }\n else {\n return acc + capitalize(curr);\n }\n }, '');\n }\n};\n/**\n * Crawls a model tree, starting with a given **individual** model instance record, looking\n * for related hasMany children to extract from their `items` containers.\n *\n * E.g., if we have a record like this:\n *\n * ```js\n * {\n * id: 'some-id',\n * children: {\n * items: [\n * { name: 'a' }\n * { name: 'b' }\n * { name: 'c' }\n * ]\n * }\n * }\n * ```\n *\n * And if `children` refers to *an array of another model* (as opposed to a custom type),\n * the `items` will be extracted. We do this because `items` is just the mechanism for nesting\n * child records -- we don't want customers to have to dig the items out in application code.\n * Ultimately, we return this \"flattened\" structure:\n *\n * ```js\n * {\n * id: 'some-id',\n * children: [\n * { name: 'a' }\n * { name: 'b' }\n * { name: 'c' }\n * ]\n * }\n * ```\n *\n * Notably, an identical record could be the result of a nested custom type that contains an\n * `items` property. This will *not* be flattened, because in that case the `items` property is\n * actually part of the customer's schema. Similarly if a model contains an explicit `items` field.\n *\n * @param modelIntrospection Top-level model introspection schema.\n * @param modelName The name of the model. Can be `undefined`. E.g., for customOperation return types.\n * @param modelRecord The individual \"model instance record\" to normalize.\n */\nexport const flattenItems = (modelIntrospection, modelName, modelRecord) => {\n if (!modelRecord)\n return null;\n const mapped = {};\n for (const [fieldName, value] of Object.entries(modelRecord)) {\n const fieldDef = modelName\n ? modelIntrospection.models[modelName]?.fields[fieldName]\n : undefined;\n const dvPair = { fieldDef, value };\n if (isRelatedModelItemsArrayPair(dvPair)) {\n mapped[fieldName] = dvPair.value.items.map((itemValue) => flattenItems(modelIntrospection, dvPair.fieldDef.type.model, itemValue));\n }\n else if (isRelatedModelProperty(fieldDef)) {\n mapped[fieldName] = flattenItems(modelIntrospection, fieldDef.type.model, value);\n }\n else {\n mapped[fieldName] = value;\n }\n }\n return mapped;\n};\n/**\n * Determines whether the given field definition and associated result value\n * represent a related model array from a HasMany-type relationship.\n *\n * @param dv Pair of field definition and associated result value\n * @returns\n */\nfunction isRelatedModelItemsArrayPair(dv) {\n return (typeof dv.fieldDef?.type === 'object' &&\n 'model' in dv.fieldDef.type &&\n typeof dv.fieldDef.type.model === 'string' &&\n dv.fieldDef.isArray &&\n Array.isArray(dv.value?.items));\n}\n/**\n * Determines whether the given field definition represents a relationship\n * to another model.\n *\n * @param fieldDef\n * @returns\n */\nfunction isRelatedModelProperty(fieldDef) {\n return (typeof fieldDef?.type === 'object' &&\n 'model' in fieldDef.type &&\n typeof fieldDef.type.model === 'string');\n}\n// TODO: this should accept single result to support CRUD methods; create helper for array/list\nexport function initializeModel(client, modelName, result, modelIntrospection, authMode, authToken, context = false) {\n const introModel = modelIntrospection.models[modelName];\n const introModelFields = introModel.fields;\n const modelFields = Object.entries(introModelFields)\n .filter(([_, field]) => field?.type?.model !== undefined)\n .map(([fieldName]) => fieldName);\n return result.map((record) => {\n const initializedRelationalFields = {};\n for (const fieldName of modelFields) {\n const modelField = introModelFields[fieldName];\n const modelFieldType = modelField?.type;\n const relatedModelName = modelFieldType.model;\n const relatedModel = modelIntrospection.models[relatedModelName];\n const relatedModelPKFieldName = relatedModel.primaryKeyInfo.primaryKeyFieldName;\n const relatedModelSKFieldNames = relatedModel.primaryKeyInfo.sortKeyFieldNames;\n const relationType = modelField.association?.connectionType;\n let connectionFields = [];\n if (modelField.association &&\n 'associatedWith' in modelField.association) {\n connectionFields = modelField.association.associatedWith;\n }\n const targetNames = [];\n if (modelField.association && 'targetNames' in modelField.association) {\n targetNames.push(...modelField.association.targetNames);\n }\n switch (relationType) {\n case connectionType.BELONGS_TO: {\n const sortKeyValues = relatedModelSKFieldNames.reduce(\n // TODO(Eslint): is this implementation correct?\n // eslint-disable-next-line array-callback-return\n (acc, curVal) => {\n if (record[curVal]) {\n return (acc[curVal] = record[curVal]);\n }\n }, {});\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[targetNames[0]]) {\n return client.models[relatedModelName].get(contextSpec, {\n [relatedModelPKFieldName]: record[targetNames[0]],\n ...sortKeyValues,\n }, {\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return { data: null };\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[targetNames[0]]) {\n return client.models[relatedModelName].get({\n [relatedModelPKFieldName]: record[targetNames[0]],\n ...sortKeyValues,\n }, {\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return { data: null };\n };\n }\n break;\n }\n case connectionType.HAS_ONE:\n case connectionType.HAS_MANY: {\n /**\n * If the loader is a HAS_ONE, we just need to attempt to grab the first item\n * from the result.\n */\n const mapResult = relationType === connectionType.HAS_ONE\n ? (result) => {\n return {\n data: result?.data.shift() || null,\n errors: result.errors,\n extensions: result.extensions,\n };\n }\n : (result) => result;\n const parentPk = introModel.primaryKeyInfo.primaryKeyFieldName;\n const parentSK = introModel.primaryKeyInfo.sortKeyFieldNames;\n // M:N check - TODO: refactor\n const relatedModelField = relatedModel.fields[connectionFields[0]];\n const relatedModelFieldType = relatedModelField.type;\n if (relatedModelFieldType.model) {\n let relatedTargetNames = [];\n if (relatedModelField.association &&\n 'targetNames' in relatedModelField.association) {\n relatedTargetNames = relatedModelField.association?.targetNames;\n }\n const hasManyFilter = relatedTargetNames.map((field, idx) => {\n if (idx === 0) {\n return { [field]: { eq: record[parentPk] } };\n }\n return { [field]: { eq: record[parentSK[idx - 1]] } };\n });\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName]\n .list(contextSpec, {\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n })\n .then(mapResult);\n }\n return [];\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName]\n .list({\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n })\n .then(mapResult);\n }\n return [];\n };\n }\n break;\n }\n const hasManyFilter = connectionFields.map((field, idx) => {\n if (idx === 0) {\n return { [field]: { eq: record[parentPk] } };\n }\n return { [field]: { eq: record[parentSK[idx - 1]] } };\n });\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName]\n .list(contextSpec, {\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n })\n .then(mapResult);\n }\n return [];\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName]\n .list({\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n })\n .then(mapResult);\n }\n return [];\n };\n }\n break;\n }\n default:\n break;\n }\n }\n return { ...record, ...initializedRelationalFields };\n });\n}\nexport const graphQLOperationsInfo = {\n CREATE: { operationPrefix: 'create', usePlural: false },\n READ: { operationPrefix: 'get', usePlural: false },\n UPDATE: { operationPrefix: 'update', usePlural: false },\n DELETE: { operationPrefix: 'delete', usePlural: false },\n LIST: { operationPrefix: 'list', usePlural: true },\n INDEX_QUERY: { operationPrefix: '', usePlural: false },\n ONCREATE: { operationPrefix: 'onCreate', usePlural: false },\n ONUPDATE: { operationPrefix: 'onUpdate', usePlural: false },\n ONDELETE: { operationPrefix: 'onDelete', usePlural: false },\n OBSERVE_QUERY: { operationPrefix: 'observeQuery', usePlural: false },\n};\nconst SELECTION_SET_WILDCARD = '*';\nexport const getDefaultSelectionSetForNonModelWithIR = (nonModelDefinition, modelIntrospection) => {\n const { fields } = nonModelDefinition;\n const mappedFields = Object.values(fields)\n .map(({ type, name }) => {\n if (typeof type.enum === 'string') {\n return [name, FIELD_IR];\n }\n if (typeof type.nonModel === 'string') {\n return [\n name,\n getDefaultSelectionSetForNonModelWithIR(modelIntrospection.nonModels[type.nonModel], modelIntrospection),\n ];\n }\n if (typeof type === 'string') {\n return [name, FIELD_IR];\n }\n return undefined;\n })\n .filter((pair) => pair !== undefined);\n return Object.fromEntries(mappedFields);\n};\nconst getDefaultSelectionSetForModelWithIR = (modelDefinition, modelIntrospection) => {\n const { fields } = modelDefinition;\n const mappedFields = Object.values(fields)\n .map(({ type, name }) => {\n if (typeof type.enum === 'string' ||\n typeof type === 'string') {\n return [name, FIELD_IR];\n }\n if (typeof type.nonModel === 'string') {\n return [\n name,\n getDefaultSelectionSetForNonModelWithIR(modelIntrospection.nonModels[type.nonModel], modelIntrospection),\n ];\n }\n return undefined;\n })\n .filter((pair) => pair !== undefined);\n const ownerFields = resolveOwnerFields(modelDefinition).map((field) => [\n field,\n FIELD_IR,\n ]);\n return Object.fromEntries(mappedFields.concat(ownerFields));\n};\nfunction defaultSelectionSetForModel(modelDefinition) {\n // fields that are explicitly part of the graphql schema; not\n // inferred from owner auth rules.\n const { fields } = modelDefinition;\n const explicitFields = Object.values(fields)\n // Default selection set omits model fields\n .map(({ type, name }) => {\n if (typeof type === 'string')\n return name;\n if (typeof type === 'object') {\n if (typeof type?.enum === 'string') {\n return name;\n }\n else if (typeof type?.nonModel === 'string') {\n return `${name}.${SELECTION_SET_WILDCARD}`;\n }\n }\n return undefined;\n })\n .filter(Boolean);\n // fields used for owner auth rules that may or may not also\n // be explicit on the model.\n const ownerFields = resolveOwnerFields(modelDefinition);\n return Array.from(new Set(explicitFields.concat(ownerFields)));\n}\nconst FIELD_IR = '';\n/**\n * Generates nested Custom Selection Set IR from path\n *\n * @param modelDefinitions\n * @param modelName\n * @param selectionSet - array of object paths\n * @example\n * ### Given\n * `selectionSet = ['id', 'comments.post.id']`\n * ### Returns\n * ```ts\n * {\n * id: '',\n * comments: {\n * items: { post: { id: '' } }\n * }\n * }\n * ```\n */\nexport function customSelectionSetToIR(modelIntrospection, modelName, selectionSet) {\n const dotNotationToObject = (path, modelOrNonModelName) => {\n const [fieldName, ...rest] = path.split('.');\n const nested = rest[0];\n const modelOrNonModelDefinition = modelIntrospection.models[modelOrNonModelName] ??\n modelIntrospection.nonModels[modelOrNonModelName];\n const modelOrNonModelFields = modelOrNonModelDefinition?.fields;\n const relatedModel = modelOrNonModelFields?.[fieldName]?.type?.model;\n const relatedModelDefinition = modelIntrospection.models[relatedModel];\n const relatedNonModel = modelOrNonModelFields?.[fieldName]?.type?.nonModel;\n const relatedNonModelDefinition = modelIntrospection.nonModels[relatedNonModel];\n const isModelOrNonModelOrFieldType = relatedModelDefinition\n ? 'model'\n : relatedNonModelDefinition\n ? 'nonModel'\n : 'field';\n if (isModelOrNonModelOrFieldType === 'nonModel') {\n let result = {};\n if (!nested) {\n throw Error(`${fieldName} must declare a wildcard (*) or a field of custom type ${relatedNonModel}`);\n }\n if (nested === SELECTION_SET_WILDCARD) {\n result = {\n [fieldName]: getDefaultSelectionSetForNonModelWithIR(relatedNonModelDefinition, modelIntrospection),\n };\n }\n else {\n result = {\n [fieldName]: dotNotationToObject(rest.join('.'), relatedNonModel),\n };\n }\n return result;\n }\n else if (isModelOrNonModelOrFieldType === 'model') {\n let result = {};\n if (!nested) {\n throw Error(`${fieldName} must declare a wildcard (*) or a field of model ${relatedModel}`);\n }\n if (nested === SELECTION_SET_WILDCARD) {\n const nestedRelatedModelDefinition = modelIntrospection.models[relatedModel];\n result = {\n [fieldName]: getDefaultSelectionSetForModelWithIR(nestedRelatedModelDefinition, modelIntrospection),\n };\n }\n else {\n result = {\n [fieldName]: dotNotationToObject(rest.join('.'), relatedModel),\n };\n }\n if (modelOrNonModelFields[fieldName]?.isArray) {\n result = {\n [fieldName]: {\n items: result[fieldName],\n },\n };\n }\n return result;\n }\n else {\n const modelField = modelOrNonModelFields?.[fieldName];\n const nonModelDefinition = modelIntrospection.nonModels[modelOrNonModelName];\n const nonModelField = nonModelDefinition?.fields?.[fieldName];\n if (!nonModelDefinition) {\n const isOwnerField = resolveOwnerFields(modelOrNonModelDefinition).includes(fieldName);\n if (!modelField && !isOwnerField) {\n throw Error(`${fieldName} is not a field of model ${modelOrNonModelName}`);\n }\n }\n else {\n if (!nonModelField) {\n throw Error(`${fieldName} is not a field of custom type ${modelOrNonModelName}`);\n }\n }\n return { [fieldName]: FIELD_IR };\n }\n };\n return selectionSet.reduce((resultObj, path) => deepMergeSelectionSetObjects(dotNotationToObject(path, modelName), resultObj), {});\n}\n/**\n * Stringifies selection set IR\n * * @example\n * ### Given\n * ```ts\n * {\n * id: '',\n * comments: {\n * items: { post: { id: '' } }\n * }\n * }\n * ```\n * ### Returns\n * `'id comments { items { post { id } } }'`\n */\nexport function selectionSetIRToString(obj) {\n const res = [];\n Object.entries(obj).forEach(([fieldName, value]) => {\n if (value === FIELD_IR) {\n res.push(fieldName);\n }\n else if (typeof value === 'object' && value !== null) {\n if (value?.items) {\n res.push(fieldName, '{', 'items', '{', selectionSetIRToString(value.items), '}', '}');\n }\n else {\n res.push(fieldName, '{', selectionSetIRToString(value), '}');\n }\n }\n });\n return res.join(' ');\n}\n/**\n * Recursively merges selection set objects from `source` onto `target`.\n *\n * `target` will be updated. `source` will be left alone.\n *\n * @param source The object to merge into target.\n * @param target The object to be mutated.\n */\nfunction deepMergeSelectionSetObjects(source, target) {\n const isObject = (obj) => obj && typeof obj === 'object';\n for (const key in source) {\n // This verification avoids 'Prototype Pollution' issue\n if (!Object.prototype.hasOwnProperty.call(source, key))\n continue;\n if (Object.prototype.hasOwnProperty.call(target, key) &&\n isObject(target[key])) {\n deepMergeSelectionSetObjects(source[key], target[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n return target;\n}\nexport function generateSelectionSet(modelIntrospection, modelName, selectionSet) {\n const modelDefinition = modelIntrospection.models[modelName];\n const selSetIr = customSelectionSetToIR(modelIntrospection, modelName, selectionSet ?? defaultSelectionSetForModel(modelDefinition));\n const selSetString = selectionSetIRToString(selSetIr);\n return selSetString;\n}\nexport function generateGraphQLDocument(modelIntrospection, modelName, modelOperation, listArgs, indexMeta) {\n const modelDefinition = modelIntrospection.models[modelName];\n const { name, pluralName, fields, primaryKeyInfo: { isCustomPrimaryKey, primaryKeyFieldName, sortKeyFieldNames, }, attributes, } = modelDefinition;\n // Use pascal case of the model name to generate the operations and the arguments.\n // This is required to be in sync with the resources generated by the GraphQL transformers.\n const namePascalCase = name.charAt(0).toUpperCase() + name.slice(1);\n const pluralNamePascalCase = pluralName.charAt(0).toUpperCase() + pluralName.slice(1);\n const { operationPrefix, usePlural } = graphQLOperationsInfo[modelOperation];\n const { selectionSet } = listArgs || {};\n let graphQLFieldName;\n let indexQueryArgs;\n if (operationPrefix) {\n graphQLFieldName = `${operationPrefix}${usePlural ? pluralNamePascalCase : namePascalCase}`;\n }\n else if (indexMeta) {\n const { queryField, pk, sk = [] } = indexMeta;\n graphQLFieldName = queryField;\n /**\n * **a. Single field SK** -> single arg where name is the field name and the type is `Model${gqlFieldType}KeyConditionInput` (nullable)\n * Note: string-like data types e.g., AWSDateTime, AWSEmail, AWSPhone, etc. should map to String. See `skGraphQlFieldTypeMap` above\n * @example\n * ```\n * sk1: ModelStringKeyConditionInput\n * ```\n *\n * **b. Composite SK** -> single arg where the name is camelCase concatenation of all the field names that comprise the SK\n * and the type is `Model${modelName}${keyAttributeName}CompositeKeyConditionInput` (nullable)\n * @example\n * ```\n * sk1Sk2: ModelMyModelMyModelByPkAndSk1AndSk2CompositeKeyConditionInput\n */\n let skQueryArgs = {};\n if (sk.length === 1) {\n const [skField] = sk;\n const type = (typeof fields[skField].type === 'string'\n ? fields[skField].type\n : 'String');\n const normalizedType = skGraphQlFieldTypeMap[type];\n skQueryArgs = {\n [skField]: `Model${normalizedType}KeyConditionInput`,\n };\n }\n else if (sk.length > 1) {\n const compositeSkArgName = resolvedSkName(sk);\n const keyName = attributes?.find((attr) => attr?.properties?.queryField === queryField)?.properties?.name;\n skQueryArgs = {\n [compositeSkArgName]: `Model${capitalize(modelName)}${capitalize(keyName)}CompositeKeyConditionInput`,\n };\n }\n indexQueryArgs = {\n [pk]: `${Object.prototype.hasOwnProperty.call(fields[pk].type, 'enum')\n ? fields[pk].type.enum // AppSync schema sets enum type as the type of the enum fields that's used as PK\n : fields[pk].type}!`,\n ...skQueryArgs,\n };\n }\n else {\n throw new Error('Error generating GraphQL Document - invalid operation name');\n }\n let graphQLOperationType;\n let graphQLSelectionSet;\n let graphQLArguments;\n const selectionSetFields = generateSelectionSet(modelIntrospection, modelName, selectionSet);\n // default PK args for get and list operations\n // modified below for CPK\n const getPkArgs = {\n [primaryKeyFieldName]: `${fields[primaryKeyFieldName].type}!`,\n };\n const listPkArgs = {};\n /**\n * Generate query field args for the SK if it's defined\n *\n * **1. Get queries** require each SK field to be present as a separate arg where the type is the field's GraphQL scalar type (non-nullable)\n * @example\n * ```\n * sk1: String!, sk2: Int!\n * ```\n *\n * **2. List queries**\n *\n * **a. Single field SK** -> single arg where name is the field name and the type is `Model${gqlFieldType}KeyConditionInput` (nullable)\n * Note: string-like data types e.g., AWSDateTime, AWSEmail, AWSPhone, etc. should map to String. See `skGraphQlFieldTypeMap` above\n * @example\n * ```\n * sk1: ModelStringKeyConditionInput\n * ```\n *\n * **b. Composite SK** -> single arg where the name is camelCase concatenation of all the field names that comprise the SK\n * and the type is `Model${modelName}PrimaryCompositeKeyConditionInput` (nullable)\n * @example\n * ```\n * sk1Sk2: ModelMyModelPrimaryCompositeKeyConditionInput\n * ```\n */\n const generateSkArgs = (op) => {\n if (sortKeyFieldNames.length === 0)\n return {};\n if (op === 'get') {\n return sortKeyFieldNames.reduce((acc, fieldName) => {\n const fieldType = fields[fieldName].type;\n if (op === 'get') {\n acc[fieldName] = `${fieldType}!`; // ! - SK args are non-nullable in Get queries\n }\n return acc;\n }, {});\n }\n else {\n // list SK\n if (sortKeyFieldNames.length === 1) {\n // Single SK\n const [sk] = sortKeyFieldNames;\n const type = (typeof fields[sk].type === 'string' ? fields[sk].type : 'String');\n const normalizedType = skGraphQlFieldTypeMap[type];\n return {\n [sk]: `Model${normalizedType}KeyConditionInput`,\n };\n }\n else {\n // Composite SK\n const compositeSkArgName = resolvedSkName(sortKeyFieldNames);\n return {\n [compositeSkArgName]: `Model${capitalize(modelName)}PrimaryCompositeKeyConditionInput`,\n };\n }\n }\n };\n if (isCustomPrimaryKey) {\n Object.assign(getPkArgs, generateSkArgs('get'));\n Object.assign(listPkArgs, {\n // PK is only included in list query field args in the generated GQL\n // when explicitly specifying PK with .identifier(['fieldName']) or @primaryKey in the schema definition\n [primaryKeyFieldName]: `${fields[primaryKeyFieldName].type}`, // PK is always a nullable arg for list (no `!` after the type)\n sortDirection: 'ModelSortDirection',\n }, generateSkArgs('list'));\n }\n switch (modelOperation) {\n case 'CREATE':\n case 'UPDATE':\n case 'DELETE':\n graphQLArguments ??\n (graphQLArguments = {\n input: `${operationPrefix.charAt(0).toLocaleUpperCase() +\n operationPrefix.slice(1)}${namePascalCase}Input!`,\n });\n graphQLOperationType ?? (graphQLOperationType = 'mutation');\n // TODO(Eslint): this this case clause correct without the break statement?\n // eslint-disable-next-line no-fallthrough\n case 'READ':\n graphQLArguments ?? (graphQLArguments = getPkArgs);\n graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);\n // TODO(Eslint): this this case clause correct without the break statement?\n // eslint-disable-next-line no-fallthrough\n case 'LIST':\n graphQLArguments ??\n (graphQLArguments = {\n ...listPkArgs,\n // eslint doesn't like the ts-ignore, because it thinks it's unnecessary.\n // But TS doesn't like the `filter: ...` because it think it will always be\n // overwritten. (it won't be.) so, we need to ignore the TS error and then\n // ignore the eslint error on the ts-ignore.\n // eslint-disable-next-line\n // @ts-ignore\n filter: `Model${namePascalCase}FilterInput`,\n limit: 'Int',\n nextToken: 'String',\n });\n graphQLOperationType ?? (graphQLOperationType = 'query');\n graphQLSelectionSet ??\n (graphQLSelectionSet = `items { ${selectionSetFields} } nextToken __typename`);\n // TODO(Eslint): this this case clause correct without the break statement?\n // eslint-disable-next-line no-fallthrough\n case 'INDEX_QUERY':\n graphQLArguments ??\n (graphQLArguments = {\n ...indexQueryArgs,\n filter: `Model${namePascalCase}FilterInput`,\n sortDirection: 'ModelSortDirection',\n limit: 'Int',\n nextToken: 'String',\n });\n graphQLOperationType ?? (graphQLOperationType = 'query');\n graphQLSelectionSet ??\n (graphQLSelectionSet = `items { ${selectionSetFields} } nextToken __typename`);\n // TODO(Eslint): this this case clause correct without the break statement?\n // eslint-disable-next-line no-fallthrough\n case 'ONCREATE':\n case 'ONUPDATE':\n case 'ONDELETE':\n graphQLArguments ??\n (graphQLArguments = {\n filter: `ModelSubscription${namePascalCase}FilterInput`,\n });\n graphQLOperationType ?? (graphQLOperationType = 'subscription');\n graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);\n break;\n case 'OBSERVE_QUERY':\n default:\n throw new Error('Internal error: Attempted to generate graphql document for observeQuery. Please report this error.');\n }\n const graphQLDocument = `${graphQLOperationType}${graphQLArguments\n ? `(${Object.entries(graphQLArguments).map(([fieldName, type]) => `$${fieldName}: ${type}`)})`\n : ''} { ${graphQLFieldName}${graphQLArguments\n ? `(${Object.keys(graphQLArguments).map((fieldName) => `${fieldName}: $${fieldName}`)})`\n : ''} { ${graphQLSelectionSet} } }`;\n return graphQLDocument;\n}\nexport function buildGraphQLVariables(modelDefinition, operation, arg, modelIntrospection, indexMeta) {\n const { fields, primaryKeyInfo: { isCustomPrimaryKey, primaryKeyFieldName, sortKeyFieldNames, }, } = modelDefinition;\n const skName = sortKeyFieldNames?.length && resolvedSkName(sortKeyFieldNames);\n let variables = {};\n // TODO: process input\n switch (operation) {\n case 'CREATE':\n variables = {\n input: arg\n ? normalizeMutationInput(arg, modelDefinition, modelIntrospection)\n : {},\n };\n break;\n case 'UPDATE':\n // readonly fields are not updated\n variables = {\n input: arg\n ? Object.fromEntries(Object.entries(normalizeMutationInput(arg, modelDefinition, modelIntrospection)).filter(([fieldName]) => {\n const { isReadOnly } = fields[fieldName];\n return !isReadOnly;\n }))\n : {},\n };\n break;\n case 'READ':\n case 'DELETE':\n // only identifiers are sent\n if (arg) {\n variables = isCustomPrimaryKey\n ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce((acc, fieldName) => {\n acc[fieldName] = arg[fieldName];\n return acc;\n }, {})\n : { [primaryKeyFieldName]: arg[primaryKeyFieldName] };\n }\n if (operation === 'DELETE') {\n variables = { input: variables };\n }\n break;\n case 'LIST':\n if (arg?.filter) {\n variables.filter = arg.filter;\n }\n if (arg?.sortDirection) {\n variables.sortDirection = arg.sortDirection;\n }\n if (arg && arg[primaryKeyFieldName]) {\n variables[primaryKeyFieldName] = arg[primaryKeyFieldName];\n }\n if (skName && arg && arg[skName]) {\n variables[skName] = arg[skName];\n }\n if (arg?.nextToken) {\n variables.nextToken = arg.nextToken;\n }\n if (arg?.limit) {\n variables.limit = arg.limit;\n }\n break;\n case 'INDEX_QUERY': {\n const { pk, sk = [] } = indexMeta;\n const indexQuerySkName = sk?.length && resolvedSkName(sk);\n variables[pk] = arg[pk];\n if (indexQuerySkName && arg && arg[indexQuerySkName]) {\n variables[indexQuerySkName] = arg[indexQuerySkName];\n }\n if (arg?.filter) {\n variables.filter = arg.filter;\n }\n if (arg?.sortDirection) {\n variables.sortDirection = arg.sortDirection;\n }\n if (arg?.nextToken) {\n variables.nextToken = arg.nextToken;\n }\n if (arg?.limit) {\n variables.limit = arg.limit;\n }\n break;\n }\n case 'ONCREATE':\n case 'ONUPDATE':\n case 'ONDELETE':\n if (arg?.filter) {\n variables = { filter: arg.filter };\n }\n break;\n case 'OBSERVE_QUERY':\n throw new Error('Internal error: Attempted to build variables for observeQuery. Please report this error.');\n break;\n default: {\n const exhaustiveCheck = operation;\n throw new Error(`Unhandled operation case: ${exhaustiveCheck}`);\n }\n }\n return variables;\n}\n/**\n * Iterates over mutation input values and resolves any model inputs to their corresponding join fields/values\n *\n * @example\n * ### Usage\n * ```ts\n * const result = normalizeMutationInput({ post: post }, model, modelDefinition);\n * ```\n * ### Result\n * ```ts\n * { postId: \"abc123\" }\n * ```\n *\n */\nexport function normalizeMutationInput(mutationInput, model, modelIntrospection) {\n const { fields } = model;\n const normalized = {};\n Object.entries(mutationInput).forEach(([inputFieldName, inputValue]) => {\n const fieldType = fields[inputFieldName]?.type;\n const relatedModelName = fieldType?.model;\n if (relatedModelName) {\n const association = fields[inputFieldName]?.association;\n const relatedModelDef = modelIntrospection.models[relatedModelName];\n const relatedModelPkInfo = relatedModelDef.primaryKeyInfo;\n if (association?.connectionType === connectionType.HAS_ONE) {\n const associationHasOne = association;\n associationHasOne.targetNames.forEach((targetName, idx) => {\n const associatedFieldName = associationHasOne.associatedWith[idx];\n normalized[targetName] = inputValue[associatedFieldName];\n });\n }\n if (association?.connectionType === connectionType.BELONGS_TO) {\n const associationBelongsTo = association;\n associationBelongsTo.targetNames.forEach((targetName, idx) => {\n if (idx === 0) {\n const associatedFieldName = relatedModelPkInfo.primaryKeyFieldName;\n normalized[targetName] = inputValue[associatedFieldName];\n }\n else {\n const associatedFieldName = relatedModelPkInfo.sortKeyFieldNames[idx - 1];\n normalized[targetName] = inputValue[associatedFieldName];\n }\n });\n }\n }\n else {\n normalized[inputFieldName] = inputValue;\n }\n });\n return normalized;\n}\n/**\n * Produces a parameter object that can contains auth mode/token overrides\n * only if present in either `options` (first) or configured on the `client`\n * as a fallback.\n *\n * @param client Configured client from `generateClient`\n * @param options Args/Options object from call site.\n * @returns\n */\nexport function authModeParams(client, getInternals, options = {}) {\n const internals = getInternals(client);\n return {\n authMode: options.authMode || internals.authMode,\n authToken: options.authToken || internals.authToken,\n };\n}\n/**\n * Retrieves custom headers from either the client or request options.\n * @param client V6Client | V6ClientSSRRequest | V6ClientSSRCookies - for extracting client headers\n * @param requestHeaders {@link CustomHeaders} - request headers\n * @returns custom headers as {@link CustomHeaders}\n */\nexport function getCustomHeaders(client, getInternals, requestHeaders) {\n let headers = getInternals(client).headers || {};\n // Individual request headers will take precedence over client headers.\n // We intentionally do *not* merge client and request headers.\n if (requestHeaders) {\n headers = requestHeaders;\n }\n return headers;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// import { GraphQLFormattedError } from '@aws-amplify/data-schema-types';\n/**\n * Handle errors for list return types (list and index query operations)\n */\nexport function handleListGraphQlError(error) {\n if (error?.errors) {\n // graphql errors pass through\n return {\n ...error,\n data: [],\n };\n }\n else {\n // non-graphql errors are re-thrown\n throw error;\n }\n}\n/**\n * Handle errors for singular return types (create, get, update, delete operations)\n */\nexport function handleSingularGraphQlError(error) {\n if (error.errors) {\n // graphql errors pass through\n return {\n ...error,\n data: null,\n };\n }\n else {\n // non-graphql errors are re-thrown\n throw error;\n }\n}\n","import { map } from 'rxjs';\nimport { authModeParams, getDefaultSelectionSetForNonModelWithIR, generateSelectionSet, getCustomHeaders, initializeModel, selectionSetIRToString, } from '../APIClient';\nimport { handleSingularGraphQlError } from './utils';\n/**\n * Type guard for checking whether a Custom Operation argument is a contextSpec object\n */\nconst argIsContextSpec = (arg) => {\n return typeof arg?.token?.value === 'symbol';\n};\n/**\n * Builds an operation function, embedded with all client and context data, that\n * can be attached to a client as a custom query or mutation.\n *\n * If we have this source schema:\n *\n * ```typescript\n * a.schema({\n * echo: a.query()\n * .arguments({input: a.string().required()})\n * .returns(a.string())\n * })\n * ```\n *\n * Our model intro schema will contain an entry like this:\n *\n * ```ts\n * {\n * queries: {\n * echo: {\n * name: \"echo\",\n * isArray: false,\n * type: 'String',\n * isRequired: false,\n * arguments: {\n * input: {\n * name: 'input',\n * isArray: false,\n * type: String,\n * isRequired: true\n * }\n * }\n * }\n * }\n * }\n * ```\n *\n * The `echo` object is used to build the `echo' method that goes here:\n *\n * ```typescript\n * const client = generateClent()\n * const { data } = await client.queries.echo({input: 'a string'});\n * // ^\n * // |\n * // +-- This one right here.\n * //\n * ```\n *\n *\n * @param client The client to run graphql queries through.\n * @param modelIntrospection The model introspection schema the op comes from.\n * @param operationType The broad category of graphql operation.\n * @param operation The operation definition from the introspection schema.\n * @param useContext Whether the function needs to accept an SSR context.\n * @returns The operation function to attach to query, mutations, etc.\n */\nexport function customOpFactory(client, modelIntrospection, operationType, operation, useContext, getInternals) {\n // .arguments() are defined for the custom operation in the schema builder\n // and are present in the model introspection schema\n const argsDefined = operation.arguments !== undefined;\n const op = (...args) => {\n // options is always the last argument\n const options = args[args.length - 1];\n let contextSpec;\n let arg;\n if (useContext) {\n if (argIsContextSpec(args[0])) {\n contextSpec = args[0];\n }\n else {\n throw new Error(`Invalid first argument passed to ${operation.name}. Expected contextSpec`);\n }\n }\n if (argsDefined) {\n if (useContext) {\n arg = args[1];\n }\n else {\n arg = args[0];\n }\n }\n if (operationType === 'subscription') {\n return _opSubscription(\n // subscriptions are only enabled on the clientside\n client, modelIntrospection, operation, getInternals, arg, options);\n }\n return _op(client, modelIntrospection, operationType, operation, getInternals, arg, options, contextSpec);\n };\n return op;\n}\n/**\n * Runtime test and type guard to check whether `o[field]` is a `String`.\n *\n * ```typescript\n * if (hasStringField(o, 'prop')) {\n * const s = o.prop;\n * // ^? const s: string\n * }\n * ```\n *\n * @param o Object to inspect\n * @param field Field to look for\n * @returns Boolean: `true` if the `o[field]` is a `string`\n */\nfunction hasStringField(o, field) {\n return typeof o[field] === 'string';\n}\n/**\n * @param argDef A single argument definition from a custom operation\n * @returns A string naming the base type including the `!` if the arg is required.\n */\nfunction argumentBaseTypeString(argDef) {\n const requiredFlag = argDef.isRequired ? '!' : '';\n if (argDef.type instanceof Object && 'enum' in argDef.type) {\n return argDef.type.enum + requiredFlag;\n }\n else {\n return argDef.type + requiredFlag;\n }\n}\n/**\n * Generates \"outer\" arguments string for a custom operation. For example,\n * in this operation:\n *\n * ```graphql\n * query MyQuery(InputString: String!) {\n * echoString(InputString: $InputString)\n * }\n * ```\n *\n * This function returns the top/outer level arguments as a string:\n *\n * ```json\n * \"InputString: String!\"\n * ```\n *\n * @param operation Operation object from model introspection schema.\n * @returns \"outer\" arguments string\n */\nfunction outerArguments(operation) {\n if (operation.arguments === undefined) {\n return '';\n }\n const args = Object.entries(operation.arguments)\n .map(([k, v]) => {\n const baseType = argumentBaseTypeString(v);\n const finalType = v.isArray\n ? `[${baseType}]${v.isArrayNullable ? '' : '!'}`\n : baseType;\n return `$${k}: ${finalType}`;\n })\n .join(', ');\n return args.length > 0 ? `(${args})` : '';\n}\n/**\n * Generates \"inner\" arguments string for a custom operation. For example,\n * in this operation:\n *\n * ```graphql\n * query MyQuery(InputString: String!) {\n * echoString(InputString: $InputString)\n * }\n * ```\n *\n * This function returns the inner arguments as a string:\n *\n * ```json\n * \"InputString: $InputString\"\n * ```\n *\n * @param operation Operation object from model introspection schema.\n * @returns \"outer\" arguments string\n */\nfunction innerArguments(operation) {\n if (operation.arguments === undefined) {\n return '';\n }\n const args = Object.keys(operation.arguments)\n .map((k) => `${k}: $${k}`)\n .join(', ');\n return args.length > 0 ? `(${args})` : '';\n}\n/**\n * Generates the selection set string for a custom operation. This is slightly\n * different than the selection set generation for models. If the custom op returns\n * a primitive or enum types, it doesn't require a selection set at all.\n *\n * E.g., the graphql might look like this:\n *\n * ```graphql\n * query MyQuery {\n * echoString(inputString: \"whatever\")\n * }\n * # ^\n * # |\n * # +-- no selection set\n * ```\n *\n * Non-primitive return type selection set generation will be similar to other\n * model operations.\n *\n * @param modelIntrospection The full code-generated introspection schema.\n * @param operation The operation object from the schema.\n * @returns The selection set as a string.\n */\nfunction operationSelectionSet(modelIntrospection, operation) {\n if (hasStringField(operation, 'type') ||\n hasStringField(operation.type, 'enum')) {\n return '';\n }\n else if (hasStringField(operation.type, 'nonModel')) {\n const nonModel = modelIntrospection.nonModels[operation.type.nonModel];\n return `{${selectionSetIRToString(getDefaultSelectionSetForNonModelWithIR(nonModel, modelIntrospection))}}`;\n }\n else if (hasStringField(operation.type, 'model')) {\n return `{${generateSelectionSet(modelIntrospection, operation.type.model)}}`;\n }\n else {\n return '';\n }\n}\n/**\n * Maps an arguments objec to graphql variables, removing superfluous args and\n * screaming loudly when required args are missing.\n *\n * @param operation The operation to construct graphql request variables for.\n * @param args The arguments to map variables from.\n * @returns The graphql variables object.\n */\nfunction operationVariables(operation, args = {}) {\n const variables = {};\n if (operation.arguments === undefined) {\n return variables;\n }\n for (const argDef of Object.values(operation.arguments)) {\n if (typeof args[argDef.name] !== 'undefined') {\n variables[argDef.name] = args[argDef.name];\n }\n else if (argDef.isRequired) {\n // At this point, the variable is both required and missing: We don't need\n // to continue. The operation is expected to fail.\n throw new Error(`${operation.name} requires arguments '${argDef.name}'`);\n }\n }\n return variables;\n}\n/**\n * Executes an operation from the given model intro schema against a client, returning\n * a fully instantiated model when relevant.\n *\n * @param client The client to operate `graphql()` calls through.\n * @param modelIntrospection The model intro schema to construct requests from.\n * @param operationType The high level graphql operation type.\n * @param operation The specific operation name, args, return type details.\n * @param args The arguments to provide to the operation as variables.\n * @param options Request options like headers, etc.\n * @param context SSR context if relevant.\n * @returns Result from the graphql request, model-instantiated when relevant.\n */\nasync function _op(client, modelIntrospection, operationType, operation, getInternals, args, options, context) {\n const { name: operationName } = operation;\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const outerArgsString = outerArguments(operation);\n const innerArgsString = innerArguments(operation);\n const selectionSet = operationSelectionSet(modelIntrospection, operation);\n const returnTypeModelName = hasStringField(operation.type, 'model')\n ? operation.type.model\n : undefined;\n const query = `\n ${operationType.toLocaleLowerCase()}${outerArgsString} {\n ${operationName}${innerArgsString} ${selectionSet}\n }\n `;\n const variables = operationVariables(operation, args);\n try {\n const { data, extensions } = context\n ? (await client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers))\n : (await client.graphql({\n ...auth,\n query,\n variables,\n }, headers));\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const isArrayResult = Array.isArray(data[key]);\n // TODO: when adding support for custom selection set, flattening will need\n // to occur recursively. For now, it's expected that related models are not\n // present in the result. Only FK's are present. Any related model properties\n // should be replaced with lazy loaders under the current implementation.\n const flattenedResult = isArrayResult\n ? data[key].filter((x) => x)\n : data[key];\n // TODO: custom selection set. current selection set is default selection set only\n // custom selection set requires data-schema-type + runtime updates above.\n const initialized = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, isArrayResult ? flattenedResult : [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context)\n : flattenedResult;\n return {\n data: !isArrayResult && Array.isArray(initialized)\n ? initialized.shift()\n : initialized,\n extensions,\n };\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `{ getPost: null }`\n * 4) an actual record `{ getPost: { id: '1', title: 'Hello, World!' } }`\n */\n const { data, errors } = error;\n /**\n * `data` is not `null`, and is not an empty object:\n */\n if (data && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n const isArrayResult = Array.isArray(data[key]);\n // TODO: when adding support for custom selection set, flattening will need\n // to occur recursively. For now, it's expected that related models are not\n // present in the result. Only FK's are present. Any related model properties\n // should be replaced with lazy loaders under the current implementation.\n const flattenedResult = isArrayResult\n ? data[key].filter((x) => x)\n : data[key];\n /**\n * `flattenedResult` could be `null` here (e.g. `data: { getPost: null }`)\n * if `flattenedResult`, result is an actual record:\n */\n if (flattenedResult) {\n // TODO: custom selection set. current selection set is default selection set only\n // custom selection set requires data-schema-type + runtime updates above.\n const initialized = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, isArrayResult ? flattenedResult : [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context)\n : flattenedResult;\n return {\n data: !isArrayResult && Array.isArray(initialized)\n ? initialized.shift()\n : initialized,\n errors,\n };\n }\n else {\n // was `data: { getPost: null }`)\n return handleSingularGraphQlError(error);\n }\n }\n else {\n // `data` is `null`:\n return handleSingularGraphQlError(error);\n }\n }\n}\n/**\n * Executes an operation from the given model intro schema against a client, returning\n * a fully instantiated model when relevant.\n *\n * @param client The client to operate `graphql()` calls through.\n * @param modelIntrospection The model intro schema to construct requests from.\n * @param operation The specific operation name, args, return type details.\n * @param args The arguments to provide to the operation as variables.\n * @param options Request options like headers, etc.\n * @returns Result from the graphql request, model-instantiated when relevant.\n */\nfunction _opSubscription(client, modelIntrospection, operation, getInternals, args, options) {\n const operationType = 'subscription';\n const { name: operationName } = operation;\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const outerArgsString = outerArguments(operation);\n const innerArgsString = innerArguments(operation);\n const selectionSet = operationSelectionSet(modelIntrospection, operation);\n const returnTypeModelName = hasStringField(operation.type, 'model')\n ? operation.type.model\n : undefined;\n const query = `\n ${operationType.toLocaleLowerCase()}${outerArgsString} {\n ${operationName}${innerArgsString} ${selectionSet}\n }\n `;\n const variables = operationVariables(operation, args);\n const observable = client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n return observable.pipe(map((value) => {\n const [key] = Object.keys(value.data);\n const data = value.data[key];\n const [initialized] = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, [data], modelIntrospection, auth.authMode, auth.authToken)\n : [data];\n return initialized;\n }));\n}\n","import { customOpFactory } from './operations/custom';\nconst operationTypeMap = {\n queries: 'query',\n mutations: 'mutation',\n subscriptions: 'subscription',\n};\nexport function generateCustomOperationsProperty(client, config, operationsType, getInternals) {\n // some bundlers end up with `Amplify.configure` being called *after* generate client.\n // if that occurs, we need to *not error* while we wait. handling for late configuration\n // occurs in `generateClient()`. we do not need to subscribe to Hub events here.\n if (!config) {\n return {};\n }\n const modelIntrospection = config.modelIntrospection;\n // model intro schema might be absent if there's not actually a configured GraphQL API\n if (!modelIntrospection) {\n return {};\n }\n // custom operations will be absent from model intro schema if no custom ops\n // are present on the source schema.\n const operations = modelIntrospection[operationsType];\n if (!operations) {\n return {};\n }\n const ops = {};\n const useContext = getInternals(client).amplify === null;\n for (const operation of Object.values(operations)) {\n ops[operation.name] = customOpFactory(client, modelIntrospection, operationTypeMap[operationsType], operation, useContext, getInternals);\n }\n return ops;\n}\nexport function generateCustomMutationsProperty(client, config, getInternals) {\n return generateCustomOperationsProperty(client, config, 'mutations', getInternals);\n}\nexport function generateCustomQueriesProperty(client, config, getInternals) {\n return generateCustomOperationsProperty(client, config, 'queries', getInternals);\n}\nexport function generateCustomSubscriptionsProperty(client, config, getInternals) {\n return generateCustomOperationsProperty(client, config, 'subscriptions', getInternals);\n}\n","import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleListGraphQlError } from './utils';\nexport function listFactory(client, modelIntrospection, model, getInternals, context = false) {\n const listWithContext = async (contextSpec, args) => {\n return _list(client, modelIntrospection, model, getInternals, args, contextSpec);\n };\n const list = async (args) => {\n return _list(client, modelIntrospection, model, getInternals, args);\n };\n return context ? listWithContext : list;\n}\nasync function _list(client, modelIntrospection, model, getInternals, args, contextSpec) {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, 'LIST', args);\n const variables = buildGraphQLVariables(model, 'LIST', args, modelIntrospection);\n const auth = authModeParams(client, getInternals, args);\n try {\n const headers = getCustomHeaders(client, getInternals, args?.headers);\n const { data, extensions } = contextSpec\n ? (await client.graphql(contextSpec, {\n ...auth,\n query,\n variables,\n }, headers))\n : (await client.graphql({\n ...auth,\n query,\n variables,\n }, headers));\n // flatten response\n if (data !== undefined) {\n const [key] = Object.keys(data);\n if (data[key].items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntrospection, name, value));\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n else {\n const initialized = initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n return {\n data: initialized,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `data: { listPosts: null }`\n * 4) actual records `data: { listPosts: items: [{ id: '1', ...etc }] }`\n */\n const { data, errors } = error;\n // `data` is not `null`, and is not an empty object:\n if (data !== undefined &&\n data !== null &&\n Object.keys(data).length !== 0 &&\n errors) {\n const [key] = Object.keys(data);\n if (data[key]?.items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntrospection, name, value));\n /**\n * Check exists since `flattenedResult` could be `null`.\n * if `flattenedResult` exists, result is an actual record.\n */\n if (flattenedResult) {\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n else {\n const initialized = initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n // data is full record w/out selection set:\n return {\n data: initialized,\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n else {\n // response is of type `data: { getPost: null }`)\n return handleListGraphQlError(error);\n }\n }\n else {\n // `data` is `null` or an empty object:\n return handleListGraphQlError(error);\n }\n }\n}\n","import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleListGraphQlError } from './utils';\nexport function indexQueryFactory(client, modelIntrospection, model, indexMeta, getInternals, context = false) {\n const indexQueryWithContext = async (contextSpec, args, options) => {\n return _indexQuery(client, modelIntrospection, model, indexMeta, getInternals, {\n ...args,\n ...options,\n }, contextSpec);\n };\n const indexQuery = async (args, options) => {\n return _indexQuery(client, modelIntrospection, model, indexMeta, getInternals, {\n ...args,\n ...options,\n });\n };\n return context ? indexQueryWithContext : indexQuery;\n}\nfunction processGraphQlResponse(modelIntroSchema, modelName, result, selectionSet, modelInitializer) {\n const { data, extensions } = result;\n const [key] = Object.keys(data);\n if (data[key].items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntroSchema, modelName, value));\n return {\n data: selectionSet ? flattenedResult : modelInitializer(flattenedResult),\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n // Index queries are always list queries. No `items`? No flattening needed.\n return {\n data: data[key],\n nextToken: data[key].nextToken,\n extensions,\n };\n}\nasync function _indexQuery(client, modelIntrospection, model, indexMeta, getInternals, args, contextSpec) {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, 'INDEX_QUERY', args, indexMeta);\n const variables = buildGraphQLVariables(model, 'INDEX_QUERY', args, modelIntrospection, indexMeta);\n const auth = authModeParams(client, getInternals, args);\n const modelInitializer = (flattenedResult) => initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n try {\n const headers = getCustomHeaders(client, getInternals, args?.headers);\n const graphQlParams = {\n ...auth,\n query,\n variables,\n };\n const requestArgs = [graphQlParams, headers];\n if (contextSpec !== undefined) {\n requestArgs.unshift(contextSpec);\n }\n const response = (await client.graphql(...requestArgs));\n if (response.data !== undefined) {\n return processGraphQlResponse(modelIntrospection, name, response, args?.selectionSet, modelInitializer);\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value:\n * `data: { listByExampleId: null }`\n * 4) an actual record:\n * `data: { listByExampleId: items: [{ id: '1', ...etc } }]`\n */\n const { data, errors } = error;\n // `data` is not `null`, and is not an empty object:\n if (data !== undefined && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n if (data[key]?.items) {\n const flattenedResult = data[key]?.items.map((value) => flattenItems(modelIntrospection, name, value));\n /**\n * Check exists since `flattenedResult` could be `null`.\n * if `flattenedResult` exists, result is an actual record.\n */\n if (flattenedResult) {\n return {\n data: args?.selectionSet\n ? flattenedResult\n : modelInitializer(flattenedResult),\n nextToken: data[key]?.nextToken,\n };\n }\n }\n // response is of type `data: { listByExampleId: null }`\n return {\n data: data[key],\n nextToken: data[key]?.nextToken,\n };\n }\n else {\n // `data` is `null` or an empty object:\n return handleListGraphQlError(error);\n }\n }\n}\n","import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleSingularGraphQlError } from './utils';\nexport function getFactory(client, modelIntrospection, model, operation, getInternals, useContext = false) {\n const getWithContext = async (contextSpec, arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, getInternals, contextSpec);\n };\n const get = async (arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, getInternals);\n };\n return useContext ? getWithContext : get;\n}\nasync function _get(client, modelIntrospection, model, arg, options, operation, getInternals, context) {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, operation, options);\n const variables = buildGraphQLVariables(model, operation, arg, modelIntrospection);\n const auth = authModeParams(client, getInternals, options);\n try {\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const { data, extensions } = context\n ? (await client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers))\n : (await client.graphql({\n ...auth,\n query,\n variables,\n }, headers));\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const flattenedResult = flattenItems(modelIntrospection, name, data[key]);\n if (flattenedResult === null) {\n return { data: null, extensions };\n }\n else if (options?.selectionSet) {\n return { data: flattenedResult, extensions };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = initializeModel(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, extensions };\n }\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `{ getPost: null }`\n * 4) an actual record `{ getPost: { id: '1', title: 'Hello, World!' } }`\n */\n const { data, errors } = error;\n /**\n * `data` is not `null`, and is not an empty object:\n */\n if (data && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n const flattenedResult = flattenItems(modelIntrospection, name, data[key]);\n /**\n * `flattenedResult` could be `null` here (e.g. `data: { getPost: null }`)\n * if `flattenedResult`, result is an actual record:\n */\n if (flattenedResult) {\n if (options?.selectionSet) {\n return { data: flattenedResult, errors };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = initializeModel(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, errors };\n }\n }\n else {\n // was `data: { getPost: null }`)\n return handleSingularGraphQlError(error);\n }\n }\n else {\n // `data` is `null`:\n return handleSingularGraphQlError(error);\n }\n }\n}\n","/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n","/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n","import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n","import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Iterates through a collection to find a matching item and returns the index.\n *\n * @param needle The item to search for\n * @param haystack The collection to search\n * @param keyFields The fields used to indicate a match\n * @returns Index of `needle` in `haystack`, otherwise -1 if not found.\n */\nexport function findIndexByFields(needle, haystack, keyFields) {\n const searchObject = Object.fromEntries(keyFields.map((fieldName) => [fieldName, needle[fieldName]]));\n for (let i = 0; i < haystack.length; i++) {\n if (Object.keys(searchObject).every((k) => searchObject[k] === haystack[i][k])) {\n return i;\n }\n }\n return -1;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Observable } from 'rxjs';\nimport { findIndexByFields, resolvePKFields } from '../../utils';\nexport function observeQueryFactory(models, model) {\n const { name } = model;\n const observeQuery = (arg) => new Observable((subscriber) => {\n // what we'll be sending to our subscribers\n const items = [];\n // To enqueue subscription messages while we collect our initial\n // result set.\n const messageQueue = [];\n // operation to take when message(s) arrive.\n // this operation will be swapped out once initial \"sync\" is complete\n // to immediately ingest messsages.\n let receiveMessages = (...messages) => {\n return messageQueue.push(...messages);\n };\n // start subscriptions\n const onCreateSub = models[name].onCreate(arg).subscribe({\n next(item) {\n receiveMessages({ item, type: 'create' });\n },\n error(error) {\n subscriber.error({ type: 'onCreate', error });\n },\n });\n const onUpdateSub = models[name].onUpdate(arg).subscribe({\n next(item) {\n receiveMessages({ item, type: 'update' });\n },\n error(error) {\n subscriber.error({ type: 'onUpdate', error });\n },\n });\n const onDeleteSub = models[name].onDelete(arg).subscribe({\n next(item) {\n receiveMessages({ item, type: 'delete' });\n },\n error(error) {\n subscriber.error({ type: 'onDelete', error });\n },\n });\n // consumes a list of messages and sends a snapshot\n function ingestMessages(messages) {\n for (const message of messages) {\n const idx = findIndexByFields(message.item, items, pkFields);\n switch (message.type) {\n case 'create':\n if (idx < 0)\n items.push(message.item);\n break;\n case 'update':\n if (idx >= 0)\n items[idx] = message.item;\n break;\n case 'delete':\n if (idx >= 0)\n items.splice(idx, 1);\n break;\n default:\n console.error('Unrecognized message in observeQuery.', message);\n }\n }\n subscriber.next({\n items,\n isSynced: true,\n });\n }\n const pkFields = resolvePKFields(model);\n // initial results\n (async () => {\n let firstPage = true;\n let nextToken = null;\n while (!subscriber.closed && (firstPage || nextToken)) {\n firstPage = false;\n const { data: page, errors, nextToken: _nextToken, } = await models[name].list({ ...arg, nextToken });\n nextToken = _nextToken;\n items.push(...page);\n // if there are no more pages and no items we already know about\n // that need to be merged in from sub, we're \"synced\"\n const isSynced = messageQueue.length === 0 &&\n (nextToken === null || nextToken === undefined);\n subscriber.next({\n items,\n isSynced,\n });\n if (Array.isArray(errors)) {\n for (const error of errors) {\n subscriber.error(error);\n }\n }\n }\n // play through the queue\n if (messageQueue.length > 0) {\n ingestMessages(messageQueue);\n }\n // switch the queue to write directly to the items collection\n receiveMessages = (...messages) => {\n ingestMessages(messages);\n return items.length;\n };\n })();\n // when subscriber unsubscribes, tear down internal subs\n return () => {\n // 1. tear down internal subs\n onCreateSub.unsubscribe();\n onUpdateSub.unsubscribe();\n onDeleteSub.unsubscribe();\n // 2. there is no need to explicitly stop paging. instead, we\n // just check `subscriber.closed` above before fetching each page.\n };\n });\n return observeQuery;\n}\n","/**\n * Given a SchemaModel from a ModelIntrospectionSchema, returns the primary key\n * as an array of field names.\n *\n * @param model The model object\n * @returns Array of field names\n */\nexport function resolvePKFields(model) {\n const { primaryKeyFieldName, sortKeyFieldNames } = model.primaryKeyInfo;\n return [primaryKeyFieldName, ...sortKeyFieldNames];\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst attributeIsSecondaryIndex = (attr) => {\n return (attr.type === 'key' &&\n // presence of `name` property distinguishes GSI from primary index\n attr.properties?.name &&\n attr.properties?.queryField &&\n attr.properties?.fields.length > 0);\n};\nexport const getSecondaryIndexesFromSchemaModel = (model) => {\n const idxs = model.attributes\n ?.filter(attributeIsSecondaryIndex)\n .map((attr) => {\n const queryField = attr.properties.queryField;\n const [pk, ...sk] = attr.properties.fields;\n return {\n queryField,\n pk,\n sk,\n };\n });\n return idxs || [];\n};\n","export { CONTROL_MSG, ConnectionState } from './PubSub';\nexport var GraphQLAuthError;\n(function (GraphQLAuthError) {\n GraphQLAuthError[\"NO_API_KEY\"] = \"No api-key configured\";\n GraphQLAuthError[\"NO_CURRENT_USER\"] = \"No current user\";\n GraphQLAuthError[\"NO_CREDENTIALS\"] = \"No credentials\";\n GraphQLAuthError[\"NO_FEDERATED_JWT\"] = \"No federated jwt\";\n GraphQLAuthError[\"NO_AUTH_TOKEN\"] = \"No auth token specified\";\n})(GraphQLAuthError || (GraphQLAuthError = {}));\nexport const __amplify = Symbol('amplify');\nexport const __authMode = Symbol('authMode');\nexport const __authToken = Symbol('authToken');\nexport const __headers = Symbol('headers');\nexport function getInternals(client) {\n const c = client;\n return {\n amplify: c[__amplify],\n authMode: c[__authMode],\n authToken: c[__authToken],\n headers: c[__headers],\n };\n}\n","import { graphQLOperationsInfo } from '../../APIClient';\nimport { listFactory } from '../../operations/list';\nimport { indexQueryFactory } from '../../operations/indexQuery';\nimport { getFactory } from '../../operations/get';\nimport { subscriptionFactory } from '../../operations/subscription';\nimport { observeQueryFactory } from '../../operations/observeQuery';\nimport { getSecondaryIndexesFromSchemaModel } from '../../clientUtils';\nexport function generateModelsProperty(client, apiGraphQLConfig, getInternals) {\n const models = {};\n const modelIntrospection = apiGraphQLConfig.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const SUBSCRIPTION_OPS = ['ONCREATE', 'ONUPDATE', 'ONDELETE'];\n for (const model of Object.values(modelIntrospection.models)) {\n const { name } = model;\n models[name] = {};\n Object.entries(graphQLOperationsInfo).forEach(([key, { operationPrefix }]) => {\n const operation = key;\n if (operation === 'LIST') {\n models[name][operationPrefix] = listFactory(client, modelIntrospection, model, getInternals);\n }\n else if (SUBSCRIPTION_OPS.includes(operation)) {\n models[name][operationPrefix] = subscriptionFactory(client, modelIntrospection, model, operation, getInternals);\n }\n else if (operation === 'OBSERVE_QUERY') {\n models[name][operationPrefix] = observeQueryFactory(models, model);\n }\n else {\n models[name][operationPrefix] = getFactory(client, modelIntrospection, model, operation, getInternals);\n }\n });\n const secondaryIdxs = getSecondaryIndexesFromSchemaModel(model);\n for (const idx of secondaryIdxs) {\n models[name][idx.queryField] = indexQueryFactory(client, modelIntrospection, model, idx, getInternals);\n }\n }\n return models;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { map } from 'rxjs';\nimport { authModeParams, buildGraphQLVariables, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nexport function subscriptionFactory(client, modelIntrospection, model, operation, getInternals) {\n const { name } = model;\n const subscription = (args) => {\n const query = generateGraphQLDocument(modelIntrospection, name, operation, args);\n const variables = buildGraphQLVariables(model, operation, args, modelIntrospection);\n const auth = authModeParams(client, getInternals, args);\n const headers = getCustomHeaders(client, getInternals, args?.headers);\n const observable = client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n return observable.pipe(map((value) => {\n const [key] = Object.keys(value.data);\n // Will need flattening here if/when custom selection set support is added:\n const data = value.data[key];\n const [initialized] = initializeModel(client, name, [data], modelIntrospection, auth.authMode, auth.authToken);\n return initialized;\n }));\n };\n return subscription;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { generateCustomQueriesProperty, generateCustomMutationsProperty, generateCustomSubscriptionsProperty, generateEnumsProperty, generateModelsProperty, } from './internals';\nexport function addSchemaToClient(client, apiGraphqlConfig, getInternals) {\n client.models = generateModelsProperty(client, apiGraphqlConfig, getInternals);\n client.enums = generateEnumsProperty(apiGraphqlConfig);\n client.queries = generateCustomQueriesProperty(client, apiGraphqlConfig, getInternals);\n client.mutations = generateCustomMutationsProperty(client, apiGraphqlConfig, getInternals);\n client.subscriptions = generateCustomSubscriptionsProperty(client, apiGraphqlConfig, getInternals);\n return client;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const generateEnumsProperty = (graphqlConfig) => {\n const modelIntrospection = graphqlConfig.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const enums = {};\n for (const [_, enumData] of Object.entries(modelIntrospection.enums)) {\n enums[enumData.name] = {\n values: () => enumData.values,\n };\n }\n return enums;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isApiGraphQLConfig(apiGraphQLConfig) {\n return apiGraphQLConfig !== undefined;\n}\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');","import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n","import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n","import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n","/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n","export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n","import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an