{"version":3,"file":"index-747kb46G.js","sources":["../../client/node_modules/react/cjs/react.production.min.js","../../client/node_modules/react/index.js","../../client/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../client/node_modules/react/jsx-runtime.js","../../client/node_modules/@clerk/shared/dist/chunk-46BSODPS.mjs","../../client/node_modules/@clerk/shared/dist/chunk-UVVCWSVF.mjs","../../client/node_modules/@clerk/shared/dist/chunk-TETGTEI2.mjs","../../client/node_modules/@clerk/shared/dist/chunk-X2FYR5U6.mjs","../../client/node_modules/@clerk/shared/dist/chunk-ZXFUQ6LY.mjs","../../client/node_modules/@clerk/shared/dist/chunk-AOO6TJNL.mjs","../../client/node_modules/@clerk/shared/dist/chunk-6NDGN2IU.mjs","../../client/node_modules/@clerk/shared/dist/chunk-L45N5DM5.mjs","../../client/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../client/node_modules/use-sync-external-store/shim/index.js","../../client/node_modules/swr/_internal/dist/index.mjs","../../client/node_modules/swr/core/dist/index.mjs","../../client/node_modules/swr/infinite/dist/index.mjs","../../client/node_modules/@clerk/shared/dist/react/index.mjs","../../client/node_modules/@clerk/clerk-react/dist/chunk-MHQTCICI.mjs","../../client/node_modules/@clerk/clerk-react/dist/chunk-JMDSN227.mjs","../../client/node_modules/@clerk/shared/dist/chunk-CFXQSUF6.mjs","../../client/node_modules/@clerk/shared/dist/chunk-TRWMHODU.mjs","../../client/node_modules/@clerk/shared/dist/chunk-LJ4R7M7R.mjs","../../client/node_modules/@clerk/shared/dist/chunk-IC4FGZI3.mjs","../../client/node_modules/@clerk/shared/dist/index.mjs","../../client/node_modules/scheduler/cjs/scheduler.production.min.js","../../client/node_modules/scheduler/index.js","../../client/node_modules/react-dom/cjs/react-dom.production.min.js","../../client/node_modules/react-dom/index.js","../../client/node_modules/@clerk/clerk-react/dist/index.mjs","../../client/node_modules/@tanstack/query-core/build/modern/subscribable.js","../../client/node_modules/@tanstack/query-core/build/modern/utils.js","../../client/node_modules/@tanstack/query-core/build/modern/focusManager.js","../../client/node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../client/node_modules/@tanstack/query-core/build/modern/retryer.js","../../client/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../client/node_modules/@tanstack/query-core/build/modern/removable.js","../../client/node_modules/@tanstack/query-core/build/modern/query.js","../../client/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../client/node_modules/@tanstack/query-core/build/modern/mutation.js","../../client/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../client/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../client/node_modules/@tanstack/query-core/build/modern/queryClient.js","../../client/node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../client/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../client/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../client/node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../client/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../client/node_modules/@tanstack/react-query/build/modern/utils.js","../../client/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../client/node_modules/@tanstack/react-query/build/modern/suspense.js","../../client/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../client/node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.js","../../client/node_modules/@tanstack/react-query/build/modern/useMutation.js","../../client/node_modules/@tanstack/react-query-devtools/build/modern/index.js","../../client/node_modules/react-dom/client.js","../../client/node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","../../client/node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","../../client/node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","../../client/node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","../../client/node_modules/@babel/runtime/helpers/esm/typeof.js","../../client/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../client/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../client/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../client/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../client/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","../../client/node_modules/react-native-web/dist/modules/isWebColor/index.js","../../client/node_modules/@react-native/normalize-colors/index.js","../../client/node_modules/react-native-web/dist/exports/processColor/index.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","../../client/node_modules/react-native-web/dist/modules/canUseDom/index.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","../../client/node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","../../client/node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","../../client/node_modules/inline-style-prefixer/lib/utils/prefixValue.js","../../client/node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","../../client/node_modules/inline-style-prefixer/lib/utils/isObject.js","../../client/node_modules/inline-style-prefixer/lib/createPrefixer.js","../../client/node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","../../client/node_modules/css-in-js-utils/es/assignStyle.js","../../client/node_modules/css-in-js-utils/es/camelCaseProperty.js","../../client/node_modules/hyphenate-style-name/index.js","../../client/node_modules/css-in-js-utils/es/hyphenateProperty.js","../../client/node_modules/css-in-js-utils/es/cssifyDeclaration.js","../../client/node_modules/css-in-js-utils/es/cssifyObject.js","../../client/node_modules/css-in-js-utils/es/isPrefixedProperty.js","../../client/node_modules/css-in-js-utils/es/isPrefixedValue.js","../../client/node_modules/css-in-js-utils/es/isUnitlessProperty.js","../../client/node_modules/css-in-js-utils/es/unprefixProperty.js","../../client/node_modules/css-in-js-utils/es/normalizeProperty.js","../../client/node_modules/css-in-js-utils/es/resolveArrayValue.js","../../client/node_modules/css-in-js-utils/es/unprefixValue.js","../../client/node_modules/inline-style-prefixer/lib/plugins/crossFade.js","../../client/node_modules/inline-style-prefixer/lib/plugins/cursor.js","../../client/node_modules/inline-style-prefixer/lib/plugins/filter.js","../../client/node_modules/css-in-js-utils/lib/isPrefixedValue.js","../../client/node_modules/inline-style-prefixer/lib/plugins/imageSet.js","../../client/node_modules/inline-style-prefixer/lib/plugins/logical.js","../../client/node_modules/inline-style-prefixer/lib/plugins/position.js","../../client/node_modules/inline-style-prefixer/lib/plugins/sizing.js","../../client/node_modules/css-in-js-utils/lib/hyphenateProperty.js","../../client/node_modules/inline-style-prefixer/lib/plugins/transition.js","../../client/node_modules/react-native-web/dist/modules/prefixStyles/static.js","../../client/node_modules/react-native-web/dist/modules/prefixStyles/index.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","../../client/node_modules/styleq/dist/transform-localize-style.js","../../client/node_modules/styleq/transform-localize-style.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","../../client/node_modules/styleq/dist/styleq.js","../../client/node_modules/react-native-web/dist/exports/StyleSheet/index.js","../../client/node_modules/react-native-web/dist/modules/createDOMProps/index.js","../../client/node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","../../client/node_modules/react-native-web/dist/modules/useLocale/index.js","../../client/node_modules/react-native-web/dist/exports/createElement/index.js","../../client/node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","../../client/node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","../../client/node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","../../client/node_modules/react-native-web/dist/modules/setValueForStyles/index.js","../../client/node_modules/react-native-web/dist/exports/UIManager/index.js","../../client/node_modules/@babel/runtime/helpers/esm/extends.js","../../client/node_modules/react-native-web/dist/modules/forwardedProps/index.js","../../client/node_modules/react-native-web/dist/modules/pick/index.js","../../client/node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","../../client/node_modules/react-native-web/dist/modules/useElementLayout/index.js","../../client/node_modules/react-native-web/dist/modules/mergeRefs/index.js","../../client/node_modules/react-native-web/dist/modules/useMergeRefs/index.js","../../client/node_modules/react-native-web/dist/modules/useStable/index.js","../../client/node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","../../client/node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","../../client/node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","../../client/node_modules/react-native-web/dist/modules/isSelectionValid/index.js","../../client/node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","../../client/node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","../../client/node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","../../client/node_modules/react-native-web/dist/modules/useResponderEvents/index.js","../../client/node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","../../client/node_modules/react-native-web/dist/exports/View/index.js","../../client/node_modules/fbjs/lib/invariant.js","../../client/node_modules/react-native-web/dist/exports/Dimensions/index.js","../../client/node_modules/react-native-web/dist/modules/TextInputState/index.js","../../client/node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","../../client/node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","../../client/node_modules/fbjs/lib/emptyFunction.js","../../client/node_modules/fbjs/lib/warning.js","../../client/node_modules/react-native-web/dist/exports/ScrollView/index.js","../../client/node_modules/react-native-web/dist/modules/AssetRegistry/index.js","../../client/node_modules/react-native-web/dist/modules/ImageLoader/index.js","../../client/node_modules/react-native-web/dist/exports/PixelRatio/index.js","../../client/node_modules/react-native-web/dist/exports/Image/index.js","../../client/node_modules/react-native-web/dist/exports/Text/index.js","../../client/node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","../../client/node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","../../client/node_modules/react-native-web/dist/modules/usePressEvents/index.js","../../client/node_modules/react-native-web/dist/modules/addEventListener/index.js","../../client/node_modules/react-native-web/dist/modules/modality/index.js","../../client/node_modules/react-native-web/dist/modules/useEvent/index.js","../../client/node_modules/react-native-web/dist/modules/useHover/index.js","../../client/node_modules/react-native-web/dist/exports/Pressable/index.js","../../client/node_modules/react-native-web/dist/exports/TextInput/index.js","../../client/node_modules/ts-pattern/dist/index.js","../../client/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../client/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../client/node_modules/use-sync-external-store/shim/with-selector.js","../../client/node_modules/@swan-io/chicane/dist/index.mjs","../../client/src/hooks/useResponsive.tsx","../../client/src/utils/design.ts","../../client/src/components/Icon.tsx","../../client/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../client/node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js","../../client/node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js","../../client/node_modules/react-native-web/dist/cjs/modules/modality/index.js","../../client/node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js","../../client/node_modules/@babel/runtime/helpers/typeof.js","../../client/node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../../client/node_modules/react-native-web/dist/cjs/modules/useStable/index.js","../../client/node_modules/react-native-web/dist/cjs/modules/useEvent/index.js","../../client/node_modules/react-native-web/dist/cjs/modules/useHover/index.js","../../client/src/hooks/useHover.ts","../../client/src/utils/routes.ts","../../client/src/components/Text.tsx","../../client/src/components/Avatar.tsx","../../client/src/components/Box.tsx","../../client/src/components/Space.tsx","../../client/src/components/Button.tsx","../../client/src/components/Redirect.tsx","../../client/src/components/RowLink.tsx","../../client/src/components/Tag.tsx","../../client/src/hooks/useTitle.ts","../../client/node_modules/dayjs/dayjs.min.js","../../client/node_modules/dayjs/plugin/duration.js","../../client/node_modules/@formatjs/intl/node_modules/tslib/tslib.es6.mjs","../../client/node_modules/intl-messageformat/node_modules/tslib/tslib.es6.mjs","../../client/node_modules/@formatjs/icu-messageformat-parser/node_modules/tslib/tslib.es6.mjs","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../../client/node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../../client/node_modules/@formatjs/icu-skeleton-parser/node_modules/tslib/tslib.es6.mjs","../../client/node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../../client/node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../../client/node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../../client/node_modules/@formatjs/fast-memoize/lib/index.js","../../client/node_modules/intl-messageformat/lib/src/error.js","../../client/node_modules/intl-messageformat/lib/src/formatters.js","../../client/node_modules/intl-messageformat/lib/src/core.js","../../client/node_modules/@formatjs/intl/lib/src/error.js","../../client/node_modules/@formatjs/intl/lib/src/utils.js","../../client/node_modules/@formatjs/ecma402-abstract/lib/utils.js","../../client/node_modules/@formatjs/intl/lib/src/message.js","../../client/node_modules/@formatjs/intl/lib/src/dateTime.js","../../client/node_modules/@formatjs/intl/lib/src/displayName.js","../../client/node_modules/@formatjs/intl/lib/src/list.js","../../client/node_modules/@formatjs/intl/lib/src/plural.js","../../client/node_modules/@formatjs/intl/lib/src/relativeTime.js","../../client/node_modules/@formatjs/intl/lib/src/number.js","../../client/node_modules/@formatjs/intl/lib/src/create-intl.js","../../client/node_modules/js-cookie/dist/js.cookie.mjs","../../client/src/utils/i18n.ts","../../client/src/utils/date.ts","../../client/node_modules/@swan-io/boxed/dist/Boxed.mjs","../../client/node_modules/@0no-co/graphql.web/dist/graphql.web.mjs","../../client/node_modules/gql.tada/dist/gql-tada.mjs","../../client/node_modules/graphql-request/build/esm/defaultJsonSerializer.js","../../client/node_modules/graphql-request/build/esm/helpers.js","../../client/node_modules/graphql-request/build/esm/parseArgs.js","../../client/node_modules/graphql/jsutils/devAssert.mjs","../../client/node_modules/graphql/jsutils/isObjectLike.mjs","../../client/node_modules/graphql/jsutils/invariant.mjs","../../client/node_modules/graphql/language/location.mjs","../../client/node_modules/graphql/language/printLocation.mjs","../../client/node_modules/graphql/error/GraphQLError.mjs","../../client/node_modules/graphql/error/syntaxError.mjs","../../client/node_modules/graphql/language/ast.mjs","../../client/node_modules/graphql/language/directiveLocation.mjs","../../client/node_modules/graphql/language/kinds.mjs","../../client/node_modules/graphql/language/characterClasses.mjs","../../client/node_modules/graphql/language/blockString.mjs","../../client/node_modules/graphql/language/tokenKind.mjs","../../client/node_modules/graphql/language/lexer.mjs","../../client/node_modules/graphql/jsutils/inspect.mjs","../../client/node_modules/graphql/jsutils/instanceOf.mjs","../../client/node_modules/graphql/language/source.mjs","../../client/node_modules/graphql/language/parser.mjs","../../client/node_modules/graphql/language/printString.mjs","../../client/node_modules/graphql/language/visitor.mjs","../../client/node_modules/graphql/language/printer.mjs","../../client/node_modules/graphql-request/build/esm/resolveRequestDocument.js","../../client/node_modules/graphql-request/build/esm/types.js","../../client/node_modules/cross-fetch/dist/browser-ponyfill.js","../../client/node_modules/graphql-request/build/esm/index.js","../../client/src/utils/graphql.ts","../../client/src/utils/queries.ts","../../client/src/pages/OrgListPage.tsx","../../client/src/utils/applications.ts","../../client/node_modules/react-merge-refs/dist/index.mjs","../../client/src/components/FocusTrap.tsx","../../client/src/components/Popover.tsx","../../client/src/components/OrganizationSelect.tsx","../../client/src/components/Sidebar.tsx","../../client/src/components/MobileMenu.tsx","../../client/src/components/FullScreenScrollView.tsx","../../client/src/pages/IconPage.tsx","../../client/src/pages/NotFoundPage.tsx","../../client/src/pages/ErrorPage.tsx","../../client/src/pages/LoadingPage.tsx","../../client/src/components/ErrorBoundary.tsx","../../client/src/components/AppLayout.tsx","../../client/src/hooks/usePersistedState.ts","../../client/node_modules/react-ux-form/dist/index.mjs","../../client/node_modules/prop-types/lib/ReactPropTypesSecret.js","../../client/node_modules/prop-types/factoryWithThrowingShims.js","../../client/node_modules/prop-types/index.js","../../client/node_modules/file-selector/node_modules/tslib/tslib.es6.mjs","../../client/node_modules/file-selector/dist/es5/file.js","../../client/node_modules/file-selector/dist/es5/file-selector.js","../../client/node_modules/attr-accept/dist/es/index.js","../../client/node_modules/react-dropzone/dist/es/utils/index.js","../../client/node_modules/react-dropzone/dist/es/index.js","../../client/src/components/InputFile.tsx","../../client/src/hooks/useDelayedLoader.ts","../../client/src/components/InputText.tsx","../../client/src/components/Modal.tsx","../../client/src/components/Toast.tsx","../../client/src/utils/file.ts","../../client/src/utils/upload.ts","../../client/src/utils/validation.ts","../../client/src/pages/MyProfilePage.tsx","../../client/src/components/InputOtp.tsx","../../client/src/components/Tile.tsx","../../client/src/pages/SigninPage.tsx","../../client/src/pages/Signout.tsx","../../client/src/App.tsx","../../client/src/main.tsx"],"sourcesContent":["/**\n * @license React\n * react.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 l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1= 400 && status < 500;\n}\nfunction isNetworkError(e) {\n const message = (`${e.message}${e.name}` || \"\").toLowerCase().replace(/\\s+/g, \"\");\n return message.includes(\"networkerror\");\n}\nfunction isKnownError(error) {\n return isClerkAPIResponseError(error) || isMetamaskError(error) || isClerkRuntimeError(error);\n}\nfunction isClerkAPIResponseError(err) {\n return \"clerkError\" in err;\n}\nfunction isClerkRuntimeError(err) {\n return \"clerkRuntimeError\" in err;\n}\nfunction isMetamaskError(err) {\n return \"code\" in err && [4001, 32602, 32603].includes(err.code) && \"message\" in err;\n}\nfunction isUserLockedError(err) {\n var _a, _b;\n return isClerkAPIResponseError(err) && ((_b = (_a = err.errors) == null ? void 0 : _a[0]) == null ? void 0 : _b.code) === \"user_locked\";\n}\nfunction isPasswordPwnedError(err) {\n var _a, _b;\n return isClerkAPIResponseError(err) && ((_b = (_a = err.errors) == null ? void 0 : _a[0]) == null ? void 0 : _b.code) === \"form_password_pwned\";\n}\nfunction parseErrors(data = []) {\n return data.length > 0 ? data.map(parseError) : [];\n}\nfunction parseError(error) {\n var _a, _b, _c, _d, _e;\n return {\n code: error.code,\n message: error.message,\n longMessage: error.long_message,\n meta: {\n paramName: (_a = error == null ? void 0 : error.meta) == null ? void 0 : _a.param_name,\n sessionId: (_b = error == null ? void 0 : error.meta) == null ? void 0 : _b.session_id,\n emailAddresses: (_c = error == null ? void 0 : error.meta) == null ? void 0 : _c.email_addresses,\n identifiers: (_d = error == null ? void 0 : error.meta) == null ? void 0 : _d.identifiers,\n zxcvbn: (_e = error == null ? void 0 : error.meta) == null ? void 0 : _e.zxcvbn\n }\n };\n}\nvar ClerkAPIResponseError = class _ClerkAPIResponseError extends Error {\n constructor(message, { data, status, clerkTraceId }) {\n super(message);\n this.toString = () => {\n let message = `[${this.name}]\nMessage:${this.message}\nStatus:${this.status}\nSerialized errors: ${this.errors.map(\n (e) => JSON.stringify(e)\n )}`;\n if (this.clerkTraceId) {\n message += `\nClerk Trace ID: ${this.clerkTraceId}`;\n }\n return message;\n };\n Object.setPrototypeOf(this, _ClerkAPIResponseError.prototype);\n this.status = status;\n this.message = message;\n this.clerkTraceId = clerkTraceId;\n this.clerkError = true;\n this.errors = parseErrors(data);\n }\n};\nvar ClerkRuntimeError = class _ClerkRuntimeError extends Error {\n constructor(message, { code }) {\n super(message);\n /**\n * Returns a string representation of the error.\n *\n * @returns {string} A formatted string with the error name and message.\n * @memberof ClerkRuntimeError\n */\n this.toString = () => {\n return `[${this.name}]\nMessage:${this.message}`;\n };\n Object.setPrototypeOf(this, _ClerkRuntimeError.prototype);\n this.code = code;\n this.message = message;\n this.clerkRuntimeError = true;\n }\n};\nvar EmailLinkError = class _EmailLinkError extends Error {\n constructor(code) {\n super(code);\n this.code = code;\n Object.setPrototypeOf(this, _EmailLinkError.prototype);\n }\n};\nfunction isEmailLinkError(err) {\n return err instanceof EmailLinkError;\n}\nvar EmailLinkErrorCode = {\n Expired: \"expired\",\n Failed: \"failed\"\n};\nvar DefaultMessages = Object.freeze({\n InvalidProxyUrlErrorMessage: `The proxyUrl passed to Clerk is invalid. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})`,\n InvalidPublishableKeyErrorMessage: `The publishableKey passed to Clerk is invalid. You can get your Publishable key at https://dashboard.clerk.com/last-active?path=api-keys. (key={{key}})`,\n MissingPublishableKeyErrorMessage: `Missing publishableKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.`,\n MissingSecretKeyErrorMessage: `Missing secretKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.`,\n MissingClerkProvider: `{{source}} can only be used within the component. Learn more: https://clerk.com/docs/components/clerk-provider`\n});\nfunction buildErrorThrower({ packageName, customMessages }) {\n let pkg = packageName;\n const messages = {\n ...DefaultMessages,\n ...customMessages\n };\n function buildMessage(rawMessage, replacements) {\n if (!replacements) {\n return `${pkg}: ${rawMessage}`;\n }\n let msg = rawMessage;\n const matches = rawMessage.matchAll(/{{([a-zA-Z0-9-_]+)}}/g);\n for (const match of matches) {\n const replacement = (replacements[match[1]] || \"\").toString();\n msg = msg.replace(`{{${match[1]}}}`, replacement);\n }\n return `${pkg}: ${msg}`;\n }\n return {\n setPackageName({ packageName: packageName2 }) {\n if (typeof packageName2 === \"string\") {\n pkg = packageName2;\n }\n return this;\n },\n setMessages({ customMessages: customMessages2 }) {\n Object.assign(messages, customMessages2 || {});\n return this;\n },\n throwInvalidPublishableKeyError(params) {\n throw new Error(buildMessage(messages.InvalidPublishableKeyErrorMessage, params));\n },\n throwInvalidProxyUrl(params) {\n throw new Error(buildMessage(messages.InvalidProxyUrlErrorMessage, params));\n },\n throwMissingPublishableKeyError() {\n throw new Error(buildMessage(messages.MissingPublishableKeyErrorMessage));\n },\n throwMissingSecretKeyError() {\n throw new Error(buildMessage(messages.MissingSecretKeyErrorMessage));\n },\n throwMissingClerkProviderError(params) {\n throw new Error(buildMessage(messages.MissingClerkProvider, params));\n },\n throw(message) {\n throw new Error(buildMessage(message));\n }\n };\n}\n\nexport {\n isUnauthorizedError,\n is4xxError,\n isNetworkError,\n isKnownError,\n isClerkAPIResponseError,\n isClerkRuntimeError,\n isMetamaskError,\n isUserLockedError,\n isPasswordPwnedError,\n parseErrors,\n parseError,\n ClerkAPIResponseError,\n ClerkRuntimeError,\n EmailLinkError,\n isEmailLinkError,\n EmailLinkErrorCode,\n buildErrorThrower\n};\n//# sourceMappingURL=chunk-46BSODPS.mjs.map","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\n\nexport {\n __export,\n __reExport,\n __privateGet,\n __privateAdd,\n __privateSet,\n __privateMethod\n};\n//# sourceMappingURL=chunk-UVVCWSVF.mjs.map","// src/isomorphicAtob.ts\nvar isomorphicAtob = (data) => {\n if (typeof atob !== \"undefined\" && typeof atob === \"function\") {\n return atob(data);\n } else if (typeof global !== \"undefined\" && global.Buffer) {\n return new global.Buffer(data, \"base64\").toString();\n }\n return data;\n};\n\nexport {\n isomorphicAtob\n};\n//# sourceMappingURL=chunk-TETGTEI2.mjs.map","// src/constants.ts\nvar LEGACY_DEV_INSTANCE_SUFFIXES = [\".lcl.dev\", \".lclstage.dev\", \".lclclerk.com\"];\nvar CURRENT_DEV_INSTANCE_SUFFIXES = [\".accounts.dev\", \".accountsstage.dev\", \".accounts.lclclerk.com\"];\nvar DEV_OR_STAGING_SUFFIXES = [\n \".lcl.dev\",\n \".stg.dev\",\n \".lclstage.dev\",\n \".stgstage.dev\",\n \".dev.lclclerk.com\",\n \".stg.lclclerk.com\",\n \".accounts.lclclerk.com\",\n \"accountsstage.dev\",\n \"accounts.dev\"\n];\nvar LOCAL_ENV_SUFFIXES = [\".lcl.dev\", \"lclstage.dev\", \".lclclerk.com\", \".accounts.lclclerk.com\"];\nvar STAGING_ENV_SUFFIXES = [\".accountsstage.dev\"];\nvar LOCAL_API_URL = \"https://api.lclclerk.com\";\nvar STAGING_API_URL = \"https://api.clerkstage.dev\";\nvar PROD_API_URL = \"https://api.clerk.com\";\n\nexport {\n LEGACY_DEV_INSTANCE_SUFFIXES,\n CURRENT_DEV_INSTANCE_SUFFIXES,\n DEV_OR_STAGING_SUFFIXES,\n LOCAL_ENV_SUFFIXES,\n STAGING_ENV_SUFFIXES,\n LOCAL_API_URL,\n STAGING_API_URL,\n PROD_API_URL\n};\n//# sourceMappingURL=chunk-X2FYR5U6.mjs.map","import {\n isomorphicAtob\n} from \"./chunk-TETGTEI2.mjs\";\nimport {\n isomorphicBtoa\n} from \"./chunk-KOH7GTJO.mjs\";\nimport {\n DEV_OR_STAGING_SUFFIXES,\n LEGACY_DEV_INSTANCE_SUFFIXES\n} from \"./chunk-X2FYR5U6.mjs\";\n\n// src/keys.ts\nvar PUBLISHABLE_KEY_LIVE_PREFIX = \"pk_live_\";\nvar PUBLISHABLE_KEY_TEST_PREFIX = \"pk_test_\";\nvar PUBLISHABLE_FRONTEND_API_DEV_REGEX = /^(([a-z]+)-){2}([0-9]{1,2})\\.clerk\\.accounts([a-z.]*)(dev|com)$/i;\nfunction buildPublishableKey(frontendApi) {\n const isDevKey = PUBLISHABLE_FRONTEND_API_DEV_REGEX.test(frontendApi) || frontendApi.startsWith(\"clerk.\") && LEGACY_DEV_INSTANCE_SUFFIXES.some((s) => frontendApi.endsWith(s));\n const keyPrefix = isDevKey ? PUBLISHABLE_KEY_TEST_PREFIX : PUBLISHABLE_KEY_LIVE_PREFIX;\n return `${keyPrefix}${isomorphicBtoa(`${frontendApi}$`)}`;\n}\nfunction parsePublishableKey(key, options = {}) {\n key = key || \"\";\n if (!key || !isPublishableKey(key)) {\n if (options.fatal) {\n throw new Error(\"Publishable key not valid.\");\n }\n return null;\n }\n const instanceType = key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) ? \"production\" : \"development\";\n let frontendApi = isomorphicAtob(key.split(\"_\")[2]);\n frontendApi = frontendApi.slice(0, -1);\n if (options.proxyUrl) {\n frontendApi = options.proxyUrl;\n } else if (instanceType !== \"development\" && options.domain) {\n frontendApi = `clerk.${options.domain}`;\n }\n return {\n instanceType,\n frontendApi\n };\n}\nfunction isPublishableKey(key) {\n key = key || \"\";\n const hasValidPrefix = key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) || key.startsWith(PUBLISHABLE_KEY_TEST_PREFIX);\n const hasValidFrontendApiPostfix = isomorphicAtob(key.split(\"_\")[2] || \"\").endsWith(\"$\");\n return hasValidPrefix && hasValidFrontendApiPostfix;\n}\nfunction createDevOrStagingUrlCache() {\n const devOrStagingUrlCache = /* @__PURE__ */ new Map();\n return {\n isDevOrStagingUrl: (url) => {\n if (!url) {\n return false;\n }\n const hostname = typeof url === \"string\" ? url : url.hostname;\n let res = devOrStagingUrlCache.get(hostname);\n if (res === void 0) {\n res = DEV_OR_STAGING_SUFFIXES.some((s) => hostname.endsWith(s));\n devOrStagingUrlCache.set(hostname, res);\n }\n return res;\n }\n };\n}\nfunction isDevelopmentFromPublishableKey(apiKey) {\n return apiKey.startsWith(\"test_\") || apiKey.startsWith(\"pk_test_\");\n}\nfunction isProductionFromPublishableKey(apiKey) {\n return apiKey.startsWith(\"live_\") || apiKey.startsWith(\"pk_live_\");\n}\nfunction isDevelopmentFromSecretKey(apiKey) {\n return apiKey.startsWith(\"test_\") || apiKey.startsWith(\"sk_test_\");\n}\nfunction isProductionFromSecretKey(apiKey) {\n return apiKey.startsWith(\"live_\") || apiKey.startsWith(\"sk_live_\");\n}\n\nexport {\n buildPublishableKey,\n parsePublishableKey,\n isPublishableKey,\n createDevOrStagingUrlCache,\n isDevelopmentFromPublishableKey,\n isProductionFromPublishableKey,\n isDevelopmentFromSecretKey,\n isProductionFromSecretKey\n};\n//# sourceMappingURL=chunk-ZXFUQ6LY.mjs.map","// src/loadScript.ts\nvar NO_DOCUMENT_ERROR = \"loadScript cannot be called when document does not exist\";\nvar NO_SRC_ERROR = \"loadScript cannot be called without a src\";\nasync function loadScript(src = \"\", opts) {\n const { async, defer, beforeLoad, crossOrigin } = opts || {};\n return new Promise((resolve, reject) => {\n if (!src) {\n reject(NO_SRC_ERROR);\n }\n if (!document || !document.body) {\n reject(NO_DOCUMENT_ERROR);\n }\n const script = document.createElement(\"script\");\n crossOrigin && script.setAttribute(\"crossorigin\", crossOrigin);\n script.async = async || false;\n script.defer = defer || false;\n script.addEventListener(\"load\", () => {\n script.remove();\n resolve(script);\n });\n script.addEventListener(\"error\", () => {\n script.remove();\n reject();\n });\n script.src = src;\n beforeLoad == null ? void 0 : beforeLoad(script);\n document.body.appendChild(script);\n });\n}\n\nexport {\n loadScript\n};\n//# sourceMappingURL=chunk-AOO6TJNL.mjs.map","// src/proxy.ts\nfunction isValidProxyUrl(key) {\n if (!key) {\n return true;\n }\n return isHttpOrHttps(key) || isProxyUrlRelative(key);\n}\nfunction isHttpOrHttps(key) {\n return /^http(s)?:\\/\\//.test(key || \"\");\n}\nfunction isProxyUrlRelative(key) {\n return key.startsWith(\"/\");\n}\nfunction proxyUrlToAbsoluteURL(url) {\n if (!url) {\n return \"\";\n }\n return isProxyUrlRelative(url) ? new URL(url, window.location.origin).toString() : url;\n}\n\nexport {\n isValidProxyUrl,\n isHttpOrHttps,\n isProxyUrlRelative,\n proxyUrlToAbsoluteURL\n};\n//# sourceMappingURL=chunk-6NDGN2IU.mjs.map","import {\n CURRENT_DEV_INSTANCE_SUFFIXES,\n LEGACY_DEV_INSTANCE_SUFFIXES\n} from \"./chunk-X2FYR5U6.mjs\";\n\n// src/utils/instance.ts\nfunction isStaging(frontendApi) {\n return frontendApi.endsWith(\".lclstage.dev\") || frontendApi.endsWith(\".stgstage.dev\") || frontendApi.endsWith(\".clerkstage.dev\") || frontendApi.endsWith(\".accountsstage.dev\");\n}\n\n// src/url.ts\nfunction parseSearchParams(queryString = \"\") {\n if (queryString.startsWith(\"?\")) {\n queryString = queryString.slice(1);\n }\n return new URLSearchParams(queryString);\n}\nfunction stripScheme(url = \"\") {\n return (url || \"\").replace(/^.+:\\/\\//, \"\");\n}\nfunction addClerkPrefix(str) {\n if (!str) {\n return \"\";\n }\n let regex;\n if (str.match(/^(clerk\\.)+\\w*$/)) {\n regex = /(clerk\\.)*(?=clerk\\.)/;\n } else if (str.match(/\\.clerk.accounts/)) {\n return str;\n } else {\n regex = /^(clerk\\.)*/gi;\n }\n const stripped = str.replace(regex, \"\");\n return `clerk.${stripped}`;\n}\nvar getClerkJsMajorVersionOrTag = (frontendApi, version) => {\n if (!version && isStaging(frontendApi)) {\n return \"canary\";\n }\n if (!version) {\n return \"latest\";\n }\n return version.split(\".\")[0] || \"latest\";\n};\nvar getScriptUrl = (frontendApi, { clerkJSVersion }) => {\n const noSchemeFrontendApi = frontendApi.replace(/http(s)?:\\/\\//, \"\");\n const major = getClerkJsMajorVersionOrTag(frontendApi, clerkJSVersion);\n return `https://${noSchemeFrontendApi}/npm/@clerk/clerk-js@${clerkJSVersion || major}/dist/clerk.browser.js`;\n};\nfunction isLegacyDevAccountPortalOrigin(host) {\n return LEGACY_DEV_INSTANCE_SUFFIXES.some((legacyDevSuffix) => {\n return host.startsWith(\"accounts.\") && host.endsWith(legacyDevSuffix);\n });\n}\nfunction isCurrentDevAccountPortalOrigin(host) {\n return CURRENT_DEV_INSTANCE_SUFFIXES.some((currentDevSuffix) => {\n return host.endsWith(currentDevSuffix) && !host.endsWith(\".clerk\" + currentDevSuffix);\n });\n}\nvar TRAILING_SLASH_RE = /\\/$|\\/\\?|\\/#/;\nfunction hasTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\");\n }\n return TRAILING_SLASH_RE.test(input);\n}\nfunction withTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\") ? input : input + \"/\";\n }\n if (hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n if (!path) {\n return fragment;\n }\n }\n const [s0, ...s] = path.split(\"?\");\n return s0 + \"/\" + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction withoutTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || \"/\";\n }\n if (!hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n }\n const [s0, ...s] = path.split(\"?\");\n return (s0.slice(0, -1) || \"/\") + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction hasLeadingSlash(input = \"\") {\n return input.startsWith(\"/\");\n}\nfunction withoutLeadingSlash(input = \"\") {\n return (hasLeadingSlash(input) ? input.slice(1) : input) || \"/\";\n}\nfunction withLeadingSlash(input = \"\") {\n return hasLeadingSlash(input) ? input : \"/\" + input;\n}\nfunction cleanDoubleSlashes(input = \"\") {\n return input.split(\"://\").map((string_) => string_.replace(/\\/{2,}/g, \"/\")).join(\"://\");\n}\nfunction isNonEmptyURL(url) {\n return url && url !== \"/\";\n}\nvar JOIN_LEADING_SLASH_RE = /^\\.?\\//;\nfunction joinURL(base, ...input) {\n let url = base || \"\";\n for (const segment of input.filter((url2) => isNonEmptyURL(url2))) {\n if (url) {\n const _segment = segment.replace(JOIN_LEADING_SLASH_RE, \"\");\n url = withTrailingSlash(url) + _segment;\n } else {\n url = segment;\n }\n }\n return url;\n}\n\nexport {\n isStaging,\n parseSearchParams,\n stripScheme,\n addClerkPrefix,\n getClerkJsMajorVersionOrTag,\n getScriptUrl,\n isLegacyDevAccountPortalOrigin,\n isCurrentDevAccountPortalOrigin,\n hasTrailingSlash,\n withTrailingSlash,\n withoutTrailingSlash,\n hasLeadingSlash,\n withoutLeadingSlash,\n withLeadingSlash,\n cleanDoubleSlashes,\n isNonEmptyURL,\n joinURL\n};\n//# sourceMappingURL=chunk-L45N5DM5.mjs.map","/**\n * @license React\n * use-sync-external-store-shim.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 e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement, useState, useCallback } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar constants = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const revalidate = options.revalidate !== false;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const revalidators = EVENT_REVALIDATORS[key];\n const startRevalidate = ()=>{\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n data = committedData;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n data = populateCache(data, committedData);\n }\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n const res = await startRevalidate();\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return populateCache ? res : data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1 , fallback: f1 } = a;\n const { use: u2 , fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const rerender = useState({})[1];\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n if (IS_REACT_LEGACY) {\n rerender({});\n } else {\n React.startTransition(()=>rerender({}));\n }\n }\n }, [\n rerender\n ]);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, constants as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, useStateWithDeps, withArgs, withMiddleware };\n","import ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// \nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache , compare , suspense , fallbackData , revalidateOnMount , revalidateIfStale , refreshInterval , refreshWhenHidden , refreshWhenOffline , keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error } = useSWR('/api/user', fetcher)\n * if (error) return
failed to load
\n * if (!data) return
loading...
\n * return
hello {data.name}!
\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\n// useSWR\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import { useRef, useCallback } from 'react';\nimport useSWR from 'swr';\nimport { serialize, withMiddleware, createCacheHelper, isUndefined, useIsomorphicLayoutEffect, UNDEFINED, isFunction } from 'swr/_internal';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\n\nconst INFINITE_PREFIX = '$inf$';\nconst getFirstPageKey = (getKey)=>{\n return serialize(getKey ? getKey(0, null) : null)[0];\n};\nconst unstable_serialize = (getKey)=>{\n return INFINITE_PREFIX + getFirstPageKey(getKey);\n};\n\n// We have to several type castings here because `useSWRInfinite` is a special\n// const INFINITE_PREFIX = '$inf$'\nconst EMPTY_PROMISE = Promise.resolve();\n// export const unstable_serialize = (getKey: SWRInfiniteKeyLoader) => {\n// return INFINITE_PREFIX + getFirstPageKey(getKey)\n// }\nconst infinite = (useSWRNext)=>(getKey, fn, config)=>{\n const didMountRef = useRef(false);\n const { cache , initialSize =1 , revalidateAll =false , persistSize =false , revalidateFirstPage =true , revalidateOnMount =false , parallel =false } = config;\n // The serialized key of the first page. This key will be used to store\n // metadata of this SWR infinite hook.\n let infiniteKey;\n try {\n infiniteKey = getFirstPageKey(getKey);\n if (infiniteKey) infiniteKey = INFINITE_PREFIX + infiniteKey;\n } catch (err) {\n // Not ready yet.\n }\n const [get, set, subscribeCache] = createCacheHelper(cache, infiniteKey);\n const getSnapshot = useCallback(()=>{\n const size = isUndefined(get()._l) ? initialSize : get()._l;\n return size;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n infiniteKey,\n initialSize\n ]);\n useSyncExternalStore(useCallback((callback)=>{\n if (infiniteKey) return subscribeCache(infiniteKey, ()=>{\n callback();\n });\n return ()=>{};\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n infiniteKey\n ]), getSnapshot, getSnapshot);\n const resolvePageSize = useCallback(()=>{\n const cachedPageSize = get()._l;\n return isUndefined(cachedPageSize) ? initialSize : cachedPageSize;\n // `cache` isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n infiniteKey,\n initialSize\n ]);\n // keep the last page size to restore it with the persistSize option\n const lastPageSizeRef = useRef(resolvePageSize());\n // When the page key changes, we reset the page size if it's not persisted\n useIsomorphicLayoutEffect(()=>{\n if (!didMountRef.current) {\n didMountRef.current = true;\n return;\n }\n if (infiniteKey) {\n // If the key has been changed, we keep the current page size if persistSize is enabled\n // Otherwise, we reset the page size to cached pageSize\n set({\n _l: persistSize ? lastPageSizeRef.current : resolvePageSize()\n });\n }\n // `initialSize` isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n infiniteKey,\n cache\n ]);\n // Needs to check didMountRef during mounting, not in the fetcher\n const shouldRevalidateOnMount = revalidateOnMount && !didMountRef.current;\n // Actual SWR hook to load all pages in one fetcher.\n const swr = useSWRNext(infiniteKey, async (key)=>{\n // get the revalidate context\n const forceRevalidateAll = get()._i;\n // return an array of page data\n const data = [];\n const pageSize = resolvePageSize();\n const [getCache] = createCacheHelper(cache, key);\n const cacheData = getCache().data;\n const revalidators = [];\n let previousPageData = null;\n for(let i = 0; i < pageSize; ++i){\n const [pageKey, pageArg] = serialize(getKey(i, parallel ? null : previousPageData));\n if (!pageKey) {\n break;\n }\n const [getSWRCache, setSWRCache] = createCacheHelper(cache, pageKey);\n // Get the cached page data.\n let pageData = getSWRCache().data;\n // should fetch (or revalidate) if:\n // - `revalidateAll` is enabled\n // - `mutate()` called\n // - the cache is missing\n // - it's the first page and it's not the initial render\n // - `revalidateOnMount` is enabled and it's on mount\n // - cache for that page has changed\n const shouldFetchPage = revalidateAll || forceRevalidateAll || isUndefined(pageData) || revalidateFirstPage && !i && !isUndefined(cacheData) || shouldRevalidateOnMount || cacheData && !isUndefined(cacheData[i]) && !config.compare(cacheData[i], pageData);\n if (fn && shouldFetchPage) {\n const revalidate = async ()=>{\n pageData = await fn(pageArg);\n setSWRCache({\n data: pageData,\n _k: pageArg\n });\n data[i] = pageData;\n };\n if (parallel) {\n revalidators.push(revalidate);\n } else {\n await revalidate();\n }\n } else {\n data[i] = pageData;\n }\n if (!parallel) {\n previousPageData = pageData;\n }\n }\n // flush all revalidateions in parallel\n if (parallel) {\n await Promise.all(revalidators.map((r)=>r()));\n }\n // once we executed the data fetching based on the context, clear the context\n set({\n _i: UNDEFINED\n });\n // return the data\n return data;\n }, config);\n const mutate = useCallback(// eslint-disable-next-line func-names\n function(data, opts) {\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = typeof opts === 'boolean' ? {\n revalidate: opts\n } : opts || {};\n // Default to true.\n const shouldRevalidate = options.revalidate !== false;\n // It is possible that the key is still falsy.\n if (!infiniteKey) return EMPTY_PROMISE;\n if (shouldRevalidate) {\n if (!isUndefined(data)) {\n // We only revalidate the pages that are changed\n set({\n _i: false\n });\n } else {\n // Calling `mutate()`, we revalidate all pages\n set({\n _i: true\n });\n }\n }\n return arguments.length ? swr.mutate(data, {\n ...options,\n revalidate: shouldRevalidate\n }) : swr.mutate();\n }, // swr.mutate is always the same reference\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n infiniteKey,\n cache\n ]);\n // Extend the SWR API\n const setSize = useCallback((arg)=>{\n // It is possible that the key is still falsy.\n if (!infiniteKey) return EMPTY_PROMISE;\n const [, changeSize] = createCacheHelper(cache, infiniteKey);\n let size;\n if (isFunction(arg)) {\n size = arg(resolvePageSize());\n } else if (typeof arg == 'number') {\n size = arg;\n }\n if (typeof size != 'number') return EMPTY_PROMISE;\n changeSize({\n _l: size\n });\n lastPageSizeRef.current = size;\n // Calculate the page data after the size change.\n const data = [];\n const [getInfiniteCache] = createCacheHelper(cache, infiniteKey);\n let previousPageData = null;\n for(let i = 0; i < size; ++i){\n const [pageKey] = serialize(getKey(i, previousPageData));\n const [getCache] = createCacheHelper(cache, pageKey);\n // Get the cached page data.\n const pageData = pageKey ? getCache().data : UNDEFINED;\n // Call `mutate` with infinte cache data if we can't get it from the page cache.\n if (isUndefined(pageData)) {\n return mutate(getInfiniteCache().data);\n }\n data.push(pageData);\n previousPageData = pageData;\n }\n return mutate(data);\n }, // exclude getKey from the dependencies, which isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n infiniteKey,\n cache,\n mutate,\n resolvePageSize\n ]);\n // Use getter functions to avoid unnecessary re-renders caused by triggering\n // all the getters of the returned swr object.\n return {\n size: resolvePageSize(),\n setSize,\n mutate,\n get data () {\n return swr.data;\n },\n get error () {\n return swr.error;\n },\n get isValidating () {\n return swr.isValidating;\n },\n get isLoading () {\n return swr.isLoading;\n }\n };\n };\nconst useSWRInfinite = withMiddleware(useSWR, infinite);\n\nexport { useSWRInfinite as default, infinite, unstable_serialize };\n","import {\n __export,\n __reExport\n} from \"../chunk-UVVCWSVF.mjs\";\n\n// src/react/hooks/createContextAndHook.ts\nimport React from \"react\";\nfunction assertContextExists(contextVal, msgOrCtx) {\n if (!contextVal) {\n throw typeof msgOrCtx === \"string\" ? new Error(msgOrCtx) : new Error(`${msgOrCtx.displayName} not found`);\n }\n}\nvar createContextAndHook = (displayName, options) => {\n const { assertCtxFn = assertContextExists } = options || {};\n const Ctx = React.createContext(void 0);\n Ctx.displayName = displayName;\n const useCtx = () => {\n const ctx = React.useContext(Ctx);\n assertCtxFn(ctx, `${displayName} not found`);\n return ctx.value;\n };\n const useCtxWithoutGuarantee = () => {\n const ctx = React.useContext(Ctx);\n return ctx ? ctx.value : {};\n };\n return [Ctx, useCtx, useCtxWithoutGuarantee];\n};\n\n// src/react/contexts.tsx\nimport React2 from \"react\";\n\n// src/react/clerk-swr.ts\nvar clerk_swr_exports = {};\n__export(clerk_swr_exports, {\n SWRConfig: () => SWRConfig,\n useSWR: () => default2,\n useSWRInfinite: () => default3\n});\n__reExport(clerk_swr_exports, swr_star);\nimport * as swr_star from \"swr\";\nimport { default as default2, SWRConfig } from \"swr\";\nimport { default as default3 } from \"swr/infinite\";\n\n// src/react/contexts.tsx\nvar [ClerkInstanceContext, useClerkInstanceContext] = createContextAndHook(\"ClerkInstanceContext\");\nvar [UserContext, useUserContext] = createContextAndHook(\"UserContext\");\nvar [ClientContext, useClientContext] = createContextAndHook(\"ClientContext\");\nvar [SessionContext, useSessionContext] = createContextAndHook(\n \"SessionContext\"\n);\nvar [OrganizationContextInternal, useOrganizationContext] = createContextAndHook(\"OrganizationContext\");\nvar OrganizationProvider = ({\n children,\n organization,\n swrConfig\n}) => {\n return /* @__PURE__ */ React2.createElement(SWRConfig, { value: swrConfig }, /* @__PURE__ */ React2.createElement(\n OrganizationContextInternal.Provider,\n {\n value: {\n value: { organization }\n }\n },\n children\n ));\n};\nfunction useAssertWrappedByClerkProvider(displayNameOrFn) {\n const ctx = React2.useContext(ClerkInstanceContext);\n if (!ctx) {\n if (typeof displayNameOrFn === \"function\") {\n displayNameOrFn();\n return;\n }\n throw new Error(\n `${displayNameOrFn} can only be used within the component. Learn more: https://clerk.com/docs/components/clerk-provider`\n );\n }\n}\n\n// src/react/hooks/usePagesOrInfinite.ts\nimport { useCallback, useMemo, useRef, useState } from \"react\";\nfunction getDifferentKeys(obj1, obj2) {\n const keysSet = new Set(Object.keys(obj2));\n const differentKeysObject = {};\n for (const key1 of Object.keys(obj1)) {\n if (!keysSet.has(key1)) {\n differentKeysObject[key1] = obj1[key1];\n }\n }\n return differentKeysObject;\n}\nvar useWithSafeValues = (params, defaultValues) => {\n var _a, _b, _c;\n const shouldUseDefaults = typeof params === \"boolean\" && params;\n const initialPageRef = useRef(\n shouldUseDefaults ? defaultValues.initialPage : (_a = params == null ? void 0 : params.initialPage) != null ? _a : defaultValues.initialPage\n );\n const pageSizeRef = useRef(shouldUseDefaults ? defaultValues.pageSize : (_b = params == null ? void 0 : params.pageSize) != null ? _b : defaultValues.pageSize);\n const newObj = {};\n for (const key of Object.keys(defaultValues)) {\n newObj[key] = shouldUseDefaults ? defaultValues[key] : (_c = params == null ? void 0 : params[key]) != null ? _c : defaultValues[key];\n }\n return {\n ...newObj,\n initialPage: initialPageRef.current,\n pageSize: pageSizeRef.current\n };\n};\nvar cachingSWROptions = {\n dedupingInterval: 1e3 * 60,\n focusThrottleInterval: 1e3 * 60 * 2\n};\nvar usePagesOrInfinite = (params, fetcher, config, cacheKeys) => {\n var _a, _b, _c, _d, _e, _f, _g;\n const [paginatedPage, setPaginatedPage] = useState((_a = params.initialPage) != null ? _a : 1);\n const initialPageRef = useRef((_b = params.initialPage) != null ? _b : 1);\n const pageSizeRef = useRef((_c = params.pageSize) != null ? _c : 10);\n const enabled = (_d = config.enabled) != null ? _d : true;\n const triggerInfinite = (_e = config.infinite) != null ? _e : false;\n const keepPreviousData = (_f = config.keepPreviousData) != null ? _f : false;\n const pagesCacheKey = {\n ...cacheKeys,\n ...params,\n initialPage: paginatedPage,\n pageSize: pageSizeRef.current\n };\n const {\n data: swrData,\n isValidating: swrIsValidating,\n isLoading: swrIsLoading,\n error: swrError,\n mutate: swrMutate\n } = default2(\n !triggerInfinite && !!fetcher && enabled ? pagesCacheKey : null,\n (cacheKeyParams) => {\n const requestParams = getDifferentKeys(cacheKeyParams, cacheKeys);\n return fetcher == null ? void 0 : fetcher(requestParams);\n },\n { keepPreviousData, ...cachingSWROptions }\n );\n const {\n data: swrInfiniteData,\n isLoading: swrInfiniteIsLoading,\n isValidating: swrInfiniteIsValidating,\n error: swrInfiniteError,\n size,\n setSize,\n mutate: swrInfiniteMutate\n } = default3(\n (pageIndex) => {\n if (!triggerInfinite || !enabled) {\n return null;\n }\n return {\n ...params,\n ...cacheKeys,\n initialPage: initialPageRef.current + pageIndex,\n pageSize: pageSizeRef.current\n };\n },\n (cacheKeyParams) => {\n const requestParams = getDifferentKeys(cacheKeyParams, cacheKeys);\n return fetcher == null ? void 0 : fetcher(requestParams);\n },\n cachingSWROptions\n );\n const page = useMemo(() => {\n if (triggerInfinite) {\n return size;\n }\n return paginatedPage;\n }, [triggerInfinite, size, paginatedPage]);\n const fetchPage = useCallback(\n (numberOrgFn) => {\n if (triggerInfinite) {\n void setSize(numberOrgFn);\n return;\n }\n return setPaginatedPage(numberOrgFn);\n },\n [setSize]\n );\n const data = useMemo(() => {\n var _a2, _b2;\n if (triggerInfinite) {\n return (_a2 = swrInfiniteData == null ? void 0 : swrInfiniteData.map((a) => a == null ? void 0 : a.data).flat()) != null ? _a2 : [];\n }\n return (_b2 = swrData == null ? void 0 : swrData.data) != null ? _b2 : [];\n }, [triggerInfinite, swrData, swrInfiniteData]);\n const count = useMemo(() => {\n var _a2, _b2;\n if (triggerInfinite) {\n return ((_a2 = swrInfiniteData == null ? void 0 : swrInfiniteData[(swrInfiniteData == null ? void 0 : swrInfiniteData.length) - 1]) == null ? void 0 : _a2.total_count) || 0;\n }\n return (_b2 = swrData == null ? void 0 : swrData.total_count) != null ? _b2 : 0;\n }, [triggerInfinite, swrData, swrInfiniteData]);\n const isLoading = triggerInfinite ? swrInfiniteIsLoading : swrIsLoading;\n const isFetching = triggerInfinite ? swrInfiniteIsValidating : swrIsValidating;\n const error = (_g = triggerInfinite ? swrInfiniteError : swrError) != null ? _g : null;\n const isError = !!error;\n const fetchNext = useCallback(() => {\n fetchPage((n) => Math.max(0, n + 1));\n }, [fetchPage]);\n const fetchPrevious = useCallback(() => {\n fetchPage((n) => Math.max(0, n - 1));\n }, [fetchPage]);\n const offsetCount = (initialPageRef.current - 1) * pageSizeRef.current;\n const pageCount = Math.ceil((count - offsetCount) / pageSizeRef.current);\n const hasNextPage = count - offsetCount * pageSizeRef.current > page * pageSizeRef.current;\n const hasPreviousPage = (page - 1) * pageSizeRef.current > offsetCount * pageSizeRef.current;\n const setData = triggerInfinite ? (value) => swrInfiniteMutate(value, {\n revalidate: false\n }) : (value) => swrMutate(value, {\n revalidate: false\n });\n const revalidate = triggerInfinite ? () => swrInfiniteMutate() : () => swrMutate();\n return {\n data,\n count,\n error,\n isLoading,\n isFetching,\n isError,\n page,\n pageCount,\n fetchPage,\n fetchNext,\n fetchPrevious,\n hasNextPage,\n hasPreviousPage,\n // Let the hook return type define this type\n revalidate,\n // Let the hook return type define this type\n setData\n };\n};\n\n// src/react/hooks/useOrganization.tsx\nvar undefinedPaginatedResource = {\n data: void 0,\n count: void 0,\n error: void 0,\n isLoading: false,\n isFetching: false,\n isError: false,\n page: void 0,\n pageCount: void 0,\n fetchPage: void 0,\n fetchNext: void 0,\n fetchPrevious: void 0,\n hasNextPage: false,\n hasPreviousPage: false,\n revalidate: void 0,\n setData: void 0\n};\nvar useOrganization = (params) => {\n const {\n domains: domainListParams,\n membershipRequests: membershipRequestsListParams,\n memberships: membersListParams,\n invitations: invitationsListParams\n } = params || {};\n useAssertWrappedByClerkProvider(\"useOrganization\");\n const { organization } = useOrganizationContext();\n const session = useSessionContext();\n const domainSafeValues = useWithSafeValues(domainListParams, {\n initialPage: 1,\n pageSize: 10,\n keepPreviousData: false,\n infinite: false,\n enrollmentMode: void 0\n });\n const membershipRequestSafeValues = useWithSafeValues(membershipRequestsListParams, {\n initialPage: 1,\n pageSize: 10,\n status: \"pending\",\n keepPreviousData: false,\n infinite: false\n });\n const membersSafeValues = useWithSafeValues(membersListParams, {\n initialPage: 1,\n pageSize: 10,\n role: void 0,\n keepPreviousData: false,\n infinite: false\n });\n const invitationsSafeValues = useWithSafeValues(invitationsListParams, {\n initialPage: 1,\n pageSize: 10,\n status: [\"pending\"],\n keepPreviousData: false,\n infinite: false\n });\n const clerk = useClerkInstanceContext();\n const domainParams = typeof domainListParams === \"undefined\" ? void 0 : {\n initialPage: domainSafeValues.initialPage,\n pageSize: domainSafeValues.pageSize,\n enrollmentMode: domainSafeValues.enrollmentMode\n };\n const membershipRequestParams = typeof membershipRequestsListParams === \"undefined\" ? void 0 : {\n initialPage: membershipRequestSafeValues.initialPage,\n pageSize: membershipRequestSafeValues.pageSize,\n status: membershipRequestSafeValues.status\n };\n const membersParams = typeof membersListParams === \"undefined\" ? void 0 : {\n initialPage: membersSafeValues.initialPage,\n pageSize: membersSafeValues.pageSize,\n role: membersSafeValues.role\n };\n const invitationsParams = typeof invitationsListParams === \"undefined\" ? void 0 : {\n initialPage: invitationsSafeValues.initialPage,\n pageSize: invitationsSafeValues.pageSize,\n status: invitationsSafeValues.status\n };\n const domains = usePagesOrInfinite(\n {\n ...domainParams\n },\n organization == null ? void 0 : organization.getDomains,\n {\n keepPreviousData: domainSafeValues.keepPreviousData,\n infinite: domainSafeValues.infinite,\n enabled: !!domainParams\n },\n {\n type: \"domains\",\n organizationId: organization == null ? void 0 : organization.id\n }\n );\n const membershipRequests = usePagesOrInfinite(\n {\n ...membershipRequestParams\n },\n organization == null ? void 0 : organization.getMembershipRequests,\n {\n keepPreviousData: membershipRequestSafeValues.keepPreviousData,\n infinite: membershipRequestSafeValues.infinite,\n enabled: !!membershipRequestParams\n },\n {\n type: \"membershipRequests\",\n organizationId: organization == null ? void 0 : organization.id\n }\n );\n const memberships = usePagesOrInfinite(\n membersParams || {},\n organization == null ? void 0 : organization.getMemberships,\n {\n keepPreviousData: membersSafeValues.keepPreviousData,\n infinite: membersSafeValues.infinite,\n enabled: !!membersParams\n },\n {\n type: \"members\",\n organizationId: organization == null ? void 0 : organization.id\n }\n );\n const invitations = usePagesOrInfinite(\n {\n ...invitationsParams\n },\n organization == null ? void 0 : organization.getInvitations,\n {\n keepPreviousData: invitationsSafeValues.keepPreviousData,\n infinite: invitationsSafeValues.infinite,\n enabled: !!invitationsParams\n },\n {\n type: \"invitations\",\n organizationId: organization == null ? void 0 : organization.id\n }\n );\n if (organization === void 0) {\n return {\n isLoaded: false,\n organization: void 0,\n membership: void 0,\n domains: undefinedPaginatedResource,\n membershipRequests: undefinedPaginatedResource,\n memberships: undefinedPaginatedResource,\n invitations: undefinedPaginatedResource\n };\n }\n if (organization === null) {\n return {\n isLoaded: true,\n organization: null,\n membership: null,\n domains: null,\n membershipRequests: null,\n memberships: null,\n invitations: null\n };\n }\n if (!clerk.loaded && organization) {\n return {\n isLoaded: true,\n organization,\n membership: void 0,\n domains: undefinedPaginatedResource,\n membershipRequests: undefinedPaginatedResource,\n memberships: undefinedPaginatedResource,\n invitations: undefinedPaginatedResource\n };\n }\n return {\n isLoaded: clerk.loaded,\n organization,\n membership: getCurrentOrganizationMembership(session.user.organizationMemberships, organization.id),\n // your membership in the current org\n domains,\n membershipRequests,\n memberships,\n invitations\n };\n};\nfunction getCurrentOrganizationMembership(organizationMemberships, activeOrganizationId) {\n return organizationMemberships.find(\n (organizationMembership) => organizationMembership.organization.id === activeOrganizationId\n );\n}\n\n// src/react/hooks/useOrganizationList.tsx\nvar undefinedPaginatedResource2 = {\n data: void 0,\n count: void 0,\n error: void 0,\n isLoading: false,\n isFetching: false,\n isError: false,\n page: void 0,\n pageCount: void 0,\n fetchPage: void 0,\n fetchNext: void 0,\n fetchPrevious: void 0,\n hasNextPage: false,\n hasPreviousPage: false,\n revalidate: void 0,\n setData: void 0\n};\nvar useOrganizationList = (params) => {\n const { userMemberships, userInvitations, userSuggestions } = params || {};\n useAssertWrappedByClerkProvider(\"useOrganizationList\");\n const userMembershipsSafeValues = useWithSafeValues(userMemberships, {\n initialPage: 1,\n pageSize: 10,\n keepPreviousData: false,\n infinite: false\n });\n const userInvitationsSafeValues = useWithSafeValues(userInvitations, {\n initialPage: 1,\n pageSize: 10,\n status: \"pending\",\n keepPreviousData: false,\n infinite: false\n });\n const userSuggestionsSafeValues = useWithSafeValues(userSuggestions, {\n initialPage: 1,\n pageSize: 10,\n status: \"pending\",\n keepPreviousData: false,\n infinite: false\n });\n const clerk = useClerkInstanceContext();\n const user = useUserContext();\n const userMembershipsParams = typeof userMemberships === \"undefined\" ? void 0 : {\n initialPage: userMembershipsSafeValues.initialPage,\n pageSize: userMembershipsSafeValues.pageSize\n };\n const userInvitationsParams = typeof userInvitations === \"undefined\" ? void 0 : {\n initialPage: userInvitationsSafeValues.initialPage,\n pageSize: userInvitationsSafeValues.pageSize,\n status: userInvitationsSafeValues.status\n };\n const userSuggestionsParams = typeof userSuggestions === \"undefined\" ? void 0 : {\n initialPage: userSuggestionsSafeValues.initialPage,\n pageSize: userSuggestionsSafeValues.pageSize,\n status: userSuggestionsSafeValues.status\n };\n const isClerkLoaded = !!(clerk.loaded && user);\n const memberships = usePagesOrInfinite(\n userMembershipsParams || {},\n user == null ? void 0 : user.getOrganizationMemberships,\n {\n keepPreviousData: userMembershipsSafeValues.keepPreviousData,\n infinite: userMembershipsSafeValues.infinite,\n enabled: !!userMembershipsParams\n },\n {\n type: \"userMemberships\",\n userId: user == null ? void 0 : user.id\n }\n );\n const invitations = usePagesOrInfinite(\n {\n ...userInvitationsParams\n },\n user == null ? void 0 : user.getOrganizationInvitations,\n {\n keepPreviousData: userInvitationsSafeValues.keepPreviousData,\n infinite: userInvitationsSafeValues.infinite,\n enabled: !!userInvitationsParams\n },\n {\n type: \"userInvitations\",\n userId: user == null ? void 0 : user.id\n }\n );\n const suggestions = usePagesOrInfinite(\n {\n ...userSuggestionsParams\n },\n user == null ? void 0 : user.getOrganizationSuggestions,\n {\n keepPreviousData: userSuggestionsSafeValues.keepPreviousData,\n infinite: userSuggestionsSafeValues.infinite,\n enabled: !!userSuggestionsParams\n },\n {\n type: \"userSuggestions\",\n userId: user == null ? void 0 : user.id\n }\n );\n if (!isClerkLoaded) {\n return {\n isLoaded: false,\n createOrganization: void 0,\n setActive: void 0,\n userMemberships: undefinedPaginatedResource2,\n userInvitations: undefinedPaginatedResource2,\n userSuggestions: undefinedPaginatedResource2\n };\n }\n return {\n isLoaded: isClerkLoaded,\n setActive: clerk.setActive,\n createOrganization: clerk.createOrganization,\n userMemberships: memberships,\n userInvitations: invitations,\n userSuggestions: suggestions\n };\n};\n\n// src/react/hooks/useSafeLayoutEffect.tsx\nimport React3 from \"react\";\nvar useSafeLayoutEffect = typeof window !== \"undefined\" ? React3.useLayoutEffect : React3.useEffect;\n\n// src/react/hooks/useSession.ts\nvar useSession = () => {\n useAssertWrappedByClerkProvider(\"useSession\");\n const session = useSessionContext();\n if (session === void 0) {\n return { isLoaded: false, isSignedIn: void 0, session: void 0 };\n }\n if (session === null) {\n return { isLoaded: true, isSignedIn: false, session: null };\n }\n return { isLoaded: true, isSignedIn: true, session };\n};\n\n// src/react/hooks/useSessionList.ts\nvar useSessionList = () => {\n useAssertWrappedByClerkProvider(\"useSessionList\");\n const isomorphicClerk = useClerkInstanceContext();\n const client = useClientContext();\n if (!client) {\n return { isLoaded: false, sessions: void 0, setActive: void 0 };\n }\n return {\n isLoaded: true,\n sessions: client.sessions,\n setActive: isomorphicClerk.setActive\n };\n};\n\n// src/react/hooks/useUser.ts\nfunction useUser() {\n useAssertWrappedByClerkProvider(\"useUser\");\n const user = useUserContext();\n if (user === void 0) {\n return { isLoaded: false, isSignedIn: void 0, user: void 0 };\n }\n if (user === null) {\n return { isLoaded: true, isSignedIn: false, user: null };\n }\n return { isLoaded: true, isSignedIn: true, user };\n}\n\n// src/react/hooks/useClerk.ts\nvar useClerk = () => {\n useAssertWrappedByClerkProvider(\"useClerk\");\n return useClerkInstanceContext();\n};\n\n// ../../node_modules/dequal/dist/index.mjs\nvar has = Object.prototype.hasOwnProperty;\nfunction find(iter, tar, key) {\n for (key of iter.keys()) {\n if (dequal(key, tar))\n return key;\n }\n}\nfunction dequal(foo, bar) {\n var ctor, len, tmp;\n if (foo === bar)\n return true;\n if (foo && bar && (ctor = foo.constructor) === bar.constructor) {\n if (ctor === Date)\n return foo.getTime() === bar.getTime();\n if (ctor === RegExp)\n return foo.toString() === bar.toString();\n if (ctor === Array) {\n if ((len = foo.length) === bar.length) {\n while (len-- && dequal(foo[len], bar[len]))\n ;\n }\n return len === -1;\n }\n if (ctor === Set) {\n if (foo.size !== bar.size) {\n return false;\n }\n for (len of foo) {\n tmp = len;\n if (tmp && typeof tmp === \"object\") {\n tmp = find(bar, tmp);\n if (!tmp)\n return false;\n }\n if (!bar.has(tmp))\n return false;\n }\n return true;\n }\n if (ctor === Map) {\n if (foo.size !== bar.size) {\n return false;\n }\n for (len of foo) {\n tmp = len[0];\n if (tmp && typeof tmp === \"object\") {\n tmp = find(bar, tmp);\n if (!tmp)\n return false;\n }\n if (!dequal(len[1], bar.get(tmp))) {\n return false;\n }\n }\n return true;\n }\n if (ctor === ArrayBuffer) {\n foo = new Uint8Array(foo);\n bar = new Uint8Array(bar);\n } else if (ctor === DataView) {\n if ((len = foo.byteLength) === bar.byteLength) {\n while (len-- && foo.getInt8(len) === bar.getInt8(len))\n ;\n }\n return len === -1;\n }\n if (ArrayBuffer.isView(foo)) {\n if ((len = foo.byteLength) === bar.byteLength) {\n while (len-- && foo[len] === bar[len])\n ;\n }\n return len === -1;\n }\n if (!ctor || typeof foo === \"object\") {\n len = 0;\n for (ctor in foo) {\n if (has.call(foo, ctor) && ++len && !has.call(bar, ctor))\n return false;\n if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor]))\n return false;\n }\n return Object.keys(bar).length === len;\n }\n }\n return foo !== foo && bar !== bar;\n}\n\n// src/react/hooks/useDeepEqualMemo.ts\nimport React4 from \"react\";\nvar useDeepEqualMemoize = (value) => {\n const ref = React4.useRef(value);\n if (!dequal(value, ref.current)) {\n ref.current = value;\n }\n return React4.useMemo(() => ref.current, [ref.current]);\n};\nvar useDeepEqualMemo = (factory, dependencyArray) => {\n return React4.useMemo(factory, useDeepEqualMemoize(dependencyArray));\n};\nvar isDeeplyEqual = dequal;\nexport {\n ClerkInstanceContext,\n ClientContext,\n OrganizationProvider,\n SessionContext,\n UserContext,\n assertContextExists,\n createContextAndHook,\n isDeeplyEqual,\n useAssertWrappedByClerkProvider,\n useClerk,\n useClerkInstanceContext,\n useClientContext,\n useDeepEqualMemo,\n useOrganization,\n useOrganizationContext,\n useOrganizationList,\n useSafeLayoutEffect,\n useSession,\n useSessionContext,\n useSessionList,\n useUser,\n useUserContext\n};\n//# sourceMappingURL=index.mjs.map","// src/errors/errorThrower.ts\nimport { buildErrorThrower } from \"@clerk/shared/error\";\nvar errorThrower = buildErrorThrower({ packageName: \"@clerk/clerk-react\" });\nfunction setErrorThrowerOptions(options) {\n errorThrower.setMessages(options).setPackageName(options);\n}\n\n// src/utils/loadClerkJsScript.ts\nimport { parsePublishableKey } from \"@clerk/shared/keys\";\nimport { loadScript } from \"@clerk/shared/loadScript\";\nimport { isValidProxyUrl, proxyUrlToAbsoluteURL } from \"@clerk/shared/proxy\";\nimport { addClerkPrefix } from \"@clerk/shared/url\";\n\n// src/utils/isDevOrStageUrl.tsx\nimport { createDevOrStagingUrlCache } from \"@clerk/shared/keys\";\nvar { isDevOrStagingUrl } = createDevOrStagingUrlCache();\n\n// src/utils/versionSelector.ts\nvar versionSelector = (clerkJSVersion, packageVersion = \"5.0.1\") => {\n if (clerkJSVersion) {\n return clerkJSVersion;\n }\n const prereleaseTag = getPrereleaseTag(packageVersion);\n if (prereleaseTag) {\n if (prereleaseTag === \"snapshot\") {\n return \"5.1.0\";\n }\n return prereleaseTag;\n }\n return getMajorVersion(packageVersion);\n};\nvar getPrereleaseTag = (packageVersion) => {\n var _a;\n return (_a = packageVersion.trim().replace(/^v/, \"\").match(/-(.+?)(\\.|$)/)) == null ? void 0 : _a[1];\n};\nvar getMajorVersion = (packageVersion) => packageVersion.trim().replace(/^v/, \"\").split(\".\")[0];\n\n// src/utils/loadClerkJsScript.ts\nvar FAILED_TO_LOAD_ERROR = \"Clerk: Failed to load Clerk\";\nvar loadClerkJsScript = (opts) => {\n const { publishableKey } = opts;\n if (!publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n }\n const existingScript = document.querySelector(\"script[data-clerk-js-script]\");\n if (existingScript) {\n return new Promise((resolve, reject) => {\n existingScript.addEventListener(\"load\", () => {\n resolve(existingScript);\n });\n existingScript.addEventListener(\"error\", () => {\n reject(FAILED_TO_LOAD_ERROR);\n });\n });\n }\n return loadScript(clerkJsScriptUrl(opts), {\n async: true,\n crossOrigin: \"anonymous\",\n beforeLoad: applyClerkJsScriptAttributes(opts)\n }).catch(() => {\n throw new Error(FAILED_TO_LOAD_ERROR);\n });\n};\nvar clerkJsScriptUrl = (opts) => {\n var _a, _b;\n const { clerkJSUrl, clerkJSVariant, clerkJSVersion, proxyUrl, domain, publishableKey } = opts;\n if (clerkJSUrl) {\n return clerkJSUrl;\n }\n let scriptHost = \"\";\n if (!!proxyUrl && isValidProxyUrl(proxyUrl)) {\n scriptHost = proxyUrlToAbsoluteURL(proxyUrl).replace(/http(s)?:\\/\\//, \"\");\n } else if (domain && !isDevOrStagingUrl(((_a = parsePublishableKey(publishableKey)) == null ? void 0 : _a.frontendApi) || \"\")) {\n scriptHost = addClerkPrefix(domain);\n } else {\n scriptHost = ((_b = parsePublishableKey(publishableKey)) == null ? void 0 : _b.frontendApi) || \"\";\n }\n const variant = clerkJSVariant ? `${clerkJSVariant.replace(/\\.+$/, \"\")}.` : \"\";\n const version = versionSelector(clerkJSVersion);\n return `https://${scriptHost}/npm/@clerk/clerk-js@${version}/dist/clerk.${variant}browser.js`;\n};\nvar buildClerkJsScriptAttributes = (options) => {\n const obj = {};\n if (options.publishableKey) {\n obj[\"data-clerk-publishable-key\"] = options.publishableKey;\n }\n if (options.proxyUrl) {\n obj[\"data-clerk-proxy-url\"] = options.proxyUrl;\n }\n if (options.domain) {\n obj[\"data-clerk-clerk-domain\"] = options.domain;\n }\n return obj;\n};\nvar applyClerkJsScriptAttributes = (options) => (script) => {\n const attributes = buildClerkJsScriptAttributes(options);\n for (const attribute in attributes) {\n script.setAttribute(attribute, attributes[attribute]);\n }\n};\n\n// src/hooks/useAuth.ts\nimport { useCallback } from \"react\";\n\n// src/contexts/AuthContext.ts\nimport { createContextAndHook } from \"@clerk/shared/react\";\nvar [AuthContext, useAuthContext] = createContextAndHook(\"AuthContext\");\n\n// src/contexts/IsomorphicClerkContext.tsx\nimport { ClerkInstanceContext, useClerkInstanceContext } from \"@clerk/shared/react\";\nvar IsomorphicClerkContext = ClerkInstanceContext;\nvar useIsomorphicClerkContext = useClerkInstanceContext;\n\n// src/errors/messages.ts\nvar multipleClerkProvidersError = \"You've added multiple components in your React component tree. Wrap your components in a single .\";\nvar multipleChildrenInButtonComponent = (name) => `You've passed multiple children components to <${name}/>. You can only pass a single child component or text.`;\nvar invalidStateError = \"Invalid state. Feel free to submit a bug or reach out to support here: https://clerk.com/support\";\nvar unsupportedNonBrowserDomainOrProxyUrlFunction = \"Unsupported usage of isSatellite, domain or proxyUrl. The usage of isSatellite, domain or proxyUrl as function is not supported in non-browser environments.\";\nvar userProfilePageRenderedError = \" component needs to be a direct child of `` or ``.\";\nvar userProfileLinkRenderedError = \" component needs to be a direct child of `` or ``.\";\nvar organizationProfilePageRenderedError = \" component needs to be a direct child of `` or ``.\";\nvar organizationProfileLinkRenderedError = \" component needs to be a direct child of `` or ``.\";\nvar customPagesIgnoredComponent = (componentName) => `<${componentName} /> can only accept <${componentName}.Page /> and <${componentName}.Link /> as its children. Any other provided component will be ignored.`;\nvar customPageWrongProps = (componentName) => `Missing props. <${componentName}.Page /> component requires the following props: url, label, labelIcon, alongside with children to be rendered inside the page.`;\nvar customLinkWrongProps = (componentName) => `Missing props. <${componentName}.Link /> component requires the following props: url, label and labelIcon.`;\nvar useAuthHasRequiresRoleOrPermission = 'Missing parameters. `has` from `useAuth` requires a permission or role key to be passed. Example usage: `has({permission: \"org:posts:edit\"`';\nvar noPathProvidedError = (componentName) => `The <${componentName}/> component uses path-based routing by default unless a different routing strategy is provided using the \\`routing\\` prop. When path-based routing is used, you need to provide the path where the component is mounted on by using the \\`path\\` prop. Example: <${componentName} path={'/my-path'} />`;\nvar incompatibleRoutingWithPathProvidedError = (componentName) => `The \\`path\\` prop will only be respected when the Clerk component uses path-based routing. To resolve this error, pass \\`routing='path'\\` to the <${componentName}/> component, or drop the \\`path\\` prop to switch to hash-based routing. For more details please refer to our docs: https://clerk.com/docs`;\n\n// src/hooks/useAssertWrappedByClerkProvider.ts\nimport { useAssertWrappedByClerkProvider as useSharedAssertWrappedByClerkProvider } from \"@clerk/shared/react\";\nvar useAssertWrappedByClerkProvider = (source) => {\n useSharedAssertWrappedByClerkProvider(() => {\n errorThrower.throwMissingClerkProviderError({ source });\n });\n};\n\n// src/hooks/utils.ts\nvar clerkLoaded = (isomorphicClerk) => {\n return new Promise((resolve) => {\n if (isomorphicClerk.loaded) {\n resolve();\n }\n isomorphicClerk.addOnLoaded(resolve);\n });\n};\nvar createGetToken = (isomorphicClerk) => {\n return async (options) => {\n await clerkLoaded(isomorphicClerk);\n if (!isomorphicClerk.session) {\n return null;\n }\n return isomorphicClerk.session.getToken(options);\n };\n};\nvar createSignOut = (isomorphicClerk) => {\n return async (...args) => {\n await clerkLoaded(isomorphicClerk);\n return isomorphicClerk.signOut(...args);\n };\n};\n\n// src/hooks/useAuth.ts\nvar useAuth = () => {\n useAssertWrappedByClerkProvider(\"useAuth\");\n const { sessionId, userId, actor, orgId, orgRole, orgSlug, orgPermissions } = useAuthContext();\n const isomorphicClerk = useIsomorphicClerkContext();\n const getToken = useCallback(createGetToken(isomorphicClerk), [isomorphicClerk]);\n const signOut = useCallback(createSignOut(isomorphicClerk), [isomorphicClerk]);\n const has = useCallback(\n (params) => {\n if (!(params == null ? void 0 : params.permission) && !(params == null ? void 0 : params.role)) {\n errorThrower.throw(useAuthHasRequiresRoleOrPermission);\n }\n if (!orgId || !userId || !orgRole || !orgPermissions) {\n return false;\n }\n if (params.permission) {\n return orgPermissions.includes(params.permission);\n }\n if (params.role) {\n return orgRole === params.role;\n }\n return false;\n },\n [orgId, orgRole, userId, orgPermissions]\n );\n if (sessionId === void 0 && userId === void 0) {\n return {\n isLoaded: false,\n isSignedIn: void 0,\n sessionId,\n userId,\n actor: void 0,\n orgId: void 0,\n orgRole: void 0,\n orgSlug: void 0,\n has: void 0,\n signOut,\n getToken\n };\n }\n if (sessionId === null && userId === null) {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId,\n userId,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken\n };\n }\n if (!!sessionId && !!userId && !!orgId && !!orgRole) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n userId,\n actor: actor || null,\n orgId,\n orgRole,\n orgSlug: orgSlug || null,\n has,\n signOut,\n getToken\n };\n }\n if (!!sessionId && !!userId && !orgId) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n userId,\n actor: actor || null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken\n };\n }\n return errorThrower.throw(invalidStateError);\n};\n\n// src/hooks/useEmailLink.ts\nimport React from \"react\";\nfunction useEmailLink(resource) {\n const { startEmailLinkFlow, cancelEmailLinkFlow } = React.useMemo(() => resource.createEmailLinkFlow(), [resource]);\n React.useEffect(() => {\n return cancelEmailLinkFlow;\n }, []);\n return {\n startEmailLinkFlow,\n cancelEmailLinkFlow\n };\n}\n\n// src/hooks/useSignIn.ts\nimport { useClientContext } from \"@clerk/shared/react\";\nvar useSignIn = () => {\n useAssertWrappedByClerkProvider(\"useSignIn\");\n const isomorphicClerk = useIsomorphicClerkContext();\n const client = useClientContext();\n if (!client) {\n return { isLoaded: false, signIn: void 0, setActive: void 0 };\n }\n return {\n isLoaded: true,\n signIn: client.signIn,\n setActive: isomorphicClerk.setActive\n };\n};\n\n// src/hooks/useSignUp.ts\nimport { useClientContext as useClientContext2 } from \"@clerk/shared/react\";\nvar useSignUp = () => {\n useAssertWrappedByClerkProvider(\"useSignUp\");\n const isomorphicClerk = useIsomorphicClerkContext();\n const client = useClientContext2();\n if (!client) {\n return { isLoaded: false, signUp: void 0, setActive: void 0 };\n }\n return {\n isLoaded: true,\n signUp: client.signUp,\n setActive: isomorphicClerk.setActive\n };\n};\n\n// src/hooks/index.ts\nimport {\n useClerk,\n useOrganization,\n useOrganizationList,\n useSessionList,\n useUser,\n useSession\n} from \"@clerk/shared/react\";\n\n// src/components/controlComponents.tsx\nimport React3 from \"react\";\n\n// src/contexts/SessionContext.tsx\nimport { SessionContext, useSessionContext } from \"@clerk/shared/react\";\n\n// src/components/withClerk.tsx\nimport React2 from \"react\";\nvar withClerk = (Component, displayName) => {\n displayName = displayName || Component.displayName || Component.name || \"Component\";\n Component.displayName = displayName;\n const HOC = (props) => {\n useAssertWrappedByClerkProvider(displayName || \"withClerk\");\n const clerk = useIsomorphicClerkContext();\n if (!clerk.loaded) {\n return null;\n }\n return /* @__PURE__ */ React2.createElement(\n Component,\n {\n ...props,\n clerk\n }\n );\n };\n HOC.displayName = `withClerk(${displayName})`;\n return HOC;\n};\n\n// src/components/controlComponents.tsx\nvar SignedIn = ({ children }) => {\n useAssertWrappedByClerkProvider(\"SignedIn\");\n const { userId } = useAuthContext();\n if (userId) {\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, children);\n }\n return null;\n};\nvar SignedOut = ({ children }) => {\n useAssertWrappedByClerkProvider(\"SignedOut\");\n const { userId } = useAuthContext();\n if (userId === null) {\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, children);\n }\n return null;\n};\nvar ClerkLoaded = ({ children }) => {\n useAssertWrappedByClerkProvider(\"ClerkLoaded\");\n const isomorphicClerk = useIsomorphicClerkContext();\n if (!isomorphicClerk.loaded) {\n return null;\n }\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, children);\n};\nvar ClerkLoading = ({ children }) => {\n useAssertWrappedByClerkProvider(\"ClerkLoading\");\n const isomorphicClerk = useIsomorphicClerkContext();\n if (isomorphicClerk.loaded) {\n return null;\n }\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, children);\n};\nvar Protect = ({ children, fallback, ...restAuthorizedParams }) => {\n useAssertWrappedByClerkProvider(\"Protect\");\n const { isLoaded, has, userId } = useAuth();\n if (!isLoaded) {\n return null;\n }\n const unauthorized = /* @__PURE__ */ React3.createElement(React3.Fragment, null, fallback != null ? fallback : null);\n const authorized = /* @__PURE__ */ React3.createElement(React3.Fragment, null, children);\n if (!userId) {\n return unauthorized;\n }\n if (typeof restAuthorizedParams.condition === \"function\") {\n if (restAuthorizedParams.condition(has)) {\n return authorized;\n }\n return unauthorized;\n }\n if (restAuthorizedParams.role || restAuthorizedParams.permission) {\n if (has(restAuthorizedParams)) {\n return authorized;\n }\n return unauthorized;\n }\n return authorized;\n};\nvar RedirectToSignIn = withClerk(({ clerk, ...props }) => {\n const { client, session } = clerk;\n const hasActiveSessions = client.activeSessions && client.activeSessions.length > 0;\n React3.useEffect(() => {\n if (session === null && hasActiveSessions) {\n void clerk.redirectToAfterSignOut();\n } else {\n void clerk.redirectToSignIn(props);\n }\n }, []);\n return null;\n}, \"RedirectToSignIn\");\nvar RedirectToSignUp = withClerk(({ clerk, ...props }) => {\n React3.useEffect(() => {\n void clerk.redirectToSignUp(props);\n }, []);\n return null;\n}, \"RedirectToSignUp\");\nvar RedirectToUserProfile = withClerk(({ clerk }) => {\n React3.useEffect(() => {\n void clerk.redirectToUserProfile();\n }, []);\n return null;\n}, \"RedirectToUserProfile\");\nvar RedirectToOrganizationProfile = withClerk(({ clerk }) => {\n React3.useEffect(() => {\n void clerk.redirectToOrganizationProfile();\n }, []);\n return null;\n}, \"RedirectToOrganizationProfile\");\nvar RedirectToCreateOrganization = withClerk(({ clerk }) => {\n React3.useEffect(() => {\n void clerk.redirectToCreateOrganization();\n }, []);\n return null;\n}, \"RedirectToCreateOrganization\");\nvar AuthenticateWithRedirectCallback = withClerk(\n ({ clerk, ...handleRedirectCallbackParams }) => {\n React3.useEffect(() => {\n void clerk.handleRedirectCallback(handleRedirectCallbackParams);\n }, []);\n return null;\n },\n \"AuthenticateWithRedirectCallback\"\n);\nvar MultisessionAppSupport = ({ children }) => {\n useAssertWrappedByClerkProvider(\"MultisessionAppSupport\");\n const session = useSessionContext();\n return /* @__PURE__ */ React3.createElement(React3.Fragment, { key: session ? session.id : \"no-users\" }, children);\n};\n\nexport {\n errorThrower,\n setErrorThrowerOptions,\n multipleClerkProvidersError,\n multipleChildrenInButtonComponent,\n unsupportedNonBrowserDomainOrProxyUrlFunction,\n userProfilePageRenderedError,\n userProfileLinkRenderedError,\n organizationProfilePageRenderedError,\n organizationProfileLinkRenderedError,\n customPagesIgnoredComponent,\n customPageWrongProps,\n customLinkWrongProps,\n noPathProvidedError,\n incompatibleRoutingWithPathProvidedError,\n loadClerkJsScript,\n clerkJsScriptUrl,\n buildClerkJsScriptAttributes,\n IsomorphicClerkContext,\n withClerk,\n AuthContext,\n useAuth,\n useEmailLink,\n useSignIn,\n useSignUp,\n useClerk,\n useOrganization,\n useOrganizationList,\n useSessionList,\n useUser,\n useSession,\n SignedIn,\n SignedOut,\n ClerkLoaded,\n ClerkLoading,\n Protect,\n RedirectToSignIn,\n RedirectToSignUp,\n RedirectToUserProfile,\n RedirectToOrganizationProfile,\n RedirectToCreateOrganization,\n AuthenticateWithRedirectCallback,\n MultisessionAppSupport\n};\n//# sourceMappingURL=chunk-MHQTCICI.mjs.map","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\n\nexport {\n __privateGet,\n __privateAdd,\n __privateSet\n};\n//# sourceMappingURL=chunk-JMDSN227.mjs.map","// src/object.ts\nvar without = (obj, ...props) => {\n const copy = { ...obj };\n for (const prop of props) {\n delete copy[prop];\n }\n return copy;\n};\nvar removeUndefined = (obj) => {\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (value !== void 0 && value !== null) {\n acc[key] = value;\n }\n return acc;\n }, {});\n};\nvar applyFunctionToObj = (obj, fn) => {\n const result = {};\n for (const key in obj) {\n result[key] = fn(obj[key], key);\n }\n return result;\n};\nvar filterProps = (obj, filter) => {\n const result = {};\n for (const key in obj) {\n if (obj[key] && filter(obj[key])) {\n result[key] = obj[key];\n }\n }\n return result;\n};\n\nexport {\n without,\n removeUndefined,\n applyFunctionToObj,\n filterProps\n};\n//# sourceMappingURL=chunk-CFXQSUF6.mjs.map","// src/handleValueOrFn.ts\nfunction handleValueOrFn(value, url, defaultValue) {\n if (typeof value === \"function\") {\n return value(url);\n }\n if (typeof value !== \"undefined\") {\n return value;\n }\n if (typeof defaultValue !== \"undefined\") {\n return defaultValue;\n }\n return void 0;\n}\n\nexport {\n handleValueOrFn\n};\n//# sourceMappingURL=chunk-TRWMHODU.mjs.map","// src/browser.ts\nfunction inBrowser() {\n return typeof window !== \"undefined\";\n}\nvar botAgents = [\n \"bot\",\n \"spider\",\n \"crawl\",\n \"APIs-Google\",\n \"AdsBot\",\n \"Googlebot\",\n \"mediapartners\",\n \"Google Favicon\",\n \"FeedFetcher\",\n \"Google-Read-Aloud\",\n \"DuplexWeb-Google\",\n \"googleweblight\",\n \"bing\",\n \"yandex\",\n \"baidu\",\n \"duckduck\",\n \"yahoo\",\n \"ecosia\",\n \"ia_archiver\",\n \"facebook\",\n \"instagram\",\n \"pinterest\",\n \"reddit\",\n \"slack\",\n \"twitter\",\n \"whatsapp\",\n \"youtube\",\n \"semrush\"\n];\nvar botAgentRegex = new RegExp(botAgents.join(\"|\"), \"i\");\nfunction userAgentIsRobot(userAgent) {\n return !userAgent ? false : botAgentRegex.test(userAgent);\n}\nfunction isValidBrowser() {\n const navigator = inBrowser() ? window == null ? void 0 : window.navigator : null;\n if (!navigator) {\n return false;\n }\n return !userAgentIsRobot(navigator == null ? void 0 : navigator.userAgent) && !(navigator == null ? void 0 : navigator.webdriver);\n}\nfunction isBrowserOnline() {\n var _a, _b;\n const navigator = inBrowser() ? window == null ? void 0 : window.navigator : null;\n if (!navigator) {\n return false;\n }\n const isNavigatorOnline = navigator == null ? void 0 : navigator.onLine;\n const isExperimentalConnectionOnline = ((_a = navigator == null ? void 0 : navigator.connection) == null ? void 0 : _a.rtt) !== 0 && ((_b = navigator == null ? void 0 : navigator.connection) == null ? void 0 : _b.downlink) !== 0;\n return isExperimentalConnectionOnline && isNavigatorOnline;\n}\nfunction isValidBrowserOnline() {\n return isBrowserOnline() && isValidBrowser();\n}\n\nexport {\n inBrowser,\n userAgentIsRobot,\n isValidBrowser,\n isBrowserOnline,\n isValidBrowserOnline\n};\n//# sourceMappingURL=chunk-LJ4R7M7R.mjs.map","// src/utils/runtimeEnvironment.ts\nvar isDevelopmentEnvironment = () => {\n try {\n return process.env.NODE_ENV === \"development\";\n } catch (err) {\n }\n return false;\n};\nvar isTestEnvironment = () => {\n try {\n return process.env.NODE_ENV === \"test\";\n } catch (err) {\n }\n return false;\n};\nvar isProductionEnvironment = () => {\n try {\n return process.env.NODE_ENV === \"production\";\n } catch (err) {\n }\n return false;\n};\n\n// src/deprecated.ts\nvar displayedWarnings = /* @__PURE__ */ new Set();\nvar deprecated = (fnName, warning, key) => {\n const hideWarning = isTestEnvironment() || isProductionEnvironment();\n const messageId = key != null ? key : fnName;\n if (displayedWarnings.has(messageId) || hideWarning) {\n return;\n }\n displayedWarnings.add(messageId);\n console.warn(\n `Clerk - DEPRECATION WARNING: \"${fnName}\" is deprecated and will be removed in the next major release.\n${warning}`\n );\n};\nvar deprecatedProperty = (cls, propName, warning, isStatic = false) => {\n const target = isStatic ? cls : cls.prototype;\n let value = target[propName];\n Object.defineProperty(target, propName, {\n get() {\n deprecated(propName, warning, `${cls.name}:${propName}`);\n return value;\n },\n set(v) {\n value = v;\n }\n });\n};\nvar deprecatedObjectProperty = (obj, propName, warning, key) => {\n let value = obj[propName];\n Object.defineProperty(obj, propName, {\n get() {\n deprecated(propName, warning, key);\n return value;\n },\n set(v) {\n value = v;\n }\n });\n};\n\nexport {\n isDevelopmentEnvironment,\n isTestEnvironment,\n isProductionEnvironment,\n deprecated,\n deprecatedProperty,\n deprecatedObjectProperty\n};\n//# sourceMappingURL=chunk-IC4FGZI3.mjs.map","import {\n addClerkPrefix,\n cleanDoubleSlashes,\n getClerkJsMajorVersionOrTag,\n getScriptUrl,\n hasLeadingSlash,\n hasTrailingSlash,\n isCurrentDevAccountPortalOrigin,\n isLegacyDevAccountPortalOrigin,\n isNonEmptyURL,\n isStaging,\n joinURL,\n parseSearchParams,\n stripScheme,\n withLeadingSlash,\n withTrailingSlash,\n withoutLeadingSlash,\n withoutTrailingSlash\n} from \"./chunk-L45N5DM5.mjs\";\nimport {\n loadScript\n} from \"./chunk-AOO6TJNL.mjs\";\nimport {\n LocalStorageBroadcastChannel\n} from \"./chunk-RSOCGYTF.mjs\";\nimport {\n applyFunctionToObj,\n filterProps,\n removeUndefined,\n without\n} from \"./chunk-CFXQSUF6.mjs\";\nimport {\n Poller,\n createWorkerTimers,\n noop\n} from \"./chunk-XPYJQUM7.mjs\";\nimport {\n isHttpOrHttps,\n isProxyUrlRelative,\n isValidProxyUrl,\n proxyUrlToAbsoluteURL\n} from \"./chunk-6NDGN2IU.mjs\";\nimport {\n camelToSnake,\n deepCamelToSnake,\n deepSnakeToCamel,\n getNonUndefinedValues,\n isIPV4Address,\n isTruthy,\n snakeToCamel,\n titleize,\n toSentence\n} from \"./chunk-E6T5KUVH.mjs\";\nimport {\n DEV_BROWSER_JWT_KEY,\n extractDevBrowserJWTFromURL,\n setDevBrowserJWTInURL\n} from \"./chunk-K64INQ4C.mjs\";\nimport {\n ClerkAPIResponseError,\n ClerkRuntimeError,\n EmailLinkError,\n EmailLinkErrorCode,\n buildErrorThrower,\n is4xxError,\n isClerkAPIResponseError,\n isClerkRuntimeError,\n isEmailLinkError,\n isKnownError,\n isMetamaskError,\n isNetworkError,\n isPasswordPwnedError,\n isUnauthorizedError,\n isUserLockedError,\n parseError,\n parseErrors\n} from \"./chunk-46BSODPS.mjs\";\nimport {\n extension,\n readJSONFile\n} from \"./chunk-5JU2E5TY.mjs\";\nimport {\n handleValueOrFn\n} from \"./chunk-TRWMHODU.mjs\";\nimport {\n apiUrlFromPublishableKey\n} from \"./chunk-SE4J36LP.mjs\";\nimport {\n buildPublishableKey,\n createDevOrStagingUrlCache,\n isDevelopmentFromPublishableKey,\n isDevelopmentFromSecretKey,\n isProductionFromPublishableKey,\n isProductionFromSecretKey,\n isPublishableKey,\n parsePublishableKey\n} from \"./chunk-ZXFUQ6LY.mjs\";\nimport {\n isomorphicAtob\n} from \"./chunk-TETGTEI2.mjs\";\nimport {\n isomorphicBtoa\n} from \"./chunk-KOH7GTJO.mjs\";\nimport {\n inBrowser,\n isBrowserOnline,\n isValidBrowser,\n isValidBrowserOnline,\n userAgentIsRobot\n} from \"./chunk-LJ4R7M7R.mjs\";\nimport {\n callWithRetry\n} from \"./chunk-4PW5MDZA.mjs\";\nimport {\n colorToSameTypeString,\n hasAlpha,\n hexStringToRgbaColor,\n isHSLColor,\n isRGBColor,\n isTransparent,\n isValidHexString,\n isValidHslaString,\n isValidRgbaString,\n stringToHslaColor,\n stringToSameTypeColor\n} from \"./chunk-WUG2DC4W.mjs\";\nimport {\n CURRENT_DEV_INSTANCE_SUFFIXES,\n DEV_OR_STAGING_SUFFIXES,\n LEGACY_DEV_INSTANCE_SUFFIXES,\n LOCAL_API_URL,\n LOCAL_ENV_SUFFIXES,\n PROD_API_URL,\n STAGING_API_URL,\n STAGING_ENV_SUFFIXES\n} from \"./chunk-X2FYR5U6.mjs\";\nimport {\n addYears,\n dateTo12HourTime,\n differenceInCalendarDays,\n formatRelative,\n normalizeDate\n} from \"./chunk-FSKKI4LG.mjs\";\nimport {\n deprecated,\n deprecatedObjectProperty,\n deprecatedProperty,\n isDevelopmentEnvironment,\n isProductionEnvironment,\n isTestEnvironment\n} from \"./chunk-IC4FGZI3.mjs\";\nimport \"./chunk-UVVCWSVF.mjs\";\n\n// src/utils/createDeferredPromise.ts\nvar createDeferredPromise = () => {\n let resolve = noop;\n let reject = noop;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n};\n\n// src/utils/logErrorInDevMode.ts\nvar logErrorInDevMode = (message) => {\n if (isDevelopmentEnvironment()) {\n console.error(`Clerk: ${message}`);\n }\n};\n\n// src/utils/runWithExponentialBackOff.ts\nvar defaultOptions = {\n firstDelay: 125,\n maxDelay: 0,\n timeMultiple: 2,\n shouldRetry: () => true\n};\nvar sleep = async (ms) => new Promise((s) => setTimeout(s, ms));\nvar createExponentialDelayAsyncFn = (opts) => {\n let timesCalled = 0;\n const calculateDelayInMs = () => {\n const constant = opts.firstDelay;\n const base = opts.timeMultiple;\n const delay = constant * Math.pow(base, timesCalled);\n return Math.min(opts.maxDelay || delay, delay);\n };\n return async () => {\n await sleep(calculateDelayInMs());\n timesCalled++;\n };\n};\nvar runWithExponentialBackOff = async (callback, options = {}) => {\n let iterationsCount = 0;\n const { shouldRetry, firstDelay, maxDelay, timeMultiple } = {\n ...defaultOptions,\n ...options\n };\n const delay = createExponentialDelayAsyncFn({ firstDelay, maxDelay, timeMultiple });\n while (true) {\n try {\n return await callback();\n } catch (e) {\n iterationsCount++;\n if (!shouldRetry(e, iterationsCount)) {\n throw e;\n }\n await delay();\n }\n }\n};\nexport {\n CURRENT_DEV_INSTANCE_SUFFIXES,\n ClerkAPIResponseError,\n ClerkRuntimeError,\n DEV_BROWSER_JWT_KEY,\n DEV_OR_STAGING_SUFFIXES,\n EmailLinkError,\n EmailLinkErrorCode,\n LEGACY_DEV_INSTANCE_SUFFIXES,\n LOCAL_API_URL,\n LOCAL_ENV_SUFFIXES,\n LocalStorageBroadcastChannel,\n PROD_API_URL,\n Poller,\n STAGING_API_URL,\n STAGING_ENV_SUFFIXES,\n addClerkPrefix,\n addYears,\n apiUrlFromPublishableKey,\n applyFunctionToObj,\n buildErrorThrower,\n buildPublishableKey,\n callWithRetry,\n camelToSnake,\n cleanDoubleSlashes,\n colorToSameTypeString,\n createDeferredPromise,\n createDevOrStagingUrlCache,\n createWorkerTimers,\n dateTo12HourTime,\n deepCamelToSnake,\n deepSnakeToCamel,\n deprecated,\n deprecatedObjectProperty,\n deprecatedProperty,\n differenceInCalendarDays,\n extension,\n extractDevBrowserJWTFromURL,\n filterProps,\n formatRelative,\n getClerkJsMajorVersionOrTag,\n getNonUndefinedValues,\n getScriptUrl,\n handleValueOrFn,\n hasAlpha,\n hasLeadingSlash,\n hasTrailingSlash,\n hexStringToRgbaColor,\n inBrowser,\n is4xxError,\n isBrowserOnline,\n isClerkAPIResponseError,\n isClerkRuntimeError,\n isCurrentDevAccountPortalOrigin,\n isDevelopmentEnvironment,\n isDevelopmentFromPublishableKey,\n isDevelopmentFromSecretKey,\n isEmailLinkError,\n isHSLColor,\n isHttpOrHttps,\n isIPV4Address,\n isKnownError,\n isLegacyDevAccountPortalOrigin,\n isMetamaskError,\n isNetworkError,\n isNonEmptyURL,\n isPasswordPwnedError,\n isProductionEnvironment,\n isProductionFromPublishableKey,\n isProductionFromSecretKey,\n isProxyUrlRelative,\n isPublishableKey,\n isRGBColor,\n isStaging,\n isTestEnvironment,\n isTransparent,\n isTruthy,\n isUnauthorizedError,\n isUserLockedError,\n isValidBrowser,\n isValidBrowserOnline,\n isValidHexString,\n isValidHslaString,\n isValidProxyUrl,\n isValidRgbaString,\n isomorphicAtob,\n isomorphicBtoa,\n joinURL,\n loadScript,\n logErrorInDevMode,\n noop,\n normalizeDate,\n parseError,\n parseErrors,\n parsePublishableKey,\n parseSearchParams,\n proxyUrlToAbsoluteURL,\n readJSONFile,\n removeUndefined,\n runWithExponentialBackOff,\n setDevBrowserJWTInURL,\n snakeToCamel,\n stringToHslaColor,\n stringToSameTypeColor,\n stripScheme,\n titleize,\n toSentence,\n userAgentIsRobot,\n withLeadingSlash,\n withTrailingSlash,\n without,\n withoutLeadingSlash,\n withoutTrailingSlash\n};\n//# sourceMappingURL=index.mjs.map","/**\n * @license React\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';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}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}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=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","/**\n * @license React\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\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(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 z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(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){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(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(ra,\nsa);z[b]=new v(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(ra,sa);z[b]=new v(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(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(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 ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction 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 A({},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 ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(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\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(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 cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!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,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({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 ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(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}}var wb=null;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(p(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;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;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=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){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 Ne(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)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=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&&Ne(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&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;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}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)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=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"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[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,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=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 (name) => {\n try {\n return React.Children.only(children);\n } catch (e) {\n return errorThrower.throw(multipleChildrenInButtonComponent(name));\n }\n};\nvar normalizeWithDefaultValue = (children, defaultText) => {\n if (!children) {\n children = defaultText;\n }\n if (typeof children === \"string\") {\n children = /* @__PURE__ */ React.createElement(\"button\", null, children);\n }\n return children;\n};\nvar safeExecute = (cb) => (...args) => {\n if (cb && typeof cb === \"function\") {\n return cb(...args);\n }\n};\n\n// src/utils/isConstructor.ts\nfunction isConstructor(f) {\n return typeof f === \"function\";\n}\n\n// src/utils/useMaxAllowedInstancesGuard.tsx\nimport React2 from \"react\";\nvar counts = /* @__PURE__ */ new Map();\nfunction useMaxAllowedInstancesGuard(name, error, maxCount = 1) {\n React2.useEffect(() => {\n const count = counts.get(name) || 0;\n if (count == maxCount) {\n return errorThrower.throw(error);\n }\n counts.set(name, count + 1);\n return () => {\n counts.set(name, (counts.get(name) || 1) - 1);\n };\n }, []);\n}\nfunction withMaxAllowedInstancesGuard(WrappedComponent, name, error) {\n const displayName = WrappedComponent.displayName || WrappedComponent.name || name || \"Component\";\n const Hoc = (props) => {\n useMaxAllowedInstancesGuard(name, error);\n return /* @__PURE__ */ React2.createElement(WrappedComponent, { ...props });\n };\n Hoc.displayName = `withMaxAllowedInstancesGuard(${displayName})`;\n return Hoc;\n}\n\n// src/utils/useCustomElementPortal.tsx\nimport React3, { useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nvar useCustomElementPortal = (elements) => {\n const initialState = Array(elements.length).fill(null);\n const [nodes, setNodes] = useState(initialState);\n return elements.map((el, index) => ({\n id: el.id,\n mount: (node) => setNodes((prevState) => prevState.map((n, i) => i === index ? node : n)),\n unmount: () => setNodes((prevState) => prevState.map((n, i) => i === index ? null : n)),\n portal: () => /* @__PURE__ */ React3.createElement(React3.Fragment, null, nodes[index] ? createPortal(el.component, nodes[index]) : null)\n }));\n};\n\n// src/utils/useCustomPages.tsx\nimport { logErrorInDevMode } from \"@clerk/shared\";\nimport React4 from \"react\";\nvar isThatComponent = (v, component) => {\n return !!v && React4.isValidElement(v) && (v == null ? void 0 : v.type) === component;\n};\nvar useUserProfileCustomPages = (children) => {\n const reorderItemsLabels = [\"account\", \"security\"];\n return useCustomPages({\n children,\n reorderItemsLabels,\n LinkComponent: UserProfileLink,\n PageComponent: UserProfilePage,\n componentName: \"UserProfile\"\n });\n};\nvar useOrganizationProfileCustomPages = (children) => {\n const reorderItemsLabels = [\"general\", \"members\"];\n return useCustomPages({\n children,\n reorderItemsLabels,\n LinkComponent: OrganizationProfileLink,\n PageComponent: OrganizationProfilePage,\n componentName: \"OrganizationProfile\"\n });\n};\nvar useCustomPages = ({\n children,\n LinkComponent,\n PageComponent,\n reorderItemsLabels,\n componentName\n}) => {\n const validChildren = [];\n React4.Children.forEach(children, (child) => {\n if (!isThatComponent(child, PageComponent) && !isThatComponent(child, LinkComponent)) {\n if (child) {\n logErrorInDevMode(customPagesIgnoredComponent(componentName));\n }\n return;\n }\n const { props } = child;\n const { children: children2, label, url, labelIcon } = props;\n if (isThatComponent(child, PageComponent)) {\n if (isReorderItem(props, reorderItemsLabels)) {\n validChildren.push({ label });\n } else if (isCustomPage(props)) {\n validChildren.push({ label, labelIcon, children: children2, url });\n } else {\n logErrorInDevMode(customPageWrongProps(componentName));\n return;\n }\n }\n if (isThatComponent(child, LinkComponent)) {\n if (isExternalLink(props)) {\n validChildren.push({ label, labelIcon, url });\n } else {\n logErrorInDevMode(customLinkWrongProps(componentName));\n return;\n }\n }\n });\n const customPageContents = [];\n const customPageLabelIcons = [];\n const customLinkLabelIcons = [];\n validChildren.forEach((cp, index) => {\n if (isCustomPage(cp)) {\n customPageContents.push({ component: cp.children, id: index });\n customPageLabelIcons.push({ component: cp.labelIcon, id: index });\n return;\n }\n if (isExternalLink(cp)) {\n customLinkLabelIcons.push({ component: cp.labelIcon, id: index });\n }\n });\n const customPageContentsPortals = useCustomElementPortal(customPageContents);\n const customPageLabelIconsPortals = useCustomElementPortal(customPageLabelIcons);\n const customLinkLabelIconsPortals = useCustomElementPortal(customLinkLabelIcons);\n const customPages = [];\n const customPagesPortals = [];\n validChildren.forEach((cp, index) => {\n if (isReorderItem(cp, reorderItemsLabels)) {\n customPages.push({ label: cp.label });\n return;\n }\n if (isCustomPage(cp)) {\n const {\n portal: contentPortal,\n mount,\n unmount\n } = customPageContentsPortals.find((p) => p.id === index);\n const {\n portal: labelPortal,\n mount: mountIcon,\n unmount: unmountIcon\n } = customPageLabelIconsPortals.find((p) => p.id === index);\n customPages.push({ label: cp.label, url: cp.url, mount, unmount, mountIcon, unmountIcon });\n customPagesPortals.push(contentPortal);\n customPagesPortals.push(labelPortal);\n return;\n }\n if (isExternalLink(cp)) {\n const {\n portal: labelPortal,\n mount: mountIcon,\n unmount: unmountIcon\n } = customLinkLabelIconsPortals.find((p) => p.id === index);\n customPages.push({ label: cp.label, url: cp.url, mountIcon, unmountIcon });\n customPagesPortals.push(labelPortal);\n return;\n }\n });\n return { customPages, customPagesPortals };\n};\nvar isReorderItem = (childProps, validItems) => {\n const { children, label, url, labelIcon } = childProps;\n return !children && !url && !labelIcon && validItems.some((v) => v === label);\n};\nvar isCustomPage = (childProps) => {\n const { children, label, url, labelIcon } = childProps;\n return !!children && !!url && !!labelIcon && !!label;\n};\nvar isExternalLink = (childProps) => {\n const { children, label, url, labelIcon } = childProps;\n return !children && !!url && !!labelIcon && !!label;\n};\n\n// src/components/uiComponents.tsx\nvar Portal = class extends React5.PureComponent {\n constructor() {\n super(...arguments);\n this.portalRef = React5.createRef();\n }\n componentDidUpdate(_prevProps) {\n var _a, _b;\n const prevProps = without(_prevProps.props, \"customPages\", \"children\");\n const newProps = without(this.props.props, \"customPages\", \"children\");\n const customPagesChanged = ((_a = prevProps.customPages) == null ? void 0 : _a.length) !== ((_b = newProps.customPages) == null ? void 0 : _b.length);\n if (!isDeeplyEqual(prevProps, newProps) || customPagesChanged) {\n this.props.updateProps({ node: this.portalRef.current, props: this.props.props });\n }\n }\n componentDidMount() {\n if (this.portalRef.current) {\n this.props.mount(this.portalRef.current, this.props.props);\n }\n }\n componentWillUnmount() {\n if (this.portalRef.current) {\n this.props.unmount(this.portalRef.current);\n }\n }\n render() {\n var _a, _b;\n return /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(\"div\", { ref: this.portalRef }), (_b = (_a = this.props) == null ? void 0 : _a.customPagesPortals) == null ? void 0 : _b.map((portal, index) => createElement(portal, { key: index })));\n }\n};\nvar SignIn = withClerk(({ clerk, ...props }) => {\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountSignIn,\n unmount: clerk.unmountSignIn,\n updateProps: clerk.__unstable__updateProps,\n props\n }\n );\n}, \"SignIn\");\nvar SignUp = withClerk(({ clerk, ...props }) => {\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountSignUp,\n unmount: clerk.unmountSignUp,\n updateProps: clerk.__unstable__updateProps,\n props\n }\n );\n}, \"SignUp\");\nfunction UserProfilePage({ children }) {\n logErrorInDevMode2(userProfilePageRenderedError);\n return /* @__PURE__ */ React5.createElement(React5.Fragment, null, children);\n}\nfunction UserProfileLink({ children }) {\n logErrorInDevMode2(userProfileLinkRenderedError);\n return /* @__PURE__ */ React5.createElement(React5.Fragment, null, children);\n}\nvar _UserProfile = withClerk(\n ({ clerk, ...props }) => {\n const { customPages, customPagesPortals } = useUserProfileCustomPages(props.children);\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountUserProfile,\n unmount: clerk.unmountUserProfile,\n updateProps: clerk.__unstable__updateProps,\n props: { ...props, customPages },\n customPagesPortals\n }\n );\n },\n \"UserProfile\"\n);\nvar UserProfile = Object.assign(_UserProfile, {\n Page: UserProfilePage,\n Link: UserProfileLink\n});\nvar _UserButton = withClerk(\n ({ clerk, ...props }) => {\n const { customPages, customPagesPortals } = useUserProfileCustomPages(props.children);\n const userProfileProps = Object.assign(props.userProfileProps || {}, { customPages });\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountUserButton,\n unmount: clerk.unmountUserButton,\n updateProps: clerk.__unstable__updateProps,\n props: { ...props, userProfileProps },\n customPagesPortals\n }\n );\n },\n \"UserButton\"\n);\nvar UserButton = Object.assign(_UserButton, {\n UserProfilePage,\n UserProfileLink\n});\nfunction OrganizationProfilePage({ children }) {\n logErrorInDevMode2(organizationProfilePageRenderedError);\n return /* @__PURE__ */ React5.createElement(React5.Fragment, null, children);\n}\nfunction OrganizationProfileLink({ children }) {\n logErrorInDevMode2(organizationProfileLinkRenderedError);\n return /* @__PURE__ */ React5.createElement(React5.Fragment, null, children);\n}\nvar _OrganizationProfile = withClerk(\n ({ clerk, ...props }) => {\n const { customPages, customPagesPortals } = useOrganizationProfileCustomPages(props.children);\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountOrganizationProfile,\n unmount: clerk.unmountOrganizationProfile,\n updateProps: clerk.__unstable__updateProps,\n props: { ...props, customPages },\n customPagesPortals\n }\n );\n },\n \"OrganizationProfile\"\n);\nvar OrganizationProfile = Object.assign(_OrganizationProfile, {\n Page: OrganizationProfilePage,\n Link: OrganizationProfileLink\n});\nvar CreateOrganization = withClerk(({ clerk, ...props }) => {\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountCreateOrganization,\n unmount: clerk.unmountCreateOrganization,\n updateProps: clerk.__unstable__updateProps,\n props\n }\n );\n}, \"CreateOrganization\");\nvar _OrganizationSwitcher = withClerk(\n ({ clerk, ...props }) => {\n const { customPages, customPagesPortals } = useOrganizationProfileCustomPages(props.children);\n const organizationProfileProps = Object.assign(props.organizationProfileProps || {}, { customPages });\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountOrganizationSwitcher,\n unmount: clerk.unmountOrganizationSwitcher,\n updateProps: clerk.__unstable__updateProps,\n props: { ...props, organizationProfileProps },\n customPagesPortals\n }\n );\n },\n \"OrganizationSwitcher\"\n);\nvar OrganizationSwitcher = Object.assign(_OrganizationSwitcher, {\n OrganizationProfilePage,\n OrganizationProfileLink\n});\nvar OrganizationList = withClerk(({ clerk, ...props }) => {\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.mountOrganizationList,\n unmount: clerk.unmountOrganizationList,\n updateProps: clerk.__unstable__updateProps,\n props\n }\n );\n}, \"OrganizationList\");\nvar __experimental_GoogleOneTap = withClerk(({ clerk, ...props }) => {\n return /* @__PURE__ */ React5.createElement(\n Portal,\n {\n mount: clerk.__experimental_mountGoogleOneTap,\n unmount: clerk.__experimental_unmountGoogleOneTap,\n updateProps: clerk.__unstable__updateProps,\n props\n }\n );\n}, \"OneTap\");\n\n// src/components/SignInButton.tsx\nimport React6 from \"react\";\nvar SignInButton = withClerk(({ clerk, children, ...props }) => {\n const { signUpFallbackRedirectUrl, forceRedirectUrl, fallbackRedirectUrl, signUpForceRedirectUrl, mode, ...rest } = props;\n children = normalizeWithDefaultValue(children, \"Sign in\");\n const child = assertSingleChild(children)(\"SignInButton\");\n const clickHandler = () => {\n const opts = { signUpFallbackRedirectUrl, forceRedirectUrl, fallbackRedirectUrl, signUpForceRedirectUrl };\n if (mode === \"modal\") {\n return clerk.openSignIn(opts);\n }\n return clerk.redirectToSignIn(opts);\n };\n const wrappedChildClickHandler = async (e) => {\n await safeExecute(child.props.onClick)(e);\n return clickHandler();\n };\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React6.cloneElement(child, childProps);\n}, \"SignInButton\");\n\n// src/components/SignUpButton.tsx\nimport React7 from \"react\";\nvar SignUpButton = withClerk(({ clerk, children, ...props }) => {\n const {\n fallbackRedirectUrl,\n forceRedirectUrl,\n signInFallbackRedirectUrl,\n signInForceRedirectUrl,\n mode,\n unsafeMetadata,\n ...rest\n } = props;\n children = normalizeWithDefaultValue(children, \"Sign up\");\n const child = assertSingleChild(children)(\"SignUpButton\");\n const clickHandler = () => {\n const opts = {\n fallbackRedirectUrl,\n forceRedirectUrl,\n signInFallbackRedirectUrl,\n signInForceRedirectUrl,\n unsafeMetadata\n };\n if (mode === \"modal\") {\n return clerk.openSignUp(opts);\n }\n return clerk.redirectToSignUp(opts);\n };\n const wrappedChildClickHandler = async (e) => {\n await safeExecute(child.props.onClick)(e);\n return clickHandler();\n };\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React7.cloneElement(child, childProps);\n}, \"SignUpButton\");\n\n// src/components/SignOutButton.tsx\nimport React8 from \"react\";\nvar SignOutButton = withClerk(\n ({ clerk, children, ...props }) => {\n const { redirectUrl = \"/\", signOutOptions, ...rest } = props;\n children = normalizeWithDefaultValue(children, \"Sign out\");\n const child = assertSingleChild(children)(\"SignOutButton\");\n const clickHandler = () => clerk.signOut({ redirectUrl });\n const wrappedChildClickHandler = async (e) => {\n await safeExecute(child.props.onClick)(e);\n return clickHandler();\n };\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React8.cloneElement(child, childProps);\n },\n \"SignOutButton\"\n);\n\n// src/components/SignInWithMetamaskButton.tsx\nimport React9 from \"react\";\nvar SignInWithMetamaskButton = withClerk(\n ({ clerk, children, ...props }) => {\n const { redirectUrl, ...rest } = props;\n children = normalizeWithDefaultValue(children, \"Sign in with Metamask\");\n const child = assertSingleChild(children)(\"SignInWithMetamaskButton\");\n const clickHandler = async () => {\n async function authenticate() {\n await clerk.authenticateWithMetamask({ redirectUrl: redirectUrl || void 0 });\n }\n void authenticate();\n };\n const wrappedChildClickHandler = async (e) => {\n await safeExecute(child.props.onClick)(e);\n return clickHandler();\n };\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React9.cloneElement(child, childProps);\n },\n \"SignInWithMetamask\"\n);\n\n// src/contexts/ClerkProvider.tsx\nimport { isPublishableKey } from \"@clerk/shared/keys\";\nimport React11 from \"react\";\n\n// src/contexts/ClerkContextProvider.tsx\nimport { ClientContext, OrganizationProvider, SessionContext, UserContext } from \"@clerk/shared/react\";\nimport React10 from \"react\";\n\n// src/isomorphicClerk.ts\nimport { inBrowser } from \"@clerk/shared/browser\";\nimport { handleValueOrFn } from \"@clerk/shared/handleValueOrFn\";\nvar SDK_METADATA = {\n name: \"@clerk/clerk-react\",\n version: \"5.0.1\",\n environment: process.env.NODE_ENV\n};\nvar _loaded, _domain, _proxyUrl, _publishableKey, _instance;\nvar _IsomorphicClerk = class _IsomorphicClerk {\n constructor(options) {\n this.clerkjs = null;\n this.preopenSignIn = null;\n this.preopenSignUp = null;\n this.preopenUserProfile = null;\n this.preopenOrganizationProfile = null;\n this.preopenCreateOrganization = null;\n this.premountSignInNodes = /* @__PURE__ */ new Map();\n this.premountSignUpNodes = /* @__PURE__ */ new Map();\n this.premountUserProfileNodes = /* @__PURE__ */ new Map();\n this.premountUserButtonNodes = /* @__PURE__ */ new Map();\n this.premountOrganizationProfileNodes = /* @__PURE__ */ new Map();\n this.premountCreateOrganizationNodes = /* @__PURE__ */ new Map();\n this.premountOrganizationSwitcherNodes = /* @__PURE__ */ new Map();\n this.premountOrganizationListNodes = /* @__PURE__ */ new Map();\n this.premountMethodCalls = /* @__PURE__ */ new Map();\n this.loadedListeners = [];\n __privateAdd(this, _loaded, false);\n __privateAdd(this, _domain, void 0);\n __privateAdd(this, _proxyUrl, void 0);\n __privateAdd(this, _publishableKey, void 0);\n this.buildSignInUrl = (opts) => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildSignInUrl(opts)) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildSignInUrl\", callback);\n }\n };\n this.buildSignUpUrl = (opts) => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildSignUpUrl(opts)) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildSignUpUrl\", callback);\n }\n };\n this.buildAfterSignInUrl = () => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildAfterSignInUrl()) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildAfterSignInUrl\", callback);\n }\n };\n this.buildAfterSignUpUrl = () => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildAfterSignUpUrl()) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildAfterSignUpUrl\", callback);\n }\n };\n this.buildAfterSignOutUrl = () => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildAfterSignOutUrl()) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildAfterSignOutUrl\", callback);\n }\n };\n this.buildUserProfileUrl = () => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildUserProfileUrl()) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildUserProfileUrl\", callback);\n }\n };\n this.buildCreateOrganizationUrl = () => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildCreateOrganizationUrl()) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildCreateOrganizationUrl\", callback);\n }\n };\n this.buildOrganizationProfileUrl = () => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildOrganizationProfileUrl()) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildOrganizationProfileUrl\", callback);\n }\n };\n this.buildUrlWithAuth = (to) => {\n const callback = () => {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.buildUrlWithAuth(to)) || \"\";\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"buildUrlWithAuth\", callback);\n }\n };\n this.handleUnauthenticated = () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.handleUnauthenticated();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n void callback();\n } else {\n this.premountMethodCalls.set(\"handleUnauthenticated\", callback);\n }\n };\n this.addOnLoaded = (cb) => {\n this.loadedListeners.push(cb);\n if (this.loaded) {\n this.emitLoaded();\n }\n };\n this.emitLoaded = () => {\n this.loadedListeners.forEach((cb) => cb());\n this.loadedListeners = [];\n };\n this.hydrateClerkJS = (clerkjs) => {\n if (!clerkjs) {\n throw new Error(\"Failed to hydrate latest Clerk JS\");\n }\n this.clerkjs = clerkjs;\n this.premountMethodCalls.forEach((cb) => cb());\n if (this.preopenSignIn !== null) {\n clerkjs.openSignIn(this.preopenSignIn);\n }\n if (this.preopenSignUp !== null) {\n clerkjs.openSignUp(this.preopenSignUp);\n }\n if (this.preopenUserProfile !== null) {\n clerkjs.openUserProfile(this.preopenUserProfile);\n }\n if (this.preopenOrganizationProfile !== null) {\n clerkjs.openOrganizationProfile(this.preopenOrganizationProfile);\n }\n if (this.preopenCreateOrganization !== null) {\n clerkjs.openCreateOrganization(this.preopenCreateOrganization);\n }\n this.premountSignInNodes.forEach((props, node) => {\n clerkjs.mountSignIn(node, props);\n });\n this.premountSignUpNodes.forEach((props, node) => {\n clerkjs.mountSignUp(node, props);\n });\n this.premountUserProfileNodes.forEach((props, node) => {\n clerkjs.mountUserProfile(node, props);\n });\n this.premountUserButtonNodes.forEach((props, node) => {\n clerkjs.mountUserButton(node, props);\n });\n this.premountOrganizationListNodes.forEach((props, node) => {\n clerkjs.mountOrganizationList(node, props);\n });\n __privateSet(this, _loaded, true);\n this.emitLoaded();\n return this.clerkjs;\n };\n this.__unstable__updateProps = (props) => {\n if (this.clerkjs && \"__unstable__updateProps\" in this.clerkjs) {\n this.clerkjs.__unstable__updateProps(props);\n } else {\n return void 0;\n }\n };\n /**\n * `setActive` can be used to set the active session and/or organization.\n */\n this.setActive = ({ session, organization, beforeEmit }) => {\n if (this.clerkjs) {\n return this.clerkjs.setActive({ session, organization, beforeEmit });\n } else {\n return Promise.reject();\n }\n };\n this.openSignIn = (props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.openSignIn(props);\n } else {\n this.preopenSignIn = props;\n }\n };\n this.closeSignIn = () => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.closeSignIn();\n } else {\n this.preopenSignIn = null;\n }\n };\n this.openUserProfile = (props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.openUserProfile(props);\n } else {\n this.preopenUserProfile = props;\n }\n };\n this.closeUserProfile = () => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.closeUserProfile();\n } else {\n this.preopenUserProfile = null;\n }\n };\n this.openOrganizationProfile = (props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.openOrganizationProfile(props);\n } else {\n this.preopenOrganizationProfile = props;\n }\n };\n this.closeOrganizationProfile = () => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.closeOrganizationProfile();\n } else {\n this.preopenOrganizationProfile = null;\n }\n };\n this.openCreateOrganization = (props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.openCreateOrganization(props);\n } else {\n this.preopenCreateOrganization = props;\n }\n };\n this.closeCreateOrganization = () => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.closeCreateOrganization();\n } else {\n this.preopenCreateOrganization = null;\n }\n };\n this.openSignUp = (props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.openSignUp(props);\n } else {\n this.preopenSignUp = props;\n }\n };\n this.closeSignUp = () => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.closeSignUp();\n } else {\n this.preopenSignUp = null;\n }\n };\n this.mountSignIn = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountSignIn(node, props);\n } else {\n this.premountSignInNodes.set(node, props);\n }\n };\n this.unmountSignIn = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountSignIn(node);\n } else {\n this.premountSignInNodes.delete(node);\n }\n };\n this.__experimental_mountGoogleOneTap = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.__experimental_mountGoogleOneTap(node, props);\n }\n };\n this.__experimental_unmountGoogleOneTap = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.__experimental_unmountGoogleOneTap(node);\n }\n };\n this.mountSignUp = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountSignUp(node, props);\n } else {\n this.premountSignUpNodes.set(node, props);\n }\n };\n this.unmountSignUp = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountSignUp(node);\n } else {\n this.premountSignUpNodes.delete(node);\n }\n };\n this.mountUserProfile = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountUserProfile(node, props);\n } else {\n this.premountUserProfileNodes.set(node, props);\n }\n };\n this.unmountUserProfile = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountUserProfile(node);\n } else {\n this.premountUserProfileNodes.delete(node);\n }\n };\n this.mountOrganizationProfile = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountOrganizationProfile(node, props);\n } else {\n this.premountOrganizationProfileNodes.set(node, props);\n }\n };\n this.unmountOrganizationProfile = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountOrganizationProfile(node);\n } else {\n this.premountOrganizationProfileNodes.delete(node);\n }\n };\n this.mountCreateOrganization = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountCreateOrganization(node, props);\n } else {\n this.premountCreateOrganizationNodes.set(node, props);\n }\n };\n this.unmountCreateOrganization = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountCreateOrganization(node);\n } else {\n this.premountCreateOrganizationNodes.delete(node);\n }\n };\n this.mountOrganizationSwitcher = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountOrganizationSwitcher(node, props);\n } else {\n this.premountOrganizationSwitcherNodes.set(node, props);\n }\n };\n this.unmountOrganizationSwitcher = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountOrganizationSwitcher(node);\n } else {\n this.premountOrganizationSwitcherNodes.delete(node);\n }\n };\n this.mountOrganizationList = (node, props) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountOrganizationList(node, props);\n } else {\n this.premountOrganizationListNodes.set(node, props);\n }\n };\n this.unmountOrganizationList = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountOrganizationList(node);\n } else {\n this.premountOrganizationListNodes.delete(node);\n }\n };\n this.mountUserButton = (node, userButtonProps) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.mountUserButton(node, userButtonProps);\n } else {\n this.premountUserButtonNodes.set(node, userButtonProps);\n }\n };\n this.unmountUserButton = (node) => {\n if (this.clerkjs && __privateGet(this, _loaded)) {\n this.clerkjs.unmountUserButton(node);\n } else {\n this.premountUserButtonNodes.delete(node);\n }\n };\n this.addListener = (listener) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.addListener(listener);\n };\n if (this.clerkjs) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"addListener\", callback);\n return () => this.premountMethodCalls.delete(\"addListener\");\n }\n };\n this.navigate = (to) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.navigate(to);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n void callback();\n } else {\n this.premountMethodCalls.set(\"navigate\", callback);\n }\n };\n this.redirectWithAuth = async (...args) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectWithAuth(...args);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectWithAuth\", callback);\n return;\n }\n };\n this.redirectToSignIn = async (opts) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToSignIn(opts);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectToSignIn\", callback);\n return;\n }\n };\n this.redirectToSignUp = async (opts) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToSignUp(opts);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectToSignUp\", callback);\n return;\n }\n };\n this.redirectToUserProfile = async () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToUserProfile();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectToUserProfile\", callback);\n return;\n }\n };\n this.redirectToAfterSignUp = () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToAfterSignUp();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectToAfterSignUp\", callback);\n }\n };\n this.redirectToAfterSignIn = () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToAfterSignIn();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n callback();\n } else {\n this.premountMethodCalls.set(\"redirectToAfterSignIn\", callback);\n }\n };\n this.redirectToAfterSignOut = () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToAfterSignOut();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n callback();\n } else {\n this.premountMethodCalls.set(\"redirectToAfterSignOut\", callback);\n }\n };\n this.redirectToOrganizationProfile = async () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToOrganizationProfile();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectToOrganizationProfile\", callback);\n return;\n }\n };\n this.redirectToCreateOrganization = async () => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.redirectToCreateOrganization();\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"redirectToCreateOrganization\", callback);\n return;\n }\n };\n this.handleRedirectCallback = (params) => {\n var _a;\n const callback = () => {\n var _a2;\n return (_a2 = this.clerkjs) == null ? void 0 : _a2.handleRedirectCallback(params);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n void ((_a = callback()) == null ? void 0 : _a.catch(() => {\n }));\n } else {\n this.premountMethodCalls.set(\"handleRedirectCallback\", callback);\n }\n };\n this.handleEmailLinkVerification = async (params) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.handleEmailLinkVerification(params);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"handleEmailLinkVerification\", callback);\n }\n };\n this.authenticateWithMetamask = async (params) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.authenticateWithMetamask(params);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"authenticateWithMetamask\", callback);\n }\n };\n this.createOrganization = async (params) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.createOrganization(params);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"createOrganization\", callback);\n }\n };\n this.getOrganization = async (organizationId) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.getOrganization(organizationId);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"getOrganization\", callback);\n }\n };\n this.signOut = async (signOutCallbackOrOptions, options) => {\n const callback = () => {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.signOut(signOutCallbackOrOptions, options);\n };\n if (this.clerkjs && __privateGet(this, _loaded)) {\n return callback();\n } else {\n this.premountMethodCalls.set(\"signOut\", callback);\n }\n };\n const { Clerk = null, publishableKey } = options || {};\n __privateSet(this, _publishableKey, publishableKey);\n __privateSet(this, _proxyUrl, options == null ? void 0 : options.proxyUrl);\n __privateSet(this, _domain, options == null ? void 0 : options.domain);\n this.options = options;\n this.Clerk = Clerk;\n this.mode = inBrowser() ? \"browser\" : \"server\";\n if (!this.options.sdkMetadata) {\n this.options.sdkMetadata = SDK_METADATA;\n }\n void this.loadClerkJS();\n }\n get publishableKey() {\n return __privateGet(this, _publishableKey);\n }\n get loaded() {\n return __privateGet(this, _loaded);\n }\n static getOrCreateInstance(options) {\n if (!inBrowser() || !__privateGet(this, _instance) || options.Clerk && __privateGet(this, _instance).Clerk !== options.Clerk) {\n __privateSet(this, _instance, new _IsomorphicClerk(options));\n }\n return __privateGet(this, _instance);\n }\n static clearInstance() {\n __privateSet(this, _instance, null);\n }\n get domain() {\n if (typeof window !== \"undefined\" && window.location) {\n return handleValueOrFn(__privateGet(this, _domain), new URL(window.location.href), \"\");\n }\n if (typeof __privateGet(this, _domain) === \"function\") {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return __privateGet(this, _domain) || \"\";\n }\n get proxyUrl() {\n if (typeof window !== \"undefined\" && window.location) {\n return handleValueOrFn(__privateGet(this, _proxyUrl), new URL(window.location.href), \"\");\n }\n if (typeof __privateGet(this, _proxyUrl) === \"function\") {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return __privateGet(this, _proxyUrl) || \"\";\n }\n get sdkMetadata() {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.sdkMetadata) || this.options.sdkMetadata || void 0;\n }\n get instanceType() {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.instanceType;\n }\n get frontendApi() {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.frontendApi) || \"\";\n }\n get isStandardBrowser() {\n var _a;\n return ((_a = this.clerkjs) == null ? void 0 : _a.isStandardBrowser) || this.options.standardBrowser || false;\n }\n get isSatellite() {\n if (typeof window !== \"undefined\" && window.location) {\n return handleValueOrFn(this.options.isSatellite, new URL(window.location.href), false);\n }\n if (typeof this.options.isSatellite === \"function\") {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return false;\n }\n async loadClerkJS() {\n var _a;\n if (this.mode !== \"browser\" || __privateGet(this, _loaded)) {\n return;\n }\n if (typeof window !== \"undefined\") {\n window.__clerk_publishable_key = __privateGet(this, _publishableKey);\n window.__clerk_proxy_url = this.proxyUrl;\n window.__clerk_domain = this.domain;\n }\n try {\n if (this.Clerk) {\n let c;\n if (isConstructor(this.Clerk)) {\n c = new this.Clerk(__privateGet(this, _publishableKey), {\n proxyUrl: this.proxyUrl,\n domain: this.domain\n });\n await c.load(this.options);\n } else {\n c = this.Clerk;\n if (!c.loaded) {\n await c.load(this.options);\n }\n }\n global.Clerk = c;\n } else {\n if (!global.Clerk) {\n await loadClerkJsScript({\n ...this.options,\n publishableKey: __privateGet(this, _publishableKey),\n proxyUrl: this.proxyUrl,\n domain: this.domain\n });\n }\n if (!global.Clerk) {\n throw new Error(\"Failed to download latest ClerkJS. Contact support@clerk.com.\");\n }\n await global.Clerk.load(this.options);\n }\n if ((_a = global.Clerk) == null ? void 0 : _a.loaded) {\n return this.hydrateClerkJS(global.Clerk);\n }\n return;\n } catch (err) {\n const error = err;\n if (process.env.NODE_ENV === \"production\") {\n console.error(error.stack || error.message || error);\n } else {\n throw err;\n }\n return;\n }\n }\n get version() {\n var _a;\n return (_a = this.clerkjs) == null ? void 0 : _a.version;\n }\n get client() {\n if (this.clerkjs) {\n return this.clerkjs.client;\n } else {\n return void 0;\n }\n }\n get session() {\n if (this.clerkjs) {\n return this.clerkjs.session;\n } else {\n return void 0;\n }\n }\n get user() {\n if (this.clerkjs) {\n return this.clerkjs.user;\n } else {\n return void 0;\n }\n }\n get organization() {\n if (this.clerkjs) {\n return this.clerkjs.organization;\n } else {\n return void 0;\n }\n }\n get telemetry() {\n if (this.clerkjs) {\n return this.clerkjs.telemetry;\n } else {\n return void 0;\n }\n }\n get __unstable__environment() {\n if (this.clerkjs) {\n return this.clerkjs.__unstable__environment;\n } else {\n return void 0;\n }\n }\n __unstable__setEnvironment(...args) {\n if (this.clerkjs && \"__unstable__setEnvironment\" in this.clerkjs) {\n this.clerkjs.__unstable__setEnvironment(args);\n } else {\n return void 0;\n }\n }\n};\n_loaded = new WeakMap();\n_domain = new WeakMap();\n_proxyUrl = new WeakMap();\n_publishableKey = new WeakMap();\n_instance = new WeakMap();\n__privateAdd(_IsomorphicClerk, _instance, void 0);\nvar IsomorphicClerk = _IsomorphicClerk;\n\n// src/utils/deriveState.ts\nvar deriveState = (clerkLoaded, state, initialState) => {\n if (!clerkLoaded && initialState) {\n return deriveFromSsrInitialState(initialState);\n }\n return deriveFromClientSideState(state);\n};\nvar deriveFromSsrInitialState = (initialState) => {\n const userId = initialState.userId;\n const user = initialState.user;\n const sessionId = initialState.sessionId;\n const session = initialState.session;\n const organization = initialState.organization;\n const orgId = initialState.orgId;\n const orgRole = initialState.orgRole;\n const orgPermissions = initialState.orgPermissions;\n const orgSlug = initialState.orgSlug;\n const actor = initialState.actor;\n return {\n userId,\n user,\n sessionId,\n session,\n organization,\n orgId,\n orgRole,\n orgPermissions,\n orgSlug,\n actor\n };\n};\nvar deriveFromClientSideState = (state) => {\n var _a;\n const userId = state.user ? state.user.id : state.user;\n const user = state.user;\n const sessionId = state.session ? state.session.id : state.session;\n const session = state.session;\n const actor = session == null ? void 0 : session.actor;\n const organization = state.organization;\n const orgId = state.organization ? state.organization.id : state.organization;\n const orgSlug = organization == null ? void 0 : organization.slug;\n const membership = organization ? (_a = user == null ? void 0 : user.organizationMemberships) == null ? void 0 : _a.find((om) => om.organization.id === orgId) : organization;\n const orgPermissions = membership ? membership.permissions : membership;\n const orgRole = membership ? membership.role : membership;\n return {\n userId,\n user,\n sessionId,\n session,\n organization,\n orgId,\n orgRole,\n orgSlug,\n orgPermissions,\n actor\n };\n};\n\n// src/contexts/ClerkContextProvider.tsx\nfunction ClerkContextProvider(props) {\n const { isomorphicClerkOptions, initialState, children } = props;\n const { isomorphicClerk: clerk, loaded: clerkLoaded } = useLoadedIsomorphicClerk(isomorphicClerkOptions);\n const [state, setState] = React10.useState({\n client: clerk.client,\n session: clerk.session,\n user: clerk.user,\n organization: clerk.organization\n });\n React10.useEffect(() => {\n return clerk.addListener((e) => setState({ ...e }));\n }, []);\n const derivedState = deriveState(clerkLoaded, state, initialState);\n const clerkCtx = React10.useMemo(() => ({ value: clerk }), [clerkLoaded]);\n const clientCtx = React10.useMemo(() => ({ value: state.client }), [state.client]);\n const { sessionId, session, userId, user, orgId, actor, organization, orgRole, orgSlug, orgPermissions } = derivedState;\n const authCtx = React10.useMemo(() => {\n const value = { sessionId, userId, actor, orgId, orgRole, orgSlug, orgPermissions };\n return { value };\n }, [sessionId, userId, actor, orgId, orgRole, orgSlug]);\n const userCtx = React10.useMemo(() => ({ value: user }), [userId, user]);\n const sessionCtx = React10.useMemo(() => ({ value: session }), [sessionId, session]);\n const organizationCtx = React10.useMemo(() => {\n const value = {\n organization\n };\n return { value };\n }, [orgId, organization]);\n return (\n // @ts-expect-error value passed is of type IsomorphicClerk where the context expects LoadedClerk\n /* @__PURE__ */ React10.createElement(IsomorphicClerkContext.Provider, { value: clerkCtx }, /* @__PURE__ */ React10.createElement(ClientContext.Provider, { value: clientCtx }, /* @__PURE__ */ React10.createElement(SessionContext.Provider, { value: sessionCtx }, /* @__PURE__ */ React10.createElement(OrganizationProvider, { ...organizationCtx.value }, /* @__PURE__ */ React10.createElement(AuthContext.Provider, { value: authCtx }, /* @__PURE__ */ React10.createElement(UserContext.Provider, { value: userCtx }, children))))))\n );\n}\nvar useLoadedIsomorphicClerk = (options) => {\n const [loaded, setLoaded] = React10.useState(false);\n const isomorphicClerk = React10.useMemo(() => IsomorphicClerk.getOrCreateInstance(options), []);\n React10.useEffect(() => {\n isomorphicClerk.__unstable__updateProps({ appearance: options.appearance });\n }, [options.appearance]);\n React10.useEffect(() => {\n isomorphicClerk.__unstable__updateProps({ options });\n }, [options.localization]);\n React10.useEffect(() => {\n isomorphicClerk.addOnLoaded(() => setLoaded(true));\n }, []);\n React10.useEffect(() => {\n return () => {\n IsomorphicClerk.clearInstance();\n };\n }, []);\n return { isomorphicClerk, loaded };\n};\n\n// src/contexts/ClerkProvider.tsx\nfunction ClerkProviderBase(props) {\n const { initialState, children, ...restIsomorphicClerkOptions } = props;\n const { publishableKey = \"\", Clerk: userInitialisedClerk } = restIsomorphicClerkOptions;\n if (!userInitialisedClerk) {\n if (!publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n } else if (publishableKey && !isPublishableKey(publishableKey)) {\n errorThrower.throwInvalidPublishableKeyError({ key: publishableKey });\n }\n }\n return /* @__PURE__ */ React11.createElement(\n ClerkContextProvider,\n {\n initialState,\n isomorphicClerkOptions: restIsomorphicClerkOptions\n },\n children\n );\n}\nvar ClerkProvider = withMaxAllowedInstancesGuard(ClerkProviderBase, \"ClerkProvider\", multipleClerkProvidersError);\nClerkProvider.displayName = \"ClerkProvider\";\n\n// src/index.ts\nsetErrorThrowerOptions({ packageName: \"@clerk/clerk-react\" });\nexport {\n AuthenticateWithRedirectCallback,\n ClerkLoaded,\n ClerkLoading,\n ClerkProvider,\n CreateOrganization,\n OrganizationList,\n OrganizationProfile,\n OrganizationSwitcher,\n Protect,\n RedirectToCreateOrganization,\n RedirectToOrganizationProfile,\n RedirectToSignIn,\n RedirectToSignUp,\n RedirectToUserProfile,\n SignIn,\n SignInButton,\n SignInWithMetamaskButton,\n SignOutButton,\n SignUp,\n SignUpButton,\n SignedIn,\n SignedOut,\n UserButton,\n UserProfile,\n __experimental_GoogleOneTap,\n useAuth,\n useClerk,\n useEmailLink,\n useOrganization,\n useOrganizationList,\n useSession,\n useSessionList,\n useSignIn,\n useSignUp,\n useUser\n};\n//# sourceMappingURL=index.mjs.map","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n return void 0;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if (!array && a[key] === void 0 && b[key] === void 0 && aItems.includes(key)) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nexport {\n addToEnd,\n addToStart,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n shallowEqualObjects,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class {\n constructor(options) {\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise,\n cancel,\n continue: () => {\n continueFn?.();\n return promise;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return promise;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/notifyManager.ts\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = (cb) => setTimeout(cb, 0);\n const setScheduler = (fn) => {\n scheduleFn = fn;\n };\n const batch = (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n };\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const batchCalls = (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n const setNotifyFunction = (fn) => {\n notifyFn = fn;\n };\n const setBatchNotifyFunction = (fn) => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n setScheduler\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport { noop, replaceData, skipToken, timeUntilStale } from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.observers.some((observer) => observer.options.enabled !== false);\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n if (this.state.isInvalidated) {\n return true;\n }\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0;\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n addSignalProperty(queryFnContext);\n const fetchFn = () => {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${this.options.queryHash}'`\n );\n }\n }\n if (!this.options.queryFn || this.options.queryFn === skipToken) {\n return Promise.reject(\n new Error(`Missing queryFn: '${this.options.queryHash}'`)\n );\n }\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n this.options.queryFn,\n queryFnContext,\n this\n );\n }\n return this.options.queryFn(\n queryFnContext\n );\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n return this.#retryer.start();\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Map();\n this.#mutationId = Date.now();\n }\n #mutations;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n const scope = scopeFor(mutation);\n const mutations = this.#mutations.get(scope) ?? [];\n mutations.push(mutation);\n this.#mutations.set(scope, mutations);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n const scope = scopeFor(mutation);\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations.get(scope)?.filter((x) => x !== mutation);\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope);\n } else {\n this.#mutations.set(scope, mutations);\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const firstPendingMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m.state.status === \"pending\");\n return !firstPendingMutation || firstPendingMutation === mutation;\n }\n runNext(mutation) {\n const foundMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return [...this.#mutations.values()].flat();\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id ?? String(mutation.mutationId);\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, skipToken } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = context.options.queryFn && context.options.queryFn !== skipToken ? context.options.queryFn : () => {\n if (process.env.NODE_ENV !== \"production\") {\n if (context.options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${context.options.queryHash}'`\n );\n }\n }\n return Promise.reject(\n new Error(`Missing queryFn: '${context.options.queryHash}'`)\n );\n };\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n if (cachedData === void 0)\n return this.fetchQuery(options);\n else {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n if (options.revalidateIfStale && query.isStaleByTime(defaultedOptions.staleTime)) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","// src/queryObserver.ts\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { fetchState } from \"./query.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean\");\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult(notifyOptions);\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackProp(key);\n onPropTracked?.(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime\n );\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n if (options.select && newState.data !== void 0) {\n if (prevResult && newState.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(newState.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n } else {\n data = newState.data;\n }\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n if (options.select && placeholderData !== void 0) {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\n }\n updateResult(notifyOptions) {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return options.enabled !== false && query.isStaleByTime(options.staleTime);\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const context = this.#currentResult.context;\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(action.data, variables, context);\n this.#mutateOptions.onSettled?.(action.data, null, variables, context);\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(action.error, variables, context);\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/isRestoring.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=isRestoring.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","// src/utils.ts\nfunction shouldThrowError(throwError, params) {\n if (typeof throwError === \"function\") {\n return throwError(...params);\n }\n return !!throwError;\n}\nfunction noop() {\n}\nexport {\n noop,\n shouldThrowError\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"./utils.js\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && shouldThrowError(throwOnError, [result.error, query]);\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureStaleTime = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n if (typeof defaultedOptions.staleTime !== \"number\") {\n defaultedOptions.staleTime = 1e3;\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureStaleTime,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { notifyManager } from \"@tanstack/query-core\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./isRestoring.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { ensureStaleTime, fetchOptimistic, shouldSuspend } from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureStaleTime(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = isRestoring ? () => void 0 : observer.subscribe(notifyManager.batchCalls(onStoreChange));\n observer.updateResult();\n return unsubscribe;\n },\n [observer, isRestoring]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions, { listeners: false });\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client.getQueryCache().get(defaultedOptions.queryHash)\n })) {\n throw result.error;\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useSuspenseQuery.ts\nimport { QueryObserver, skipToken } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nimport { defaultThrowOnError } from \"./suspense.js\";\nfunction useSuspenseQuery(options, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\"skipToken is not allowed for useSuspenseQuery\");\n }\n }\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: void 0\n },\n QueryObserver,\n queryClient\n );\n}\nexport {\n useSuspenseQuery\n};\n//# sourceMappingURL=useSuspenseQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport { MutationObserver, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { noop, shouldThrowError } from \"./utils.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","\"use client\";\n\n// src/index.ts\nimport * as devtools from \"./devtools.js\";\nvar ReactQueryDevtools2 = process.env.NODE_ENV !== \"development\" ? function() {\n return null;\n} : devtools.ReactQueryDevtools;\nexport {\n ReactQueryDevtools2 as ReactQueryDevtools\n};\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (props.accessibilityRole === 'label') {\n return 'label';\n }\n var role = propsToAriaRole(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled,\n propsToAccessibilityComponent,\n propsToAriaRole\n};\nexport default AccessibilityUtil;","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nexport default isWebColor;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]), // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n };\n }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport normalizeColor from '@react-native/normalize-colors';\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = normalizeColor(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nexport default processColor;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n var colorInt = processColor(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport unitlessNumbers from './unitlessNumbers';\nimport normalizeColor from './normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n return returnValue;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nexport default hash;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n var requiredPrefixes = prefixProperties[property];\n\n if (requiredPrefixes && style.hasOwnProperty(property)) {\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n\n for (var i = 0; i < requiredPrefixes.length; ++i) {\n var prefixedProperty = requiredPrefixes[i] + capitalizedProperty;\n\n if (!style[prefixedProperty]) {\n style[prefixedProperty] = style[property];\n }\n }\n }\n\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\nfunction backgroundClip() {\n return null;\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function cssifyDeclaration(property, value) {\n return hyphenateProperty(property) + ':' + value;\n}","import cssifyDeclaration from './cssifyDeclaration';\nexport default function cssifyObject(style) {\n var css = '';\n\n for (var property in style) {\n var value = style[property];\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n continue;\n } // prevents the semicolon after\n // the last rule declaration\n\n\n if (css) {\n css += ';';\n }\n\n css += cssifyDeclaration(property, value);\n }\n\n return css;\n}","var RE = /^(Webkit|Moz|O|ms)/;\nexport default function isPrefixedProperty(property) {\n return RE.test(property);\n}","var RE = /-webkit-|-moz-|-ms-/;\nexport default function isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","import hyphenateProperty from './hyphenateProperty';\nvar unitlessProperties = {\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n fontWeight: true,\n lineHeight: true,\n opacity: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineClamp', 'order'];\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction getPrefixedProperty(prefix, property) {\n return prefix + property.charAt(0).toUpperCase() + property.slice(1);\n} // add all prefixed properties to the unitless properties\n\n\nfor (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {\n var property = prefixedUnitlessProperties[i];\n unitlessProperties[property] = true;\n\n for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {\n unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;\n }\n} // add all hypenated properties as well\n\n\nfor (var _property in unitlessProperties) {\n unitlessProperties[hyphenateProperty(_property)] = true;\n}\n\nexport default function isUnitlessProperty(property) {\n return unitlessProperties.hasOwnProperty(property);\n}","var RE = /^(ms|Webkit|Moz|O)/;\nexport default function unprefixProperty(property) {\n var propertyWithoutPrefix = property.replace(RE, '');\n return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);\n}","import camelCaseProperty from './camelCaseProperty';\nimport unprefixProperty from './unprefixProperty';\nexport default function normalizeProperty(property) {\n return unprefixProperty(camelCaseProperty(property));\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function resolveArrayValue(property, value) {\n return value.join(';' + hyphenateProperty(property) + ':');\n}","var RE = /(-ms-|-webkit-|-moz-|-o-)/g;\nexport default function unprefixValue(value) {\n if (typeof value === 'string') {\n return value.replace(RE, '');\n }\n\n return value;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar CROSS_FADE_REGEX = /cross-fade\\(/g;\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\n\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('cross-fade(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(CROSS_FADE_REGEX, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar FILTER_REGEX = /filter\\(/g;\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\n\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('filter(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(FILTER_REGEX, prefix + 'filter(');\n });\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrefixedValue;\nvar RE = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\n\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2[\"default\"])(property);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, imageSet, logical, position, sizing, transition],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from './hash';\nimport hyphenateStyleName from './hyphenateStyleName';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles from '../../../modules/prefixStyles';\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return createReactDOMStyle(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = hash(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../../../modules/canUseDom';\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport canUseDOM from '../../../modules/canUseDom';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport function createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher\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';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nmodule.exports = require('./dist/transform-localize-style');\n","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nimport { warnOnce } from '../../modules/warnOnce';\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nexport var createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexport var createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nexport var createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nexport var preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n warnOnce('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n warnOnce('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n warnOnce('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n warnOnce('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexport default preprocess;","/**\n * Copyright (c) Nicolas Gallagher\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 */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport { atomic, classic, inline } from './compiler';\nimport { createSheet } from './dom';\nimport { localizeStyle } from 'styleq/transform-localize-style';\nimport { preprocess } from './preprocess';\nimport { styleq } from 'styleq';\nimport { validate } from './validate';\nimport canUseDOM from '../../modules/canUseDom';\nvar staticStyleMap = new WeakMap();\nvar sheet = createSheet();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n return preprocess(style, _objectSpread(_objectSpread({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: _objectSpread({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n validate(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nexport default stylesheet;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nimport { warnOnce } from '../warnOnce';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n warnOnce('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n warnOnce('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n warnOnce('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n warnOnce('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n warnOnce('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n warnOnce('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n warnOnce('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n warnOnce('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n warnOnce('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n warnOnce('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n warnOnce('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n warnOnce('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n warnOnce('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n warnOnce('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n warnOnce('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n warnOnce('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n warnOnce('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n warnOnce('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n warnOnce('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n warnOnce('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n warnOnce('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n warnOnce('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n warnOnce('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n warnOnce('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n warnOnce('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n warnOnce('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n warnOnce('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n warnOnce('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n warnOnce('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n warnOnce('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n warnOnce('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n warnOnce('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n warnOnce('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n warnOnce('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n warnOnce('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n warnOnce('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n warnOnce('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n warnOnce('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n warnOnce('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n warnOnce('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n warnOnce('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n warnOnce('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n warnOnce('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n warnOnce('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n warnOnce('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n warnOnce('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], _objectSpread({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n warnOnce('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nexport default createDOMProps;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport React, { createContext, useContext } from 'react';\nimport { isLocaleRTL } from './isLocaleRTL';\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/createContext(defaultLocale);\nexport function getLocaleDirection(locale) {\n return isLocaleRTL(locale) ? 'rtl' : 'ltr';\n}\nexport function LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nexport function useLocaleContext() {\n return useContext(LocaleContext);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nexport default createElement;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nexport default getBoundingClientRect;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * From React 16.0.0\n * \n */\n\nimport isUnitlessNumber from '../unitlessNumbers';\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\nexport default dangerousStyleValue;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * From React 16.3.0\n * \n */\n\nimport dangerousStyleValue from './dangerousStyleValue';\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = getBoundingClientRect(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nexport var defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexport var accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexport var clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nexport default function pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nimport { useEffect, useLayoutEffect } from 'react';\nimport canUseDOM from '../canUseDom';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nimport canUseDOM from '../canUseDom';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => mergeRefs(...args),\n // eslint-disable-next-line\n [...args]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport UIManager from '../../exports/UIManager';\nimport useStable from '../useStable';\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nexport default function createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nexport class ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport { ResponderTouchHistoryStore } from './ResponderTouchHistoryStore';\nimport canUseDOM from '../canUseDom';\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = StyleSheet.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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 */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = canUseDOM;\nfunction update() {\n if (!canUseDOM) {\n return;\n }\n var win = window;\n var height;\n var width;\n\n /**\n * iOS does not update viewport dimensions on keyboard open/close.\n * window.visualViewport(https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport)\n * is used instead of document.documentElement.clientHeight (which remains as a fallback)\n */\n if (win.visualViewport) {\n var visualViewport = win.visualViewport;\n /**\n * We are multiplying by scale because height and width from visual viewport\n * also react to pinch zoom, and become smaller when zoomed. But it is not desired\n * behaviour, since originally documentElement client height and width were used,\n * and they do not react to pinch zoom.\n */\n height = Math.round(visualViewport.height * visualViewport.scale);\n width = Math.round(visualViewport.width * visualViewport.scale);\n } else {\n var docEl = win.document.documentElement;\n height = docEl.clientHeight;\n width = docEl.clientWidth;\n }\n dimensions.window = {\n fontScale: 1,\n height,\n scale: win.devicePixelRatio || 1,\n width\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\nfunction handleResize() {\n update();\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n}\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nif (canUseDOM) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport UIManager from '../../exports/UIManager';\n\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n return this._currentlyFocusedNode;\n },\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport TextInputState from '../TextInputState';\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\nexport default dismissKeyboard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n get y() {\n return e.target.scrollTop;\n }\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n get width() {\n return e.target.scrollWidth;\n }\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n get width() {\n return e.target.offsetWidth;\n }\n }\n },\n timeStamp: Date.now()\n };\n}\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n function handleScroll(e) {\n e.stopPropagation();\n if (e.target === scrollRef.current) {\n e.persist();\n // A scroll happened, so the scroll resets the scrollend timeout.\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n});\n\n// Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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 */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\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'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\", \"centerContent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport Dimensions from '../Dimensions';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport Platform from '../Platform';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport React from 'react';\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nclass ScrollView extends React.Component {\n constructor() {\n super(...arguments);\n this._scrollNodeRef = null;\n this._innerViewRef = null;\n this.isTouching = false;\n this.lastMomentumScrollBeginTime = 0;\n this.lastMomentumScrollEndTime = 0;\n this.observedScrollSinceBecomingResponder = false;\n this.becameResponderWhileAnimating = false;\n this.scrollResponderHandleScrollShouldSetResponder = () => {\n return this.isTouching;\n };\n this.scrollResponderHandleStartShouldSetResponderCapture = e => {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleTerminationRequest = () => {\n return !this.observedScrollSinceBecomingResponder;\n };\n this.scrollResponderHandleTouchEnd = e => {\n var nativeEvent = e.nativeEvent;\n this.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n this.scrollResponderHandleResponderRelease = e => {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n this.scrollResponderHandleScroll = e => {\n this.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n this.scrollResponderHandleResponderGrant = e => {\n this.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleScrollBeginDrag = e => {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this.scrollResponderHandleScrollEndDrag = e => {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this.scrollResponderHandleMomentumScrollBegin = e => {\n this.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this.scrollResponderHandleMomentumScrollEnd = e => {\n this.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this.scrollResponderHandleTouchStart = e => {\n this.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n this.scrollResponderHandleTouchMove = e => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n this.scrollResponderIsAnimating = () => {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime;\n return isAnimating;\n };\n this.scrollResponderScrollTo = (x, y, animated) => {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n var node = this.getScrollableNode();\n var left = x || 0;\n var top = y || 0;\n if (node != null) {\n if (typeof node.scroll === 'function') {\n node.scroll({\n top,\n left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n }\n };\n this.scrollResponderZoomTo = (rect, animated) => {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n };\n this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n };\n this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => {\n var keyboardScreenY = Dimensions.get('window').height;\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset;\n\n // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n };\n this.scrollResponderKeyboardWillShow = e => {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n this.scrollResponderKeyboardWillHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n this.scrollResponderKeyboardDidShow = e => {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n this.scrollResponderKeyboardDidHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n this.flashScrollIndicators = () => {\n this.scrollResponderFlashScrollIndicators();\n };\n this.getScrollResponder = () => {\n return this;\n };\n this.getScrollableNode = () => {\n return this._scrollNodeRef;\n };\n this.getInnerViewRef = () => {\n return this._innerViewRef;\n };\n this.getInnerViewNode = () => {\n return this._innerViewRef;\n };\n this.getNativeScrollRef = () => {\n return this._scrollNodeRef;\n };\n this.scrollTo = (y, x, animated) => {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref2 = y || emptyObject;\n x = _ref2.x;\n y = _ref2.y;\n animated = _ref2.animated;\n }\n this.scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n };\n this.scrollToEnd = options => {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponderNode = this.getScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n this.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n };\n this._handleContentOnLayout = e => {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n };\n this._handleScroll = e => {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n this.scrollResponderHandleScroll(e);\n };\n this._setInnerViewRef = node => {\n this._innerViewRef = node;\n };\n this._setScrollNodeRef = node => {\n this._scrollNodeRef = node;\n // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n };\n }\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder() {\n return false;\n }\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n }\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators() {}\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n\n scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n }\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` providesModule callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n\n render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n centerContent = _this$props.centerContent,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n var contentSizeChangeProps = {};\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: [isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild]\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle]\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n return scrollView;\n }\n}\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: 'translateZ(0)',\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n contentContainerCenterContent: {\n justifyContent: 'center',\n flexGrow: 1\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar assets = [];\nexport function registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n static remove(uri) {\n var entries = ImageUriCache._entries;\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n // Free up entries when the cache is \"full\"\n ImageUriCache._cleanUpIfNeeded();\n }\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests[\"\" + requestId];\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n function callback() {\n var image = requests[\"\" + requestId];\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has(uri) {\n return ImageUriCache.has(uri);\n },\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport Dimensions from '../Dimensions';\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nexport default class PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return Dimensions.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport { createBoxShadowValue } from '../StyleSheet/preprocess';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\nfunction extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n if (flatStyle.resizeMode) {\n warnOnce('Image.style.resizeMode', 'Image: style.resizeMode is deprecated. Please use props.resizeMode.');\n }\n if (flatStyle.tintColor) {\n warnOnce('Image.style.tintColor', 'Image: style.tintColor is deprecated. Please use props.tintColor.');\n }\n\n // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n var filters = [];\n var _filter = null;\n if (filter) {\n filters.push(filter);\n }\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n return [resizeMode, _filter, tintColor];\n}\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\nfunction resolveAssetUri(source) {\n var uri = null;\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n if (asset == null) {\n throw new Error(\"Image: asset with ID \\\"\" + source + \"\\\" could not be found. Please check the image source or packager.\");\n }\n var scale = asset.scales[0];\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n // Get the scale which is closest to the preferred scale\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n if (uri) {\n var match = uri.match(svgDataUriPattern);\n // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n return uri;\n}\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var ariaLabel = props['aria-label'],\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');\n }\n }\n var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n if (isLoaded) {\n return LOADED;\n }\n }\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor),\n _resizeMode = _extractNonStandardSt[0],\n filter = _extractNonStandardSt[1],\n _tintColor = _extractNonStandardSt[2];\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var tintColor = props.tintColor || _tintColor;\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize();\n\n // Accessibility image allows users to trigger the browser's image context menu\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: ariaLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n }\n\n // Image loading\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n if (uri != null) {\n updateState(LOADING);\n if (onLoadStart) {\n onLoadStart();\n }\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n if (onLoad) {\n onLoad(e);\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,\n // TEMP: avoid deprecated shadow props regression\n // until Image refactored to use createElement.\n {\n boxShadow: null\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\n\n// $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\nvar ImageWithStatics = Image;\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n undo: {\n // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n blurRadius: null,\n shadowColor: null,\n shadowOpacity: null,\n shadowOffset: null,\n shadowRadius: null,\n tintColor: null,\n // These styles are not supported\n overlayColor: null,\n resizeMode: null\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n }),\n accessibilityImage$raw: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (selectable != null) {\n warnOnce('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = StyleSheet.create({\n text$raw: textStyle,\n textHasAncestor$raw: _objectSpread(_objectSpread({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 1,\n \"aria-valuemin\": 0,\n ref: forwardedRef,\n role: \"progressbar\",\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n useEffect(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\n'use strict';\n\nimport canUseDOM from '../canUseDom';\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nexport function addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport { addEventListener } from '../addEventListener';\nimport canUseDOM from '../canUseDom';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (canUseDOM) {\n // Window events\n addEventListener(window, BLUR, onBlurWindow, bubbleOptions);\n addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n addEventListener(document, KEYDOWN, onKeyDown, captureOptions);\n addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n addEventListener(document, POINTERDOWN, onPointerish, captureOptions);\n addEventListener(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);\n addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);\n addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);\n addEventListener(document, MOUSEUP, onPointerish, captureOptions);\n addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);\n addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);\n addEventListener(document, TOUCHSTART, onPointerish, captureOptions);\n addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);\n addEventListener(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport { addEventListener } from '../addEventListener';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(eventType, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = addEventListener(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = StyleSheet.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useLayoutEffect from '../../modules/useLayoutEffect';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport { getLocaleDirection, useLocaleContext } from '../../modules/useLocale';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport { warnOnce } from '../../modules/warnOnce';\n\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\n */\nvar isSelectionStale = (node, selection) => {\n var selectionEnd = node.selectionEnd,\n selectionStart = node.selectionStart;\n var start = selection.start,\n end = selection.end;\n return start !== selectionStart || end !== selectionEnd;\n};\n\n/**\n * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\nvar setSelection = (node, selection) => {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n autoCapitalize: true,\n autoComplete: true,\n autoCorrect: true,\n autoFocus: true,\n defaultValue: true,\n disabled: true,\n lang: true,\n maxLength: true,\n onChange: true,\n onScroll: true,\n placeholder: true,\n pointerEvents: true,\n readOnly: true,\n rows: true,\n spellCheck: true,\n value: true,\n type: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\n\n// If an Input Method Editor is processing key input, the 'keyCode' is 229.\n// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\nvar focusTimeout = null;\nvar TextInput = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$autoCapitalize = props.autoCapitalize,\n autoCapitalize = _props$autoCapitalize === void 0 ? 'sentences' : _props$autoCapitalize,\n autoComplete = props.autoComplete,\n autoCompleteType = props.autoCompleteType,\n _props$autoCorrect = props.autoCorrect,\n autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect,\n blurOnSubmit = props.blurOnSubmit,\n caretHidden = props.caretHidden,\n clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n editable = props.editable,\n enterKeyHint = props.enterKeyHint,\n inputMode = props.inputMode,\n keyboardType = props.keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n numberOfLines = props.numberOfLines,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onChangeText = props.onChangeText,\n onContentSizeChange = props.onContentSizeChange,\n onFocus = props.onFocus,\n onKeyPress = props.onKeyPress,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChange = props.onSelectionChange,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n onSubmitEditing = props.onSubmitEditing,\n placeholderTextColor = props.placeholderTextColor,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? false : _props$readOnly,\n returnKeyType = props.returnKeyType,\n rows = props.rows,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var _inputMode;\n if (inputMode != null) {\n _inputMode = inputMode;\n if (inputMode === 'email') {\n type = 'email';\n } else if (inputMode === 'tel') {\n type = 'tel';\n } else if (inputMode === 'search') {\n type = 'search';\n } else if (inputMode === 'url') {\n type = 'url';\n } else {\n type = 'text';\n }\n } else if (keyboardType != null) {\n warnOnce('keyboardType', 'keyboardType is deprecated. Use inputMode.');\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n case 'number-pad':\n case 'numeric':\n _inputMode = 'numeric';\n break;\n case 'decimal-pad':\n _inputMode = 'decimal';\n break;\n case 'phone-pad':\n type = 'tel';\n break;\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n case 'url':\n type = 'url';\n break;\n default:\n type = 'text';\n }\n }\n if (secureTextEntry) {\n type = 'password';\n }\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var prevSelection = React.useRef(null);\n var prevSecureTextEntry = React.useRef(false);\n React.useEffect(() => {\n if (hostRef.current && prevSelection.current) {\n setSelection(hostRef.current, prevSelection.current);\n }\n prevSecureTextEntry.current = secureTextEntry;\n }, [secureTextEntry]);\n var handleContentSizeChange = React.useCallback(hostNode => {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n if (newHeight !== dimensions.current.height || newWidth !== dimensions.current.width) {\n dimensions.current.height = newHeight;\n dimensions.current.width = newWidth;\n onContentSizeChange({\n nativeEvent: {\n contentSize: {\n height: dimensions.current.height,\n width: dimensions.current.width\n }\n }\n });\n }\n }\n }, [multiline, onContentSizeChange]);\n var imperativeRef = React.useMemo(() => hostNode => {\n // TextInput needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `TextInput.clear(hostRef)` is added to React Native.\n if (hostNode != null) {\n hostNode.clear = function () {\n if (hostNode != null) {\n hostNode.value = '';\n }\n };\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n handleContentSizeChange(hostNode);\n }\n }, [handleContentSizeChange]);\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\n }\n function handleChange(e) {\n var hostNode = e.target;\n var text = hostNode.value;\n e.nativeEvent.text = text;\n handleContentSizeChange(hostNode);\n if (onChange) {\n onChange(e);\n }\n if (onChangeText) {\n onChangeText(text);\n }\n }\n function handleFocus(e) {\n var hostNode = e.target;\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n if (focusTimeout != null) {\n clearTimeout(focusTimeout);\n }\n focusTimeout = setTimeout(() => {\n if (hostNode != null) {\n hostNode.select();\n }\n }, 0);\n }\n }\n }\n function handleKeyDown(e) {\n var hostNode = e.target;\n // Prevent key events bubbling (see #612)\n e.stopPropagation();\n var blurOnSubmitDefault = !multiline;\n var shouldBlurOnSubmit = blurOnSubmit == null ? blurOnSubmitDefault : blurOnSubmit;\n var nativeEvent = e.nativeEvent;\n var isComposing = isEventComposing(nativeEvent);\n if (onKeyPress) {\n onKeyPress(e);\n }\n if (e.key === 'Enter' && !e.shiftKey &&\n // Do not call submit if composition is occuring.\n !isComposing && !e.isDefaultPrevented()) {\n if ((blurOnSubmit || !multiline) && onSubmitEditing) {\n // prevent \"Enter\" from inserting a newline or submitting a form\n e.preventDefault();\n nativeEvent.text = e.target.value;\n onSubmitEditing(e);\n }\n if (shouldBlurOnSubmit && hostNode != null) {\n setTimeout(() => hostNode.blur(), 0);\n }\n }\n }\n function handleSelectionChange(e) {\n try {\n var _e$target = e.target,\n selectionStart = _e$target.selectionStart,\n selectionEnd = _e$target.selectionEnd;\n var _selection = {\n start: selectionStart,\n end: selectionEnd\n };\n if (onSelectionChange) {\n e.nativeEvent.selection = _selection;\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n }\n if (prevSecureTextEntry.current === secureTextEntry) {\n prevSelection.current = _selection;\n }\n } catch (e) {}\n }\n useLayoutEffect(() => {\n var node = hostRef.current;\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n // 'auto' by default allows browsers to infer writing direction\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n if (returnKeyType != null) {\n warnOnce('returnKeyType', 'returnKeyType is deprecated. Use enterKeyHint.');\n }\n supportedProps.enterKeyHint = enterKeyHint || returnKeyType;\n supportedProps.inputMode = _inputMode;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n if (editable != null) {\n warnOnce('editable', 'editable is deprecated. Use readOnly.');\n }\n supportedProps.readOnly = readOnly === true || editable === false;\n if (numberOfLines != null) {\n warnOnce('numberOfLines', 'TextInput numberOfLines is deprecated. Use rows.');\n }\n supportedProps.rows = multiline ? rows != null ? rows : numberOfLines : 1;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = [{\n '--placeholderTextColor': placeholderTextColor\n }, styles.textinput$raw, styles.placeholder, props.style, caretHidden && styles.caretHidden];\n supportedProps.type = multiline ? undefined : type;\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return element;\n});\nTextInput.displayName = 'TextInput';\n// $FlowFixMe\nTextInput.State = TextInputState;\nvar styles = StyleSheet.create({\n textinput$raw: {\n MozAppearance: 'textfield',\n WebkitAppearance: 'none',\n backgroundColor: 'transparent',\n border: '0 solid black',\n borderRadius: 0,\n boxSizing: 'border-box',\n font: '14px System',\n margin: 0,\n padding: 0,\n resize: 'none'\n },\n placeholder: {\n placeholderTextColor: 'var(--placeholderTextColor)'\n },\n caretHidden: {\n caretColor: 'transparent'\n }\n});\nexport default TextInput;","const t=Symbol.for(\"@ts-pattern/matcher\"),e=Symbol.for(\"@ts-pattern/isVariadic\"),n=\"@ts-pattern/anonymous-select-key\",r=t=>Boolean(t&&\"object\"==typeof t),i=e=>e&&!!e[t],o=(n,s,c)=>{if(i(n)){const e=n[t](),{matched:r,selections:i}=e.match(s);return r&&i&&Object.keys(i).forEach(t=>c(t,i[t])),r}if(r(n)){if(!r(s))return!1;if(Array.isArray(n)){if(!Array.isArray(s))return!1;let t=[],r=[],a=[];for(const o of n.keys()){const s=n[o];i(s)&&s[e]?a.push(s):a.length?r.push(s):t.push(s)}if(a.length){if(a.length>1)throw new Error(\"Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.\");if(s.lengtho(t,e[n],c))&&r.every((t,e)=>o(t,n[e],c))&&(0===a.length||o(a[0],i,c))}return n.length===s.length&&n.every((t,e)=>o(t,s[e],c))}return Object.keys(n).every(e=>{const r=n[e];return(e in s||i(a=r)&&\"optional\"===a[t]().matcherType)&&o(r,s[e],c);var a})}return Object.is(s,n)},s=e=>{var n,o,a;return r(e)?i(e)?null!=(n=null==(o=(a=e[t]()).getSelectionKeys)?void 0:o.call(a))?n:[]:Array.isArray(e)?c(e,s):c(Object.values(e),s):[]},c=(t,e)=>t.reduce((t,n)=>t.concat(e(n)),[]);function a(...t){if(1===t.length){const[e]=t;return t=>o(e,t,()=>{})}if(2===t.length){const[e,n]=t;return o(e,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t.length}.`)}function u(t){return Object.assign(t,{optional:()=>l(t),and:e=>m(t,e),or:e=>d(t,e),select:e=>void 0===e?p(t):p(e,t)})}function h(t){return Object.assign((t=>Object.assign(t,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(t,{[e]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var t;return null!=(t=r[n++])?t:r.at(-1)}}}}))(t),{optional:()=>h(l(t)),select:e=>h(void 0===e?p(t):p(e,t))})}function l(e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return void 0===t?(s(e).forEach(t=>r(t,void 0)),{matched:!0,selections:n}):{matched:o(e,t,r),selections:n}},getSelectionKeys:()=>s(e),matcherType:\"optional\"})})}const f=(t,e)=>{for(const n of t)if(!e(n))return!1;return!0},g=(t,e)=>{for(const[n,r]of t.entries())if(!e(r,n))return!1;return!0};function m(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return{matched:e.every(e=>o(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,s),matcherType:\"and\"})})}function d(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return c(e,s).forEach(t=>r(t,void 0)),{matched:e.some(e=>o(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,s),matcherType:\"or\"})})}function y(e){return{[t]:()=>({match:t=>({matched:Boolean(e(t))})})}}function p(...e){const r=\"string\"==typeof e[0]?e[0]:void 0,i=2===e.length?e[1]:\"string\"==typeof e[0]?void 0:e[0];return u({[t]:()=>({match:t=>{let e={[null!=r?r:n]:t};return{matched:void 0===i||o(i,t,(t,n)=>{e[t]=n}),selections:e}},getSelectionKeys:()=>[null!=r?r:n].concat(void 0===i?[]:s(i))})})}function v(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function w(t){return\"bigint\"==typeof t}const S=u(y(function(t){return!0})),O=S,j=t=>Object.assign(u(t),{startsWith:e=>{return j(m(t,(n=e,y(t=>b(t)&&t.startsWith(n)))));var n},endsWith:e=>{return j(m(t,(n=e,y(t=>b(t)&&t.endsWith(n)))));var n},minLength:e=>j(m(t,(t=>y(e=>b(e)&&e.length>=t))(e))),maxLength:e=>j(m(t,(t=>y(e=>b(e)&&e.length<=t))(e))),includes:e=>{return j(m(t,(n=e,y(t=>b(t)&&t.includes(n)))));var n},regex:e=>{return j(m(t,(n=e,y(t=>b(t)&&Boolean(t.match(n))))));var n}}),E=j(y(b)),K=t=>Object.assign(u(t),{between:(e,n)=>K(m(t,((t,e)=>y(n=>v(n)&&t<=n&&e>=n))(e,n))),lt:e=>K(m(t,(t=>y(e=>v(e)&&eK(m(t,(t=>y(e=>v(e)&&e>t))(e))),lte:e=>K(m(t,(t=>y(e=>v(e)&&e<=t))(e))),gte:e=>K(m(t,(t=>y(e=>v(e)&&e>=t))(e))),int:()=>K(m(t,y(t=>v(t)&&Number.isInteger(t)))),finite:()=>K(m(t,y(t=>v(t)&&Number.isFinite(t)))),positive:()=>K(m(t,y(t=>v(t)&&t>0))),negative:()=>K(m(t,y(t=>v(t)&&t<0)))}),x=K(y(v)),A=t=>Object.assign(u(t),{between:(e,n)=>A(m(t,((t,e)=>y(n=>w(n)&&t<=n&&e>=n))(e,n))),lt:e=>A(m(t,(t=>y(e=>w(e)&&eA(m(t,(t=>y(e=>w(e)&&e>t))(e))),lte:e=>A(m(t,(t=>y(e=>w(e)&&e<=t))(e))),gte:e=>A(m(t,(t=>y(e=>w(e)&&e>=t))(e))),positive:()=>A(m(t,y(t=>w(t)&&t>0))),negative:()=>A(m(t,y(t=>w(t)&&t<0)))}),P=A(y(w)),T=u(y(function(t){return\"boolean\"==typeof t})),k=u(y(function(t){return\"symbol\"==typeof t})),B=u(y(function(t){return null==t})),_=u(y(function(t){return null!=t}));var N={__proto__:null,matcher:t,optional:l,array:function(...e){return h({[t]:()=>({match:t=>{if(!Array.isArray(t))return{matched:!1};if(0===e.length)return{matched:!0};const n=e[0];let r={};if(0===t.length)return s(n).forEach(t=>{r[t]=[]}),{matched:!0,selections:r};const i=(t,e)=>{r[t]=(r[t]||[]).concat([e])};return{matched:t.every(t=>o(n,t,i)),selections:r}},getSelectionKeys:()=>0===e.length?[]:s(e[0])})})},set:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Set))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};if(0===e.length)return{matched:!0};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])},i=e[0];return{matched:f(t,t=>o(i,t,r)),selections:n}},getSelectionKeys:()=>0===e.length?[]:s(e[0])})})},map:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Map))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])};if(0===e.length)return{matched:!0};var i;if(1===e.length)throw new Error(`\\`P.map\\` wasn't given enough arguments. Expected (key, value), received ${null==(i=e[0])?void 0:i.toString()}`);const[s,c]=e;return{matched:g(t,(t,e)=>{const n=o(s,e,r),i=o(c,t,r);return n&&i}),selections:n}},getSelectionKeys:()=>0===e.length?[]:[...s(e[0]),...s(e[1])]})})},intersection:m,union:d,not:function(e){return u({[t]:()=>({match:t=>({matched:!o(e,t,()=>{})}),getSelectionKeys:()=>[],matcherType:\"not\"})})},when:y,select:p,any:S,_:O,string:E,number:x,bigint:P,boolean:T,symbol:k,nullish:B,nonNullable:_,instanceOf:function(t){return u(y(function(t){return e=>e instanceof t}(t)))},shape:function(t){return u(y(a(t)))}};const W={matched:!1,value:void 0};function $(t){return new z(t,W)}class z{constructor(t,e){this.input=void 0,this.state=void 0,this.input=t,this.state=e}with(...t){if(this.state.matched)return this;const e=t[t.length-1],r=[t[0]];let i;3===t.length&&\"function\"==typeof t[1]?i=t[1]:t.length>2&&r.push(...t.slice(1,t.length-1));let s=!1,c={};const a=(t,e)=>{s=!0,c[t]=e},u=!r.some(t=>o(t,this.input,a))||i&&!Boolean(i(this.input))?W:{matched:!0,value:e(s?n in c?c[n]:c:this.input,this.input)};return new z(this.input,u)}when(t,e){if(this.state.matched)return this;const n=Boolean(t(this.input));return new z(this.input,n?{matched:!0,value:e(this.input,this.input)}:W)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;let t;try{t=JSON.stringify(this.input)}catch(e){t=this.input}throw new Error(`Pattern matching error: no pattern matches value ${t}`)}run(){return this.exhaustive()}returnType(){return this}}export{N as P,N as Pattern,a as isMatching,$ as match};\n//# sourceMappingURL=index.js.map\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.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 h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { createContext, forwardRef, createElement, useSyncExternalStore, useMemo, useCallback, useId, useEffect, useContext } from 'react';\nimport murmurhash from '@emotion/hash';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector.js';\n\n// src/Link.ts\nvar first = (value) => value[0];\nvar last = (value) => value[value.length - 1];\nvar identity = (value) => value;\nvar noop = () => {\n};\nvar isNonEmpty = (value) => value !== \"\";\nvar isParam = (value) => value.startsWith(\":\");\nvar ensureSlashPrefix = (value) => value[0] === \"/\" ? value : \"/\" + value;\nvar areParamsArrayEqual = (arrayA, arrayB) => arrayA.length === arrayB.length && arrayA.every((a, index) => a === arrayB[index]);\nvar getStableParamsKey = (params) => {\n const keys = Object.keys(params);\n return keys.length > 0 ? JSON.stringify(keys.sort().map((key) => [key, params[key]])) : \"\";\n};\nvar getRouteKey = (name, pathParams, searchParams) => {\n const stableStart = name + getStableParamsKey(pathParams);\n const stableEnd = getStableParamsKey(searchParams);\n return `${murmurhash(stableStart)}-${murmurhash(stableEnd)}`;\n};\nvar areRouteEqual = (routeA, routeB) => (routeA == null ? void 0 : routeA.key) === (routeB == null ? void 0 : routeB.key);\nvar extractParamNameUnion = (paramName) => {\n const bracketIndex = paramName.indexOf(\"{\");\n if (bracketIndex > -1 && paramName.endsWith(\"}\")) {\n return {\n name: paramName.substring(0, bracketIndex),\n union: paramName.substring(bracketIndex + 1, paramName.length - 1).split(\"|\").filter(isNonEmpty)\n };\n } else {\n return { name: paramName };\n }\n};\n\n// src/search.ts\nvar decodeSearch = (search) => {\n const params = new URLSearchParams(search);\n const output = {};\n for (const [key, value] of params) {\n const existing = output[key];\n if (existing != null) {\n output[key] = typeof existing === \"string\" ? [existing, value] : existing.concat(value);\n } else {\n output[key] = value;\n }\n }\n return output;\n};\nvar NO_VALUE_PARAM_REGEXP = /=&/g;\nvar FINISH_BY_EQUAL_REGEXP = /=$/g;\nvar encodeSearch = (search) => {\n const keys = Object.keys(search);\n if (keys.length === 0) {\n return \"\";\n }\n const params = new URLSearchParams();\n keys.sort();\n for (const key of keys) {\n const value = search[key];\n if (value == null) {\n continue;\n }\n if (typeof value === \"string\") {\n params.append(key, value);\n } else {\n for (const item of value) {\n params.append(key, item);\n }\n }\n }\n const output = params.toString().replace(NO_VALUE_PARAM_REGEXP, \"&\").replace(FINISH_BY_EQUAL_REGEXP, \"\");\n if (output === \"\") {\n return \"\";\n }\n return \"?\" + output;\n};\n\n// src/history.ts\nvar initialLocationHasChanged = false;\nvar parseRoute = (route) => {\n const hashIndex = route.indexOf(\"#\");\n const cleanRoute = ensureSlashPrefix(\n hashIndex < 0 ? route : route.substring(0, hashIndex)\n );\n const searchIndex = cleanRoute.indexOf(\"?\");\n if (searchIndex < 0) {\n return { path: cleanRoute, search: \"\" };\n }\n return {\n path: cleanRoute.substring(0, searchIndex),\n search: cleanRoute.substring(searchIndex)\n };\n};\nvar decodeLocation = (url) => {\n const route = parseRoute(url);\n const path = route.path.substring(1);\n const parsedPath = path !== \"\" ? initialLocationHasChanged ? path.split(\"/\").map(decodeURIComponent) : path.split(\"/\").filter(isNonEmpty).map(decodeURIComponent) : [];\n const parsedSearch = route.search !== \"\" ? decodeSearch(route.search) : {};\n const rawPath = \"/\" + parsedPath.map(encodeURIComponent).join(\"/\");\n const rawSearch = encodeSearch(parsedSearch);\n const stringifiedLocation = rawPath + rawSearch;\n return {\n path: parsedPath,\n search: parsedSearch,\n raw: {\n path: rawPath,\n search: rawSearch\n },\n toString() {\n return stringifiedLocation;\n }\n };\n};\nvar onBeforeUnload = (event) => {\n event.preventDefault();\n event.returnValue = \"\";\n};\nvar createBrowserHistory = () => {\n const listeners = /* @__PURE__ */ new Set();\n let blockers = [];\n const globalHistory = window.history;\n const globalLocation = window.location;\n let currentLocation = decodeLocation(\n globalLocation.pathname + globalLocation.search\n );\n const maybeUpdateLocation = () => {\n const nextLocation = decodeLocation(\n globalLocation.pathname + globalLocation.search\n );\n if (nextLocation.toString() === currentLocation.toString()) {\n return;\n }\n initialLocationHasChanged = true;\n const searchHasChanged = nextLocation.raw.search !== currentLocation.raw.search;\n const search = searchHasChanged ? {} : currentLocation.search;\n if (searchHasChanged) {\n for (const key in nextLocation.search) {\n if (Object.prototype.hasOwnProperty.call(nextLocation.search, key)) {\n const value = nextLocation.search[key];\n if (value == null) {\n continue;\n }\n const prevValue = currentLocation.search[key];\n if (prevValue == null || typeof prevValue === \"string\" || typeof value === \"string\" || !areParamsArrayEqual(value, prevValue)) {\n search[key] = value;\n } else {\n search[key] = prevValue;\n }\n }\n }\n }\n currentLocation = {\n path: nextLocation.raw.path !== currentLocation.raw.path ? nextLocation.path : currentLocation.path,\n search,\n raw: nextLocation.raw,\n toString: nextLocation.toString\n };\n listeners.forEach((listener) => listener(currentLocation));\n };\n window.addEventListener(\"popstate\", () => {\n maybeUpdateLocation();\n });\n return {\n get location() {\n return currentLocation;\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n push: (url) => {\n const blocker = last(blockers);\n if (blocker == null || window.confirm(blocker.message)) {\n try {\n globalHistory.pushState(null, \"\", url);\n } catch {\n globalLocation.assign(url);\n }\n maybeUpdateLocation();\n }\n },\n replace: (url) => {\n const blocker = last(blockers);\n if (blocker == null || window.confirm(blocker.message)) {\n globalHistory.replaceState(null, \"\", url);\n maybeUpdateLocation();\n }\n },\n block: (blocker) => {\n blockers.push(blocker);\n if (blockers.length === 1) {\n window.addEventListener(\"beforeunload\", onBeforeUnload, {\n capture: true\n });\n }\n return () => {\n blockers = blockers.filter(({ id }) => id !== blocker.id);\n if (blockers.length === 0) {\n window.removeEventListener(\"beforeunload\", onBeforeUnload, {\n capture: true\n });\n }\n };\n }\n };\n};\nvar history = typeof window !== \"undefined\" ? createBrowserHistory() : {\n location: decodeLocation(\"/\"),\n subscribe: () => noop,\n push: noop,\n replace: noop,\n block: () => noop\n};\nvar getLocation = () => history.location;\nvar subscribeToLocation = history.subscribe;\nvar pushUnsafe = history.push;\nvar replaceUnsafe = history.replace;\nvar block = history.block;\nvar GetUniversalLocationContext = createContext(getLocation);\nvar GetUniversalLocationProvider = GetUniversalLocationContext.Provider;\nvar useGetUniversalLocation = () => useContext(GetUniversalLocationContext);\nvar useLocation = () => {\n const getUniversalLocation = useGetUniversalLocation();\n return useSyncExternalStore(\n subscribeToLocation,\n getUniversalLocation,\n getUniversalLocation\n );\n};\nvar hasInitialLocationChanged = () => initialLocationHasChanged;\n\n// src/useLinkProps.ts\nvar useLinkProps = ({\n href,\n replace = false,\n target\n}) => {\n const hrefPath = useMemo(() => parseRoute(href).path, [href]);\n const getUniversalLocation = useGetUniversalLocation();\n const getPath = () => hrefPath === getUniversalLocation().raw.path;\n const active = useSyncExternalStore(subscribeToLocation, getPath, getPath);\n const shouldReplace = replace || active;\n const shouldIgnoreTarget = target == null || target === \"_self\";\n return {\n active,\n onClick: useCallback(\n (event) => {\n if (!event.defaultPrevented && shouldIgnoreTarget && // Let browser handle \"target=_blank\" etc.\n event.button === 0 && // Ignore everything but left clicks\n !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)) {\n event.preventDefault();\n if (shouldReplace) {\n replaceUnsafe(href);\n } else {\n pushUnsafe(href);\n }\n }\n },\n [shouldReplace, shouldIgnoreTarget, href]\n )\n };\n};\n\n// src/Link.ts\nvar Link = forwardRef(\n ({\n onClick: baseOnClick,\n className,\n replace,\n style,\n target,\n to,\n activeClassName,\n activeStyle,\n ...props\n }, forwardedRef) => {\n const { active, onClick } = useLinkProps({ href: to, replace, target });\n return createElement(\"a\", {\n ...props,\n ref: forwardedRef,\n href: to,\n onClick: (event) => {\n baseOnClick == null ? void 0 : baseOnClick(event);\n onClick(event);\n },\n target,\n className: !active || activeClassName == null ? className : className == null ? activeClassName : `${className} ${activeClassName}`,\n style: !active || activeStyle == null ? style : style == null ? activeStyle : { ...style, ...activeStyle }\n });\n }\n);\nLink.displayName = \"Link\";\n\n// src/concatRoutes.ts\nvar addPrefixOnNonEmpty = (value, prefix) => value === \"\" ? value : prefix + value;\nvar concatRoutes = (routeA, routeB) => {\n const prefixedPathA = ensureSlashPrefix(routeA[\"path\"]);\n const prefixedPathB = ensureSlashPrefix(routeB[\"path\"]);\n const unprefixedSearchA = routeA.search.substring(1);\n const unprefixedSearchB = routeB.search.substring(1);\n const path = prefixedPathA === \"/\" ? prefixedPathB : prefixedPathB === \"/\" ? prefixedPathA : prefixedPathA + prefixedPathB;\n const search = unprefixedSearchA === \"\" ? unprefixedSearchB : unprefixedSearchA + addPrefixOnNonEmpty(unprefixedSearchB, \"&\");\n return path + addPrefixOnNonEmpty(search, \"?\");\n};\n\n// src/createGroup.ts\nvar createGroup = (name, baseRoute, routes) => {\n const baseRouteObject = parseRoute(baseRoute);\n const output = {};\n for (const key in routes) {\n if (Object.prototype.hasOwnProperty.call(routes, key)) {\n output[name + key] = concatRoutes(\n baseRouteObject,\n parseRoute(routes[key])\n );\n }\n }\n return output;\n};\n\n// src/matcher.ts\nvar extractFromPath = (path) => {\n const parts = path.split(\"/\").filter(isNonEmpty);\n const output = [];\n let ranking = parts.length > 0 ? parts.length * 5 : 6;\n for (const part of parts) {\n if (isParam(part)) {\n const param = extractParamNameUnion(part.substring(1));\n ranking += param.union == null ? 2 : 3;\n output.push(param);\n } else {\n ranking += 4;\n output.push(encodeURIComponent(part));\n }\n }\n return { ranking, path: output };\n};\nvar getMatcher = (name, route) => {\n const parsed = parseRoute(route);\n const isArea = parsed.path.endsWith(\"/*\");\n const { ranking, path } = extractFromPath(\n isArea ? parsed.path.slice(0, -2) : parsed.path\n );\n const matcher = {\n isArea,\n name,\n // penality due to wildcard\n ranking: isArea ? ranking - 1 : ranking,\n path,\n search: void 0\n };\n if (parsed.search !== \"\") {\n matcher.search = {};\n const params = new URLSearchParams(parsed.search);\n for (const [key] of params) {\n if (isParam(key)) {\n const multiple = key.endsWith(\"[]\");\n const { name: name2, union } = extractParamNameUnion(\n key.substring(1, key.length - (multiple ? 2 : 0))\n );\n matcher.search[name2] = union == null ? { multiple } : { multiple, union };\n }\n }\n }\n return matcher;\n};\nvar getMatchResult = (location, matcher) => {\n if (!matcher.isArea && location.path.length !== matcher.path.length || matcher.isArea && location.path.length < matcher.path.length) {\n return;\n }\n const pathParams = {};\n const searchParams = {};\n for (let index = 0; index < matcher.path.length; index++) {\n const part = location.path[index];\n const test = matcher.path[index];\n if (test == null) {\n continue;\n }\n if (typeof test === \"string\") {\n if (part === test) {\n continue;\n } else {\n return;\n }\n }\n if (part == null) {\n return;\n }\n const { name, union } = test;\n if (union == null || union.includes(part)) {\n pathParams[name] = part;\n } else {\n return;\n }\n }\n for (const key in matcher.search) {\n if (Object.prototype.hasOwnProperty.call(matcher.search, key)) {\n const part = location.search[key];\n const test = matcher.search[key];\n if (part == null || test == null) {\n continue;\n }\n const { multiple, union } = test;\n const parts = typeof part === \"string\" ? [part] : part;\n const values = union == null ? parts : parts.filter((item) => union.includes(item));\n if (multiple) {\n searchParams[key] = values;\n continue;\n }\n const value = values[0];\n if (value != null) {\n searchParams[key] = value;\n }\n }\n }\n return {\n key: getRouteKey(matcher.name, pathParams, searchParams),\n name: matcher.name,\n params: { ...pathParams, ...searchParams }\n };\n};\nvar match = (location, matchers) => {\n for (const matcher of matchers) {\n const result = getMatchResult(location, matcher);\n if (result != null) {\n return result;\n }\n }\n};\nvar matchToUrl = (matcher, params = {}) => {\n const path = \"/\" + matcher.path.map(\n (part) => encodeURIComponent(\n typeof part === \"string\" ? part : String(params[part.name])\n )\n ).join(\"/\");\n let search = \"\";\n if (matcher.search != null) {\n const object = {};\n for (const key in params) {\n const param = params[key];\n const test = matcher.search[key];\n if (param == null || test == null) {\n continue;\n }\n const { union } = test;\n if (typeof param === \"string\") {\n if (union == null || union.includes(param)) {\n object[key] = param;\n }\n } else {\n object[key] = union == null ? param : param.filter((item) => union.includes(item));\n }\n }\n search = encodeSearch(object);\n }\n return path + search;\n};\n\n// src/createRouter.ts\nvar createRouter = (routes, options = {}) => {\n const { basePath = \"\" } = options;\n const basePathObject = {\n path: parseRoute(basePath).path,\n search: \"\"\n // search is not supported in basePath\n };\n const matchers = {};\n const rankedMatchers = [];\n for (const routeName in routes) {\n if (Object.prototype.hasOwnProperty.call(routes, routeName)) {\n const matcher = getMatcher(\n routeName,\n basePath !== \"\" ? concatRoutes(basePathObject, parseRoute(routes[routeName])) : routes[routeName]\n );\n matchers[routeName] = matcher;\n rankedMatchers.push(matcher);\n }\n }\n rankedMatchers.sort(\n (matcherA, matcherB) => matcherB.ranking - matcherA.ranking\n );\n const P = {};\n const createURLFns = {};\n for (const matcher of rankedMatchers) {\n const name = matcher.name;\n P[name] = (params) => ({ name, params });\n if (!matcher.isArea) {\n const finiteName = name;\n createURLFns[finiteName] = (params) => matchToUrl(matchers[finiteName], params);\n }\n }\n const useRoute = (routeNames) => {\n const matchersKey = JSON.stringify(routeNames);\n const matchers2 = useMemo(\n () => rankedMatchers.filter(\n ({ name }) => routeNames.includes(name)\n ),\n [matchersKey]\n // eslint-disable-line react-hooks/exhaustive-deps\n );\n const getUniversalLocation = useGetUniversalLocation();\n const getMatch = () => match(getUniversalLocation(), matchers2);\n return useSyncExternalStoreWithSelector(\n subscribeToLocation,\n getMatch,\n getMatch,\n identity,\n areRouteEqual\n );\n };\n const getRoute = (routeNames) => {\n const location = getLocation();\n const matchers2 = rankedMatchers.filter(\n ({ name }) => routeNames.includes(name)\n );\n return match(location, matchers2);\n };\n const push = (routeName, ...params) => pushUnsafe(matchToUrl(matchers[routeName], first(params)));\n const replace = (routeName, ...params) => replaceUnsafe(matchToUrl(matchers[routeName], first(params)));\n return {\n useRoute,\n getRoute,\n push,\n replace,\n P,\n ...createURLFns\n };\n};\nvar ServerUrlProvider = ({ children, value }) => {\n const location = decodeLocation(value);\n return createElement(GetUniversalLocationProvider, {\n children,\n value: () => location\n });\n};\nvar useBlocker = (blocked, message) => {\n const id = useId();\n useEffect(() => {\n if (blocked) {\n return block({ id, message });\n }\n });\n};\nvar focusableElements = {\n A: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar useFocusReset = ({\n route,\n containerRef\n}) => {\n const focusKey = route == null ? void 0 : route.key.split(\"-\")[0];\n useEffect(() => {\n const element = containerRef.current;\n if (element != null && hasInitialLocationChanged()) {\n try {\n if (element.getAttribute(\"tabIndex\") == null && !focusableElements[element.nodeName]) {\n element.setAttribute(\"tabIndex\", \"-1\");\n }\n element.focus();\n } catch {\n }\n }\n }, [containerRef, focusKey]);\n};\n\nexport { Link, ServerUrlProvider, createGroup, createRouter, decodeSearch, encodeSearch, getLocation, pushUnsafe, replaceUnsafe, subscribeToLocation, useBlocker, useFocusReset, useLinkProps, useLocation };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=index.mjs.map","import { createContext, useContext, useEffect, useState } from \"react\";\n\nexport type DeviceSize = \"mobile\" | \"tablet\" | \"desktop\";\n\nconst getDeviceSize = (): DeviceSize => {\n const width =\n window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n\n if (width < 768) {\n return \"mobile\";\n }\n\n if (width < 1024) {\n return \"tablet\";\n }\n\n return \"desktop\";\n};\n\nconst ResponsiveContext = createContext(\"mobile\");\n\nexport const ResponsiveProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [size, setSize] = useState(getDeviceSize);\n\n useEffect(() => {\n const handleResize = () => {\n setSize(getDeviceSize());\n };\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n return {children};\n};\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport const useResponsive = (): DeviceSize => {\n return useContext(ResponsiveContext);\n};\n","export type ColorVariant = \"primary\" | \"negative\" | \"positive\" | \"neutral\";\n\nexport type VariantColors = {\n 50: string;\n 100: string;\n 200: string;\n 300: string;\n 400: string;\n 500: string;\n 600: string;\n 700: string;\n 800: string;\n 900: string;\n};\n\nexport const colors: Record = {\n primary: {\n 50: \"#FFF9F5\",\n 100: \"#FFF4EB\",\n 200: \"#FFE9D6\",\n 300: \"#FFDDC2\",\n 400: \"#FFD2AD\",\n 500: \"#FFC799\",\n 600: \"#CC9F7A\",\n 700: \"#99775C\",\n 800: \"#66503D\",\n 900: \"#33281F\",\n },\n negative: {\n 50: \"#FFEDED\",\n 100: \"#FFDCDC\",\n 200: \"#FFB8B8\",\n 300: \"#FF9595\",\n 400: \"#FF7171\",\n 500: \"#FF4E4E\",\n 600: \"#CC3E3E\",\n 700: \"#B33737\",\n 800: \"#802727\",\n 900: \"#331010\",\n },\n positive: {\n 50: \"#F0FBEF\",\n 100: \"#E1F7DF\",\n 200: \"#C2EFBE\",\n 300: \"#A4E69E\",\n 400: \"#85DE7D\",\n 500: \"#67D65D\",\n 600: \"#52AB4A\",\n 700: \"#3E8038\",\n 800: \"#295625\",\n 900: \"#152B13\",\n },\n neutral: {\n 50: \"#D0D0D0\",\n 100: \"#B9B9B9\",\n 200: \"#A1A1A1\",\n 300: \"#8A8A8A\",\n 400: \"#737373\",\n 500: \"#5B5B5B\",\n 600: \"#444444\",\n 700: \"#2C2C2C\",\n 800: \"#151515\",\n 900: \"#0E0E0E\",\n },\n};\n\nexport const invariantColor = {\n white: \"#FFFFFF\",\n black: \"#000000\",\n transparent: \"transparent\",\n};\n\nexport const radii = {\n 2: 2,\n 4: 4,\n 8: 8,\n};\n\nexport const animDuration = {\n 100: \"100ms\",\n 200: \"200ms\",\n 300: \"300ms\",\n 500: \"500ms\",\n};\n","type Props = {\n name: IconName;\n title?: string;\n size?: number;\n color?: string;\n};\n\nexport const Icon: React.FC = ({ name, title, size = 24, color }) => {\n return (\n \n {title != null && {title}}\n \n \n );\n};\n\ntype LogoProps = {\n name: IconName;\n width: number;\n height: number;\n};\n\nexport const Logo: React.FC = ({ name, width, height }) => {\n return (\n \n \n \n );\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar _default = canUseDOM;\nexports.default = _default;\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addEventListener = addEventListener;\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (_canUseDom.default) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nfunction addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addModalityListener = addModalityListener;\nexports.getActiveModality = getActiveModality;\nexports.getModality = getModality;\nexports.testOnly_resetActiveModality = testOnly_resetActiveModality;\nvar _addEventListener = require(\"../addEventListener\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (_canUseDom.default) {\n // Window events\n (0, _addEventListener.addEventListener)(window, BLUR, onBlurWindow, bubbleOptions);\n (0, _addEventListener.addEventListener)(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n (0, _addEventListener.addEventListener)(document, KEYDOWN, onKeyDown, captureOptions);\n (0, _addEventListener.addEventListener)(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n (0, _addEventListener.addEventListener)(document, CONTEXTMENU, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEUP, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHCANCEL, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHSTART, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SELECTIONCHANGE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nfunction getActiveModality() {\n return activeModality;\n}\nfunction getModality() {\n return modality;\n}\nfunction addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nfunction testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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 * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nvar useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect;\nvar _default = useLayoutEffectImpl;\nexports.default = _default;\nmodule.exports = exports.default;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useStable;\nvar React = _interopRequireWildcard(require(\"react\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nfunction useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useEvent;\nvar _addEventListener = require(\"../addEventListener\");\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nfunction useEvent(eventType, options) {\n var targetListeners = (0, _useStable.default)(() => new Map());\n var addListener = (0, _useStable.default)(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = (0, _addEventListener.addEventListener)(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n (0, _useLayoutEffect.default)(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useHover;\nvar _modality = require(\"../modality\");\nvar _useEvent = _interopRequireDefault(require(\"../useEvent\"));\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : (0, _modality.getModality)();\n}\nfunction useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = (0, _useEvent.default)(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = (0, _useEvent.default)(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = (0, _useEvent.default)(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = (0, _useEvent.default)(lockEventType, opts);\n var addUnlockListener = (0, _useEvent.default)(unlockEventType, opts);\n (0, _useLayoutEffect.default)(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}\nmodule.exports = exports.default;","// https://github.com/necolas/react-native-web/blob/0.19.1/packages/react-native-web/src/modules/useHover/index.js\n\nimport { MutableRefObject } from \"react\";\n// @ts-expect-error useHover doesn't have type definitions\nimport originaUseHover from \"react-native-web/dist/cjs/modules/useHover\";\n\ntype HoverEventsConfig = {\n contain?: boolean;\n disabled?: boolean;\n onHoverChange?: (bool: boolean) => void;\n onHoverEnd?: (event: unknown) => void;\n onHoverStart?: (event: unknown) => void;\n onHoverUpdate?: (event: unknown) => void;\n};\n\nexport const useHover = originaUseHover as (\n ref: MutableRefObject,\n config: HoverEventsConfig,\n) => void;\n","import { createGroup, createRouter } from \"@swan-io/chicane\";\n\nexport type AccessibleRoute = Exclude<\n keyof typeof router,\n \"replace\" | \"push\" | \"getRoute\" | \"useRoute\"\n>;\nexport type RouteName = Parameters[0][number];\nexport type RouteArea = Exclude;\n\nexport const router = createRouter({\n Index: \"/\",\n ...createGroup(\"Signin\", \"/signin?:from_app&:redirect_to\", {\n Area: \"*\",\n Index: \"/\",\n Verification: \"/verification?:email&:otp\",\n SsoCallback: \"/sso-callback\",\n }),\n Signout: \"/signout\",\n UserOnboarding: \"/onboarding?:create_org&:redirect_to\",\n MyProfile: \"/profile?:from_app\",\n Invitation: \"/invitation/:invitation_id\",\n OrgList: \"/organizations\",\n\n ...createGroup(\"OrgNew\", \"/organizations/new\", {\n Area: \"*\",\n Index: \"/\",\n GeneralInfo: \"/general-info\",\n ...createGroup(\"Teams\", \"/teams\", {\n Area: \"*\",\n Index: \"/\",\n New: \"/new\",\n Edit: \"/edit/:team_identifier\",\n }),\n Done: \"/:org_slug/done\",\n }),\n\n ...createGroup(\"Org\", \"/organizations/:org_slug\", {\n Area: \"*\",\n Home: \"/\",\n ...createGroup(\"Members\", \"/members\", {\n Area: \"*\",\n Index: \"/?:filter\",\n Invite: \"/invite\",\n EditInvitation: \"/invitation/:invitation_id\",\n Edit: \"/edit/:username\",\n }),\n ...createGroup(\"Teams\", \"/teams\", {\n Area: \"*\",\n Index: \"/\",\n New: \"/new\",\n Edit: \"/edit/:team_identifier\",\n }),\n Settings: \"/settings\",\n Plans: \"/plans\",\n Billing: \"/billing\",\n\n App: \"/application/:app_slug\",\n }),\n});\n","import { useLinkProps } from \"@swan-io/chicane\";\nimport { useRef, useState } from \"react\";\nimport { Text as NativeText, StyleSheet, TextProps } from \"react-native\";\nimport { Except } from \"type-fest\";\nimport { useFocus } from \"../hooks/useFocus\";\nimport { useHover } from \"../hooks/useHover\";\nimport { usePress } from \"../hooks/usePress\";\nimport { colors } from \"../utils/design\";\nimport { RouteArea, router } from \"../utils/routes\";\n\nconst styles = StyleSheet.create({\n code: {\n fontFamily: \"geist-mono\",\n fontWeight: \"400\",\n fontSize: 13,\n lineHeight: 13,\n },\n miniMono: {\n fontFamily: \"geist-mono\",\n fontWeight: \"400\",\n fontSize: 10,\n lineHeight: 10,\n },\n miniAvatar: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 6,\n lineHeight: 6,\n },\n massiveAvatar: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 48,\n lineHeight: 48,\n },\n miniFlat: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 10,\n lineHeight: 10,\n },\n mini: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 10,\n lineHeight: 15,\n },\n smallMono: {\n fontFamily: \"geist-mono\",\n textTransform: \"uppercase\",\n fontWeight: \"400\",\n fontSize: 12,\n lineHeight: 12,\n },\n smallFlat: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 13,\n lineHeight: 13,\n },\n small: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 13,\n lineHeight: 19,\n },\n body: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 15,\n lineHeight: 25,\n },\n bodyFlat: {\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 15,\n lineHeight: 15,\n },\n title4: {\n fontFamily: \"geist-mono\",\n textTransform: \"uppercase\",\n fontWeight: \"400\",\n fontSize: 13,\n lineHeight: 13,\n },\n title3: {\n fontFamily: \"geist\",\n fontWeight: \"500\",\n fontSize: 17,\n lineHeight: 24,\n },\n title2: {\n fontFamily: \"geist\",\n fontWeight: \"500\",\n fontSize: 20,\n lineHeight: 26,\n },\n title1: {\n fontFamily: \"geist\",\n fontWeight: \"600\",\n fontSize: 32,\n lineHeight: 40,\n },\n\n ellipsis: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n\n numeric: {\n fontFeatureSettings: \"tnum\",\n fontVariantNumeric: \"tabular-nums\",\n },\n});\n\nexport type TextVariant =\n | \"code\"\n | \"miniMono\"\n | \"miniAvatar\"\n | \"massiveAvatar\"\n | \"miniFlat\"\n | \"mini\"\n | \"smallMono\"\n | \"smallFlat\"\n | \"small\"\n | \"body\"\n | \"bodyFlat\"\n | \"title4\"\n | \"title3\"\n | \"title2\"\n | \"title1\";\n\ntype Props = TextProps & {\n variant?: TextVariant;\n color?: string;\n align?: \"left\" | \"center\" | \"right\";\n ellipsis?: boolean;\n numeric?: boolean;\n textRef?: React.MutableRefObject;\n};\n\nexport const Text: React.FC = ({\n variant,\n color = colors.neutral[200],\n align,\n ellipsis = false,\n numeric = false,\n style,\n textRef,\n ...props\n}) => {\n return (\n \n );\n};\n\nexport const Label: React.FC = (props) => (\n \n);\n\ntype LinkProps = Props & {\n to: string;\n openInNewTab?: boolean;\n replace?: boolean;\n disabled?: boolean;\n activeStyle?: TextProps[\"style\"];\n textRef?: React.MutableRefObject;\n};\n\nexport const Link: React.FC = ({\n to,\n openInNewTab,\n replace,\n disabled = false,\n style,\n activeStyle,\n textRef,\n onPress: _onPress,\n ...props\n}) => {\n const { onClick, active } = useLinkProps({ href: to, replace });\n\n const onPress: TextProps[\"onPress\"] = (event) => {\n if (openInNewTab) {\n event.preventDefault();\n window.open(to, \"_blank\");\n return;\n }\n // @ts-expect-error onClick is typed for web, not for react-native-web\n onClick(event);\n _onPress?.(event);\n };\n\n return (\n \n );\n};\n\ntype PressableState = {\n hovered: boolean;\n focused: boolean;\n pressed: boolean;\n active: boolean;\n};\n\nexport type PressableLinkProps = Except & {\n areaName?: RouteArea;\n style: (state: PressableState) => TextProps[\"style\"];\n children: TextProps[\"children\"] | ((state: PressableState) => TextProps[\"children\"]);\n};\n\nexport const PressableLink: React.FC = ({\n areaName,\n style,\n children,\n ...props\n}) => {\n const route = router.useRoute(areaName != null ? [areaName] : []);\n const isAreaActive = route != null;\n const { active: isRouteActive } = useLinkProps({ href: props.to });\n const active = isAreaActive || isRouteActive;\n const ref = useRef(null);\n const [focused, setFocused] = useState(false);\n const [hovered, setHovered] = useState(false);\n const [pressed, setPressed] = useState(false);\n\n useFocus(ref, {\n disabled: props.disabled,\n onFocusChange: setFocused,\n });\n\n useHover(ref, {\n disabled: props.disabled,\n onHoverChange: setHovered,\n });\n\n usePress(ref, {\n disabled: props.disabled,\n onPressChange: setPressed,\n });\n\n return (\n \n {typeof children === \"function\" ? children({ hovered, focused, pressed, active }) : children}\n \n );\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { Image, Pressable, StyleSheet, View, ViewProps } from \"react-native\";\nimport { match } from \"ts-pattern\";\nimport { Except } from \"type-fest\";\nimport { colors, invariantColor, radii } from \"../utils/design\";\nimport { Icon } from \"./Icon\";\nimport { Text, TextVariant } from \"./Text\";\n\nconst styles = StyleSheet.create({\n avatar: {\n justifyContent: \"center\",\n alignItems: \"center\",\n overflow: \"hidden\",\n },\n image: {\n width: \"100%\",\n height: \"100%\",\n },\n hiddenImage: {\n position: \"absolute\",\n width: 0,\n height: 0,\n opacity: 0,\n },\n\n placeholder: {\n backgroundColor: colors.neutral[700],\n borderWidth: 1,\n borderColor: colors.neutral[300],\n borderStyle: \"dashed\",\n },\n\n avatars: {\n flexDirection: \"row\",\n },\n\n editAvatar: {\n position: \"absolute\",\n width: 24,\n height: 24,\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: 12,\n borderWidth: 1,\n borderColor: colors.primary[500],\n backgroundColor: colors.primary[900],\n },\n userEditAvatar: {\n right: -1,\n bottom: -1,\n },\n teamEditAvatar: {\n right: -10,\n bottom: -10,\n },\n orgEditAvatar: {\n right: -10,\n bottom: -10,\n },\n});\n\nconst avatarColors = [\n colors.primary[500],\n colors.negative[300],\n colors.positive[300],\n colors.neutral[200],\n \"#C497FF\",\n \"#97C1FF\",\n \"#97FFF9\",\n \"#FF97EE\",\n invariantColor.white,\n];\n\nconst getAvatarColor = (name: string) => {\n if (name.length === 0) {\n return avatarColors[0];\n }\n\n const charSum = name.split(\"\").reduce((acc, char) => acc + char.charCodeAt(0), 0);\n return avatarColors[charSum % avatarColors.length];\n};\n\ntype AvatarImageProps = {\n url: string;\n updatedAt?: string;\n};\n\n/**\n * This component is used to avoid flickering when updatedAt change but the image is the same.\n * it render a second image hidden and when it's loaded it replace the first one.\n */\nconst AvatarImage: React.FC = ({ url, updatedAt }) => {\n const query = updatedAt != null ? `?updatedAt=${updatedAt}` : \"\";\n const uri = `${url}${query}`;\n const uriRef = useRef(uri);\n\n const [backgroundLoadingUri, setBackgroundLoadingUri] = useState(null);\n\n useEffect(() => {\n if (uriRef.current === uri) {\n return;\n }\n\n setBackgroundLoadingUri(uri);\n }, [uri]);\n\n return (\n <>\n \n {backgroundLoadingUri != null && (\n {\n uriRef.current = backgroundLoadingUri;\n setBackgroundLoadingUri(null);\n }}\n />\n )}\n \n );\n};\n\ntype UserAvatarProps = {\n name: string;\n url: string | null;\n updatedAt?: string;\n size?: \"extra-large\" | \"large\" | \"medium\" | \"regular\" | \"small\";\n style?: ViewProps[\"style\"];\n};\n\nexport const UserAvatar = ({ name, url, updatedAt, size = \"regular\", style }: UserAvatarProps) => {\n const avatarColor = url == null ? getAvatarColor(name) : colors.neutral[900];\n\n const { avatarSize, variant } = match(size)\n .returnType<{ avatarSize: number; variant: TextVariant }>()\n .with(\"extra-large\", () => ({ avatarSize: 64, variant: \"title1\" }))\n .with(\"large\", () => ({ avatarSize: 48, variant: \"title2\" }))\n .with(\"medium\", () => ({ avatarSize: 36, variant: \"title3\" }))\n .with(\"regular\", () => ({ avatarSize: 24, variant: \"bodyFlat\" }))\n .with(\"small\", () => ({ avatarSize: 16, variant: \"miniFlat\" }))\n .exhaustive();\n\n return (\n \n {url != null ? (\n \n ) : (\n \n {name[0]?.toUpperCase()}\n \n )}\n \n );\n};\n\ntype TeamAvatarProps = {\n name: string;\n url: string | null;\n updatedAt?: string;\n size?: \"large\" | \"medium\" | \"regular\";\n style?: ViewProps[\"style\"];\n};\n\nexport const TeamAvatar: React.FC = ({\n name,\n url,\n updatedAt,\n size = \"regular\",\n style,\n}) => {\n const { avatarSize, variant } = match(size)\n .returnType<{ avatarSize: number; variant: TextVariant }>()\n .with(\"large\", () => ({ avatarSize: 48, variant: \"smallFlat\" }))\n .with(\"medium\", () => ({ avatarSize: 36, variant: \"miniFlat\" }))\n .with(\"regular\", () => ({ avatarSize: 24, variant: \"miniAvatar\" }))\n .exhaustive();\n\n return (\n \n {url != null ? (\n \n ) : (\n \n {name.slice(0, 3).toUpperCase()}\n \n )}\n \n );\n};\n\ntype OrgAvatarProps = {\n name: string;\n url: string | null;\n updatedAt?: string;\n size?: \"massive\" | \"large\" | \"medium\" | \"regular\";\n style?: ViewProps[\"style\"];\n};\n\nexport const OrgAvatar: React.FC = ({\n name,\n url,\n updatedAt,\n size = \"regular\",\n style,\n}) => {\n const { avatarSize, variant } = match(size)\n .returnType<{ avatarSize: number; variant: TextVariant }>()\n .with(\"massive\", () => ({ avatarSize: 80, variant: \"massiveAvatar\" }))\n .with(\"large\", () => ({ avatarSize: 48, variant: \"title2\" }))\n .with(\"medium\", () => ({ avatarSize: 36, variant: \"title3\" }))\n .with(\"regular\", () => ({ avatarSize: 24, variant: \"bodyFlat\" }))\n .exhaustive();\n\n return (\n \n {url != null ? (\n \n ) : (\n \n {name[0]?.toUpperCase()}\n \n )}\n \n );\n};\n\ntype IconAvatarProps = {\n name: IconName;\n color: string;\n size?: \"large\" | \"medium\" | \"regular\";\n style?: ViewProps[\"style\"];\n};\n\nexport const IconAvatar: React.FC = ({ name, color, size = \"regular\", style }) => {\n const { avatarSize, iconSize } = match(size)\n .returnType<{ avatarSize: number; iconSize: number }>()\n .with(\"large\", () => ({ avatarSize: 48, iconSize: 24 }))\n .with(\"medium\", () => ({ avatarSize: 36, iconSize: 24 }))\n .with(\"regular\", () => ({ avatarSize: 24, iconSize: 16 }))\n .exhaustive();\n\n return (\n \n \n \n );\n};\n\ntype PlaceholderAvatarProps = {\n name?: string;\n rounded?: boolean;\n size?: \"extra-large\" | \"large\" | \"medium\" | \"regular\" | \"small\";\n style?: ViewProps[\"style\"];\n};\n\nexport const PlaceholderAvatar: React.FC = ({\n name,\n rounded = false,\n size = \"regular\",\n style,\n}) => {\n const { avatarSize, variant } = match(size)\n .returnType<{ avatarSize: number; variant: TextVariant }>()\n .with(\"extra-large\", () => ({ avatarSize: 64, variant: \"title1\" }))\n .with(\"large\", () => ({ avatarSize: 48, variant: \"title2\" }))\n .with(\"medium\", () => ({ avatarSize: 36, variant: \"title3\" }))\n .with(\"regular\", () => ({ avatarSize: 24, variant: \"bodyFlat\" }))\n .with(\"small\", () => ({ avatarSize: 16, variant: \"miniFlat\" }))\n .exhaustive();\n\n return (\n \n {name != null && (\n \n {name[0]?.toUpperCase()}\n \n )}\n \n );\n};\n\ntype MultiUserAvatarProps = {\n avatars: Except[];\n size?: UserAvatarProps[\"size\"];\n};\n\nexport const MultiUserAvatar: React.FC = ({ avatars, size }) => {\n return (\n \n {avatars.map((avatar, index) => (\n \n ))}\n \n );\n};\n\ntype EditAvatarButtonProps = {\n onPress: () => void;\n type: \"user\" | \"team\" | \"org\";\n children: React.ReactNode;\n};\n\nexport const EditAvatarButton: React.FC = ({ onPress, type, children }) => {\n return (\n \n {children}\n \n \n \n \n );\n};\n","import { View, ViewProps } from \"react-native\";\n\ntype Props = ViewProps & {\n direction: \"row\" | \"column\";\n justifyContent?:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n alignItems?: \"flex-start\" | \"flex-end\" | \"center\" | \"stretch\" | \"baseline\";\n wrap?: boolean;\n children: React.ReactNode;\n};\n\nexport const Box: React.FC = ({\n direction,\n justifyContent,\n alignItems,\n wrap,\n style,\n children,\n}) => (\n \n {children}\n \n);\n","import { View } from \"react-native\";\n\ntype SpaceProps = {\n width?: number;\n height?: number;\n};\n\nexport const Space: React.FC = ({ width = 1, height = 1 }) => (\n \n);\n\ntype FillProps = {\n minWidth?: number;\n minHeight?: number;\n};\n\nexport const Fill: React.FC = ({ minWidth = 1, minHeight = 1 }) => (\n \n);\n","import { AsyncData, Result } from \"@swan-io/boxed\";\nimport { Pressable, PressableProps, StyleSheet, TextProps, View, ViewProps } from \"react-native\";\nimport { match } from \"ts-pattern\";\nimport { Except } from \"type-fest\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { Icon } from \"./Icon\";\nimport { Space } from \"./Space\";\nimport { PressableLink, PressableLinkProps, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n button: {\n display: \"flex\",\n borderRadius: radii[4],\n overflow: \"hidden\",\n justifyContent: \"center\",\n alignItems: \"center\",\n userSelect: \"none\",\n outlineWidth: 0,\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n },\n regularButton: {\n paddingHorizontal: 16,\n height: 40,\n },\n smallButton: {\n paddingHorizontal: 12,\n height: 28,\n },\n miniButton: {\n paddingHorizontal: 10,\n height: 24,\n },\n regularIconOnly: {\n paddingHorizontal: 10,\n },\n smallIconOnly: {\n paddingHorizontal: 8,\n },\n miniIconOnly: {\n paddingHorizontal: 6,\n },\n plainButton: {\n backgroundImage:\n \"linear-gradient(98.27deg, rgba(255, 255, 255, 0) -63.78%, rgba(255, 199, 153, 1) 100%)\",\n backgroundColor: invariantColor.white,\n },\n plainButtonHover: {\n backgroundColor: colors.primary[500],\n },\n plainButtonPressed: {\n backgroundColor: colors.primary[300],\n transform: \"scale(0.99)\",\n },\n plainButtonDisabled: {\n backgroundImage: \"none\",\n backgroundColor: colors.neutral[300],\n },\n plainButtonSuccess: {},\n outlineButton: {\n borderWidth: 1,\n backgroundColor: colors.primary[900],\n borderColor: colors.primary[500],\n },\n outlineButtonHover: {\n backgroundColor: colors.primary[800],\n },\n outlineButtonPressed: {\n backgroundColor: colors.primary[700],\n transform: \"scale(0.99)\",\n },\n outlineButtonDisabled: {\n backgroundColor: colors.primary[900],\n borderColor: colors.primary[600],\n },\n outlineButtonSuccess: {\n borderColor: colors.positive[500],\n },\n negativeButton: {\n backgroundColor: colors.negative[500],\n },\n negativeButtonHover: {\n backgroundColor: colors.negative[400],\n },\n negativeButtonPressed: {\n backgroundColor: colors.negative[200],\n transform: \"scale(0.99)\",\n },\n negativeButtonDisabled: {\n backgroundColor: colors.neutral[300],\n },\n negativeButtonSuccess: {},\n transparentButton: {\n borderWidth: 1,\n backgroundColor: invariantColor.transparent,\n borderColor: colors.neutral[700],\n },\n transparentButtonHover: {\n backgroundColor: colors.neutral[800],\n },\n transparentButtonPressed: {\n backgroundColor: colors.neutral[700],\n transform: \"scale(0.99)\",\n },\n transparentButtonDisabled: {\n backgroundColor: colors.neutral[300],\n },\n transparentButtonSuccess: {\n backgroundColor: invariantColor.transparent,\n },\n\n logWithButton: {\n paddingHorizontal: 24,\n height: 40,\n backgroundColor: invariantColor.white,\n },\n logWithButtonHover: {\n backgroundColor: \"#f2f2f2\",\n },\n logWithButtonPressed: {\n backgroundColor: colors.neutral[50],\n },\n\n iconContainer: {\n top: 1,\n },\n\n content: {\n top: -1,\n flexDirection: \"row\",\n alignItems: \"center\",\n transitionDuration: animDuration[200],\n transitionProperty: \"opacity\",\n },\n contentReverse: {\n flexDirection: \"row-reverse\",\n },\n contentHidden: {\n opacity: 0,\n },\n loader: {\n position: \"absolute\",\n width: 16,\n height: 4,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n margin: \"auto\",\n },\n loaderDot: {\n position: \"absolute\",\n width: 4,\n height: 4,\n borderRadius: 3,\n backgroundColor: colors.neutral[900],\n animationKeyframes: {\n \"0%\": {\n transform: \"scale(0.5)\",\n },\n \"50%\": {\n transform: \"scale(1)\",\n },\n \"100%\": {\n transform: \"scale(0.5)\",\n },\n },\n animationDuration: \"1000ms\",\n animationIterationCount: \"infinite\",\n },\n loaderDot1: {\n top: 0,\n left: 0,\n },\n loaderDot2: {\n top: 0,\n left: 6,\n animationDelay: \"100ms\",\n },\n loaderDot3: {\n top: 0,\n right: 0,\n animationDelay: \"200ms\",\n },\n\n successContainer: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: \"center\",\n justifyContent: \"center\",\n animationKeyframes: {\n \"0%\": {\n transform: \"scale(0)\",\n borderRadius: 40,\n },\n \"50%\": {\n transform: \"scale(1.2)\",\n },\n \"100%\": {\n transform: \"scale(1)\",\n borderRadius: 0,\n },\n },\n animationDuration: \"400ms\",\n },\n plainSuccessContainer: {\n backgroundColor: colors.positive[500],\n },\n outlineSuccessContainer: {\n backgroundColor: colors.positive[500],\n },\n negativeSuccessContainer: {\n backgroundColor: colors.negative[500],\n },\n transparentSuccessContainer: {\n backgroundColor: invariantColor.transparent,\n },\n\n startSelfAlign: {\n alignSelf: \"flex-start\",\n },\n centerSelfAlign: {\n alignSelf: \"center\",\n },\n endSelfAlign: {\n alignSelf: \"flex-end\",\n },\n stretchSelfAlign: {},\n});\n\nconst loaderColor: Record = {\n plain: colors.neutral[900],\n outline: colors.primary[500],\n negative: colors.neutral[900],\n transparent: colors.neutral[50],\n};\n\nexport type ButtonVariant = \"plain\" | \"outline\" | \"negative\" | \"transparent\";\n\nexport type ButtonProps = Except & {\n size?: \"mini\" | \"small\" | \"regular\";\n variant?: ButtonVariant;\n status?: AsyncData>;\n icon?: IconName;\n iconFollowsText?: boolean;\n children?: string;\n selfAlign?: \"start\" | \"center\" | \"end\" | \"stretch\";\n style?: ViewProps[\"style\"];\n};\n\nexport const Button: React.FC = ({\n size = \"regular\",\n variant = \"plain\",\n status,\n icon,\n iconFollowsText = false,\n disabled = false,\n children,\n selfAlign = \"stretch\",\n style,\n ...props\n}) => {\n const isRegular = size === \"regular\";\n const isLoading = status?.isLoading() ?? false;\n const isSuccess = (status?.isDone() && status.get().isOk()) ?? false;\n const isInteractive = !isLoading && !isSuccess && disabled !== true;\n const iconOnly = children == null;\n\n const textColor = match({ variant, disabled })\n .with({ variant: \"outline\", disabled: false }, () => colors.primary[200])\n .with({ variant: \"outline\", disabled: true }, () => colors.primary[600])\n .with({ variant: \"plain\", disabled: true }, () => colors.neutral[800])\n .with({ variant: \"negative\" }, () => colors.neutral[900])\n .with({ variant: \"transparent\", disabled: true }, () => colors.neutral[800])\n .with({ variant: \"transparent\" }, () => colors.neutral[50])\n .otherwise(() => colors.primary[900]);\n\n return (\n [\n styles.button,\n styles[`${size}Button`],\n styles[`${variant}Button`],\n iconOnly && styles[`${size}IconOnly`],\n (hovered || focused) && isInteractive && styles[`${variant}ButtonHover`],\n pressed && styles[`${variant}ButtonPressed`],\n disabled && styles[`${variant}ButtonDisabled`],\n isSuccess && styles[`${variant}ButtonSuccess`],\n styles[`${selfAlign}SelfAlign`],\n style,\n ]}\n disabled={!isInteractive}\n {...props}\n >\n {isLoading && }\n {isSuccess && }\n\n \n {icon != null && (\n <>\n \n \n \n {!iconOnly && }\n \n )}\n\n \n {children}\n \n \n \n );\n};\n\nconst ButtonLoader: React.FC<{ color: string }> = ({ color }) => {\n return (\n \n \n \n \n \n );\n};\n\nconst SuccessOverlay: React.FC<{ variant: ButtonVariant }> = ({ variant }) => {\n const iconColor = match(variant)\n .with(\"transparent\", () => colors.neutral[50])\n .otherwise(() => colors.neutral[900]);\n\n return (\n \n \n \n \n \n );\n};\n\ntype LogWithButtonProps = Except & {\n provider: \"google\" | \"microsoft\" | \"github\";\n children: string;\n status?: AsyncData;\n style?: ViewProps[\"style\"];\n};\n\nexport const LogWithButton: React.FC = ({\n provider,\n children,\n status,\n style,\n ...props\n}) => {\n const isLoading = status?.isLoading() ?? false;\n\n return (\n [\n styles.button,\n styles.logWithButton,\n (hovered || focused) && styles.logWithButtonHover,\n pressed && styles.logWithButtonPressed,\n style,\n ]}\n {...props}\n >\n {isLoading && }\n\n \n \n \n\n \n {children}\n \n \n \n );\n};\n\ntype ButtonLinkProps = Except & {\n size?: \"small\" | \"regular\";\n variant?: ButtonVariant;\n icon?: IconName;\n iconFollowsText?: boolean;\n children?: string;\n selfAlign?: \"start\" | \"center\" | \"end\" | \"stretch\";\n style?: TextProps[\"style\"];\n};\n\nexport const ButtonLink: React.FC = ({\n size = \"regular\",\n variant = \"plain\",\n icon,\n iconFollowsText = false,\n disabled = false,\n children,\n selfAlign = \"stretch\",\n style,\n ...props\n}) => {\n const isInteractive = disabled !== true;\n const iconOnly = children == null;\n\n const textColor = match({ variant, disabled })\n .with({ variant: \"outline\", disabled: false }, () => colors.primary[200])\n .with({ variant: \"outline\", disabled: true }, () => colors.primary[600])\n .with({ variant: \"plain\", disabled: true }, () => colors.neutral[800])\n .with({ variant: \"negative\" }, () => colors.neutral[800])\n .with({ variant: \"transparent\", disabled: true }, () => colors.neutral[800])\n .with({ variant: \"transparent\" }, () => colors.neutral[50])\n .otherwise(() => colors.primary[900]);\n\n return (\n [\n styles.button,\n styles[`${size}Button`],\n styles[`${variant}Button`],\n iconOnly && styles[`${size}IconOnly`],\n (hovered || focused) && isInteractive && styles[`${variant}ButtonHover`],\n pressed && styles[`${variant}ButtonPressed`],\n disabled && styles[`${variant}ButtonDisabled`],\n styles[`${selfAlign}SelfAlign`],\n style,\n ]}\n disabled={!isInteractive}\n {...props}\n >\n \n {icon != null && (\n <>\n \n \n \n {!iconOnly && }\n \n )}\n\n \n {children}\n \n \n \n );\n};\n","import { pushUnsafe, replaceUnsafe } from \"@swan-io/chicane\";\nimport { useEffect } from \"react\";\n\ntype Props = {\n to: string;\n replace?: boolean;\n};\n\nexport const Redirect: React.FC = ({ to, replace = false }) => {\n useEffect(() => {\n const isExternal = to.startsWith(\"http\");\n\n if (isExternal) {\n window.location.href = to;\n return;\n }\n\n if (replace) {\n replaceUnsafe(to);\n } else {\n pushUnsafe(to);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return null;\n};\n","import { StyleSheet, TextProps, View } from \"react-native\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { Icon } from \"./Icon\";\nimport { Space } from \"./Space\";\nimport { PressableLink, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n container: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n backgroundColor: colors.neutral[800],\n paddingHorizontal: 16,\n paddingVertical: 16,\n borderRadius: radii[4],\n outlineWidth: 0,\n borderWidth: 1,\n borderColor: colors.neutral[700],\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color, border-color\",\n },\n containerHovered: {\n borderColor: colors.neutral[200],\n },\n containerPressed: {\n backgroundColor: colors.neutral[700],\n borderColor: colors.neutral[200],\n },\n\n fill: {\n flex: 1,\n },\n});\n\ntype Props = {\n to: string;\n avatar: React.ReactElement;\n title: React.ReactNode;\n description?: string;\n disabled?: boolean;\n style?: TextProps[\"style\"];\n};\n\nexport const RowLink: React.FC = ({\n to,\n avatar,\n title,\n description,\n disabled = false,\n style,\n}) => {\n return (\n [\n styles.container,\n (focused || hovered) && styles.containerHovered,\n pressed && styles.containerPressed,\n style,\n ]}\n >\n {avatar}\n\n \n\n \n \n {title}\n \n {description}\n \n\n {!disabled && (\n <>\n \n \n \n )}\n \n );\n};\n","import { Pressable, StyleSheet, View } from \"react-native\";\nimport { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\nimport { TextProps } from \"react-native/Libraries/Text/Text\";\nimport { colors, radii } from \"../utils/design\";\nimport { Icon } from \"./Icon\";\nimport { Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n tag: {\n paddingHorizontal: 4,\n paddingVertical: 2,\n borderRadius: radii[4],\n verticalAlign: \"middle\",\n },\n\n uppercase: {\n textTransform: \"uppercase\",\n },\n\n tagDeletable: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingLeft: 6,\n paddingVertical: 4,\n borderRadius: radii[4],\n },\n\n deleteButton: {\n paddingLeft: 2,\n paddingRight: 6,\n },\n});\n\ntype Props = {\n variant: \"neutral\" | \"negative\" | \"positive\" | \"primary\" | \"primaryInverse\";\n children: React.ReactNode;\n uppercase?: boolean;\n style?: TextProps[\"style\"];\n};\n\nconst backgroundColor: Record = {\n neutral: colors.neutral[600],\n negative: colors.negative[500],\n positive: colors.positive[500],\n primary: colors.primary[500],\n primaryInverse: colors.primary[900],\n};\nconst textColor: Record = {\n neutral: colors.neutral[50],\n negative: colors.neutral[900],\n positive: colors.neutral[900],\n primary: colors.neutral[900],\n primaryInverse: colors.primary[500],\n};\n\nexport const Tag: React.FC = ({ variant, children, uppercase, style }) => {\n return (\n \n {children}\n \n );\n};\n\ntype TagDeletableProps = {\n variant: Props[\"variant\"];\n children: React.ReactNode;\n style?: ViewProps[\"style\"];\n onDelete: () => void;\n};\n\nexport const TagDeletable: React.FC = ({\n variant,\n children,\n style,\n onDelete,\n}) => {\n return (\n \n \n {children}\n \n\n \n \n \n \n );\n};\n","import { useEffect } from \"react\";\nimport { P, match } from \"ts-pattern\";\nimport { ApplicationKey } from \"../utils/applications\";\n\nconst defaultTitle = document.title;\n\nexport const useTitle = (title: string, fromApp?: ApplicationKey) => {\n useEffect(() => {\n const suffix = match(fromApp)\n .with(\"dedale\", () => \"Dedale by Bireme Lab\")\n .with(P.nullish, () => undefined)\n .exhaustive();\n\n document.title = `${title} | ${suffix ?? defaultTitle}`;\n\n return () => {\n document.title = defaultTitle;\n };\n }, [title, fromApp]);\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)= 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\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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;\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 }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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","/******************************************************************************\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\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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;\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 }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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","/******************************************************************************\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\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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;\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 }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: milliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\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\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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;\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 }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n case 'rounding-mode-floor':\n result.roundingMode = 'floor';\n continue;\n case 'rounding-mode-ceiling':\n result.roundingMode = 'ceil';\n continue;\n case 'rounding-mode-down':\n result.roundingMode = 'trunc';\n continue;\n case 'rounding-mode-up':\n result.roundingMode = 'expand';\n continue;\n case 'rounding-mode-half-even':\n result.roundingMode = 'halfEven';\n continue;\n case 'rounding-mode-half-down':\n result.roundingMode = 'halfTrunc';\n continue;\n case 'rounding-mode-half-up':\n result.roundingMode = 'halfExpand';\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"AX\": [\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BI\": [\n \"H\",\n \"h\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BY\": [\n \"H\",\n \"h\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"CW\": [\n \"H\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FO\": [\n \"H\",\n \"h\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GL\": [\n \"H\",\n \"h\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"HU\": [\n \"H\",\n \"h\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JP\": [\n \"H\",\n \"K\",\n \"h\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MG\": [\n \"H\",\n \"h\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MT\": [\n \"H\",\n \"h\"\n ],\n \"MU\": [\n \"H\",\n \"h\"\n ],\n \"MV\": [\n \"H\",\n \"h\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"NO\": [\n \"H\",\n \"h\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PL\": [\n \"H\",\n \"h\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"RW\": [\n \"H\",\n \"h\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TH\": [\n \"H\",\n \"h\"\n ],\n \"TJ\": [\n \"H\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TM\": [\n \"H\",\n \"h\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VN\": [\n \"H\",\n \"h\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZW\": [\n \"H\",\n \"h\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ]\n};\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith && '_a'.startsWith('a', 1);\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n// only for testing\nexport var _Parser = Parser;\n","//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { parse, } from '@formatjs/icu-messageformat-parser';\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () {\n var _a;\n return ({\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) ||\n Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n });\n };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n var _a = opts || {}, formatters = _a.formatters, parseOpts = __rest(_a, [\"formatters\"]);\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, __assign(__assign({}, parseOpts), { locale: this.resolvedLocale }));\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */ (function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception\n ? exception instanceof Error\n ? exception\n : new Error(String(exception))\n : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \"\\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error));\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */ (function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError));\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */ (function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError));\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */ (function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError));\nexport { MissingDataError };\nvar IntlFormatError = /** @class */ (function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n _this.locale = locale;\n return _this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n _this.locale = locale;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage\n ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string'\n ? descriptor.defaultMessage\n : descriptor.defaultMessage\n .map(function (e) { var _a; return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e); })\n .join(), \")\")\n : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError));\nexport { MissingTranslationError };\n","import { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function (error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function (warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({ formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules,\n } }, (opts || {})));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic,\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic,\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic,\n }),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","import { __assign } from \"tslib\";\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { IntlMessageFormat, } from 'intl-messageformat';\nimport { MissingTranslationError, MessageFormatError } from './error';\nimport { TYPE } from '@formatjs/icu-messageformat-parser';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({ timeZone: timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign(__assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign(__assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n var mfFormats = IntlMessageFormat.formats;\n return __assign(__assign(__assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport var formatMessage = function (_a, state, messageDescriptor, values, opts) {\n var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, fallbackOnEmptyString = _a.fallbackOnEmptyString, onError = _a.onError, timeZone = _a.timeZone, defaultRichTextElements = _a.defaultRichTextElements;\n if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }\n var msgId = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage;\n // `id` is a required field of a Message Descriptor.\n invariant(!!msgId, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var id = String(msgId);\n var message = \n // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n messages &&\n Object.prototype.hasOwnProperty.call(messages, id) &&\n messages[id];\n // IMPORTANT: Hot path if `message` is AST with a single literal node\n if (Array.isArray(message) &&\n message.length === 1 &&\n message[0].type === TYPE.literal) {\n return message[0].value;\n }\n // IMPORTANT: Hot path straight lookup for performance\n if (!values &&\n message &&\n typeof message === 'string' &&\n !defaultRichTextElements) {\n return message.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n }\n values = __assign(__assign({}, defaultRichTextElements), (values || {}));\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n if (!message) {\n if (fallbackOnEmptyString === false && message === '') {\n return message;\n }\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale.\n onError(new MissingTranslationError(messageDescriptor, locale));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting default message for: \\\"\".concat(id, \"\\\", rendering default message verbatim\"), locale, messageDescriptor, e));\n return typeof defaultMessage === 'string' ? defaultMessage : id;\n }\n }\n return id;\n }\n // We have the translated message\n try {\n var formatter = state.getMessageFormat(message, locale, formats, __assign({ formatters: state }, (opts || {})));\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting message: \\\"\".concat(id, \"\\\", using \").concat(defaultMessage ? 'default message' : 'id', \" as fallback.\"), locale, messageDescriptor, e));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting the default message for: \\\"\".concat(id, \"\\\", rendering message verbatim\"), locale, messageDescriptor, e));\n }\n }\n if (typeof message === 'string') {\n return message;\n }\n if (typeof defaultMessage === 'string') {\n return defaultMessage;\n }\n return id;\n};\n","import { __assign } from \"tslib\";\nimport { filterProps, getNamedFormat } from './utils';\nimport { IntlFormatError } from './error';\nvar DATE_TIME_FORMAT_OPTIONS = [\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'hourCycle',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n // 'dayPeriod',\n 'numberingSystem',\n 'fractionalSecondDigits',\n];\nexport function getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError, timeZone = _a.timeZone;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = __assign(__assign({}, (timeZone && { timeZone: timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second &&\n !filteredOptions.timeStyle &&\n !filteredOptions.dateStyle) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign(__assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var from = _a[0], to = _a[1], _b = _a[2], options = _b === void 0 ? {} : _b;\n var timeZone = config.timeZone, locale = config.locale, onError = config.onError;\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, timeZone ? { timeZone: timeZone } : {});\n try {\n return getDateTimeFormat(locale, filteredOptions).formatRange(from, to);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting date time range.', config.locale, e));\n }\n return String(from);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return [];\n}\n","import { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar DISPLAY_NAMES_OPTONS = [\n 'style',\n 'type',\n 'fallback',\n 'languageDisplay',\n];\nexport function formatDisplayName(_a, getDisplayNames, value, options) {\n var locale = _a.locale, onError = _a.onError;\n var DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting display name.', locale, e));\n }\n}\n","import { __assign } from \"tslib\";\nimport { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar LIST_FORMAT_OPTIONS = [\n 'type',\n 'style',\n];\nvar now = Date.now();\nfunction generateToken(i) {\n return \"\".concat(now, \"_\").concat(i, \"_\").concat(now);\n}\nexport function formatList(opts, getListFormat, values, options) {\n if (options === void 0) { options = {}; }\n var results = formatListToParts(opts, getListFormat, values, options).reduce(function (all, el) {\n var val = el.value;\n if (typeof val !== 'string') {\n all.push(val);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n return results.length === 1 ? results[0] : results.length === 0 ? '' : results;\n}\nexport function formatListToParts(_a, getListFormat, values, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n var richValues_1 = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n return String(v);\n });\n return getListFormat(locale, filteredOptions)\n .formatToParts(serializedValues)\n .map(function (part) {\n return part.type === 'literal'\n ? part\n : __assign(__assign({}, part), { value: richValues_1[part.value] || part.value });\n });\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting list.', locale, e));\n }\n // @ts-ignore\n return values;\n}\n","import { filterProps } from './utils';\nimport { IntlFormatError } from './error';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nvar PLURAL_FORMAT_OPTIONS = ['type'];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n if (!Intl.PluralRules) {\n onError(new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting plural.', locale, e));\n }\n return 'other';\n}\n","import { getNamedFormat, filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) { options = {}; }\n if (!unit) {\n unit = 'second';\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting relative time.', config.locale, e));\n }\n return String(value);\n}\n","import { IntlFormatError } from './error';\nimport { filterProps, getNamedFormat } from './utils';\nvar NUMBER_FORMAT_OPTIONS = [\n 'style',\n 'currency',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // ES2020 NumberFormat\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'numberingSystem',\n // ES2023 NumberFormat\n 'trailingZeroDisplay',\n 'roundingPriority',\n 'roundingIncrement',\n 'roundingMode',\n];\nexport function getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return [];\n}\n","import { __assign } from \"tslib\";\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils';\nimport { InvalidConfigError, MissingDataError } from './error';\nimport { formatNumber, formatNumberToParts } from './number';\nimport { formatRelativeTime } from './relativeTime';\nimport { formatDate, formatDateToParts, formatTime, formatTimeToParts, formatDateTimeRange, } from './dateTime';\nimport { formatPlural } from './plural';\nimport { formatMessage } from './message';\nimport { formatList, formatListToParts } from './list';\nimport { formatDisplayName } from './displayName';\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\nfunction verifyConfigMessages(config) {\n if (config.onWarn &&\n config.defaultRichTextElements &&\n messagesContainString(config.messages || {})) {\n config.onWarn(\"[@formatjs/intl] \\\"defaultRichTextElements\\\" was specified but \\\"message\\\" was not pre-compiled. \\nPlease consider using \\\"@formatjs/cli\\\" to pre-compile your messages for performance.\\nFor more details see https://formatjs.io/docs/getting-started/message-distribution\");\n }\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n var formatters = createFormatters(cache);\n var resolvedConfig = __assign(__assign({}, DEFAULT_INTL_CONFIG), config);\n var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError;\n if (!locale) {\n if (onError) {\n onError(new InvalidConfigError(\"\\\"locale\\\" was not configured, using \\\"\".concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details\")));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.NumberFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n verifyConfigMessages(resolvedConfig);\n return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), \n // @ts-expect-error TODO: will get to this later\n formatMessage: formatMessage.bind(null, resolvedConfig, formatters), \n // @ts-expect-error TODO: will get to this later\n $t: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\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","import { createIntl, createIntlCache } from \"@formatjs/intl\";\nimport Cookies from \"js-cookie\";\nimport { cloneElement, isValidElement } from \"react\";\nimport translationEn from \"../locales/en.json\";\nimport translationFr from \"../locales/fr.json\";\n\nexport type TranslationKey = keyof typeof translationFr;\ntype TranslationKeyEn = keyof typeof translationEn;\nexport type _MissingEnKeys = Exclude;\n\nexport type TranslationParams = Record;\nexport type NestedTranslationParams = Record<\n string,\n string | number | ((children: React.ReactNode) => React.ReactNode)\n>;\n\ntype I18nConfig = {\n cookieKey: string;\n cookieExpires: number;\n cookieDomain: string;\n locales: Record;\n};\n\nconst CONFIG = {\n // comes from website project bireme.io\n // we use the same cookie to sync the locale between the website and all apps\n cookieKey: \"NEXT_LOCALE\",\n cookieExpires: 365,\n cookieDomain: window.location.hostname.split(\".\").slice(-2).join(\".\"),\n locales: {\n fr: translationFr,\n // if there there is type error, check _MissingEnKeys\n en: translationEn,\n },\n} satisfies I18nConfig;\n\ntype Locale = keyof typeof CONFIG.locales;\n\nconst isLocale = (locale: string | undefined): locale is Locale =>\n Object.keys(CONFIG.locales).includes(locale as Locale);\n\nconst getLocale = (): Locale => {\n // get locale from cookie\n const cookieLocale = Cookies.get(CONFIG.cookieKey);\n if (isLocale(cookieLocale)) {\n return cookieLocale;\n }\n\n // if locale is not set in cookie, get it from browser\n const DEFAULT_LOCAL = \"en\";\n const browserLocale = navigator.language.split(\"-\")[0];\n const locale = isLocale(browserLocale) ? browserLocale : DEFAULT_LOCAL;\n\n // set locale in cookie\n Cookies.set(CONFIG.cookieKey, locale, {\n expires: CONFIG.cookieExpires,\n domain: CONFIG.cookieDomain,\n });\n\n return locale;\n};\n\nexport const setLocale = (locale: Locale) => {\n Cookies.set(CONFIG.cookieKey, locale, {\n expires: CONFIG.cookieExpires,\n domain: CONFIG.cookieDomain,\n });\n window.location.reload();\n};\n\nexport const locale = getLocale();\n\nconst intl = createIntl(\n {\n defaultLocale: locale,\n fallbackOnEmptyString: false,\n locale: locale,\n messages: CONFIG.locales[locale],\n },\n createIntlCache(),\n);\n\nexport const t = (key: TranslationKey, params?: TranslationParams) =>\n intl.formatMessage({ id: key, defaultMessage: translationFr[key] }, params).toString();\n\nexport const tNested = (key: TranslationKey, params?: NestedTranslationParams) => {\n const result = intl.formatMessage(\n { id: key, defaultMessage: translationFr[key] },\n // @ts-expect-error params can accept a function\n params,\n ) as string | (string | React.ReactElement)[];\n\n if (typeof result === \"string\") {\n return result;\n }\n\n return result.map((part, index) =>\n isValidElement(part) ? cloneElement(part, { key: index }) : part,\n );\n};\n\ntype Currency = \"EUR\";\n\nexport const formatCurrency = (value: number, currency: Currency) =>\n new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency,\n }).format(value);\n\nexport const currencyLabels: Record = {\n EUR: \"€\",\n};\n","import dayjs from \"dayjs\";\nimport duration from \"dayjs/plugin/duration\";\nimport { useEffect, useState } from \"react\";\nimport { DateTime } from \"./graphql\";\nimport { t } from \"./i18n\";\n\ndayjs.extend(duration);\n\nexport const useNow = () => {\n const [now, setNow] = useState(dayjs);\n\n useEffect(() => {\n const interval = setInterval(() => {\n setNow(dayjs());\n }, 1000);\n\n return () => clearInterval(interval);\n }, []);\n\n return now;\n};\n\nexport const formatDateTime = (date: DateTime) => {\n return dayjs(date).format(\"DD-MM-YYYY HH:mm:ss\");\n};\n\nexport const formatDurationFromNow = (date: DateTime) => {\n const from = dayjs(date);\n const today = dayjs();\n\n const isToday = from.isSame(today, \"day\");\n if (isToday) {\n const isMorning = from.hour() < 12;\n const time = from.format(\"HH:mm\");\n return isMorning ? t(\"utils.date.morning_at\", { time }) : t(\"utils.date.today_at\", { time });\n }\n\n const isYesterday = from.isSame(today.subtract(1, \"day\"), \"day\");\n if (isYesterday) {\n const time = from.format(\"HH:mm\");\n return t(\"utils.date.yesterday_at\", { time });\n }\n\n const duration = dayjs.duration(today.diff(from));\n const days = duration.days();\n const weeks = duration.weeks();\n const months = duration.months();\n\n if (months > 0) {\n return t(\"utils.date.months_ago\", { count: months });\n }\n\n if (weeks > 0) {\n return t(\"utils.date.weeks_ago\", { count: weeks });\n }\n\n if (days > 0) {\n return t(\"utils.date.days_ago\", { count: days });\n }\n\n // if the date is in the future, we just format the date\n return t(\"utils.date.date_at\", { date: from.format(\"DD/MM/YYYY\"), time: from.format(\"HH:mm\") });\n};\n","var t=function(t){return Object.keys(t)},n=function(t){return Object.values(t)},r=Object.prototype.hasOwnProperty,e={__proto__:null,fromEntries:Object.fromEntries,entries:function(t){return Object.entries(t)},keys:t,values:n,fromOptional:function(t){var n={};for(var e in t)if(r.call(t,e)){var o=t[e];if(void 0===o)continue;o.isSome()&&(n[e]=o.get())}return n}},o=Symbol.for(\"__boxed_type__\"),u=function(t,n){for(var r=Math.min(t.length,n.length),e=Array(r),o=-1;++o=r)return{v:e};var n=t[o];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),o++};;)if(n=u())return n.v},i.allFromDict=function(r){var e=t(r);return s.all(n(r)).map(function(t){return Object.fromEntries(u(e,t))})},i.equals=function(t,n,r){return t.isSome()&&n.isSome()?r(t.get(),n.get()):t.tag===n.tag},i.fromJSON=function(t){return\"None\"===t.tag?s.None():s.Some(t.value)},i.prototype.__boxed_type__=\"Option\";var a,c=Object.create(null,Object.getOwnPropertyDescriptors(i.prototype)),f=((a=Object.create(c)).tag=\"None\",a),s=i,l=/*#__PURE__*/function(){function t(){}var n=t.prototype;return n.map=function(t){return\"Ok\"===this.tag?v.Ok(t(this.value)):this},n.mapError=function(t){return\"Ok\"===this.tag?this:v.Error(t(this.error))},n.flatMap=function(t){return\"Ok\"===this.tag?t(this.value):this},n.flatMapError=function(t){return\"Ok\"===this.tag?this:t(this.error)},n.get=function(){return this.value},n.getError=function(){return this.error},n.getWithDefault=function(t){return\"Ok\"===this.tag?this.value:t},n.getOr=function(t){return\"Ok\"===this.tag?this.value:t},n.match=function(t){return\"Ok\"===this.tag?t.Ok(this.value):t.Error(this.error)},n.tap=function(t){return t(this),this},n.tapOk=function(t){return\"Ok\"===this.tag&&t(this.value),this},n.tapError=function(t){return\"Error\"===this.tag&&t(this.error),this},n.toOption=function(){return\"Ok\"===this.tag?s.Some(this.value):f},n.isOk=function(){return\"Ok\"===this.tag},n.isError=function(){return\"Error\"===this.tag},n.toJSON=function(){return this.match({Ok:function(t){var n;return(n={})[o]=\"Result\",n.tag=\"Ok\",n.value=t,n},Error:function(t){var n;return(n={})[o]=\"Result\",n.tag=\"Error\",n.error=t,n}})},t}();l.P={Ok:function(t){return{tag:\"Ok\",value:t}},Error:function(t){return{tag:\"Error\",error:t}}},l.Ok=function(t){var n=Object.create(h);return n.tag=\"Ok\",n.value=t,n},l.Error=function(t){var n=Object.create(h);return n.tag=\"Error\",n.error=t,n},l.isResult=function(t){return null!=t&&\"Result\"===t.__boxed_type__},l.fromExecution=function(t){try{return v.Ok(t())}catch(t){return v.Error(t)}},l.fromPromise=function(t){try{return Promise.resolve(function(n,r){try{var e=Promise.resolve(t).then(function(t){return v.Ok(t)})}catch(t){return r(t)}return e&&e.then?e.then(void 0,r):e}(0,function(t){return v.Error(t)}))}catch(t){return Promise.reject(t)}},l.fromOption=function(t,n){return t.toResult(n)},l.all=function(t){for(var n,r=t.length,e=v.Ok([]),o=0,u=function(){if(o>=r)return{v:e};var n=t[o];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),o++};;)if(n=u())return n.v},l.allFromDict=function(r){var e=t(r);return v.all(n(r)).map(function(t){return Object.fromEntries(u(e,t))})},l.equals=function(t,n,r){return t.tag===n.tag&&(!(!t.isError()||!n.isError())||!(!t.isOk()||!n.isOk())&&r(t.get(),n.get()))},l.fromJSON=function(t){return\"Ok\"===t.tag?v.Ok(t.value):v.Error(t.error)},l.prototype.__boxed_type__=\"Result\";var h=Object.create(null,Object.getOwnPropertyDescriptors(l.prototype)),v=l,p=function(t,n){return t===n?0:t>n?1:-1},m={__proto__:null,from:Array.from,of:Array.of,isArray:Array.isArray,findMap:function(t,n){for(var r=-1;++r0?e=u:i<0&&(o=u)}},unzip:function(t){for(var n=t.length,r=Array(n),e=Array(n),o=-1;++o=r)return{v:e};var n=t[o];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),o++};;)if(n=u())return n.v},O.allFromDict=function(r){var e=t(r);return y.all(n(r)).map(function(t){return Object.fromEntries(u(e,t))})},O.equals=function(t,n,r){return\"Done\"===t.tag&&\"Done\"===n.tag?r(t.value,n.value):t.tag===n.tag},O.isAsyncData=function(t){return null!=t&&\"AsyncData\"===t.__boxed_type__},O.fromJSON=function(t){return\"NotAsked\"===t.tag?y.NotAsked():\"Loading\"===t.tag?y.Loading():y.Done(t.value)},O.prototype.__boxed_type__=\"AsyncData\";var g,_=Object.create(null,Object.getOwnPropertyDescriptors(O.prototype)),k=((g=Object.create(_)).tag=\"Loading\",g),d=function(){var t=Object.create(_);return t.tag=\"NotAsked\",t}(),y=O,E=/*#__PURE__*/function(){function t(){this._state=void 0,this._state={tag:\"Pending\"}}t.fromPromise=function(t){return N.make(function(n){t.then(function(t){return n(v.Ok(t))},function(t){return n(v.Error(t))})})};var n=t.prototype;return n.onResolve=function(t){var n;\"Pending\"===this._state.tag?(this._state.resolveCallbacks=null!=(n=this._state.resolveCallbacks)?n:[],this._state.resolveCallbacks.push(t)):\"Resolved\"===this._state.tag&&t(this._state.value)},n.onCancel=function(t){var n;\"Pending\"===this._state.tag?(this._state.cancelCallbacks=null!=(n=this._state.cancelCallbacks)?n:[],this._state.cancelCallbacks.push(t)):\"Cancelled\"===this._state.tag&&t()},n.cancel=function(){if(\"Pending\"===this._state.tag){var t=this._state,n=t.cancel,r=t.cancelCallbacks;this._state={tag:\"Cancelled\"},null!=n&&n(),null==r||r.forEach(function(t){return t()})}},n.map=function(t,n){var r=this;void 0===n&&(n=!1);var e=N.make(function(e){if(r.onResolve(function(n){e(t(n))}),n)return function(){r.cancel()}});return this.onCancel(function(){e.cancel()}),e},n.then=function(t){return this.onResolve(t),this},n.flatMap=function(t,n){var r=this;void 0===n&&(n=!1);var e=N.make(function(o){if(r.onResolve(function(n){var r=t(n);r.onResolve(o),r.onCancel(function(){return e.cancel()})}),n)return function(){r.cancel()}});return this.onCancel(function(){e.cancel()}),e},n.tap=function(t){return this.onResolve(t),this},n.tapOk=function(t){return this.onResolve(function(n){n.match({Ok:function(n){return t(n)},Error:function(){}})}),this},n.tapError=function(t){return this.onResolve(function(n){n.match({Ok:function(){},Error:function(n){return t(n)}})}),this},n.mapOkToResult=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return n}})},n)},n.mapErrorToResult=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Error:function(n){return t(n)},Ok:function(){return n}})},n)},n.mapOk=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(n){return v.Ok(t(n))},Error:function(){return n}})},n)},n.mapError=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(){return n},Error:function(n){return v.Error(t(n))}})},n)},n.flatMapOk=function(t,n){return void 0===n&&(n=!1),this.flatMap(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return N.value(n)}})},n)},n.flatMapError=function(t,n){return void 0===n&&(n=!1),this.flatMap(function(n){return n.match({Ok:function(){return N.value(n)},Error:function(n){return t(n)}})},n)},n.toPromise=function(){var t=this;return new Promise(function(n){t.onResolve(n)})},n.resultToPromise=function(){var t=this;return new Promise(function(n,r){t.onResolve(function(t){t.match({Ok:n,Error:r})})})},t}();E.make=function(t){var n=Object.create(b);return n._state={tag:\"Pending\"},n._state.cancel=t(function(t){if(\"Pending\"===n._state.tag){var r=n._state.resolveCallbacks;n._state={tag:\"Resolved\",value:t},null==r||r.forEach(function(n){return n(t)})}}),n},E.isFuture=function(t){return null!=t&&Object.prototype.isPrototypeOf.call(b,t)},E.value=function(t){var n=Object.create(b);return n._state={tag:\"Resolved\",value:t},n},E.all=function(t,n){void 0===n&&(n=!1);for(var r,e=t.length,o=N.value([]),u=0,i=function(){if(u>=e)return{v:o};var r=t[u];null!=r&&(o=o.flatMap(function(t){return r.map(function(n){return t.push(n),t},n)},n)),u++};;)if(r=i())return r.v},E.allFromDict=function(r){var e=t(r);return N.all(n(r)).map(function(t){return Object.fromEntries(u(e,t))})};var b=Object.create(null,Object.getOwnPropertyDescriptors(E.prototype)),N=E,S={make:function(){var t;return[N.make(function(n){t=n}),t]}},D=Symbol(\"NOT_COMPUTED\"),j=function(t){var n={contents:D};return{get:function(){return n.contents===D&&(n.contents=t()),n.contents}}};function A(){return A=Object.assign?Object.assign.bind():function(t){for(var n=1;n 80) {\n r += \"(\" + (f += \" \") + mapJoin(e.arguments, f, m.Argument) + (f = f.slice(0, -2)) + \")\";\n } else {\n r += \"(\" + i + \")\";\n }\n }\n if (e.directives && e.directives.length) {\n r += \" \" + mapJoin(e.directives, \" \", m.Directive);\n }\n if (e.selectionSet) {\n r += \" \" + m.SelectionSet(e.selectionSet);\n }\n return r;\n },\n StringValue(e) {\n if (e.block) {\n return printBlockString(e.value).replace(/\\n/g, f);\n } else {\n return printString(e.value);\n }\n },\n BooleanValue: e => \"\" + e.value,\n NullValue: e => \"null\",\n IntValue: e => e.value,\n FloatValue: e => e.value,\n EnumValue: e => e.value,\n Name: e => e.value,\n Variable: e => \"$\" + e.name.value,\n ListValue: e => \"[\" + mapJoin(e.values, \", \", _print) + \"]\",\n ObjectValue: e => \"{\" + mapJoin(e.fields, \", \", m.ObjectField) + \"}\",\n ObjectField: e => e.name.value + \": \" + _print(e.value),\n Document(e) {\n if (!e.definitions || !e.definitions.length) {\n return \"\";\n }\n return mapJoin(e.definitions, \"\\n\\n\", _print);\n },\n SelectionSet: e => \"{\" + (f += \" \") + mapJoin(e.selections, f, _print) + (f = f.slice(0, -2)) + \"}\",\n Argument: e => e.name.value + \": \" + _print(e.value),\n FragmentSpread(e) {\n var r = \"...\" + e.name.value;\n if (e.directives && e.directives.length) {\n r += \" \" + mapJoin(e.directives, \" \", m.Directive);\n }\n return r;\n },\n InlineFragment(e) {\n var r = \"...\";\n if (e.typeCondition) {\n r += \" on \" + e.typeCondition.name.value;\n }\n if (e.directives && e.directives.length) {\n r += \" \" + mapJoin(e.directives, \" \", m.Directive);\n }\n return r += \" \" + m.SelectionSet(e.selectionSet);\n },\n FragmentDefinition(e) {\n var r = \"fragment \" + e.name.value;\n r += \" on \" + e.typeCondition.name.value;\n if (e.directives && e.directives.length) {\n r += \" \" + mapJoin(e.directives, \" \", m.Directive);\n }\n return r + \" \" + m.SelectionSet(e.selectionSet);\n },\n Directive(e) {\n var r = \"@\" + e.name.value;\n if (e.arguments && e.arguments.length) {\n r += \"(\" + mapJoin(e.arguments, \", \", m.Argument) + \")\";\n }\n return r;\n },\n NamedType: e => e.name.value,\n ListType: e => \"[\" + _print(e.type) + \"]\",\n NonNullType: e => _print(e.type) + \"!\"\n};\n\nvar _print = e => m[e.kind](e);\n\nfunction print(e) {\n f = \"\\n\";\n return m[e.kind] ? m[e.kind](e) : \"\";\n}\n\nfunction valueFromASTUntyped(e, r) {\n switch (e.kind) {\n case \"NullValue\":\n return null;\n\n case \"IntValue\":\n return parseInt(e.value, 10);\n\n case \"FloatValue\":\n return parseFloat(e.value);\n\n case \"StringValue\":\n case \"EnumValue\":\n case \"BooleanValue\":\n return e.value;\n\n case \"ListValue\":\n var i = [];\n for (var n of e.values) {\n i.push(valueFromASTUntyped(n, r));\n }\n return i;\n\n case \"ObjectValue\":\n var a = Object.create(null);\n for (var t of e.fields) {\n a[t.name.value] = valueFromASTUntyped(t.value, r);\n }\n return a;\n\n case \"Variable\":\n return r && r[e.name.value];\n }\n}\n\nfunction valueFromTypeNode(e, r, i) {\n if (\"Variable\" === e.kind) {\n return i ? valueFromTypeNode(i[e.name.value], r, i) : void 0;\n } else if (\"NonNullType\" === r.kind) {\n return \"NullValue\" !== e.kind ? valueFromTypeNode(e, r, i) : void 0;\n } else if (\"NullValue\" === e.kind) {\n return null;\n } else if (\"ListType\" === r.kind) {\n if (\"ListValue\" === e.kind) {\n var n = [];\n for (var a of e.values) {\n var t = valueFromTypeNode(a, r.type, i);\n if (void 0 === t) {\n return;\n } else {\n n.push(t);\n }\n }\n return n;\n }\n } else if (\"NamedType\" === r.kind) {\n switch (r.name.value) {\n case \"Int\":\n case \"Float\":\n case \"String\":\n case \"Bool\":\n return r.name.value + \"Value\" === e.kind ? valueFromASTUntyped(e, i) : void 0;\n\n default:\n return valueFromASTUntyped(e, i);\n }\n }\n}\n\nexport { c as BREAK, GraphQLError, e as Kind, r as OperationTypeNode, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };\n//# sourceMappingURL=graphql.web.mjs.map\n","import { Kind as n, parse as r } from \"@0no-co/graphql.web\";\n\nfunction initGraphQLTada() {\n function graphql(e, i) {\n var a = r(e).definitions;\n var t = new Set;\n for (var s of i || []) {\n for (var d of s.definitions) {\n if (d.kind === n.FRAGMENT_DEFINITION && !t.has(d)) {\n a.push(d);\n t.add(d);\n }\n }\n }\n if (a[0].kind === n.FRAGMENT_DEFINITION && a[0].directives) {\n a[0].directives = a[0].directives.filter((n => \"_unmask\" !== n.name.value));\n }\n return {\n kind: n.DOCUMENT,\n definitions: a\n };\n }\n graphql.scalar = function scalar(n, r) {\n return r;\n };\n graphql.persisted = function persisted(r, e) {\n return {\n kind: n.DOCUMENT,\n definitions: e ? e.definitions : [],\n documentId: r\n };\n };\n return graphql;\n}\n\nfunction parse(n) {\n return r(n);\n}\n\nfunction readFragment(...n) {\n return 2 === n.length ? n[1] : n[0];\n}\n\nfunction maskFragments(n, r) {\n return r;\n}\n\nfunction unsafe_readResult(n, r) {\n return r;\n}\n\nvar e = initGraphQLTada();\n\nexport { e as graphql, initGraphQLTada, maskFragments, parse, readFragment, unsafe_readResult };\n//# sourceMappingURL=gql-tada.mjs.map\n","export const defaultJsonSerializer = JSON;\n//# sourceMappingURL=defaultJsonSerializer.js.map","export const uppercase = (str) => str.toUpperCase();\n/**\n * Convert Headers instance into regular object\n */\nexport const HeadersInstanceToPlainObject = (headers) => {\n const o = {};\n headers.forEach((v, k) => {\n o[k] = v;\n });\n return o;\n};\n//# sourceMappingURL=helpers.js.map","export const parseRequestArgs = (documentOrOptions, variables, requestHeaders) => {\n return documentOrOptions.document\n ? documentOrOptions\n : {\n document: documentOrOptions,\n variables: variables,\n requestHeaders: requestHeaders,\n signal: undefined,\n };\n};\nexport const parseRawRequestArgs = (queryOrOptions, variables, requestHeaders) => {\n return queryOrOptions.query\n ? queryOrOptions\n : {\n query: queryOrOptions,\n variables: variables,\n requestHeaders: requestHeaders,\n signal: undefined,\n };\n};\nexport const parseBatchRequestArgs = (documentsOrOptions, requestHeaders) => {\n return documentsOrOptions.documents\n ? documentsOrOptions\n : {\n documents: documentsOrOptions,\n requestHeaders: requestHeaders,\n signal: undefined,\n };\n};\nexport const parseRequestExtendedArgs = (urlOrOptions, document, ...variablesAndRequestHeaders) => {\n const [variables, requestHeaders] = variablesAndRequestHeaders;\n return urlOrOptions.document\n ? urlOrOptions\n : {\n url: urlOrOptions,\n document: document,\n variables,\n requestHeaders,\n signal: undefined,\n };\n};\nexport const parseRawRequestExtendedArgs = (urlOrOptions, query, ...variablesAndRequestHeaders) => {\n const [variables, requestHeaders] = variablesAndRequestHeaders;\n return urlOrOptions.query\n ? urlOrOptions\n : {\n url: urlOrOptions,\n query: query,\n variables,\n requestHeaders,\n signal: undefined,\n };\n};\n//# sourceMappingURL=parseArgs.js.map","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\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 function isObjectLike(value) {\n return typeof value == 'object' && value !== null;\n}\n","export function invariant(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(\n message != null ? message : 'Unexpected invariant triggered.',\n );\n }\n}\n","import { invariant } from '../jsutils/invariant.mjs';\nconst LineRegExp = /\\r\\n|[\\n\\r]/g;\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 let lastLineStart = 0;\n let line = 1;\n\n for (const match of source.body.matchAll(LineRegExp)) {\n typeof match.index === 'number' || invariant(false);\n\n if (match.index >= position) {\n break;\n }\n\n lastLineStart = match.index + match[0].length;\n line += 1;\n }\n\n return {\n line,\n column: position + 1 - lastLineStart,\n };\n}\n","import { getLocation } from './location.mjs';\n\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\nexport function printLocation(location) {\n return printSourceLocation(\n location.source,\n getLocation(location.source, location.start),\n );\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n const firstLineColumnOffset = source.locationOffset.column - 1;\n const body = ''.padStart(firstLineColumnOffset) + source.body;\n const lineIndex = sourceLocation.line - 1;\n const lineOffset = source.locationOffset.line - 1;\n const lineNum = sourceLocation.line + lineOffset;\n const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n const columnNum = sourceLocation.column + columnOffset;\n const locationStr = `${source.name}:${lineNum}:${columnNum}\\n`;\n const lines = body.split(/\\r\\n|[\\n\\r]/g);\n const locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n const subLineIndex = Math.floor(columnNum / 80);\n const subLineColumnNum = columnNum % 80;\n const subLines = [];\n\n for (let i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return (\n locationStr +\n printPrefixedLines([\n [`${lineNum} |`, subLines[0]],\n ...subLines.slice(1, subLineIndex + 1).map((subLine) => ['|', subLine]),\n ['|', '^'.padStart(subLineColumnNum)],\n ['|', subLines[subLineIndex + 1]],\n ])\n );\n }\n\n return (\n locationStr +\n printPrefixedLines([\n // Lines specified like this: [\"prefix\", \"string\"],\n [`${lineNum - 1} |`, lines[lineIndex - 1]],\n [`${lineNum} |`, locationLine],\n ['|', '^'.padStart(columnNum)],\n [`${lineNum + 1} |`, lines[lineIndex + 1]],\n ])\n );\n}\n\nfunction printPrefixedLines(lines) {\n const existingLines = lines.filter(([_, line]) => line !== undefined);\n const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));\n return existingLines\n .map(([prefix, line]) => prefix.padStart(padLen) + (line ? ' ' + line : ''))\n .join('\\n');\n}\n","import { isObjectLike } from '../jsutils/isObjectLike.mjs';\nimport { getLocation } from '../language/location.mjs';\nimport {\n printLocation,\n printSourceLocation,\n} from '../language/printLocation.mjs';\n\nfunction toNormalizedOptions(args) {\n const firstArg = args[0];\n\n if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {\n return {\n nodes: firstArg,\n source: args[1],\n positions: args[2],\n path: args[3],\n originalError: args[4],\n extensions: args[5],\n };\n }\n\n return firstArg;\n}\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 class GraphQLError extends Error {\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\n /**\n * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n */\n constructor(message, ...rawArgs) {\n var _this$nodes, _nodeLocations$, _ref;\n\n const { nodes, source, positions, path, originalError, extensions } =\n toNormalizedOptions(rawArgs);\n super(message);\n this.name = 'GraphQLError';\n this.path = path !== null && path !== void 0 ? path : undefined;\n this.originalError =\n originalError !== null && originalError !== void 0\n ? originalError\n : undefined; // Compute list of blame nodes.\n\n this.nodes = undefinedIfEmpty(\n Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,\n );\n const nodeLocations = undefinedIfEmpty(\n (_this$nodes = this.nodes) === null || _this$nodes === void 0\n ? void 0\n : _this$nodes.map((node) => node.loc).filter((loc) => loc != null),\n ); // Compute locations in the source for the given nodes/positions.\n\n this.source =\n source !== null && source !== void 0\n ? source\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : (_nodeLocations$ = nodeLocations[0]) === null ||\n _nodeLocations$ === void 0\n ? void 0\n : _nodeLocations$.source;\n this.positions =\n positions !== null && positions !== void 0\n ? positions\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => loc.start);\n this.locations =\n positions && source\n ? positions.map((pos) => getLocation(source, pos))\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => getLocation(loc.source, loc.start));\n const originalExtensions = isObjectLike(\n originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions,\n )\n ? originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions\n : undefined;\n this.extensions =\n (_ref =\n extensions !== null && extensions !== void 0\n ? extensions\n : originalExtensions) !== null && _ref !== void 0\n ? _ref\n : Object.create(null); // Only properties prescribed by the spec should be enumerable.\n // Keep the rest as non-enumerable.\n\n Object.defineProperties(this, {\n message: {\n writable: true,\n enumerable: true,\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 /* c8 ignore start */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n\n if (\n originalError !== null &&\n originalError !== void 0 &&\n originalError.stack\n ) {\n Object.defineProperty(this, 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true,\n });\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, GraphQLError);\n } else {\n Object.defineProperty(this, 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true,\n });\n }\n /* c8 ignore stop */\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n\n toString() {\n let output = this.message;\n\n if (this.nodes) {\n for (const node of this.nodes) {\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (this.source && this.locations) {\n for (const location of this.locations) {\n output += '\\n\\n' + printSourceLocation(this.source, location);\n }\n }\n\n return output;\n }\n\n toJSON() {\n const formattedError = {\n message: this.message,\n };\n\n if (this.locations != null) {\n formattedError.locations = this.locations;\n }\n\n if (this.path != null) {\n formattedError.path = this.path;\n }\n\n if (this.extensions != null && Object.keys(this.extensions).length > 0) {\n formattedError.extensions = this.extensions;\n }\n\n return formattedError;\n }\n}\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * See: https://spec.graphql.org/draft/#sec-Errors\n */\n\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */\nexport function printError(error) {\n return error.toString();\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */\n\nexport function formatError(error) {\n return error.toJSON();\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: ${description}`, {\n source,\n positions: [position],\n });\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 class Location {\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 constructor(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 get [Symbol.toStringTag]() {\n return 'Location';\n }\n\n toJSON() {\n return {\n start: this.start,\n end: this.end,\n };\n }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\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 * Note: is undefined for punctuation tokens, but typed as string for\n * convenience in the parser.\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 constructor(kind, start, end, line, column, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n this.value = value;\n this.prev = null;\n this.next = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'Token';\n }\n\n toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column,\n };\n }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: [\n 'name',\n 'variableDefinitions',\n 'directives',\n 'selectionSet',\n ],\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: [\n 'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n 'variableDefinitions',\n 'typeCondition',\n 'directives',\n 'selectionSet',\n ],\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: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: [\n 'description',\n 'name',\n 'type',\n 'defaultValue',\n 'directives',\n ],\n InterfaceTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\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};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n const maybeKind =\n maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n OperationTypeNode['QUERY'] = 'query';\n OperationTypeNode['MUTATION'] = 'mutation';\n OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed directive location values.\n */\nvar DirectiveLocation;\n\n(function (DirectiveLocation) {\n DirectiveLocation['QUERY'] = 'QUERY';\n DirectiveLocation['MUTATION'] = 'MUTATION';\n DirectiveLocation['SUBSCRIPTION'] = 'SUBSCRIPTION';\n DirectiveLocation['FIELD'] = 'FIELD';\n DirectiveLocation['FRAGMENT_DEFINITION'] = 'FRAGMENT_DEFINITION';\n DirectiveLocation['FRAGMENT_SPREAD'] = 'FRAGMENT_SPREAD';\n DirectiveLocation['INLINE_FRAGMENT'] = 'INLINE_FRAGMENT';\n DirectiveLocation['VARIABLE_DEFINITION'] = 'VARIABLE_DEFINITION';\n DirectiveLocation['SCHEMA'] = 'SCHEMA';\n DirectiveLocation['SCALAR'] = 'SCALAR';\n DirectiveLocation['OBJECT'] = 'OBJECT';\n DirectiveLocation['FIELD_DEFINITION'] = 'FIELD_DEFINITION';\n DirectiveLocation['ARGUMENT_DEFINITION'] = 'ARGUMENT_DEFINITION';\n DirectiveLocation['INTERFACE'] = 'INTERFACE';\n DirectiveLocation['UNION'] = 'UNION';\n DirectiveLocation['ENUM'] = 'ENUM';\n DirectiveLocation['ENUM_VALUE'] = 'ENUM_VALUE';\n DirectiveLocation['INPUT_OBJECT'] = 'INPUT_OBJECT';\n DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION';\n})(DirectiveLocation || (DirectiveLocation = {}));\n\nexport { DirectiveLocation };\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n Kind['NAME'] = 'Name';\n Kind['DOCUMENT'] = 'Document';\n Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n Kind['SELECTION_SET'] = 'SelectionSet';\n Kind['FIELD'] = 'Field';\n Kind['ARGUMENT'] = 'Argument';\n Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n Kind['VARIABLE'] = 'Variable';\n Kind['INT'] = 'IntValue';\n Kind['FLOAT'] = 'FloatValue';\n Kind['STRING'] = 'StringValue';\n Kind['BOOLEAN'] = 'BooleanValue';\n Kind['NULL'] = 'NullValue';\n Kind['ENUM'] = 'EnumValue';\n Kind['LIST'] = 'ListValue';\n Kind['OBJECT'] = 'ObjectValue';\n Kind['OBJECT_FIELD'] = 'ObjectField';\n Kind['DIRECTIVE'] = 'Directive';\n Kind['NAMED_TYPE'] = 'NamedType';\n Kind['LIST_TYPE'] = 'ListType';\n Kind['NON_NULL_TYPE'] = 'NonNullType';\n Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","/**\n * ```\n * WhiteSpace ::\n * - \"Horizontal Tab (U+0009)\"\n * - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\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 * - `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 * @internal\n */\n\nexport function isLetter(code) {\n return (\n (code >= 0x0061 && code <= 0x007a) || // A-Z\n (code >= 0x0041 && code <= 0x005a) // a-z\n );\n}\n/**\n * ```\n * NameStart ::\n * - Letter\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n * - Letter\n * - Digit\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\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 */\n\nexport function dedentBlockStringLines(lines) {\n var _firstNonEmptyLine2;\n\n let commonIndent = Number.MAX_SAFE_INTEGER;\n let firstNonEmptyLine = null;\n let lastNonEmptyLine = -1;\n\n for (let i = 0; i < lines.length; ++i) {\n var _firstNonEmptyLine;\n\n const line = lines[i];\n const indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n firstNonEmptyLine =\n (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine !== void 0\n ? _firstNonEmptyLine\n : i;\n lastNonEmptyLine = i;\n\n if (i !== 0 && indent < commonIndent) {\n commonIndent = indent;\n }\n }\n\n return lines // Remove common indentation from all lines but first.\n .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n .slice(\n (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine2 !== void 0\n ? _firstNonEmptyLine2\n : 0,\n lastNonEmptyLine + 1,\n );\n}\n\nfunction leadingWhitespace(str) {\n let i = 0;\n\n while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n ++i;\n }\n\n return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n if (value === '') {\n return true; // empty string is printable\n }\n\n let isEmptyLine = true;\n let hasIndent = false;\n let hasCommonIndent = true;\n let seenNonEmptyLine = false;\n\n for (let i = 0; i < value.length; ++i) {\n switch (value.codePointAt(i)) {\n case 0x0000:\n case 0x0001:\n case 0x0002:\n case 0x0003:\n case 0x0004:\n case 0x0005:\n case 0x0006:\n case 0x0007:\n case 0x0008:\n case 0x000b:\n case 0x000c:\n case 0x000e:\n case 0x000f:\n return false;\n // Has non-printable characters\n\n case 0x000d:\n // \\r\n return false;\n // Has \\r or \\r\\n which will be replaced as \\n\n\n case 10:\n // \\n\n if (isEmptyLine && !seenNonEmptyLine) {\n return false; // Has leading new line\n }\n\n seenNonEmptyLine = true;\n isEmptyLine = true;\n hasIndent = false;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n hasIndent || (hasIndent = isEmptyLine);\n break;\n\n default:\n hasCommonIndent && (hasCommonIndent = hasIndent);\n isEmptyLine = false;\n }\n }\n\n if (isEmptyLine) {\n return false; // Has trailing empty lines\n }\n\n if (hasCommonIndent && seenNonEmptyLine) {\n return false; // Has internal indent\n }\n\n return true;\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, options) {\n const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n const forceLeadingNewLine =\n lines.length > 1 &&\n lines\n .slice(1)\n .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n const hasTrailingSlash = value.endsWith('\\\\');\n const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n const printAsMultipleLines =\n !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n (!isSingleLine ||\n value.length > 70 ||\n forceTrailingNewline ||\n forceLeadingNewLine ||\n hasTrailingTripleQuotes);\n let result = ''; // Format a multi-line block quote to account for leading space.\n\n const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n result += '\\n';\n }\n\n result += escapedValue;\n\n if (printAsMultipleLines || forceTrailingNewline) {\n result += '\\n';\n }\n\n return '\"\"\"' + result + '\"\"\"';\n}\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nvar TokenKind;\n\n(function (TokenKind) {\n TokenKind['SOF'] = '';\n TokenKind['EOF'] = '';\n TokenKind['BANG'] = '!';\n TokenKind['DOLLAR'] = '$';\n TokenKind['AMP'] = '&';\n TokenKind['PAREN_L'] = '(';\n TokenKind['PAREN_R'] = ')';\n TokenKind['SPREAD'] = '...';\n TokenKind['COLON'] = ':';\n TokenKind['EQUALS'] = '=';\n TokenKind['AT'] = '@';\n TokenKind['BRACKET_L'] = '[';\n TokenKind['BRACKET_R'] = ']';\n TokenKind['BRACE_L'] = '{';\n TokenKind['PIPE'] = '|';\n TokenKind['BRACE_R'] = '}';\n TokenKind['NAME'] = 'Name';\n TokenKind['INT'] = 'Int';\n TokenKind['FLOAT'] = 'Float';\n TokenKind['STRING'] = 'String';\n TokenKind['BLOCK_STRING'] = 'BlockString';\n TokenKind['COMMENT'] = 'Comment';\n})(TokenKind || (TokenKind = {}));\n\nexport { TokenKind };\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Token } from './ast.mjs';\nimport { dedentBlockStringLines } from './blockString.mjs';\nimport { isDigit, isNameContinue, isNameStart } from './characterClasses.mjs';\nimport { TokenKind } from './tokenKind.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 class Lexer {\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 constructor(source) {\n const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n\n get [Symbol.toStringTag]() {\n return 'Lexer';\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n advance() {\n this.lastToken = this.token;\n const 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 lookahead() {\n let token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n if (token.next) {\n token = token.next;\n } else {\n // Read the next token and form a link in the token linked-list.\n const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.\n\n token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.\n\n nextToken.prev = token;\n token = nextToken;\n }\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n }\n}\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return (\n kind === TokenKind.BANG ||\n kind === TokenKind.DOLLAR ||\n kind === TokenKind.AMP ||\n kind === TokenKind.PAREN_L ||\n kind === TokenKind.PAREN_R ||\n kind === TokenKind.SPREAD ||\n kind === TokenKind.COLON ||\n kind === TokenKind.EQUALS ||\n kind === TokenKind.AT ||\n kind === TokenKind.BRACKET_L ||\n kind === TokenKind.BRACKET_R ||\n kind === TokenKind.BRACE_L ||\n kind === TokenKind.PIPE ||\n kind === TokenKind.BRACE_R\n );\n}\n/**\n * A Unicode scalar value is any Unicode code point except surrogate code\n * points. In other words, the inclusive ranges of values 0x0000 to 0xD7FF and\n * 0xE000 to 0x10FFFF.\n *\n * SourceCharacter ::\n * - \"Any Unicode scalar value\"\n */\n\nfunction isUnicodeScalarValue(code) {\n return (\n (code >= 0x0000 && code <= 0xd7ff) || (code >= 0xe000 && code <= 0x10ffff)\n );\n}\n/**\n * The GraphQL specification defines source text as a sequence of unicode scalar\n * values (which Unicode defines to exclude surrogate code points). However\n * JavaScript defines strings as a sequence of UTF-16 code units which may\n * include surrogates. A surrogate pair is a valid source character as it\n * encodes a supplementary code point (above U+FFFF), but unpaired surrogate\n * code points are not valid source characters.\n */\n\nfunction isSupplementaryCodePoint(body, location) {\n return (\n isLeadingSurrogate(body.charCodeAt(location)) &&\n isTrailingSurrogate(body.charCodeAt(location + 1))\n );\n}\n\nfunction isLeadingSurrogate(code) {\n return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction isTrailingSurrogate(code) {\n return code >= 0xdc00 && code <= 0xdfff;\n}\n/**\n * Prints the code point (or end of file reference) at a given location in a\n * source for use in error messages.\n *\n * Printable ASCII is printed quoted, while other points are printed in Unicode\n * code point form (ie. U+1234).\n */\n\nfunction printCodePointAt(lexer, location) {\n const code = lexer.source.body.codePointAt(location);\n\n if (code === undefined) {\n return TokenKind.EOF;\n } else if (code >= 0x0020 && code <= 0x007e) {\n // Printable ASCII\n const char = String.fromCodePoint(code);\n return char === '\"' ? \"'\\\"'\" : `\"${char}\"`;\n } // Unicode code point\n\n return 'U+' + code.toString(16).toUpperCase().padStart(4, '0');\n}\n/**\n * Create a token with line and column location information.\n */\n\nfunction createToken(lexer, kind, start, end, value) {\n const line = lexer.line;\n const col = 1 + start - lexer.lineStart;\n return new Token(kind, start, end, line, col, value);\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\nfunction readNextToken(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // SourceCharacter\n\n switch (code) {\n // Ignored ::\n // - UnicodeBOM\n // - WhiteSpace\n // - LineTerminator\n // - Comment\n // - Comma\n //\n // UnicodeBOM :: \"Byte Order Mark (U+FEFF)\"\n //\n // WhiteSpace ::\n // - \"Horizontal Tab (U+0009)\"\n // - \"Space (U+0020)\"\n //\n // Comma :: ,\n case 0xfeff: // \n\n case 0x0009: // \\t\n\n case 0x0020: // \n\n case 0x002c:\n // ,\n ++position;\n continue;\n // LineTerminator ::\n // - \"New Line (U+000A)\"\n // - \"Carriage Return (U+000D)\" [lookahead != \"New Line (U+000A)\"]\n // - \"Carriage Return (U+000D)\" \"New Line (U+000A)\"\n\n case 0x000a:\n // \\n\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n\n case 0x000d:\n // \\r\n if (body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n // Comment\n\n case 0x0023:\n // #\n return readComment(lexer, position);\n // Token ::\n // - Punctuator\n // - Name\n // - IntValue\n // - FloatValue\n // - StringValue\n //\n // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }\n\n case 0x0021:\n // !\n return createToken(lexer, TokenKind.BANG, position, position + 1);\n\n case 0x0024:\n // $\n return createToken(lexer, TokenKind.DOLLAR, position, position + 1);\n\n case 0x0026:\n // &\n return createToken(lexer, TokenKind.AMP, position, position + 1);\n\n case 0x0028:\n // (\n return createToken(lexer, TokenKind.PAREN_L, position, position + 1);\n\n case 0x0029:\n // )\n return createToken(lexer, TokenKind.PAREN_R, position, position + 1);\n\n case 0x002e:\n // .\n if (\n body.charCodeAt(position + 1) === 0x002e &&\n body.charCodeAt(position + 2) === 0x002e\n ) {\n return createToken(lexer, TokenKind.SPREAD, position, position + 3);\n }\n\n break;\n\n case 0x003a:\n // :\n return createToken(lexer, TokenKind.COLON, position, position + 1);\n\n case 0x003d:\n // =\n return createToken(lexer, TokenKind.EQUALS, position, position + 1);\n\n case 0x0040:\n // @\n return createToken(lexer, TokenKind.AT, position, position + 1);\n\n case 0x005b:\n // [\n return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);\n\n case 0x005d:\n // ]\n return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);\n\n case 0x007b:\n // {\n return createToken(lexer, TokenKind.BRACE_L, position, position + 1);\n\n case 0x007c:\n // |\n return createToken(lexer, TokenKind.PIPE, position, position + 1);\n\n case 0x007d:\n // }\n return createToken(lexer, TokenKind.BRACE_R, position, position + 1);\n // StringValue\n\n case 0x0022:\n // \"\n if (\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n return readBlockString(lexer, position);\n }\n\n return readString(lexer, position);\n } // IntValue | FloatValue (Digit | -)\n\n if (isDigit(code) || code === 0x002d) {\n return readNumber(lexer, position, code);\n } // Name\n\n if (isNameStart(code)) {\n return readName(lexer, position);\n }\n\n throw syntaxError(\n lexer.source,\n position,\n code === 0x0027\n ? 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?'\n : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position)\n ? `Unexpected character: ${printCodePointAt(lexer, position)}.`\n : `Invalid character: ${printCodePointAt(lexer, position)}.`,\n );\n }\n\n return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);\n}\n/**\n * Reads a comment token from the source file.\n *\n * ```\n * Comment :: # CommentChar* [lookahead != CommentChar]\n *\n * CommentChar :: SourceCharacter but not LineTerminator\n * ```\n */\n\nfunction readComment(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.COMMENT,\n start,\n position,\n body.slice(start + 1, position),\n );\n}\n/**\n * Reads a number token from the source file, either a FloatValue or an IntValue\n * depending on whether a FractionalPart or ExponentPart is encountered.\n *\n * ```\n * IntValue :: IntegerPart [lookahead != {Digit, `.`, NameStart}]\n *\n * IntegerPart ::\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit Digit*\n *\n * NegativeSign :: -\n *\n * NonZeroDigit :: Digit but not `0`\n *\n * FloatValue ::\n * - IntegerPart FractionalPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart FractionalPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *\n * FractionalPart :: . Digit+\n *\n * ExponentPart :: ExponentIndicator Sign? Digit+\n *\n * ExponentIndicator :: one of `e` `E`\n *\n * Sign :: one of + -\n * ```\n */\n\nfunction readNumber(lexer, start, firstCode) {\n const body = lexer.source.body;\n let position = start;\n let code = firstCode;\n let isFloat = false; // NegativeSign (-)\n\n if (code === 0x002d) {\n code = body.charCodeAt(++position);\n } // Zero (0)\n\n if (code === 0x0030) {\n code = body.charCodeAt(++position);\n\n if (isDigit(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, unexpected digit after 0: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n } else {\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Full stop (.)\n\n if (code === 0x002e) {\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // E e\n\n if (code === 0x0045 || code === 0x0065) {\n isFloat = true;\n code = body.charCodeAt(++position); // + -\n\n if (code === 0x002b || code === 0x002d) {\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n if (code === 0x002e || isNameStart(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n\n return createToken(\n lexer,\n isFloat ? TokenKind.FLOAT : TokenKind.INT,\n start,\n position,\n body.slice(start, position),\n );\n}\n/**\n * Returns the new position in the source after reading one or more digits.\n */\n\nfunction readDigits(lexer, start, firstCode) {\n if (!isDigit(firstCode)) {\n throw syntaxError(\n lexer.source,\n start,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n start,\n )}.`,\n );\n }\n\n const body = lexer.source.body;\n let position = start + 1; // +1 to skip first firstCode\n\n while (isDigit(body.charCodeAt(position))) {\n ++position;\n }\n\n return position;\n}\n/**\n * Reads a single-quote string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"` [lookahead != `\"`]\n * - `\"` StringCharacter+ `\"`\n *\n * StringCharacter ::\n * - SourceCharacter but not `\"` or `\\` or LineTerminator\n * - `\\u` EscapedUnicode\n * - `\\` EscapedCharacter\n *\n * EscapedUnicode ::\n * - `{` HexDigit+ `}`\n * - HexDigit HexDigit HexDigit HexDigit\n *\n * EscapedCharacter :: one of `\"` `\\` `/` `b` `f` `n` `r` `t`\n * ```\n */\n\nfunction readString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n let chunkStart = position;\n let value = '';\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Quote (\")\n\n if (code === 0x0022) {\n value += body.slice(chunkStart, position);\n return createToken(lexer, TokenKind.STRING, start, position + 1, value);\n } // Escape Sequence (\\)\n\n if (code === 0x005c) {\n value += body.slice(chunkStart, position);\n const escape =\n body.charCodeAt(position + 1) === 0x0075 // u\n ? body.charCodeAt(position + 2) === 0x007b // {\n ? readEscapedUnicodeVariableWidth(lexer, position)\n : readEscapedUnicodeFixedWidth(lexer, position)\n : readEscapedCharacter(lexer, position);\n value += escape.value;\n position += escape.size;\n chunkStart = position;\n continue;\n } // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n} // The string value and lexed size of an escape sequence.\n\nfunction readEscapedUnicodeVariableWidth(lexer, position) {\n const body = lexer.source.body;\n let point = 0;\n let size = 3; // Cannot be larger than 12 chars (\\u{00000000}).\n\n while (size < 12) {\n const code = body.charCodeAt(position + size++); // Closing Brace (})\n\n if (code === 0x007d) {\n // Must be at least 5 chars (\\u{0}) and encode a Unicode scalar value.\n if (size < 5 || !isUnicodeScalarValue(point)) {\n break;\n }\n\n return {\n value: String.fromCodePoint(point),\n size,\n };\n } // Append this hex digit to the code point.\n\n point = (point << 4) | readHexDigit(code);\n\n if (point < 0) {\n break;\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(\n position,\n position + size,\n )}\".`,\n );\n}\n\nfunction readEscapedUnicodeFixedWidth(lexer, position) {\n const body = lexer.source.body;\n const code = read16BitHexCode(body, position + 2);\n\n if (isUnicodeScalarValue(code)) {\n return {\n value: String.fromCodePoint(code),\n size: 6,\n };\n } // GraphQL allows JSON-style surrogate pair escape sequences, but only when\n // a valid pair is formed.\n\n if (isLeadingSurrogate(code)) {\n // \\u\n if (\n body.charCodeAt(position + 6) === 0x005c &&\n body.charCodeAt(position + 7) === 0x0075\n ) {\n const trailingCode = read16BitHexCode(body, position + 8);\n\n if (isTrailingSurrogate(trailingCode)) {\n // JavaScript defines strings as a sequence of UTF-16 code units and\n // encodes Unicode code points above U+FFFF using a surrogate pair of\n // code units. Since this is a surrogate pair escape sequence, just\n // include both codes into the JavaScript string value. Had JavaScript\n // not been internally based on UTF-16, then this surrogate pair would\n // be decoded to retrieve the supplementary code point.\n return {\n value: String.fromCodePoint(code, trailingCode),\n size: 12,\n };\n }\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(position, position + 6)}\".`,\n );\n}\n/**\n * Reads four hexadecimal characters and returns the positive integer that 16bit\n * hexadecimal string represents. For example, \"000f\" will return 15, and \"dead\"\n * will return 57005.\n *\n * Returns a negative number if any char was not a valid hexadecimal digit.\n */\n\nfunction read16BitHexCode(body, position) {\n // readHexDigit() returns -1 on error. ORing a negative value with any other\n // value always produces a negative value.\n return (\n (readHexDigit(body.charCodeAt(position)) << 12) |\n (readHexDigit(body.charCodeAt(position + 1)) << 8) |\n (readHexDigit(body.charCodeAt(position + 2)) << 4) |\n readHexDigit(body.charCodeAt(position + 3))\n );\n}\n/**\n * Reads a hexadecimal character and returns its positive integer value (0-15).\n *\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 if the provided character code was not a valid hexadecimal digit.\n *\n * HexDigit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * - `A` `B` `C` `D` `E` `F`\n * - `a` `b` `c` `d` `e` `f`\n */\n\nfunction readHexDigit(code) {\n return code >= 0x0030 && code <= 0x0039 // 0-9\n ? code - 0x0030\n : code >= 0x0041 && code <= 0x0046 // A-F\n ? code - 0x0037\n : code >= 0x0061 && code <= 0x0066 // a-f\n ? code - 0x0057\n : -1;\n}\n/**\n * | Escaped Character | Code Point | Character Name |\n * | ----------------- | ---------- | ---------------------------- |\n * | `\"` | U+0022 | double quote |\n * | `\\` | U+005C | reverse solidus (back slash) |\n * | `/` | U+002F | solidus (forward slash) |\n * | `b` | U+0008 | backspace |\n * | `f` | U+000C | form feed |\n * | `n` | U+000A | line feed (new line) |\n * | `r` | U+000D | carriage return |\n * | `t` | U+0009 | horizontal tab |\n */\n\nfunction readEscapedCharacter(lexer, position) {\n const body = lexer.source.body;\n const code = body.charCodeAt(position + 1);\n\n switch (code) {\n case 0x0022:\n // \"\n return {\n value: '\\u0022',\n size: 2,\n };\n\n case 0x005c:\n // \\\n return {\n value: '\\u005c',\n size: 2,\n };\n\n case 0x002f:\n // /\n return {\n value: '\\u002f',\n size: 2,\n };\n\n case 0x0062:\n // b\n return {\n value: '\\u0008',\n size: 2,\n };\n\n case 0x0066:\n // f\n return {\n value: '\\u000c',\n size: 2,\n };\n\n case 0x006e:\n // n\n return {\n value: '\\u000a',\n size: 2,\n };\n\n case 0x0072:\n // r\n return {\n value: '\\u000d',\n size: 2,\n };\n\n case 0x0074:\n // t\n return {\n value: '\\u0009',\n size: 2,\n };\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character escape sequence: \"${body.slice(\n position,\n position + 2,\n )}\".`,\n );\n}\n/**\n * Reads a block string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"\"` BlockStringCharacter* `\"\"\"`\n *\n * BlockStringCharacter ::\n * - SourceCharacter but not `\"\"\"` or `\\\"\"\"`\n * - `\\\"\"\"`\n * ```\n */\n\nfunction readBlockString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let lineStart = lexer.lineStart;\n let position = start + 3;\n let chunkStart = position;\n let currentLine = '';\n const blockLines = [];\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Triple-Quote (\"\"\")\n\n if (\n code === 0x0022 &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n const token = createToken(\n lexer,\n TokenKind.BLOCK_STRING,\n start,\n position + 3, // Return a string of the lines joined with U+000A.\n dedentBlockStringLines(blockLines).join('\\n'),\n );\n lexer.line += blockLines.length - 1;\n lexer.lineStart = lineStart;\n return token;\n } // Escaped Triple-Quote (\\\"\"\")\n\n if (\n code === 0x005c &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022 &&\n body.charCodeAt(position + 3) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n chunkStart = position + 1; // skip only slash\n\n position += 4;\n continue;\n } // LineTerminator\n\n if (code === 0x000a || code === 0x000d) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n\n if (code === 0x000d && body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n currentLine = '';\n chunkStart = position;\n lineStart = position;\n continue;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * ```\n * Name ::\n * - NameStart NameContinue* [lookahead != NameContinue]\n * ```\n */\n\nfunction readName(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position);\n\n if (isNameContinue(code)) {\n ++position;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.NAME,\n start,\n position,\n body.slice(start, position),\n );\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport 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 ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\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 const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let 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(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { inspect } from './inspect.mjs';\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n * See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n * See: https://webpack.js.org/guides/production/\n */\n\nexport const instanceOf =\n /* c8 ignore next 6 */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n globalThis.process && globalThis.process.env.NODE_ENV === 'production'\n ? function instanceOf(value, constructor) {\n return value instanceof constructor;\n }\n : function 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 // Prefer Symbol.toStringTag since it is immune to minification.\n const className = constructor.prototype[Symbol.toStringTag];\n const valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value // @ts-expect-error TS bug see, https://github.com/microsoft/TypeScript/issues/38009\n ? value[Symbol.toStringTag]\n : (_value$constructor = value.constructor) === null ||\n _value$constructor === void 0\n ? void 0\n : _value$constructor.name;\n\n if (className === valueClassName) {\n const stringifiedValue = inspect(value);\n throw new Error(`Cannot use ${className} \"${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","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.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 class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Location, OperationTypeNode } from './ast.mjs';\nimport { DirectiveLocation } from './directiveLocation.mjs';\nimport { Kind } from './kinds.mjs';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.mjs';\nimport { isSource, Source } from './source.mjs';\nimport { TokenKind } from './tokenKind.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 const 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 const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n */\n\nexport function parseConstValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseConstValueLiteral();\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 const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const 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 class Parser {\n constructor(source, options = {}) {\n const sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n this._tokenCounter = 0;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n parseName() {\n const token = this.expectToken(TokenKind.NAME);\n return this.node(token, {\n kind: Kind.NAME,\n value: token.value,\n });\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n\n parseDocument() {\n return this.node(this._lexer.token, {\n kind: Kind.DOCUMENT,\n definitions: this.many(\n TokenKind.SOF,\n this.parseDefinition,\n TokenKind.EOF,\n ),\n });\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\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 parseDefinition() {\n if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } // Many definitions begin with a description and require a lookahead.\n\n const hasDescription = this.peekDescription();\n const keywordToken = hasDescription\n ? this._lexer.lookahead()\n : 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 if (hasDescription) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, descriptions are supported only on type definitions.',\n );\n }\n\n switch (keywordToken.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 'extend':\n return this.parseTypeSystemExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n\n parseOperationDefinition() {\n const start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n const operation = this.parseOperationType();\n let name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * OperationType : one of query mutation subscription\n */\n\n parseOperationType() {\n const operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return OperationTypeNode.QUERY;\n\n case 'mutation':\n return OperationTypeNode.MUTATION;\n\n case 'subscription':\n return OperationTypeNode.SUBSCRIPTION;\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n\n parseVariableDefinitions() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseVariableDefinition,\n TokenKind.PAREN_R,\n );\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n\n parseVariableDefinition() {\n return this.node(this._lexer.token, {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n ? this.parseConstValueLiteral()\n : undefined,\n directives: this.parseConstDirectives(),\n });\n }\n /**\n * Variable : $ Name\n */\n\n parseVariable() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return this.node(start, {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n });\n }\n /**\n * ```\n * SelectionSet : { Selection+ }\n * ```\n */\n\n parseSelectionSet() {\n return this.node(this._lexer.token, {\n kind: Kind.SELECTION_SET,\n selections: this.many(\n TokenKind.BRACE_L,\n this.parseSelection,\n TokenKind.BRACE_R,\n ),\n });\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n\n parseSelection() {\n return this.peek(TokenKind.SPREAD)\n ? this.parseFragment()\n : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n\n parseField() {\n const start = this._lexer.token;\n const nameOrAlias = this.parseName();\n let alias;\n let name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return this.node(start, {\n kind: Kind.FIELD,\n alias,\n name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L)\n ? this.parseSelectionSet()\n : undefined,\n });\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n\n parseArguments(isConst) {\n const 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 parseArgument(isConst = false) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.ARGUMENT,\n name,\n value: this.parseValueLiteral(isConst),\n });\n }\n\n parseConstArgument() {\n return this.parseArgument(true);\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 parseFragment() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n const hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return this.node(start, {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n });\n }\n\n return this.node(start, {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n\n parseFragmentDefinition() {\n const start = this._lexer.token;\n this.expectKeyword('fragment'); // Legacy 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.allowLegacyFragmentVariables === true) {\n return this.node(start, {\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 });\n }\n\n return this.node(start, {\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 });\n }\n /**\n * FragmentName : Name but not `on`\n */\n\n 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 parseValueLiteral(isConst) {\n const 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.advanceLexer();\n return this.node(token, {\n kind: Kind.INT,\n value: token.value,\n });\n\n case TokenKind.FLOAT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.FLOAT,\n value: token.value,\n });\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this.advanceLexer();\n\n switch (token.value) {\n case 'true':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: true,\n });\n\n case 'false':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: false,\n });\n\n case 'null':\n return this.node(token, {\n kind: Kind.NULL,\n });\n\n default:\n return this.node(token, {\n kind: Kind.ENUM,\n value: token.value,\n });\n }\n\n case TokenKind.DOLLAR:\n if (isConst) {\n this.expectToken(TokenKind.DOLLAR);\n\n if (this._lexer.token.kind === TokenKind.NAME) {\n const varName = this._lexer.token.value;\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected variable \"$${varName}\" in constant value.`,\n );\n } else {\n throw this.unexpected(token);\n }\n }\n\n return this.parseVariable();\n\n default:\n throw this.unexpected();\n }\n }\n\n parseConstValueLiteral() {\n return this.parseValueLiteral(true);\n }\n\n parseStringLiteral() {\n const token = this._lexer.token;\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n });\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n\n parseList(isConst) {\n const item = () => this.parseValueLiteral(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n });\n }\n /**\n * ```\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n * ```\n */\n\n parseObject(isConst) {\n const item = () => this.parseObjectField(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n });\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n\n parseObjectField(isConst) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.OBJECT_FIELD,\n name,\n value: this.parseValueLiteral(isConst),\n });\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n\n parseDirectives(isConst) {\n const directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n\n parseConstDirectives() {\n return this.parseDirectives(true);\n }\n /**\n * ```\n * Directive[Const] : @ Name Arguments[?Const]?\n * ```\n */\n\n parseDirective(isConst) {\n const start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return this.node(start, {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n });\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n\n parseTypeReference() {\n const start = this._lexer.token;\n let type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n const innerType = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = this.node(start, {\n kind: Kind.LIST_TYPE,\n type: innerType,\n });\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return this.node(start, {\n kind: Kind.NON_NULL_TYPE,\n type,\n });\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n\n parseNamedType() {\n return this.node(this._lexer.token, {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n });\n } // Implements the parsing rules in the Type Definition section.\n\n peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n\n parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * ```\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n * ```\n */\n\n parseSchemaDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.many(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n return this.node(start, {\n kind: Kind.SCHEMA_DEFINITION,\n description,\n directives,\n operationTypes,\n });\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n\n parseOperationTypeDefinition() {\n const start = this._lexer.token;\n const operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n const type = this.parseNamedType();\n return this.node(start, {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation,\n type,\n });\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n\n parseScalarTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n\n parseObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n\n parseImplementsInterfaces() {\n return this.expectOptionalKeyword('implements')\n ? this.delimitedMany(TokenKind.AMP, this.parseNamedType)\n : [];\n }\n /**\n * ```\n * FieldsDefinition : { FieldDefinition+ }\n * ```\n */\n\n parseFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseFieldDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n\n parseFieldDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.FIELD_DEFINITION,\n description,\n name,\n arguments: args,\n type,\n directives,\n });\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n\n parseArgumentDefs() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseInputValueDef,\n TokenKind.PAREN_R,\n );\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n\n parseInputValueDef() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n let defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseConstValueLiteral();\n }\n\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description,\n name,\n type,\n defaultValue,\n directives,\n });\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n\n parseInterfaceTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n\n parseUnionTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n return this.node(start, {\n kind: Kind.UNION_TYPE_DEFINITION,\n description,\n name,\n directives,\n types,\n });\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n\n parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS)\n ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType)\n : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n\n parseEnumTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n return this.node(start, {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description,\n name,\n directives,\n values,\n });\n }\n /**\n * ```\n * EnumValuesDefinition : { EnumValueDefinition+ }\n * ```\n */\n\n parseEnumValuesDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseEnumValueDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n */\n\n parseEnumValueDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseEnumValueName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseEnumValueName() {\n if (\n this._lexer.token.value === 'true' ||\n this._lexer.token.value === 'false' ||\n this._lexer.token.value === 'null'\n ) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n `${getTokenDesc(\n this._lexer.token,\n )} is reserved and cannot be used for an enum value.`,\n );\n }\n\n return this.parseName();\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n\n parseInputObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * InputFieldsDefinition : { InputValueDefinition+ }\n * ```\n */\n\n parseInputFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseInputValueDef,\n TokenKind.BRACE_R,\n );\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 parseTypeSystemExtension() {\n const 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 * ```\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n * ```\n */\n\n parseSchemaExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.optionalMany(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCHEMA_EXTENSION,\n directives,\n operationTypes,\n });\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n\n parseScalarTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name,\n directives,\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 parseObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\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 parseInterfaceTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n\n parseUnionTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.UNION_TYPE_EXTENSION,\n name,\n directives,\n types,\n });\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n\n parseEnumTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name,\n directives,\n values,\n });\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n\n parseInputObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n * ```\n */\n\n parseDirectiveDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n const repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n const locations = this.parseDirectiveLocations();\n return this.node(start, {\n kind: Kind.DIRECTIVE_DEFINITION,\n description,\n name,\n arguments: args,\n repeatable,\n locations,\n });\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n\n 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 parseDirectiveLocation() {\n const start = this._lexer.token;\n const name = this.parseName();\n\n if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a node that, if configured to do so, sets a \"loc\" field as a\n * location object, used to identify the place in the source that created a\n * given parsed object.\n */\n\n node(startToken, node) {\n if (this._options.noLocation !== true) {\n node.loc = new Location(\n startToken,\n this._lexer.lastToken,\n this._lexer.source,\n );\n }\n\n return node;\n }\n /**\n * Determines if the next token is of a given kind\n */\n\n 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 expectToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return token;\n }\n\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`,\n );\n }\n /**\n * If the next token is of the given kind, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return true;\n }\n\n return false;\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 expectKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n } else {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected \"${value}\", found ${getTokenDesc(token)}.`,\n );\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 expectOptionalKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\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 unexpected(atToken) {\n const token =\n atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected ${getTokenDesc(token)}.`,\n );\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 any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const 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 optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n const 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 many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const 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 delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n }\n\n advanceLexer() {\n const { maxTokens } = this._options;\n\n const token = this._lexer.advance();\n\n if (maxTokens !== undefined && token.kind !== TokenKind.EOF) {\n ++this._tokenCounter;\n\n if (this._tokenCounter > maxTokens) {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Document contains more that ${maxTokens} tokens. Parsing aborted.`,\n );\n }\n }\n }\n}\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n const value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? ` \"${value}\"` : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? `\"${kind}\"` : kind;\n}\n","/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n */\nexport function printString(str) {\n return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n} // eslint-disable-next-line no-control-regex\n\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str) {\n return escapeSequences[str.charCodeAt(0)];\n} // prettier-ignore\n\nconst escapeSequences = [\n '\\\\u0000',\n '\\\\u0001',\n '\\\\u0002',\n '\\\\u0003',\n '\\\\u0004',\n '\\\\u0005',\n '\\\\u0006',\n '\\\\u0007',\n '\\\\b',\n '\\\\t',\n '\\\\n',\n '\\\\u000B',\n '\\\\f',\n '\\\\r',\n '\\\\u000E',\n '\\\\u000F',\n '\\\\u0010',\n '\\\\u0011',\n '\\\\u0012',\n '\\\\u0013',\n '\\\\u0014',\n '\\\\u0015',\n '\\\\u0016',\n '\\\\u0017',\n '\\\\u0018',\n '\\\\u0019',\n '\\\\u001A',\n '\\\\u001B',\n '\\\\u001C',\n '\\\\u001D',\n '\\\\u001E',\n '\\\\u001F',\n '',\n '',\n '\\\\\"',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 2F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 3F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 4F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '\\\\\\\\',\n '',\n '',\n '', // 5F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 6F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '\\\\u007F',\n '\\\\u0080',\n '\\\\u0081',\n '\\\\u0082',\n '\\\\u0083',\n '\\\\u0084',\n '\\\\u0085',\n '\\\\u0086',\n '\\\\u0087',\n '\\\\u0088',\n '\\\\u0089',\n '\\\\u008A',\n '\\\\u008B',\n '\\\\u008C',\n '\\\\u008D',\n '\\\\u008E',\n '\\\\u008F',\n '\\\\u0090',\n '\\\\u0091',\n '\\\\u0092',\n '\\\\u0093',\n '\\\\u0094',\n '\\\\u0095',\n '\\\\u0096',\n '\\\\u0097',\n '\\\\u0098',\n '\\\\u0099',\n '\\\\u009A',\n '\\\\u009B',\n '\\\\u009C',\n '\\\\u009D',\n '\\\\u009E',\n '\\\\u009F',\n];\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { isNode, QueryDocumentKeys } from './ast.mjs';\nimport { Kind } from './kinds.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 const 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 * ```ts\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 *\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 three permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n * ```\n *\n * 2) Named visitors that trigger upon entering and leaving a node of a specific kind.\n *\n * ```ts\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 *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * ```ts\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n * ```\n */\n\nexport function visit(root, visitor, visitorKeys = QueryDocumentKeys) {\n const enterLeaveMap = new Map();\n\n for (const kind of Object.values(Kind)) {\n enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));\n }\n /* eslint-disable no-undef-init */\n\n let stack = undefined;\n let inArray = Array.isArray(root);\n let keys = [root];\n let index = -1;\n let edits = [];\n let node = root;\n let key = undefined;\n let parent = undefined;\n const path = [];\n const ancestors = [];\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n const isLeaving = index === keys.length;\n const 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 let editOffset = 0;\n\n for (const [editKey, editValue] of edits) {\n const arrayKey = editKey - editOffset;\n\n if (editValue === null) {\n node.splice(arrayKey, 1);\n editOffset++;\n } else {\n node[arrayKey] = editValue;\n }\n }\n } else {\n node = Object.defineProperties(\n {},\n Object.getOwnPropertyDescriptors(node),\n );\n\n for (const [editKey, editValue] of edits) {\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 if (parent) {\n key = inArray ? index : keys[index];\n node = parent[key];\n\n if (node === null || node === undefined) {\n continue;\n }\n\n path.push(key);\n }\n\n let result;\n\n if (!Array.isArray(node)) {\n var _enterLeaveMap$get, _enterLeaveMap$get2;\n\n isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);\n const visitFn = isLeaving\n ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null ||\n _enterLeaveMap$get === void 0\n ? void 0\n : _enterLeaveMap$get.leave\n : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null ||\n _enterLeaveMap$get2 === void 0\n ? void 0\n : _enterLeaveMap$get2.enter;\n result =\n visitFn === null || visitFn === void 0\n ? void 0\n : 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 if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _node$kind;\n\n stack = {\n inArray,\n index,\n keys,\n edits,\n prev: stack,\n };\n inArray = Array.isArray(node);\n keys = inArray\n ? node\n : (_node$kind = visitorKeys[node.kind]) !== null &&\n _node$kind !== void 0\n ? _node$kind\n : [];\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 // New root\n return edits[edits.length - 1][1];\n }\n\n return root;\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 const skipping = new Array(visitors.length).fill(null);\n const mergedVisitor = Object.create(null);\n\n for (const kind of Object.values(Kind)) {\n let hasVisitor = false;\n const enterList = new Array(visitors.length).fill(undefined);\n const leaveList = new Array(visitors.length).fill(undefined);\n\n for (let i = 0; i < visitors.length; ++i) {\n const { enter, leave } = getEnterLeaveForKind(visitors[i], kind);\n hasVisitor || (hasVisitor = enter != null || leave != null);\n enterList[i] = enter;\n leaveList[i] = leave;\n }\n\n if (!hasVisitor) {\n continue;\n }\n\n const mergedEnterLeave = {\n enter(...args) {\n const node = args[0];\n\n for (let i = 0; i < visitors.length; i++) {\n if (skipping[i] === null) {\n var _enterList$i;\n\n const result =\n (_enterList$i = enterList[i]) === null || _enterList$i === void 0\n ? void 0\n : _enterList$i.apply(visitors[i], args);\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(...args) {\n const node = args[0];\n\n for (let i = 0; i < visitors.length; i++) {\n if (skipping[i] === null) {\n var _leaveList$i;\n\n const result =\n (_leaveList$i = leaveList[i]) === null || _leaveList$i === void 0\n ? void 0\n : _leaveList$i.apply(visitors[i], args);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n },\n };\n mergedVisitor[kind] = mergedEnterLeave;\n }\n\n return mergedVisitor;\n}\n/**\n * Given a visitor instance and a node kind, return EnterLeaveVisitor for that kind.\n */\n\nexport function getEnterLeaveForKind(visitor, kind) {\n const kindVisitor = visitor[kind];\n\n if (typeof kindVisitor === 'object') {\n // { Kind: { enter() {}, leave() {} } }\n return kindVisitor;\n } else if (typeof kindVisitor === 'function') {\n // { Kind() {} }\n return {\n enter: kindVisitor,\n leave: undefined,\n };\n } // { enter() {}, leave() {} }\n\n return {\n enter: visitor.enter,\n leave: visitor.leave,\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 * @deprecated Please use `getEnterLeaveForKind` instead. Will be removed in v17\n */\n\n/* c8 ignore next 8 */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n const { enter, leave } = getEnterLeaveForKind(visitor, kind);\n return isLeaving ? leave : enter;\n}\n","import { printBlockString } from './blockString.mjs';\nimport { printString } from './printString.mjs';\nimport { visit } from './visitor.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, printDocASTReducer);\n}\nconst MAX_LINE_LENGTH = 80;\nconst printDocASTReducer = {\n Name: {\n leave: (node) => node.value,\n },\n Variable: {\n leave: (node) => '$' + node.name,\n },\n // Document\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n OperationDefinition: {\n leave(node) {\n const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix = join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n ); // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives }) =>\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: {\n leave: ({ selections }) => block(selections),\n },\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = wrap('', alias, ': ') + name;\n let 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 },\n Argument: {\n leave: ({ name, value }) => name + ': ' + value,\n },\n // Fragments\n FragmentSpread: {\n leave: ({ name, directives }) =>\n '...' + name + wrap(' ', join(directives, ' ')),\n },\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n FragmentDefinition: {\n leave: (\n { name, typeCondition, variableDefinitions, directives, selectionSet }, // Note: fragment variable definitions are experimental and may be changed\n ) =>\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n // Value\n IntValue: {\n leave: ({ value }) => value,\n },\n FloatValue: {\n leave: ({ value }) => value,\n },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString ? printBlockString(value) : printString(value),\n },\n BooleanValue: {\n leave: ({ value }) => (value ? 'true' : 'false'),\n },\n NullValue: {\n leave: () => 'null',\n },\n EnumValue: {\n leave: ({ value }) => value,\n },\n ListValue: {\n leave: ({ values }) => '[' + join(values, ', ') + ']',\n },\n ObjectValue: {\n leave: ({ fields }) => '{' + join(fields, ', ') + '}',\n },\n ObjectField: {\n leave: ({ name, value }) => name + ': ' + value,\n },\n // Directive\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n // Type\n NamedType: {\n leave: ({ name }) => name,\n },\n ListType: {\n leave: ({ type }) => '[' + type + ']',\n },\n NonNullType: {\n leave: ({ type }) => type + '!',\n },\n // Type System Definitions\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n DirectiveDefinition: {\n leave: ({ description, name, arguments: args, repeatable, locations }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\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\nfunction join(maybeArray, separator = '') {\n var _maybeArray$filter$jo;\n\n return (_maybeArray$filter$jo =\n maybeArray === null || maybeArray === void 0\n ? void 0\n : maybeArray.filter((x) => x).join(separator)) !== null &&\n _maybeArray$filter$jo !== void 0\n ? _maybeArray$filter$jo\n : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\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\nfunction wrap(start, maybeString, end = '') {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray) {\n var _maybeArray$some;\n\n // FIXME: https://github.com/graphql/graphql-js/issues/2203\n\n /* c8 ignore next */\n return (_maybeArray$some =\n maybeArray === null || maybeArray === void 0\n ? void 0\n : maybeArray.some((str) => str.includes('\\n'))) !== null &&\n _maybeArray$some !== void 0\n ? _maybeArray$some\n : false;\n}\n","import { parse, print } from 'graphql';\n/**\n * helpers\n */\nconst extractOperationName = (document) => {\n let operationName = undefined;\n const operationDefinitions = document.definitions.filter((definition) => definition.kind === `OperationDefinition`);\n if (operationDefinitions.length === 1) {\n operationName = operationDefinitions[0]?.name?.value;\n }\n return operationName;\n};\nexport const resolveRequestDocument = (document) => {\n if (typeof document === `string`) {\n let operationName = undefined;\n try {\n const parsedDocument = parse(document);\n operationName = extractOperationName(parsedDocument);\n }\n catch (err) {\n // Failed parsing the document, the operationName will be undefined\n }\n return { query: document, operationName };\n }\n const operationName = extractOperationName(document);\n return { query: print(document), operationName };\n};\n//# sourceMappingURL=resolveRequestDocument.js.map","export class ClientError extends Error {\n constructor(response, request) {\n const message = `${ClientError.extractMessage(response)}: ${JSON.stringify({\n response,\n request,\n })}`;\n super(message);\n Object.setPrototypeOf(this, ClientError.prototype);\n this.response = response;\n this.request = request;\n // this is needed as Safari doesn't support .captureStackTrace\n if (typeof Error.captureStackTrace === `function`) {\n Error.captureStackTrace(this, ClientError);\n }\n }\n static extractMessage(response) {\n return response.errors?.[0]?.message ?? `GraphQL Error (Code: ${response.status})`;\n }\n}\n//# sourceMappingURL=types.js.map","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","import { defaultJsonSerializer } from './defaultJsonSerializer.js';\nimport { HeadersInstanceToPlainObject, uppercase } from './helpers.js';\nimport { parseBatchRequestArgs, parseRawRequestArgs, parseRawRequestExtendedArgs, parseRequestArgs, parseRequestExtendedArgs, } from './parseArgs.js';\nimport { resolveRequestDocument } from './resolveRequestDocument.js';\nimport { ClientError, } from './types.js';\nimport crossFetch, * as CrossFetch from 'cross-fetch';\n/**\n * Convert the given headers configuration into a plain object.\n */\nconst resolveHeaders = (headers) => {\n let oHeaders = {};\n if (headers) {\n if ((typeof Headers !== `undefined` && headers instanceof Headers) ||\n (CrossFetch && CrossFetch.Headers && headers instanceof CrossFetch.Headers)) {\n oHeaders = HeadersInstanceToPlainObject(headers);\n }\n else if (Array.isArray(headers)) {\n headers.forEach(([name, value]) => {\n if (name && value !== undefined) {\n oHeaders[name] = value;\n }\n });\n }\n else {\n oHeaders = headers;\n }\n }\n return oHeaders;\n};\n/**\n * Clean a GraphQL document to send it via a GET query\n */\nconst cleanQuery = (str) => str.replace(/([\\s,]|#[^\\n\\r]+)+/g, ` `).trim();\n/**\n * Create query string for GraphQL request\n */\nconst buildRequestConfig = (params) => {\n if (!Array.isArray(params.query)) {\n const params_ = params;\n const search = [`query=${encodeURIComponent(cleanQuery(params_.query))}`];\n if (params.variables) {\n search.push(`variables=${encodeURIComponent(params_.jsonSerializer.stringify(params_.variables))}`);\n }\n if (params_.operationName) {\n search.push(`operationName=${encodeURIComponent(params_.operationName)}`);\n }\n return search.join(`&`);\n }\n if (typeof params.variables !== `undefined` && !Array.isArray(params.variables)) {\n throw new Error(`Cannot create query with given variable type, array expected`);\n }\n // Batch support\n const params_ = params;\n const payload = params.query.reduce((acc, currentQuery, index) => {\n acc.push({\n query: cleanQuery(currentQuery),\n variables: params_.variables ? params_.jsonSerializer.stringify(params_.variables[index]) : undefined,\n });\n return acc;\n }, []);\n return `query=${encodeURIComponent(params_.jsonSerializer.stringify(payload))}`;\n};\nconst createHttpMethodFetcher = (method) => async (params) => {\n const { url, query, variables, operationName, fetch, fetchOptions, middleware } = params;\n const headers = { ...params.headers };\n let queryParams = ``;\n let body = undefined;\n if (method === `POST`) {\n body = createRequestBody(query, variables, operationName, fetchOptions.jsonSerializer);\n if (typeof body === `string`) {\n // @ts-expect-error todo\n headers[`Content-Type`] = `application/json`;\n }\n }\n else {\n // @ts-expect-error todo needs ADT for TS to understand the different states\n queryParams = buildRequestConfig({\n query,\n variables,\n operationName,\n jsonSerializer: fetchOptions.jsonSerializer ?? defaultJsonSerializer,\n });\n }\n const init = {\n method,\n headers,\n body,\n ...fetchOptions,\n };\n let urlResolved = url;\n let initResolved = init;\n if (middleware) {\n const result = await Promise.resolve(middleware({ ...init, url, operationName, variables }));\n const { url: urlNew, ...initNew } = result;\n urlResolved = urlNew;\n initResolved = initNew;\n }\n if (queryParams) {\n urlResolved = `${urlResolved}?${queryParams}`;\n }\n return await fetch(urlResolved, initResolved);\n};\n/**\n * GraphQL Client.\n */\nclass GraphQLClient {\n constructor(url, requestConfig = {}) {\n this.url = url;\n this.requestConfig = requestConfig;\n /**\n * Send a GraphQL query to the server.\n */\n this.rawRequest = async (...args) => {\n const [queryOrOptions, variables, requestHeaders] = args;\n const rawRequestOptions = parseRawRequestArgs(queryOrOptions, variables, requestHeaders);\n const { headers, fetch = crossFetch, method = `POST`, requestMiddleware, responseMiddleware, ...fetchOptions } = this.requestConfig;\n const { url } = this;\n if (rawRequestOptions.signal !== undefined) {\n fetchOptions.signal = rawRequestOptions.signal;\n }\n const { operationName } = resolveRequestDocument(rawRequestOptions.query);\n return makeRequest({\n url,\n query: rawRequestOptions.query,\n variables: rawRequestOptions.variables,\n headers: {\n ...resolveHeaders(callOrIdentity(headers)),\n ...resolveHeaders(rawRequestOptions.requestHeaders),\n },\n operationName,\n fetch,\n method,\n fetchOptions,\n middleware: requestMiddleware,\n })\n .then((response) => {\n if (responseMiddleware) {\n responseMiddleware(response);\n }\n return response;\n })\n .catch((error) => {\n if (responseMiddleware) {\n responseMiddleware(error);\n }\n throw error;\n });\n };\n }\n async request(documentOrOptions, ...variablesAndRequestHeaders) {\n const [variables, requestHeaders] = variablesAndRequestHeaders;\n const requestOptions = parseRequestArgs(documentOrOptions, variables, requestHeaders);\n const { headers, fetch = crossFetch, method = `POST`, requestMiddleware, responseMiddleware, ...fetchOptions } = this.requestConfig;\n const { url } = this;\n if (requestOptions.signal !== undefined) {\n fetchOptions.signal = requestOptions.signal;\n }\n const { query, operationName } = resolveRequestDocument(requestOptions.document);\n return makeRequest({\n url,\n query,\n variables: requestOptions.variables,\n headers: {\n ...resolveHeaders(callOrIdentity(headers)),\n ...resolveHeaders(requestOptions.requestHeaders),\n },\n operationName,\n fetch,\n method,\n fetchOptions,\n middleware: requestMiddleware,\n })\n .then((response) => {\n if (responseMiddleware) {\n responseMiddleware(response);\n }\n return response.data;\n })\n .catch((error) => {\n if (responseMiddleware) {\n responseMiddleware(error);\n }\n throw error;\n });\n }\n // prettier-ignore\n batchRequests(documentsOrOptions, requestHeaders) {\n const batchRequestOptions = parseBatchRequestArgs(documentsOrOptions, requestHeaders);\n const { headers, ...fetchOptions } = this.requestConfig;\n if (batchRequestOptions.signal !== undefined) {\n fetchOptions.signal = batchRequestOptions.signal;\n }\n const queries = batchRequestOptions.documents.map(({ document }) => resolveRequestDocument(document).query);\n const variables = batchRequestOptions.documents.map(({ variables }) => variables);\n return makeRequest({\n url: this.url,\n query: queries,\n // @ts-expect-error TODO reconcile batch variables into system.\n variables,\n headers: {\n ...resolveHeaders(callOrIdentity(headers)),\n ...resolveHeaders(batchRequestOptions.requestHeaders),\n },\n operationName: undefined,\n fetch: this.requestConfig.fetch ?? crossFetch,\n method: this.requestConfig.method || `POST`,\n fetchOptions,\n middleware: this.requestConfig.requestMiddleware,\n })\n .then((response) => {\n if (this.requestConfig.responseMiddleware) {\n this.requestConfig.responseMiddleware(response);\n }\n return response.data;\n })\n .catch((error) => {\n if (this.requestConfig.responseMiddleware) {\n this.requestConfig.responseMiddleware(error);\n }\n throw error;\n });\n }\n setHeaders(headers) {\n this.requestConfig.headers = headers;\n return this;\n }\n /**\n * Attach a header to the client. All subsequent requests will have this header.\n */\n setHeader(key, value) {\n const { headers } = this.requestConfig;\n if (headers) {\n // todo what if headers is in nested array form... ?\n //@ts-expect-error todo\n headers[key] = value;\n }\n else {\n this.requestConfig.headers = { [key]: value };\n }\n return this;\n }\n /**\n * Change the client endpoint. All subsequent requests will send to this endpoint.\n */\n setEndpoint(value) {\n this.url = value;\n return this;\n }\n}\nconst makeRequest = async (params) => {\n const { query, variables, fetchOptions } = params;\n const fetcher = createHttpMethodFetcher(uppercase(params.method ?? `post`));\n const isBatchingQuery = Array.isArray(params.query);\n const response = await fetcher(params);\n const result = await getResult(response, fetchOptions.jsonSerializer ?? defaultJsonSerializer);\n const successfullyReceivedData = Array.isArray(result)\n ? !result.some(({ data }) => !data)\n : Boolean(result.data);\n const successfullyPassedErrorPolicy = Array.isArray(result) ||\n !result.errors ||\n (Array.isArray(result.errors) && !result.errors.length) ||\n fetchOptions.errorPolicy === `all` ||\n fetchOptions.errorPolicy === `ignore`;\n if (response.ok && successfullyPassedErrorPolicy && successfullyReceivedData) {\n // @ts-expect-error TODO fixme\n const { errors: _, ...rest } = Array.isArray(result) ? result : result;\n const data = fetchOptions.errorPolicy === `ignore` ? rest : result;\n const dataEnvelope = isBatchingQuery ? { data } : data;\n // @ts-expect-error TODO\n return {\n ...dataEnvelope,\n headers: response.headers,\n status: response.status,\n };\n }\n else {\n const errorResult = typeof result === `string`\n ? {\n error: result,\n }\n : result;\n throw new ClientError(\n // @ts-expect-error TODO\n { ...errorResult, status: response.status, headers: response.headers }, { query, variables });\n }\n};\n/**\n * Send a GraphQL Query to the GraphQL server for execution.\n */\nconst rawRequest = async (...args) => {\n const [urlOrOptions, query, ...variablesAndRequestHeaders] = args;\n const requestOptions = parseRawRequestExtendedArgs(urlOrOptions, query, ...variablesAndRequestHeaders);\n const client = new GraphQLClient(requestOptions.url);\n return client.rawRequest({\n ...requestOptions,\n });\n};\n// prettier-ignore\n// eslint-disable-next-line\nasync function request(urlOrOptions, document, ...variablesAndRequestHeaders) {\n const requestOptions = parseRequestExtendedArgs(urlOrOptions, document, ...variablesAndRequestHeaders);\n const client = new GraphQLClient(requestOptions.url);\n return client.request({\n ...requestOptions,\n });\n}\n/**\n * Send a batch of GraphQL Document to the GraphQL server for execution.\n *\n * @example\n *\n * ```ts\n * // You can pass a raw string\n *\n * await batchRequests('https://foo.bar/graphql', [\n * {\n * query: `\n * {\n * query {\n * users\n * }\n * }`\n * },\n * {\n * query: `\n * {\n * query {\n * users\n * }\n * }`\n * }])\n *\n * // You can also pass a GraphQL DocumentNode as query. Convenient if you\n * // are using graphql-tag package.\n *\n * import gql from 'graphql-tag'\n *\n * await batchRequests('https://foo.bar/graphql', [{ query: gql`...` }])\n * ```\n */\nconst batchRequests = async (...args) => {\n const params = parseBatchRequestsArgsExtended(args);\n const client = new GraphQLClient(params.url);\n return client.batchRequests(params);\n};\nconst parseBatchRequestsArgsExtended = (args) => {\n if (args.length === 1) {\n return args[0];\n }\n else {\n return {\n url: args[0],\n documents: args[1],\n requestHeaders: args[2],\n signal: undefined,\n };\n }\n};\nconst createRequestBody = (query, variables, operationName, jsonSerializer) => {\n const jsonSerializer_ = jsonSerializer ?? defaultJsonSerializer;\n if (!Array.isArray(query)) {\n return jsonSerializer_.stringify({ query, variables, operationName });\n }\n if (typeof variables !== `undefined` && !Array.isArray(variables)) {\n throw new Error(`Cannot create request body with given variable type, array expected`);\n }\n // Batch support\n const payload = query.reduce((acc, currentQuery, index) => {\n acc.push({ query: currentQuery, variables: variables ? variables[index] : undefined });\n return acc;\n }, []);\n return jsonSerializer_.stringify(payload);\n};\nconst getResult = async (response, jsonSerializer) => {\n let contentType;\n response.headers.forEach((value, key) => {\n if (key.toLowerCase() === `content-type`) {\n contentType = value;\n }\n });\n if (contentType &&\n (contentType.toLowerCase().startsWith(`application/json`) ||\n contentType.toLowerCase().startsWith(`application/graphql+json`) ||\n contentType.toLowerCase().startsWith(`application/graphql-response+json`))) {\n return jsonSerializer.parse(await response.text());\n }\n else {\n return response.text();\n }\n};\nconst callOrIdentity = (value) => {\n return typeof value === `function` ? value() : value;\n};\n/**\n * Convenience passthrough template tag to get the benefits of tooling for the gql template tag. This does not actually parse the input into a GraphQL DocumentNode like graphql-tag package does. It just returns the string with any variables given interpolated. Can save you a bit of performance and having to install another package.\n *\n * @example\n * ```\n * import { gql } from 'graphql-request'\n *\n * await request('https://foo.bar/graphql', gql`...`)\n * ```\n *\n * @remarks\n *\n * Several tools in the Node GraphQL ecosystem are hardcoded to specially treat any template tag named \"gql\". For example see this prettier issue: https://github.com/prettier/prettier/issues/4360. Using this template tag has no runtime effect beyond variable interpolation.\n */\nexport const gql = (chunks, ...variables) => {\n return chunks.reduce((acc, chunk, index) => `${acc}${chunk}${index in variables ? String(variables[index]) : ``}`, ``);\n};\nexport { GraphQLWebSocketClient } from './graphql-ws.js';\nexport { resolveRequestDocument } from './resolveRequestDocument.js';\nexport { batchRequests, ClientError, GraphQLClient, rawRequest, request, };\nexport default request;\n//# sourceMappingURL=index.js.map","import { AsyncData, Option, Result } from \"@swan-io/boxed\";\nimport {\n QueryClient,\n useMutation as useReactMutation,\n useSuspenseQuery,\n} from \"@tanstack/react-query\";\nimport { ResultOf, TadaDocumentNode, VariablesOf, initGraphQLTada } from \"gql.tada\";\nimport { request } from \"graphql-request\";\nimport { useState } from \"react\";\nimport { P, isMatching } from \"ts-pattern\";\nimport type { introspection } from \"../types/graphql-env\";\n\nconst cacheTime = 1000 * 60 * 5; // 5 minutes\n\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: cacheTime,\n gcTime: cacheTime,\n },\n },\n});\n\nexport type DateTime = `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`;\n\nexport const graphql = initGraphQLTada<{\n introspection: introspection;\n scalars: {\n DateTime: DateTime;\n Slug: string;\n Email: string;\n Name: string;\n Description: string;\n TeamIdentifier: string;\n };\n}>();\n\nconst graphqlErrorPattern = {\n message: P.string,\n path: P.array(P.string),\n extensions: P.union(\n // copied from graphql.rs file\n { type: \"MISSING_CONTEXT\" },\n { type: \"NOT_AUTHENTICATED\" },\n { type: \"NOT_FOUND\" },\n { type: \"FORBIDDEN\" },\n { type: \"MISSING_PERMISSION\" },\n { type: \"UNIQUE_VIOLATION\" },\n { type: \"INTERNAL\" },\n { type: \"UNKNOWN\" },\n ),\n};\n\nexport type GraphqlError = {\n requestId: string | undefined;\n errors: P.infer[];\n};\n\nexport const parseGraphqlError = (error: unknown): Option => {\n const errors = isMatching({ response: { errors: P.array(graphqlErrorPattern) } }, error)\n ? error.response.errors\n : [];\n\n // @ts-expect-error - using ts-pattern as typeguard didn't work\n const requestId: string | undefined = error?.response?.headers?.map?.[\"x-request-id\"];\n\n if (errors.length === 0 && requestId == null) {\n return Option.None();\n }\n\n return Option.Some({\n requestId,\n errors,\n });\n};\n\nconst parseMutationError = (error: unknown): GraphqlError => {\n const parsed = parseGraphqlError(error);\n\n return parsed.match({\n Some: (error) => error,\n None: () => ({\n requestId: undefined,\n errors: [\n {\n message: \"Unknown error\",\n path: [],\n extensions: {\n type: \"UNKNOWN\" as const,\n },\n },\n ],\n }),\n });\n};\n\ntype FetchVariables = keyof VariablesOf extends never\n ? { variables?: undefined }\n : { variables: VariablesOf };\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype FetchParams> = {\n document: Document;\n signal?: AbortSignal;\n} & FetchVariables;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const fetch = async >(\n params: FetchParams,\n): Promise> => {\n const response = await request({\n url: \"/graphql\",\n document: params.document,\n variables: params.variables,\n signal: params.signal,\n });\n\n return response;\n};\n\ntype MutateParams = keyof VariablesOf extends never\n ? [Document]\n : [Document, VariablesOf];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const mutate = async >(\n ...[document, variables]: MutateParams\n): Promise, GraphqlError>> => {\n const result = await Result.fromPromise(fetch({ document, variables } as FetchParams));\n return result.mapError(parseMutationError);\n};\n\ntype UseQueryParams = keyof VariablesOf extends never\n ? [Document]\n : [Document, VariablesOf];\n\ntype UseQueryResult = {\n data: ResultOf;\n refetch: () => void;\n};\n\ntype UseOptionalQueryParams = {\n document: Document;\n variables: VariablesOf | null;\n};\n\ntype UseOptionalQueryResult = {\n data: ResultOf | null;\n refetch: () => void;\n};\n\nconst getOperationName = (document: Document): string => {\n // @ts-expect-error - This is a type guard\n const name = document.definitions[0]?.name?.value;\n\n if (name == null) {\n throw new Error(\"Document must have a name\");\n }\n\n return name;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const useOptionalQuery = >({\n document,\n variables,\n}: UseOptionalQueryParams): UseOptionalQueryResult => {\n const enabled = variables != null;\n const result = useSuspenseQuery({\n queryKey: enabled ? [getOperationName(document), variables] : [],\n queryFn: ({ signal }) =>\n enabled\n ? fetch({ document: document, variables: variables, signal } as FetchParams)\n : Promise.resolve(null),\n });\n\n return {\n data: result.data,\n refetch: result.refetch,\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const useQuery = >(\n ...[document, variables]: UseQueryParams\n): UseQueryResult => {\n const result = useSuspenseQuery({\n queryKey: [getOperationName(document), variables],\n queryFn: ({ signal }) =>\n fetch({ document: document, variables: variables, signal } as FetchParams),\n });\n\n return {\n data: result.data,\n refetch: result.refetch,\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const invalidateQueries = >(\n document: Document,\n variables?: VariablesOf,\n) => {\n const operationName = getOperationName(document);\n\n if (variables != null) {\n return queryClient.invalidateQueries({\n queryKey: [operationName, variables],\n exact: true,\n });\n } else {\n return queryClient.invalidateQueries({\n queryKey: [operationName],\n exact: false,\n });\n }\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const removeQueries = >(\n document: Document,\n variables?: VariablesOf,\n) => {\n const operationName = getOperationName(document);\n\n if (variables != null) {\n return queryClient.removeQueries({\n queryKey: [operationName, variables],\n exact: true,\n });\n } else {\n return queryClient.removeQueries({\n queryKey: [operationName],\n exact: false,\n });\n }\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const setQueryData = >(\n data: ResultOf,\n ...[document, variables]: UseQueryParams\n) => {\n const operationName = getOperationName(document);\n\n queryClient.setQueryData([operationName, variables], data);\n};\n\ntype UsePromiseMutationResult = {\n data: AsyncData>;\n mutate: (input: I) => Promise>;\n};\n\nexport const usePromiseMutation = (\n fn: (input: I) => Promise>,\n): UsePromiseMutationResult => {\n const result = useReactMutation({\n mutationFn: fn,\n });\n\n if (result.isPending) {\n return {\n data: AsyncData.Loading(),\n mutate: result.mutateAsync,\n };\n }\n\n if (result.data != null) {\n return {\n data: AsyncData.Done(result.data),\n mutate: result.mutateAsync,\n };\n }\n\n return {\n data: AsyncData.NotAsked(),\n mutate: result.mutateAsync,\n };\n};\n\ntype UsePromiseResult = {\n data: AsyncData>;\n execute: (fn: () => Promise>) => Promise;\n reset: () => void;\n};\n\nexport const usePromise = (): UsePromiseResult => {\n const [data, setData] = useState>>(AsyncData.NotAsked());\n\n const execute = async (fn: () => Promise>): Promise => {\n setData(AsyncData.Loading());\n const result = await fn();\n setData(AsyncData.Done(result));\n };\n\n const reset = () => {\n setData(AsyncData.NotAsked());\n };\n\n return {\n data,\n execute,\n reset,\n };\n};\n","import { graphql } from \"./graphql\";\n\nexport const MeFragment = graphql(`\n fragment MeFragment on User @_unmask {\n id\n email\n fullName\n username\n avatarUrl\n updatedAt\n onboardedAt\n defaultOrganization {\n slug\n }\n }\n`);\n\nexport const MeQuery = graphql(\n `\n query MeQuery {\n me {\n ...MeFragment\n }\n apiKeys {\n privateApiKey\n }\n }\n `,\n [MeFragment],\n);\n\nexport const UsernameExistsQuery = graphql(`\n query UsernameExistsQuery($username: Slug!) {\n usernameExists(username: $username)\n }\n`);\n\nexport const OrgFragment = graphql(`\n fragment OrgFragment on Organization @_unmask {\n id\n type\n slug\n name\n logoUrl\n updatedAt\n owner {\n id\n }\n permissions\n }\n`);\n\nexport const OrganizationQuery = graphql(\n `\n query OrganizationQuery($orgSlug: Slug!) {\n organization(slug: $orgSlug) {\n ...OrgFragment\n }\n }\n `,\n [OrgFragment],\n);\n","import { ResultOf } from \"gql.tada\";\nimport { Fragment } from \"react\";\nimport { OrgAvatar } from \"../components/Avatar\";\nimport { Box } from \"../components/Box\";\nimport { ButtonLink } from \"../components/Button\";\nimport { FullScreenScrollView } from \"../components/FullScreenScrollView\";\nimport { Redirect } from \"../components/Redirect\";\nimport { RowLink } from \"../components/RowLink\";\nimport { Fill, Space } from \"../components/Space\";\nimport { Tag } from \"../components/Tag\";\nimport { Text } from \"../components/Text\";\nimport { useResponsive } from \"../hooks/useResponsive\";\nimport { useTitle } from \"../hooks/useTitle\";\nimport { formatDurationFromNow } from \"../utils/date\";\nimport { colors, invariantColor } from \"../utils/design\";\nimport { graphql, useQuery } from \"../utils/graphql\";\nimport { t } from \"../utils/i18n\";\nimport { MeQuery } from \"../utils/queries\";\nimport { router } from \"../utils/routes\";\n\nexport const OrganizationListQuery = graphql(`\n query OrganizationListQuery {\n organizations {\n id\n name\n slug\n type\n logoUrl\n updatedAt\n owner {\n id\n }\n }\n }\n`);\n\nexport const OrgListPage: React.FC = () => {\n useTitle(t(\"page_title.organizations\"));\n const deviceSize = useResponsive();\n const isMobile = deviceSize === \"mobile\";\n\n const {\n data: { me },\n } = useQuery(MeQuery);\n const {\n data: { organizations },\n } = useQuery(OrganizationListQuery);\n\n const myOrganizations = organizations.filter((org) => org.owner.id === me.id);\n const joinedOrganizations = organizations.filter((org) => org.owner.id !== me.id);\n\n const defaultOrganizationSlug = me.defaultOrganization?.slug;\n\n if (organizations.length === 0) {\n return ;\n }\n\n return (\n \n \n \n {t(\"org_list.title\")}\n \n\n \n\n \n {isMobile ? t(\"org_list.new_short\") : t(\"org_list.new\")}\n \n \n\n {myOrganizations.length > 0 && (\n <>\n \n \n \n )}\n\n {joinedOrganizations.length > 0 && (\n <>\n \n \n \n )}\n \n );\n};\n\ntype OrgListProps = {\n title: string;\n organizations: ResultOf[\"organizations\"];\n defaultOrganizationSlug: string | undefined;\n};\n\nconst OrgList: React.FC = ({ title, organizations, defaultOrganizationSlug }) => {\n return (\n <>\n \n {title}\n \n \n\n {organizations.map((organization, index) => (\n \n {index > 0 && }\n \n {organization.name}\n \n \n {t(\"org_list.default\")}\n \n \n ) : (\n organization.name\n )\n }\n avatar={\n \n }\n to={router.OrgHome({ org_slug: organization.slug })}\n description={t(\"utils.date.updated_at\", {\n date: formatDurationFromNow(organization.updatedAt),\n })}\n />\n \n ))}\n \n );\n};\n","import { t } from \"./i18n\";\n\ntype ApplicationInfo = {\n name: string;\n url: string;\n icon: IconName;\n description: string;\n};\n\nexport const applications = {\n dedale: {\n name: \"Dedale\",\n url: __env.DEDALE_URL,\n icon: \"file_document\",\n description: t(\"org_app.dedale.description\"),\n },\n} satisfies Record;\n\nexport type ApplicationKey = keyof typeof applications;\n\nexport const parseApplicationKey = (appKey: string | undefined): ApplicationKey | undefined => {\n if (appKey === undefined) {\n return undefined;\n }\n\n // @ts-expect-error checking existence of key\n if (applications[appKey] != null) {\n return appKey as ApplicationKey;\n }\n\n return undefined;\n};\n","function o(f){return r=>{f.forEach(n=>{typeof n==\"function\"?n(r):n!=null&&(n.current=r)})}}export{o as mergeRefs};\n//# sourceMappingURL=index.mjs.map\n","import { forwardRef, useEffect, useRef } from \"react\";\nimport { mergeRefs } from \"react-merge-refs\";\nimport { View, ViewProps } from \"react-native\";\n\ntype Props = ViewProps;\n\nexport const FocusTrap = forwardRef((props, ref) => {\n const localRef = useRef(null);\n\n useEffect(() => {\n const element = localRef.current;\n if (!(element instanceof HTMLElement)) {\n return;\n }\n\n element.focus();\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Tab\") {\n return;\n }\n\n const focusableElements = element.querySelectorAll(\n \"button, [href], input, select, textarea, [tabindex]:not([tabindex='-1'])\",\n );\n const firstFocusableElement = focusableElements[0];\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n if (event.shiftKey && document.activeElement === firstFocusableElement) {\n lastFocusableElement?.focus();\n event.preventDefault();\n return;\n }\n\n if (!event.shiftKey && document.activeElement === lastFocusableElement) {\n firstFocusableElement?.focus();\n event.preventDefault();\n return;\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown, true);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n return ;\n});\n","import { Placement, autoUpdate, computePosition, flip, offset, shift } from \"@floating-ui/dom\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { StyleSheet, View, ViewProps } from \"react-native\";\nimport { animDuration, colors, radii } from \"../utils/design\";\nimport { FocusTrap } from \"./FocusTrap\";\n\nconst styles = StyleSheet.create({\n container: {\n position: \"absolute\",\n top: 0,\n left: 0,\n backgroundColor: colors.neutral[700],\n borderRadius: radii[4],\n outlineWidth: 0,\n },\n enterAnimation: {\n animationKeyframes: {\n from: {\n opacity: 0,\n transform: \"scale(0.96)\",\n },\n to: {\n opacity: 1,\n transform: \"scale(1)\",\n },\n },\n animationDuration: animDuration[200],\n },\n leaveAnimation: {\n animationKeyframes: {\n from: {\n opacity: 1,\n transform: \"scale(1)\",\n },\n to: {\n opacity: 0,\n transform: \"scale(0.96)\",\n },\n },\n animationDuration: animDuration[200],\n animationFillMode: \"forwards\",\n },\n\n separator: {\n height: 1,\n backgroundColor: colors.neutral[600],\n },\n});\n\ntype Props = {\n target: React.MutableRefObject;\n opened: boolean;\n placement: Placement;\n offset?: number;\n fitTargetWidth?: boolean;\n children: React.ReactNode;\n onClose: () => void;\n};\n\nexport const Popover: React.FC = ({\n target,\n opened,\n placement,\n offset: offsetValue = 4,\n fitTargetWidth = false,\n children,\n onClose,\n}) => {\n const ref = useRef(null);\n const onCloseRef = useRef(onClose);\n const openedRef = useRef(opened);\n const [state, setState] = useState<\"hidden\" | \"visible\" | \"closing\">(() =>\n opened ? \"visible\" : \"hidden\",\n );\n\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n const wasOpened = openedRef.current;\n openedRef.current = opened;\n\n if (!wasOpened && opened) {\n setState(\"visible\");\n }\n\n if (wasOpened && !opened) {\n setState(\"closing\");\n\n const handleAnimationEnd = () => {\n setState(\"hidden\");\n };\n\n const popoverElement = ref.current as HTMLDivElement | null;\n popoverElement?.addEventListener(\"animationend\", handleAnimationEnd);\n\n return () => {\n popoverElement?.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n }\n }, [opened]);\n\n useEffect(() => {\n if (state !== \"visible\") {\n return;\n }\n\n const targetElement = target.current as HTMLDivElement | null;\n const popoverElement = ref.current as HTMLDivElement | null;\n\n if (targetElement == null || popoverElement == null) {\n return;\n }\n\n const cleanup = autoUpdate(targetElement, popoverElement, () => {\n // We need to check if the elements are still in the DOM\n // because the cleanup function is called after the elements are removed\n const targetElement = target.current as HTMLDivElement | null;\n const popoverElement = ref.current as HTMLDivElement | null;\n\n if (targetElement == null || popoverElement == null) {\n return;\n }\n\n computePosition(targetElement, popoverElement, {\n placement,\n strategy: \"absolute\",\n middleware: [offset(offsetValue), flip(), shift()],\n }).then((position) => {\n popoverElement.style.top = `${position.y}px`;\n popoverElement.style.left = `${position.x}px`;\n\n if (fitTargetWidth) {\n popoverElement.style.width = `${targetElement.offsetWidth}px`;\n }\n });\n });\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onCloseRef.current();\n }\n };\n\n const handleClickedOutside = (event: MouseEvent) => {\n if (event.target == null) {\n return;\n }\n\n if (\n !popoverElement.contains(event.target as Node) &&\n !targetElement.contains(event.target as Node)\n ) {\n onCloseRef.current();\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n document.addEventListener(\"mousedown\", handleClickedOutside);\n\n return () => {\n cleanup();\n document.removeEventListener(\"keydown\", handleEscape);\n document.removeEventListener(\"mousedown\", handleClickedOutside);\n };\n }, [state]); // eslint-disable-line react-hooks/exhaustive-deps\n\n if (state === \"hidden\") {\n return null;\n }\n\n return createPortal(\n \n {children}\n ,\n document.body,\n );\n};\n\ntype PopoverContentProps = ViewProps & {\n paddingHorizontal?: number;\n paddingVertical?: number;\n};\n\nexport const PopoverContent: React.FC = ({\n paddingHorizontal = 10,\n paddingVertical = 12,\n style,\n ...props\n}) => {\n return (\n \n );\n};\n\nexport const PopoverSeparator: React.FC = () => {\n return ;\n};\n","import { subscribeToLocation } from \"@swan-io/chicane\";\nimport { ResultOf } from \"gql.tada\";\nimport { Fragment, useEffect, useRef, useState } from \"react\";\nimport { Pressable, StyleSheet, View } from \"react-native\";\nimport { OrganizationListQuery } from \"../pages/OrgListPage\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { useQuery } from \"../utils/graphql\";\nimport { t } from \"../utils/i18n\";\nimport { router } from \"../utils/routes\";\nimport { IconAvatar, OrgAvatar, PlaceholderAvatar } from \"./Avatar\";\nimport { Icon } from \"./Icon\";\nimport { Popover, PopoverSeparator } from \"./Popover\";\nimport { Fill, Space } from \"./Space\";\nimport { PressableLink, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n popoverButton: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingHorizontal: 12,\n paddingVertical: 12,\n backgroundColor: colors.neutral[800],\n borderWidth: 1,\n borderColor: colors.neutral[700],\n borderRadius: radii[4],\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n outlineWidth: 0,\n },\n popoverButtonHover: {\n backgroundColor: colors.neutral[700],\n },\n\n popoverRow: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingVertical: 12,\n paddingHorizontal: 12,\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n outlineWidth: 0,\n },\n popoverRowHover: {\n backgroundColor: colors.neutral[800],\n },\n\n plusIcon: {\n backgroundColor: colors.neutral[800],\n },\n});\n\ntype Props = {\n orgSlug?: string;\n};\n\nexport const OrganizationSelect: React.FC = ({ orgSlug }) => {\n const ref = useRef(null);\n const { data } = useQuery(OrganizationListQuery);\n\n const currentOrg = data.organizations.find((org) => org.slug === orgSlug);\n\n const [opened, setOpened] = useState(false);\n\n const togglePopover = () => {\n setOpened((prev) => !prev);\n };\n\n const closePopover = () => {\n setOpened(false);\n };\n\n useEffect(() => {\n const unsubscribe = subscribeToLocation(closePopover);\n return unsubscribe;\n }, []);\n\n return (\n <>\n [\n styles.popoverButton,\n (pressed || focused || hovered) && styles.popoverButtonHover,\n ]}\n onPress={togglePopover}\n >\n {currentOrg != null ? (\n \n ) : (\n \n )}\n\n \n\n \n {currentOrg?.name ?? t(\"component.org_select.placeholder\")}\n \n\n \n\n \n \n\n \n \n \n \n );\n};\n\ntype OrganizationListProps = {\n currentOrg: ResultOf[\"organizations\"][number] | undefined;\n organizations: ResultOf[\"organizations\"];\n};\n\nconst OrganizationList: React.FC = ({ currentOrg, organizations }) => {\n return (\n <>\n {organizations\n .filter((org) => org.id !== currentOrg?.id)\n .map((org) => (\n \n [\n styles.popoverRow,\n (pressed || focused || hovered) && styles.popoverRowHover,\n ]}\n >\n \n\n \n\n \n {org.name}\n \n \n\n \n \n ))}\n\n [\n styles.popoverRow,\n (pressed || focused || hovered) && styles.popoverRowHover,\n ]}\n >\n \n\n \n\n \n {t(\"sidebar.create_organization\")}\n \n \n \n );\n};\n","import { subscribeToLocation } from \"@swan-io/chicane\";\nimport { Fragment, useEffect, useRef, useState } from \"react\";\nimport { Pressable, ScrollView, StyleSheet, View } from \"react-native\";\nimport { P, match } from \"ts-pattern\";\nimport { applications } from \"../utils/applications\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { useQuery } from \"../utils/graphql\";\nimport { t } from \"../utils/i18n\";\nimport { hasBillingAccess, hasSettingsAccess } from \"../utils/permissions\";\nimport { MeQuery, OrganizationQuery } from \"../utils/queries\";\nimport { RouteArea, router } from \"../utils/routes\";\nimport { UserAvatar } from \"./Avatar\";\nimport { Icon } from \"./Icon\";\nimport { OrganizationSelect } from \"./OrganizationSelect\";\nimport { Popover, PopoverContent, PopoverSeparator } from \"./Popover\";\nimport { Fill, Space } from \"./Space\";\nimport { PressableLink, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n sidebar: {\n width: 256,\n flexGrow: 0,\n borderRightWidth: 1,\n borderColor: colors.neutral[700],\n },\n sidebarContent: {\n height: \"100%\",\n paddingHorizontal: 12,\n paddingVertical: 12,\n backgroundColor: colors.neutral[900],\n },\n\n background: {\n position: \"absolute\",\n top: -2000,\n left: -3000,\n right: 0,\n bottom: 0,\n backgroundImage: \"linear-gradient(327.67deg, rgba(14, 14, 14, 0) 7.72%, #FFC799 238.02%)\",\n pointerEvents: \"none\",\n },\n\n linksTitle: {\n paddingHorizontal: 12,\n },\n\n sidebarLink: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: radii[4],\n backgroundColor: invariantColor.transparent,\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n },\n sidebarLinkActive: {\n backgroundColor: colors.primary[900],\n },\n sidebarLinkHover: {\n backgroundColor: colors.neutral[700],\n },\n\n popoverButton: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingHorizontal: 12,\n paddingVertical: 12,\n backgroundColor: colors.neutral[800],\n borderWidth: 1,\n borderColor: colors.neutral[700],\n borderRadius: radii[4],\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n outlineWidth: 0,\n },\n popoverButtonHover: {\n backgroundColor: colors.neutral[700],\n },\n\n fill: {\n flex: 1,\n },\n\n accountInfo: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n\n accountLink: {\n paddingVertical: 8,\n paddingHorizontal: 8,\n borderRadius: radii[4],\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n outlineWidth: 0,\n },\n accountLinkHover: {\n backgroundColor: colors.neutral[600],\n },\n});\n\nexport const Sidebar: React.FC = () => {\n const route = router.useRoute([\"OrgArea\", \"OrgList\"]);\n\n return (\n \n \n\n {match(route)\n .with({ name: \"OrgArea\" }, ({ params: { org_slug } }) => (\n <>\n \n \n \n \n \n \n ))\n .with({ name: \"OrgList\" }, () => null)\n .with(P.nullish, () => )\n .exhaustive()}\n\n \n\n \n \n );\n};\n\ntype SidebarLinkProps = {\n to: string;\n areaName?: RouteArea;\n icon: IconName;\n label: string;\n};\n\nconst SidebarLink: React.FC = ({ to, areaName, icon, label }) => {\n return (\n [\n styles.sidebarLink,\n (pressed || focused || hovered) && styles.sidebarLinkHover,\n active && styles.sidebarLinkActive,\n ]}\n >\n {({ active }) => (\n <>\n \n \n \n {label}\n \n \n )}\n \n );\n};\n\ntype GeneralSectionProps = {\n orgSlug: string;\n};\n\nexport const GeneralSection: React.FC = ({ orgSlug }) => {\n const {\n data: { organization },\n } = useQuery(OrganizationQuery, { orgSlug });\n const isCompany = organization.type === \"COMPANY\";\n\n return (\n <>\n \n {t(\"sidebar.general\")}\n \n\n \n\n \n {isCompany && (\n <>\n \n \n \n \n \n )}\n {hasSettingsAccess(organization.permissions) && (\n <>\n \n \n \n )}\n {hasBillingAccess(organization.permissions) && (\n <>\n \n \n \n )}\n {hasBillingAccess(organization.permissions) && (\n <>\n \n \n \n )}\n \n );\n};\n\nexport const AppsSection: React.FC = ({ orgSlug }) => {\n return (\n <>\n \n {t(\"sidebar.apps\")}\n \n\n \n\n {Object.entries(applications).map(([app, appInfo], index) => (\n \n {index > 0 && }\n\n \n \n ))}\n \n );\n};\n\nconst UserButton: React.FC = () => {\n const ref = useRef(null);\n const { data } = useQuery(MeQuery);\n const { fullName, email, avatarUrl, updatedAt } = data.me;\n\n const [opened, setOpened] = useState(false);\n\n const togglePopover = () => {\n setOpened((prev) => !prev);\n };\n\n const closePopover = () => {\n setOpened(false);\n };\n\n useEffect(() => {\n const unsubscribe = subscribeToLocation(closePopover);\n return unsubscribe;\n }, []);\n\n return (\n <>\n [\n styles.popoverButton,\n (pressed || focused || hovered) && styles.popoverButtonHover,\n ]}\n onPress={togglePopover}\n >\n \n\n \n\n \n {fullName}\n \n\n \n\n \n \n\n \n \n \n\n \n\n \n \n {fullName}\n \n\n \n\n \n {email}\n \n \n \n\n \n\n \n [\n styles.accountLink,\n (pressed || hovered || focused) && styles.accountLinkHover,\n ]}\n variant=\"smallFlat\"\n color={invariantColor.white}\n >\n {t(\"sidebar.my_profile\")}\n \n\n [\n styles.accountLink,\n (pressed || hovered || focused) && styles.accountLinkHover,\n ]}\n variant=\"smallFlat\"\n color={colors.negative[500]}\n >\n {t(\"sidebar.sign_out\")}\n \n \n \n \n );\n};\n","import { subscribeToLocation } from \"@swan-io/chicane\";\nimport { ResultOf } from \"gql.tada\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Pressable, PressableProps, ScrollView, StyleSheet, View, ViewProps } from \"react-native\";\nimport { P, match } from \"ts-pattern\";\nimport { Except } from \"type-fest\";\nimport { OrganizationListQuery } from \"../pages/OrgListPage\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { useQuery } from \"../utils/graphql\";\nimport { t } from \"../utils/i18n\";\nimport { MeQuery } from \"../utils/queries\";\nimport { router } from \"../utils/routes\";\nimport { IconAvatar, OrgAvatar, PlaceholderAvatar, UserAvatar } from \"./Avatar\";\nimport { Icon } from \"./Icon\";\nimport { AppsSection, GeneralSection } from \"./Sidebar\";\nimport { Fill, Space } from \"./Space\";\nimport { PressableLink, Text } from \"./Text\";\nimport { TransitionView } from \"./TransitionView\";\n\nexport const OPEN_MENU_HEIGHT = 115;\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n\n enterAnimation: {\n animationKeyframes: {\n from: {\n transform: \"translateX(100%)\",\n },\n to: {\n transform: \"translateX(0)\",\n },\n },\n animationDuration: animDuration[300],\n },\n exitAnimation: {\n animationKeyframes: {\n from: {\n transform: \"translateX(0)\",\n },\n to: {\n transform: \"translateX(100%)\",\n },\n },\n animationDuration: animDuration[300],\n animationFillMode: \"forwards\",\n },\n\n openBackground: {\n zIndex: 1,\n position: \"absolute\",\n left: 0,\n bottom: 0,\n width: \"100%\",\n height: OPEN_MENU_HEIGHT,\n backgroundImage: \"linear-gradient(360deg, #000000 0.01%, #151515 50.5%, rgba(0, 0, 0, 0) 100%)\",\n pointerEvents: \"none\",\n },\n\n openButton: {\n zIndex: 2,\n position: \"absolute\",\n bottom: 36,\n left: 24,\n right: 24,\n },\n\n button: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n paddingHorizontal: 8,\n paddingVertical: 8,\n backgroundColor: colors.neutral[900],\n borderRadius: radii[4],\n borderWidth: 1,\n borderColor: colors.neutral[700],\n },\n buttonLarge: {\n paddingHorizontal: 12,\n paddingVertical: 12,\n },\n buttonHover: {\n backgroundColor: colors.neutral[800],\n },\n buttonPressed: {\n backgroundColor: colors.neutral[700],\n },\n\n menu: {\n zIndex: 3,\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: colors.neutral[800],\n paddingBottom: 36,\n },\n menuPage: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n paddingTop: 24,\n paddingHorizontal: 12,\n backgroundColor: colors.neutral[800],\n },\n menuContent: {\n paddingHorizontal: 12,\n },\n\n transparentButton: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingVertical: 8,\n paddingHorizontal: 12,\n borderRadius: radii[4],\n transitionDuration: animDuration[200],\n transitionProperty: \"background-color\",\n outlineWidth: 0,\n },\n transparentButtonHover: {\n backgroundColor: colors.neutral[600],\n },\n transparentButtonNegativeHover: {\n backgroundColor: colors.neutral[600],\n },\n transparentButtonLarge: {\n paddingVertical: 12,\n },\n\n backButton: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingHorizontal: 12,\n paddingVertical: 4,\n },\n\n plusIcon: {\n backgroundColor: colors.neutral[700],\n },\n});\n\ntype MenuState = \"closed\" | \"links\" | \"user\" | \"organizations\";\n\nexport const MobileMenu: React.FC = () => {\n const [state, setState] = useState(\"closed\");\n const route = router.useRoute([\"OrgArea\", \"OrgList\"]);\n\n const {\n data: { organizations },\n } = useQuery(OrganizationListQuery);\n const orgSlug = route?.name === \"OrgArea\" ? route.params.org_slug : undefined;\n const currentOrg = organizations.find((org) => org.slug === orgSlug);\n\n const closeMenu = () => setState(\"closed\");\n const backToLinks = () => setState(\"links\");\n\n useEffect(() => {\n const unsubscribe = subscribeToLocation(closeMenu);\n return unsubscribe;\n }, []);\n\n return (\n <>\n \n setState(\"links\")}>\n \n {t(\"mobile_menu.open\")}\n \n \n\n \n \n \n \n\n {match(route)\n .with({ name: \"OrgArea\" }, ({ params: { org_slug } }) => (\n \n \n \n \n \n\n setState(\"user\")} />\n \n setState(\"organizations\")} />\n \n ))\n .with({ name: \"OrgList\" }, () => setState(\"user\")} />)\n .with(P.nullish, () => (\n \n setState(\"user\")} />\n \n setState(\"organizations\")} />\n \n ))\n .exhaustive()}\n \n\n \n \n \n \n \n \n \n\n \n\n \n \n \n {t(\"mobile_menu.close\")}\n \n \n \n \n \n );\n};\n\ntype MenuButtonProps = Except & {\n large?: boolean;\n style?: ViewProps[\"style\"];\n};\n\nconst MenuButton: React.FC = ({ large = false, style, ...props }) => {\n return (\n [\n styles.button,\n large && styles.buttonLarge,\n (hovered || focused) && styles.buttonHover,\n pressed && styles.buttonPressed,\n style,\n ]}\n {...props}\n />\n );\n};\n\ntype UserButtonProps = {\n onPress: () => void;\n};\n\nconst UserButton: React.FC = ({ onPress }) => {\n const { data } = useQuery(MeQuery);\n const { fullName, avatarUrl, updatedAt } = data.me;\n\n return (\n \n \n \n \n {fullName}\n \n \n \n \n );\n};\n\ntype UserMenuProps = {\n onBack: () => void;\n};\n\nconst UserMenu: React.FC = ({ onBack }) => {\n return (\n <>\n \n\n [\n styles.transparentButton,\n (pressed || hovered || focused) && styles.transparentButtonHover,\n ]}\n >\n {t(\"sidebar.my_profile\")}\n \n [\n styles.transparentButton,\n (pressed || hovered || focused) && styles.transparentButtonHover,\n ]}\n >\n {t(\"sidebar.sign_out\")}\n \n\n \n\n \n \n );\n};\n\ntype OrgsButtonProps = {\n currentOrg: ResultOf[\"organizations\"][number] | undefined;\n onPress: () => void;\n};\n\nconst OrgsButton: React.FC = ({ currentOrg, onPress }) => {\n return (\n \n {currentOrg != null ? (\n \n ) : (\n \n )}\n\n \n \n {currentOrg?.name ?? t(\"component.org_select.placeholder\")}\n \n\n \n \n \n );\n};\n\ntype OrgsMenuProps = {\n organizations: ResultOf[\"organizations\"];\n currentOrg: ResultOf[\"organizations\"][number] | undefined;\n onBack: () => void;\n};\n\nconst OrgsMenu: React.FC = ({ currentOrg, organizations, onBack }) => {\n return (\n <>\n \n\n {organizations\n .filter((org) => org.id !== currentOrg?.id)\n .map((org) => (\n \n [\n styles.transparentButton,\n styles.transparentButtonLarge,\n (pressed || hovered || focused) && styles.transparentButtonHover,\n ]}\n >\n \n\n \n\n \n {org.name}\n \n \n \n ))}\n\n [\n styles.transparentButton,\n styles.transparentButtonLarge,\n (pressed || hovered || focused) && styles.transparentButtonHover,\n ]}\n >\n \n\n \n\n \n {t(\"sidebar.create_organization\")}\n \n \n\n \n\n \n \n );\n};\n\nconst BackButton: React.FC> = (props) => {\n return (\n \n \n \n \n {t(\"mobile_menu.back\")}\n \n \n );\n};\n","import { ScrollView, StyleSheet, View } from \"react-native\";\nimport { useResponsive } from \"../hooks/useResponsive\";\nimport { OPEN_MENU_HEIGHT } from \"./MobileMenu\";\n\nconst styles = StyleSheet.create({\n scrollContainer: {\n width: \"100%\",\n },\n contentContainer: {\n height: \"100%\",\n width: \"100%\",\n marginHorizontal: \"auto\",\n },\n});\n\ntype Props = {\n paddingHorizontal?: number;\n paddingVertical?: number;\n maxWidth?: number;\n verticalCenter?: number; // between 0 and 1\n children: React.ReactNode;\n};\n\nexport const FullScreenScrollView: React.FC = ({\n paddingHorizontal: pH,\n paddingVertical: pV,\n maxWidth,\n verticalCenter = 0,\n children,\n}) => {\n const deviceSize = useResponsive();\n const isMobile = deviceSize === \"mobile\";\n\n const paddingHorizontal = pH ?? (isMobile ? 24 : 36);\n const paddingVertical = pV ?? (isMobile ? 36 : 60);\n\n return (\n \n \n {children}\n \n \n );\n};\n","import { StyleSheet, View } from \"react-native\";\nimport { Box } from \"../components/Box\";\nimport { Button } from \"../components/Button\";\nimport { Icon } from \"../components/Icon\";\nimport { Space } from \"../components/Space\";\nimport { Text } from \"../components/Text\";\nimport { ColorVariant, animDuration, colors, invariantColor } from \"../utils/design\";\n\nconst styles = StyleSheet.create({\n square1: {\n position: \"absolute\",\n width: 124,\n height: 124,\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: 16,\n transform: \"rotate(0deg) translateX(0px)\",\n animationKeyframes: {\n \"0%\": { transform: \"rotate(0deg) translateX(0px)\" },\n \"40%\": { transform: \"rotate(-15deg) translateX(-17px)\" },\n \"100%\": { transform: \"rotate(-10deg) translateX(-12px)\" },\n },\n animationFillMode: \"forwards\",\n animationDuration: animDuration[500],\n },\n square2: {\n width: 124,\n height: 124,\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: 16,\n transform: \"rotate(0deg) translateX(0px)\",\n animationKeyframes: {\n \"0%\": { transform: \"rotate(0deg) translateX(0px)\" },\n \"100%\": { transform: \"rotate(10deg) translateX(12px)\" },\n },\n animationFillMode: \"forwards\",\n animationDuration: animDuration[500],\n animationDelay: animDuration[200],\n\n boxShadow: [\n \"-4px 4px 13px 0px rgba(0, 0, 0, 0.1)\",\n \"-18px 16px 24px 0px rgba(0, 0, 0, 0.09)\",\n \"-40px 35px 32px 0px rgba(0, 0, 0, 0.05)\",\n \"-71px 63px 38px 0px rgba(0, 0, 0, 0.01)\",\n \"-111px 99px 42px 0px rgba(0, 0, 0, 0)\",\n ].join(\",\"),\n },\n\n completedButton: {\n minWidth: 152,\n },\n});\n\ntype Props = {\n variant: Exclude;\n icon: IconName;\n title: string;\n description: React.ReactNode;\n submitText: string;\n onSubmit: () => void;\n};\n\nexport const IconPage: React.FC = ({\n variant,\n icon,\n title,\n description,\n submitText,\n onSubmit,\n}) => {\n return (\n \n \n \n \n \n \n \n\n \n\n \n {title}\n \n \n \n {description}\n \n \n\n \n \n );\n};\n","import { pushUnsafe } from \"@swan-io/chicane\";\nimport { FullScreenScrollView } from \"../components/FullScreenScrollView\";\nimport { t } from \"../utils/i18n\";\nimport { router } from \"../utils/routes\";\nimport { IconPage } from \"./IconPage\";\n\ntype Props = {\n fallbackUrl?: string;\n};\n\nexport const NotFoundPage: React.FC = ({ fallbackUrl }) => {\n return (\n \n {\n const url = fallbackUrl || router.Index();\n pushUnsafe(url);\n }}\n />\n \n );\n};\n","import { subscribeToLocation } from \"@swan-io/chicane\";\nimport { useEffect } from \"react\";\nimport type { ErrorState } from \"../components/ErrorBoundary\";\nimport { FullScreenScrollView } from \"../components/FullScreenScrollView\";\nimport { Link } from \"../components/Text\";\nimport { invariantColor } from \"../utils/design\";\nimport { t, tNested } from \"../utils/i18n\";\nimport { router } from \"../utils/routes\";\nimport { IconPage } from \"./IconPage\";\nimport { NotFoundPage } from \"./NotFoundPage\";\n\ntype Props = {\n resetError: () => void;\n error: ErrorState;\n};\n\nexport const ErrorPage: React.FC = ({ error, resetError }) => {\n const route = router.useRoute([\"OrgArea\"]);\n\n useEffect(() => {\n const unsubscribe = subscribeToLocation(resetError);\n return unsubscribe;\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const isServerNotFoundError =\n error.type === \"SERVER_ERROR\" && error.error.errors[0]?.extensions.type === \"NOT_FOUND\";\n\n if (isServerNotFoundError) {\n return ;\n }\n\n return (\n \n (\n \n {text}\n \n ),\n })}\n submitText={t(\"error_page.back_to_home\")}\n onSubmit={() => {\n route?.name === \"OrgArea\"\n ? router.push(\"OrgHome\", { org_slug: route.params.org_slug })\n : router.push(\"Index\");\n resetError();\n }}\n />\n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { ActivityIndicator, StyleSheet, View } from \"react-native\";\nimport { colors } from \"../utils/design\";\n\nconst DISPLAY_DELAY = 500;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n});\n\nexport const LoadingPage: React.FC = () => {\n const [isHidden, setIsHidden] = useState(true);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setIsHidden(false);\n }, DISPLAY_DELAY);\n\n return () => clearTimeout(timeout);\n }, []);\n\n return (\n \n {!isHidden && }\n \n );\n};\n","import { QueryErrorResetBoundary } from \"@tanstack/react-query\";\nimport { Component, ErrorInfo } from \"react\";\nimport { GraphqlError, parseGraphqlError } from \"../utils/graphql\";\n\ntype Props = {\n fallback: (reset: () => void, error: ErrorState) => React.ReactNode;\n children: React.ReactNode;\n};\n\nexport type ErrorState =\n | {\n type: \"CLIENT_ERROR\";\n }\n | {\n type: \"SERVER_ERROR\";\n error: GraphqlError;\n };\n\ntype State = { type: \"NO_ERROR\" } | ErrorState;\n\nexport class ErrorBoundary extends Component {\n constructor(props: Props) {\n super(props);\n this.state = { type: \"NO_ERROR\" };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n const serverError = parseGraphqlError(error);\n\n serverError.match({\n Some: () => null,\n // We send error to backend only for client errors\n None: () => {\n const body = {\n app_version: __env.APP_VERSION,\n url: window.location.href,\n user_agent: window.navigator.userAgent,\n screen_width:\n window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,\n screen_height:\n window.innerHeight ||\n document.documentElement.clientHeight ||\n document.body.clientHeight,\n message: error.message,\n stack: error.stack ?? \"\",\n component_stack: errorInfo.componentStack ?? \"\",\n };\n\n fetch(\"/front-end-error\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n });\n },\n });\n }\n\n static getDerivedStateFromError(error: Error): State {\n const serverError = parseGraphqlError(error);\n\n return serverError.match({\n Some: (error) => ({ type: \"SERVER_ERROR\", error }),\n None: () => ({ type: \"CLIENT_ERROR\" }),\n });\n }\n\n resetError = (): void => {\n this.setState({ type: \"NO_ERROR\" });\n };\n\n render(): React.ReactNode {\n const { state } = this;\n return (\n \n {({ reset }) =>\n state.type === \"NO_ERROR\"\n ? this.props.children\n : state.type === \"CLIENT_ERROR\"\n ? this.props.fallback(this.resetError, state)\n : // state.type === \"SERVER_ERROR\"\n this.props.fallback(() => {\n reset();\n this.resetError();\n }, state)\n }\n \n );\n }\n}\n","import { Suspense } from \"react\";\nimport { StyleSheet, View } from \"react-native\";\nimport { ErrorPage } from \"../pages/ErrorPage\";\nimport { LoadingPage } from \"../pages/LoadingPage\";\nimport { ApplicationKey } from \"../utils/applications\";\nimport { colors, invariantColor } from \"../utils/design\";\nimport { t } from \"../utils/i18n\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\nimport { Icon } from \"./Icon\";\nimport { Space } from \"./Space\";\nimport { Link, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n width: \"100%\",\n height: \"100%\",\n },\n content: {\n flex: 1,\n },\n\n backLink: {\n display: \"flex\",\n alignItems: \"center\",\n },\n});\n\ntype Props = {\n children: React.ReactNode;\n fromApp: ApplicationKey | undefined;\n};\n\nexport const AppLayout: React.FC = ({ children }) => {\n return (\n \n }>\n }>\n {children}\n \n \n \n );\n};\n\ntype PageTitleProps = {\n title: string;\n description?: React.ReactNode;\n};\n\nexport const PageTitle: React.FC = ({ title, description }) => {\n return (\n <>\n \n {title}\n \n\n {description != null && (\n <>\n \n {description}\n \n )}\n \n );\n};\n\ntype DangerZoneTitleProps = {\n title: string;\n description: React.ReactNode;\n};\n\nexport const DangerZoneTitle: React.FC = ({ title, description }) => {\n return (\n <>\n \n {t(\"common.danger_zone\")}\n \n\n \n\n \n {title}\n \n \n {description}\n \n );\n};\n\ntype AppBackLinkProps = {\n to: string;\n label: string;\n};\n\nexport const AppBackLink: React.FC = ({ to, label }) => {\n return (\n \n \n \n {label}\n \n );\n};\n","import { useState } from \"react\";\n\ntype PersistedState = {\n timestamp: number;\n value: unknown;\n};\n\nconst OUTDATED_KEYS_CLEANUP_INTERVAL = 1000 * 60 * 60 * 24; // 24 hours\nconst KEY_PREFIX = \"heimdall:\";\n\nconst get = (key: string): PersistedState | null => {\n const storageKey = `${KEY_PREFIX}${key}`;\n const content = localStorage.getItem(storageKey);\n\n if (!content) {\n return null;\n }\n\n try {\n return JSON.parse(content);\n } catch (error) {\n return null;\n }\n};\n\nconst set = (key: string, value: unknown) => {\n const storageKey = `${KEY_PREFIX}${key}`;\n\n const object: PersistedState = {\n timestamp: Date.now(),\n value: value,\n };\n\n const content = JSON.stringify(object);\n\n localStorage.setItem(storageKey, content);\n};\n\nexport const removePersistedData = (key: string) => {\n const storageKey = `${KEY_PREFIX}${key}`;\n localStorage.removeItem(storageKey);\n};\n\nexport const clearOutdatedPersistedData = () => {\n const now = Date.now();\n\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n\n // should never happen but for type safety\n if (!key) {\n continue;\n }\n\n // only clean up keys that belong to this app\n if (!key.startsWith(KEY_PREFIX)) {\n continue;\n }\n\n const keyWithoutPrefix = key.slice(KEY_PREFIX.length);\n\n const persistedState = get(keyWithoutPrefix);\n\n // should never happen but for type safety\n if (persistedState == null) {\n continue;\n }\n\n if (typeof persistedState.timestamp !== \"number\") {\n localStorage.removeItem(key);\n continue;\n }\n\n if (now - persistedState.timestamp > OUTDATED_KEYS_CLEANUP_INTERVAL) {\n console.info(`Removing outdated persisted data for key: ${key}`);\n localStorage.removeItem(key);\n }\n }\n};\n\nexport const usePersistedState = (\n key: string,\n initialValue: () => T,\n): [T, React.Dispatch<(prevState: T) => T>, () => void] => {\n const [state, setState] = useState(() => {\n const persistedState = get(key);\n return persistedState != null ? (persistedState.value as T) : initialValue();\n });\n\n const setState_ = (update: (prevState: T) => T) => {\n const newState = update(state);\n set(key, newState);\n setState(newState);\n };\n\n const clear = () => removePersistedData(key);\n\n return [state, setState_, clear];\n};\n","import{useReducer as n,useRef as t,useEffect as r,useMemo as e,useLayoutEffect as u}from\"react\";import{useSyncExternalStore as i}from\"use-sync-external-store/shim\";function o(){return o=Object.assign?Object.assign.bind():function(n){for(var t=1;t0?n.apply(void 0,i)(r):void 0});if(void 0!==o)return o}if(i.length>0)return n.apply(void 0,i)(r)}},s=function(n){return\"\"===n},g=function(n){var t=arguments;return function(r){var e=[].slice.call(t,1)[0];if(!(void 0===e?s:e)(r))return n(r)}},y=function(n,t){return t.every(function(t){return void 0!==n[t]})},F=function(u){var v=n(function(){return[]},[])[1],s=t(!1),g=t(u),y=t(\"untouched\");c(function(){g.current=u}),r(function(){return s.current=!0,function(){s.current=!1}},[]);var F=t(),p=t(),m=t(),h=t(),b=t(),O=t(),S=t(),k=e(function(){var n=function(n){return f(g.current[n].initialValue)},t=function(n){var t;return null!=(t=g.current[n].sanitize)?t:a},r=function(n){var t;return null!=(t=g.current[n].validate)?t:l},e=function(n){return m.current[n]},u=function(n,t){var e=F.current[n],u=\"function\"==typeof t?t({value:e.exposed.value,talkative:e.talkative,validity:e.validity}):t,i=u.talkative&&\"unknown\"!==u.validity.tag?{validating:\"validating\"===u.validity.tag,valid:\"valid\"===u.validity.tag,error:\"invalid\"===u.validity.tag?u.validity.error:void 0}:{validating:!1,valid:!r(n),error:void 0};F.current[n]={talkative:u.talkative,validity:u.validity,exposed:o({},i,{value:u.value})}},i=function(n){var t=b.current[n],r=void 0!==t;return r&&(clearTimeout(t),b.current[n]=void 0),r},c=function(n){p.current[n].forEach(function(n){return n()})},O=function(n,t){var r=function(n){var t;return null!=(t=g.current[n].strategy)?t:\"onSuccessOrBlur\"}(n);t&&!t.some(function(n){return r===n})||u(n,function(n){return o({},n,{talkative:!0})})},S=function(n){u(n,function(n){return o({},n,{validity:{tag:\"validating\"}})})},k=function(n,t){u(n,function(n){return o({},n,{validity:void 0!==t?{tag:\"invalid\",error:t}:{tag:\"valid\"}})})},E=function(n,r){void 0===r&&(r={});var e=F.current[n].exposed;return r.sanitize?o({},e,{value:t(n)(e.value)}):e},w=function(n){var e=i(n),u=t(n),o=r(n),a=u(F.current[n].exposed.value),l=o(a,{getFieldState:E,focusField:x});if(!d(l)){var f=l;return void 0===f&&O(n,[\"onSuccess\",\"onSuccessOrBlur\"]),k(n,f),c(n),f}return e||(S(n),c(n)),l.then(function(t){var r=function(n){var t;return null!=(t=g.current[n].equalityFn)?t:Object.is}(n),e=u(F.current[n].exposed.value);if(r(a,e))return void 0===t&&O(n,[\"onSuccess\",\"onSuccessOrBlur\"]),k(n,t),c(n),t}).catch(function(t){\"development\"===process.env.NODE_ENV&&console.error('Something went wrong during \"'+String(n)+\"\\\" validation. Don't forget to handle Promise rejection.\\n\",t)})},x=function(n){var t=h.current[n];t.current&&\"function\"==typeof t.current.focus&&t.current.focus()},N=function(t,r){void 0===r&&(r={}),i(t),u(t,function(e){return{value:r.feedbackOnly?e.value:n(t),talkative:!1,validity:{tag:\"unknown\"}}}),c(t)},j=function(n,t){var r=n[t.findIndex(function(n){return void 0!==n})];void 0!==r&&x(r)},B=function(n,t){d(n)?(v(),n.finally(function(){y.current=\"submitted\",s.current&&v()})):(y.current=\"submitted\",t&&v())};return{getFieldState:E,setFieldValue:function(n,t,r){void 0===r&&(r={}),u(n,function(n){return o({},n,{value:t})}),Boolean(r.validate)&&O(n),w(n)},setFieldError:function(n,t){k(n,t),O(n),c(n)},focusField:x,resetField:N,sanitizeField:function(n){var r=t(n);u(n,function(n){var t=n.talkative,e=n.validity;return{value:r(n.value),talkative:t,validity:e}}),c(n)},validateField:function(n){return e(n)?(O(n),Promise.resolve(w(n))):Promise.resolve(void 0)},listenFields:function(n,t){var r=function(){t(n.reduce(function(n,t){return n[t]=E(t),n},{}))};return n.forEach(function(n){return p.current[n].add(r)}),function(){n.forEach(function(n){return p.current[n].delete(r)})}},resetForm:function(n){void 0===n&&(n={}),Object.keys(g.current).forEach(function(t){return N(t,n)}),n.feedbackOnly||(y.current=\"untouched\"),v()},submitForm:function(n,t,r){if(void 0===t&&(t=l),void 0===r&&(r={}),\"submitting\"!==y.current){var e=\"editing\"===y.current;y.current=\"submitting\";var u=Object.keys(m.current).filter(function(n){return m.current[n]}),i={},o={},c=[],a=!r.avoidFocusOnError;if(u.forEach(function(n,t){O(n),i[n]=E(n,{sanitize:!0}).value,c[t]=w(n)}),function(n){return n.every(function(n){return!d(n)})}(c))return c.every(function(n){return void 0===n})?B(n(i),e):(a&&j(u,c),u.forEach(function(n,t){o[n]=c[t]}),B(t(o),e));v(),Promise.all(c.map(function(n){return Promise.resolve(n)})).then(function(r){var c=r;return c.every(function(n){return void 0===n})?B(n(i),e):(a&&j(u,c),u.forEach(function(n,t){o[n]=c[t]}),B(t(o),e))}).finally(function(){y.current=\"submitted\",s.current&&v()})}},setState:u,getOnChange:function(n){return function(t){var r=function(n){var t;return null!=(t=g.current[n].debounceInterval)?t:0}(n);u(n,function(n){return o({},n,{value:t})}),O(n,[\"onChange\"]),i(n),\"untouched\"!==y.current&&\"submitted\"!==y.current||(y.current=\"editing\",v()),0!==r?(S(n),c(n),b.current[n]=setTimeout(function(){e(n)?w(n):i(n)},r)):w(n)}},getOnBlur:function(n){return function(){\"unknown\"===F.current[n].validity.tag||function(n){return F.current[n].talkative}(n)||(O(n,[\"onBlur\",\"onSuccessOrBlur\"]),w(n))}},getFocusNextField:function(n){return function(){var t=Object.keys(g.current),r=t.findIndex(function(t){return t===n});if(void 0!==r){var e=t[r+1];void 0!==e&&x(e)}}}}},[]);if(!F.current){for(var E in F.current={},p.current={},m.current={},h.current={},b.current={},g.current)Object.prototype.hasOwnProperty.call(g.current,E)&&(k.setState(E,{value:f(g.current[E].initialValue),talkative:!1,validity:{tag:\"unknown\"}}),p.current[E]=new Set,m.current[E]=!1,h.current[E]={current:null},b.current[E]=void 0);var w=function(n){var t=n.name,u=n.children,c=e(function(){return{getSnapshot:function(){return F.current[t]},subscribe:function(n){return p.current[t].add(n),function(){p.current[t].delete(n)}}}},[t]),a=c.getSnapshot;return i(c.subscribe,a,a),r(function(){var n=!m.current[t];return n?m.current[t]=!0:\"development\"===process.env.NODE_ENV&&console.error(\"Mounting multiple fields with identical names is not supported and will lead to errors\"),function(){n&&(m.current[t]=!1)}},[t]),u(o({},k.getFieldState(t),{ref:h.current[t],focusNextField:e(function(){return k.getFocusNextField(t)},[t]),onBlur:e(function(){return k.getOnBlur(t)},[t]),onChange:e(function(){return k.getOnChange(t)},[t])}))};w.displayName=\"Field\",O.current=w;var x=function(n){var t=n.names,r=n.children,u=e(function(){return{getSnapshot:function(){return JSON.stringify(t.map(function(n){return F.current[n]}))},subscribe:function(n){return t.forEach(function(t){return p.current[t].add(n)}),function(){t.forEach(function(t){return p.current[t].delete(n)})}}}},[JSON.stringify(t)]),o=u.getSnapshot;return i(u.subscribe,o,o),r(t.reduce(function(n,t){return n[t]=k.getFieldState(t),n},{}))};x.displayName=\"FieldsListener\",S.current=x}return{formStatus:y.current,Field:O.current,FieldsListener:S.current,getFieldState:k.getFieldState,setFieldValue:k.setFieldValue,setFieldError:k.setFieldError,focusField:k.focusField,resetField:k.resetField,sanitizeField:k.sanitizeField,validateField:k.validateField,listenFields:k.listenFields,resetForm:k.resetForm,submitForm:k.submitForm}};export{v as combineValidators,y as hasDefinedKeys,g as toOptionalValidator,F as useForm};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\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\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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;\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 }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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","export var COMMON_MIME_TYPES = new Map([\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n ['aac', 'audio/aac'],\n ['abw', 'application/x-abiword'],\n ['arc', 'application/x-freearc'],\n ['avif', 'image/avif'],\n ['avi', 'video/x-msvideo'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['bin', 'application/octet-stream'],\n ['bmp', 'image/bmp'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['cda', 'application/x-cdf'],\n ['csh', 'application/x-csh'],\n ['css', 'text/css'],\n ['csv', 'text/csv'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['epub', 'application/epub+zip'],\n ['gz', 'application/gzip'],\n ['gif', 'image/gif'],\n ['heic', 'image/heic'],\n ['heif', 'image/heif'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['ico', 'image/vnd.microsoft.icon'],\n ['ics', 'text/calendar'],\n ['jar', 'application/java-archive'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['js', 'text/javascript'],\n ['json', 'application/json'],\n ['jsonld', 'application/ld+json'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mjs', 'text/javascript'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mpeg', 'video/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['opus', 'audio/opus'],\n ['otf', 'font/otf'],\n ['png', 'image/png'],\n ['pdf', 'application/pdf'],\n ['php', 'application/x-httpd-php'],\n ['ppt', 'application/vnd.ms-powerpoint'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['rar', 'application/vnd.rar'],\n ['rtf', 'application/rtf'],\n ['sh', 'application/x-sh'],\n ['svg', 'image/svg+xml'],\n ['swf', 'application/x-shockwave-flash'],\n ['tar', 'application/x-tar'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['ts', 'video/mp2t'],\n ['ttf', 'font/ttf'],\n ['txt', 'text/plain'],\n ['vsd', 'application/vnd.visio'],\n ['wav', 'audio/wav'],\n ['weba', 'audio/webm'],\n ['webm', 'video/webm'],\n ['webp', 'image/webp'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['xhtml', 'application/xhtml+xml'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xml', 'application/xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['zip', 'application/zip'],\n ['7z', 'application/x-7z-compressed'],\n // Others\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['msg', 'application/vnd.ms-outlook']\n]);\nexport function toFileWithPath(file, path) {\n var f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n var webkitRelativePath = file.webkitRelativePath;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : file.name,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n return f;\n}\nfunction withMimeType(file) {\n var name = file.name;\n var hasExtension = name && name.lastIndexOf('.') !== -1;\n if (hasExtension && !file.type) {\n var ext = name.split('.')\n .pop().toLowerCase();\n var type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n return file;\n}\n//# sourceMappingURL=file.js.map","import { __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { toFileWithPath } from './file';\nvar FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store',\n 'Thumbs.db' // Windows\n];\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport function fromEvent(evt) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {\n return [2 /*return*/, getDataTransferFiles(evt.dataTransfer, evt.type)];\n }\n else if (isChangeEvt(evt)) {\n return [2 /*return*/, getInputFiles(evt)];\n }\n else if (Array.isArray(evt) && evt.every(function (item) { return 'getFile' in item && typeof item.getFile === 'function'; })) {\n return [2 /*return*/, getFsHandleFiles(evt)];\n }\n return [2 /*return*/, []];\n });\n });\n}\nfunction isDataTransfer(value) {\n return isObject(value);\n}\nfunction isChangeEvt(value) {\n return isObject(value) && isObject(value.target);\n}\nfunction isObject(v) {\n return typeof v === 'object' && v !== null;\n}\nfunction getInputFiles(evt) {\n return fromList(evt.target.files).map(function (file) { return toFileWithPath(file); });\n}\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nfunction getFsHandleFiles(handles) {\n return __awaiter(this, void 0, void 0, function () {\n var files;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.all(handles.map(function (h) { return h.getFile(); }))];\n case 1:\n files = _a.sent();\n return [2 /*return*/, files.map(function (file) { return toFileWithPath(file); })];\n }\n });\n });\n}\nfunction getDataTransferFiles(dt, type) {\n return __awaiter(this, void 0, void 0, function () {\n var items, files;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!dt.items) return [3 /*break*/, 2];\n items = fromList(dt.items)\n .filter(function (item) { return item.kind === 'file'; });\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return [2 /*return*/, items];\n }\n return [4 /*yield*/, Promise.all(items.map(toFilePromises))];\n case 1:\n files = _a.sent();\n return [2 /*return*/, noIgnoredFiles(flatten(files))];\n case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)\n .map(function (file) { return toFileWithPath(file); }))];\n }\n });\n });\n}\nfunction noIgnoredFiles(files) {\n return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });\n}\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items) {\n if (items === null) {\n return [];\n }\n var files = [];\n // tslint:disable: prefer-for-of\n for (var i = 0; i < items.length; i++) {\n var file = items[i];\n files.push(file);\n }\n return files;\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n var entry = item.webkitGetAsEntry();\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry);\n }\n return fromDataTransferItem(item);\n}\nfunction flatten(items) {\n return items.reduce(function (acc, files) { return __spreadArray(__spreadArray([], __read(acc), false), __read((Array.isArray(files) ? flatten(files) : [files])), false); }, []);\n}\nfunction fromDataTransferItem(item) {\n var file = item.getAsFile();\n if (!file) {\n return Promise.reject(\"\".concat(item, \" is not a File\"));\n }\n var fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nfunction fromEntry(entry) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];\n });\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry) {\n var reader = entry.createReader();\n return new Promise(function (resolve, reject) {\n var entries = [];\n function readEntries() {\n var _this = this;\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {\n var files, err_1, items;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!batch.length) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Promise.all(entries)];\n case 2:\n files = _a.sent();\n resolve(files);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n reject(err_1);\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n // Continue reading\n readEntries();\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); }, function (err) {\n reject(err);\n });\n }\n readEntries();\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nfunction fromFileEntry(entry) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, reject) {\n entry.file(function (file) {\n var fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, function (err) {\n reject(err);\n });\n })];\n });\n });\n}\n//# sourceMappingURL=file-selector.js.map","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from \"attr-accept\"; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(\", \")) : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(messageSuffix)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string|string[]} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: true,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n display: \"none\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";","import { Fragment, useState } from \"react\";\nimport { Accept, FileError, FileRejection, useDropzone } from \"react-dropzone\";\nimport { Pressable, StyleSheet, View } from \"react-native\";\nimport { P, match } from \"ts-pattern\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { t } from \"../utils/i18n\";\nimport { Box } from \"./Box\";\nimport { Button } from \"./Button\";\nimport { Icon } from \"./Icon\";\nimport { Space } from \"./Space\";\nimport { Tag } from \"./Tag\";\nimport { Label, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n container: {\n width: \"100%\",\n height: 210,\n alignItems: \"center\",\n justifyContent: \"center\",\n borderWidth: 1,\n borderColor: colors.neutral[600],\n borderStyle: \"dashed\",\n borderRadius: 4,\n backgroundColor: colors.neutral[800],\n transitionDuration: animDuration[200],\n transitionProperty: \"border-color, background-color\",\n outlineWidth: 0,\n },\n containerSmall: {\n height: \"initial\",\n paddingHorizontal: 24,\n paddingVertical: 24,\n alignItems: \"flex-start\",\n },\n containerHovered: {\n borderColor: colors.neutral[200],\n },\n containerPressed: {\n backgroundColor: colors.neutral[700],\n },\n containerError: {\n borderColor: colors.negative[500],\n },\n containerDragActive: {\n backgroundColor: colors.primary[900],\n borderColor: colors.primary[500],\n },\n containerWithFile: {\n borderStyle: \"solid\",\n },\n\n iconContainer: {\n width: 48,\n height: 48,\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: colors.neutral[900],\n borderRadius: radii[4],\n },\n});\n\nexport type FileType = \"image\" | \"document\";\n\ntype Props = {\n label?: string;\n value: File | null;\n fileType: FileType;\n maxSize?: number;\n smallUI?: boolean;\n onChange: (file: File | null) => void;\n};\n\nconst accept: Record = {\n image: {\n \"image/*\": [\".jpg\", \".jpeg\", \".png\", \".webp\"],\n },\n document: {\n \"application/pdf\": [\".pdf\"],\n },\n};\n\nconst getAcceptedExtensions = (fileType: FileType) => {\n return Object.keys(accept[fileType])\n .reduce((acc, key) => {\n // @ts-expect-error we're sure that key exists in accept[fileType]\n const extensions: string[] = accept[fileType][key];\n return [...acc, ...extensions];\n }, [])\n .filter((ext) => ext !== \".jpeg\")\n .map((ext) => ext.slice(1));\n};\n\nconst stringifyBytes = (bytes: number) => {\n if (bytes < 1024) {\n return `${bytes} o`;\n }\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(2)} Ko`;\n }\n return `${(bytes / 1024 / 1024).toFixed(2)} Mo`;\n};\n\nconst DEFAULT_MAX_SIZE = 1024 * 1024; // 1MB\n\nexport const InputFile: React.FC = ({\n label,\n value,\n fileType,\n maxSize = DEFAULT_MAX_SIZE,\n smallUI = false,\n onChange,\n}) => {\n const [errors, setErrors] = useState([]);\n const hasFile = value != null;\n\n const onDrop = ([file]: File[]) => {\n if (file != null) {\n setErrors([]);\n onChange(file);\n }\n };\n\n const onDropRejected = (rejections: FileRejection[]) => {\n setErrors(rejections.flatMap((rejection) => rejection.errors));\n };\n\n const hasInvalidType = errors.some((error) => error.code === \"file-invalid-type\");\n const hasTooBigFile = errors.some((error) => error.code === \"file-too-large\");\n\n const { getRootProps, getInputProps, isDragActive, open } = useDropzone({\n noClick: true,\n disabled: hasFile,\n onDropRejected,\n onDrop,\n accept: accept[fileType],\n maxFiles: 1,\n maxSize,\n });\n return (\n <>\n {label != null && (\n <>\n \n \n \n )}\n\n
\n \n [\n styles.container,\n smallUI && styles.containerSmall,\n (focused || hovered) && styles.containerHovered,\n pressed && styles.containerPressed,\n errors.length > 0 && styles.containerError,\n isDragActive && styles.containerDragActive,\n hasFile && styles.containerWithFile,\n ]}\n disabled={hasFile}\n onPress={open}\n >\n {match({ value, isDragActive })\n .with({ value: P.not(P.nullish) }, ({ value }) => (\n \n \n \n \n\n \n\n \n \n {value.name}\n \n onChange(null)}>\n \n {t(\"component.dropzone.delete_file\")}\n \n \n \n \n ))\n .with({ isDragActive: true }, () => (\n \n {t(\"component.dropzone.drop_here\")}\n \n ))\n .otherwise(() => (\n \n {smallUI ? (\n \n ) : (\n \n \n \n )}\n\n {smallUI === false && (\n <>\n \n\n \n {t(\"component.dropzone.drag_drop\")}\n \n \n {t(\"common.or\")} \n {t(\"component.dropzone.select_file\")}\n \n \n )}\n\n \n\n \n \n {t(\"component.dropzone.formats\")}\n \n {getAcceptedExtensions(fileType).map((format) => (\n \n \n \n {format}\n \n \n ))}\n \n\n \n\n \n {t(\"component.dropzone.max_size\", {\n size: stringifyBytes(maxSize).replace(\".00\", \"\"),\n })}\n \n \n ))}\n \n
\n \n );\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useDelayedLoader = (loading: boolean, delay: number) => {\n const [showLoader, setShowLoader] = useState(false);\n\n useEffect(() => {\n if (loading) {\n const timer = setTimeout(() => {\n setShowLoader(true);\n }, delay);\n\n return () => clearTimeout(timer);\n }\n\n setShowLoader(false);\n }, [loading, delay]);\n\n return showLoader;\n};\n","import { useState } from \"react\";\nimport {\n ActivityIndicator,\n NativeSyntheticEvent,\n StyleSheet,\n TextInput,\n TextInputFocusEventData,\n TextInputProps,\n View,\n} from \"react-native\";\nimport { P, match } from \"ts-pattern\";\nimport { useDelayedLoader } from \"../hooks/useDelayedLoader\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { Box } from \"./Box\";\nimport { Fill, Space } from \"./Space\";\nimport { Label, Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n input: {\n // smallFlat font style\n fontFamily: \"geist\",\n fontWeight: \"400\",\n fontSize: 13,\n lineHeight: 13,\n\n color: invariantColor.white,\n paddingHorizontal: 16,\n paddingVertical: 14,\n borderWidth: 1,\n borderColor: colors.neutral[700],\n borderRadius: radii[4],\n backgroundColor: colors.neutral[800],\n outlineWidth: 0,\n transitionDuration: animDuration[200],\n transitionProperty: \"border-color\",\n },\n inputDark: {\n backgroundColor: colors.neutral[900],\n },\n inputFocused: {\n borderColor: colors.neutral[200],\n },\n inputError: {\n borderColor: colors.negative[500],\n },\n inputDisabled: {\n backgroundColor: colors.neutral[600],\n color: colors.neutral[200],\n cursor: \"not-allowed\",\n },\n});\n\nexport type InputTextProps = TextInputProps & {\n inputRef?: React.Ref;\n label?: string;\n description?: string;\n validating?: boolean;\n error?: string;\n hideError?: boolean;\n dark?: boolean;\n};\n\nexport const InputText: React.FC = ({\n inputRef,\n label,\n maxLength,\n description,\n validating = false,\n error,\n hideError = false,\n dark = false,\n style,\n onFocus,\n onBlur,\n ...props\n}) => {\n const [focused, setFocused] = useState(false);\n const showValidating = useDelayedLoader(validating, 500);\n\n const handleFocus = (e: NativeSyntheticEvent) => {\n setFocused(true);\n onFocus?.(e);\n };\n\n const handleBlur = (e: NativeSyntheticEvent) => {\n setFocused(false);\n onBlur?.(e);\n };\n\n const valueLength = props.value?.length ?? 0;\n\n return (\n \n {label != null && (\n <>\n \n \n\n {showValidating && (\n <>\n \n \n \n )}\n\n {maxLength != null && (\n <>\n \n maxLength ? colors.negative[500] : colors.primary[500]}\n >\n {valueLength}/{maxLength}\n \n \n )}\n \n\n \n \n )}\n\n \n\n {match({ description, error, hideError })\n .with({ description: P.string, error: P.nullish }, ({ description }) => (\n <>\n \n \n {description}\n \n \n ))\n .with({ hideError: false }, ({ error }) => (\n <>\n \n \n {error ?? \" \"}\n \n \n ))\n .otherwise(() => null)}\n \n );\n};\n","import { AsyncData, Result } from \"@swan-io/boxed\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { StyleSheet, View } from \"react-native\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { Box } from \"./Box\";\nimport { Button } from \"./Button\";\nimport { FocusTrap } from \"./FocusTrap\";\nimport { FullScreenScrollView } from \"./FullScreenScrollView\";\nimport { Space } from \"./Space\";\nimport { Text } from \"./Text\";\n\nconst styles = StyleSheet.create({\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n cursor: \"default\",\n backdropFilter: \"blur(4px)\",\n animationKeyframes: {\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n },\n animationDuration: animDuration[500],\n },\n\n overlayClosing: {\n animationKeyframes: {\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n },\n },\n animationFillMode: \"forwards\",\n },\n\n modalContainer: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n outlineWidth: 0,\n },\n\n modal: {\n backgroundColor: colors.neutral[900],\n paddingHorizontal: 24,\n paddingVertical: 24,\n borderRadius: radii[8],\n borderWidth: 1,\n borderColor: colors.neutral[700],\n outlineWidth: 0,\n animationKeyframes: {\n from: {\n opacity: 0,\n transform: \"scale(0.9)\",\n },\n to: {\n opacity: 1,\n transform: \"scale(1)\",\n },\n },\n animationDuration: animDuration[200],\n },\n\n modalClosing: {\n animationKeyframes: {\n from: {\n opacity: 1,\n transform: \"scale(1)\",\n },\n to: {\n opacity: 0,\n transform: \"scale(0.9)\",\n },\n },\n animationFillMode: \"forwards\",\n },\n\n confirmButton: {\n flex: 1,\n },\n});\n\ntype Props = {\n maxWidth?: number;\n onClose?: () => void;\n children: React.ReactNode;\n};\n\nexport const Modal: React.FC = ({ maxWidth = 530, onClose, children }) => {\n const ref = useRef(null);\n const opened = children != null;\n const childrenRef = useRef(children);\n const onCloseRef = useRef(onClose);\n const openedRef = useRef(opened);\n const [state, setState] = useState<\"hidden\" | \"visible\" | \"closing\">(() =>\n opened ? \"visible\" : \"hidden\",\n );\n if (children != null) {\n childrenRef.current = children;\n }\n\n useEffect(() => {\n const element = ref.current as HTMLDivElement | null;\n const wasOpened = openedRef.current;\n openedRef.current = opened;\n\n if (opened === wasOpened) {\n return;\n }\n\n if (opened && !wasOpened) {\n setState(\"visible\");\n return;\n }\n\n if (!opened && wasOpened && element != null) {\n const handleAnimationEnd = () => {\n setState(\"hidden\");\n };\n\n setState(\"closing\");\n element.addEventListener(\"animationend\", handleAnimationEnd);\n\n return () => {\n element.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n }\n }, [opened]);\n\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (state === \"visible\") {\n const handleClick = (event: MouseEvent) => {\n const modal = ref.current as HTMLDivElement | null;\n if (!modal?.contains(event.target as Node)) {\n event.preventDefault();\n onCloseRef.current?.();\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n onCloseRef.current?.();\n }\n };\n\n document.addEventListener(\"click\", handleClick);\n document.addEventListener(\"keydown\", handleEscape);\n return () => {\n document.removeEventListener(\"click\", handleClick);\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }\n\n if (state === \"hidden\") {\n childrenRef.current = null;\n }\n }, [state]);\n\n if (state === \"hidden\") {\n return null;\n }\n\n const closing = state === \"closing\";\n\n return createPortal(\n <>\n \n \n \n \n {childrenRef.current}\n \n \n \n ,\n document.body,\n );\n};\n\nexport type ConfirmContentProps = {\n title: string;\n message: React.ReactNode;\n confirmText: string;\n cancelText: string;\n status?: AsyncData>;\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nexport const ConfirmContent: React.FC = ({\n title,\n message,\n confirmText,\n cancelText,\n status,\n onConfirm,\n onCancel,\n}) => {\n return (\n <>\n \n {title}\n \n \n {message}\n\n \n\n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Pressable, StyleSheet, View, ViewProps } from \"react-native\";\nimport { useHover } from \"../hooks/useHover\";\nimport { animDuration, colors, radii } from \"../utils/design\";\nimport { Icon } from \"./Icon\";\nimport { Space } from \"./Space\";\nimport { Text } from \"./Text\";\n\nconst CLOSE_DURATION = 200;\nconst AUTO_CLOSE_TIMEOUT = 5000;\n\nconst styles = StyleSheet.create({\n container: {\n width: \"100%\",\n paddingHorizontal: 16,\n paddingVertical: 16,\n flexDirection: \"row\",\n alignItems: \"flex-start\",\n backgroundColor: colors.neutral[800],\n borderRadius: radii[4],\n borderWidth: 1,\n borderColor: colors.neutral[700],\n },\n\n closeButton: {\n width: 16,\n height: 16,\n borderRadius: 8,\n backgroundColor: colors.negative[500],\n position: \"absolute\",\n left: -8,\n top: -8,\n transitionDuration: animDuration[200],\n transitionProperty: \"transform opacity\",\n },\n closeButtonPressed: {\n transform: \"scale(0.9)\",\n },\n closeButtonHidden: {\n transform: \"scale(0.75)\",\n opacity: 0,\n },\n\n iconContainer: {\n paddingHorizontal: 12,\n paddingVertical: 12,\n backgroundColor: colors.neutral[900],\n borderRadius: radii[4],\n },\n\n textContainer: {\n flex: 1,\n },\n\n toaster: {\n zIndex: 1000,\n position: \"absolute\",\n right: 16,\n bottom: 16,\n width: \"calc(100% - 32px)\",\n maxWidth: 400,\n },\n\n toasterToast: {\n position: \"absolute\",\n right: 0,\n bottom: 0,\n transformOrigin: \"center bottom\",\n transitionDuration: animDuration[CLOSE_DURATION],\n transitionProperty: \"transform, opacity\",\n\n animationKeyframes: {\n from: {\n transform: \"translateY(100%)\",\n opacity: 0,\n },\n to: {\n transform: \"translateY(0)\",\n opacity: 1,\n },\n },\n animationDuration: animDuration[200],\n },\n});\n\ntype ToastParams = {\n variant: \"success\" | \"error\" | \"info\";\n title: string;\n message: React.ReactNode;\n};\n\nconst toastColor: Record = {\n success: colors.positive[500],\n error: colors.negative[500],\n info: colors.primary[500],\n};\n\nconst toastIcon: Record = {\n success: \"check_circle\",\n error: \"warning_triangle\",\n info: \"info_circle\",\n};\n\ntype ToastProps = ToastParams & {\n viewRef?: React.MutableRefObject;\n onClose?: () => void;\n style?: ViewProps[\"style\"];\n};\n\nexport const Toast: React.FC = ({\n viewRef,\n variant,\n title,\n message,\n onClose,\n style,\n}) => {\n const color = toastColor[variant];\n const closable = onClose != null;\n\n return (\n \n [\n styles.closeButton,\n pressed && styles.closeButtonPressed,\n !closable && styles.closeButtonHidden,\n ]}\n disabled={!closable}\n aria-hidden={!closable}\n onPress={onClose}\n >\n \n \n\n \n \n \n\n \n\n \n \n {title}\n \n {message}\n \n \n );\n};\n\nlet pushToast: undefined | ((props: ToastParams) => void);\nlet lastToastId = 0;\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport const toast = (props: ToastParams) => {\n pushToast?.(props);\n};\n\ntype ToasterState = ToastParams & { id: number };\n\nexport const Toaster: React.FC = () => {\n const [toasts, setToasts] = useState([]);\n\n useEffect(() => {\n pushToast = (props) => {\n setToasts((prev) => [{ ...props, id: lastToastId++ }, ...prev]);\n };\n }, []);\n\n const removeToast = (id: number) => {\n setToasts((prev) => prev.filter((toast) => toast.id !== id));\n };\n\n return createPortal(\n \n {toasts.map((toast, index) => (\n \n ))}\n ,\n document.body,\n );\n};\n\ntype ToasterToastProps = ToastParams & {\n id: number;\n position: number;\n nbToasts: number;\n onClose: (id: number) => void;\n};\n\nconst NB_MAX_BACKGROUND_TOAST = 3;\n\nconst ToasterToast: React.FC = ({\n id,\n position,\n nbToasts,\n onClose,\n ...props\n}) => {\n const ref = useRef(null);\n const [closing, setClosing] = useState(false);\n const zIndex = nbToasts - position;\n const transformPositon = Math.min(position, NB_MAX_BACKGROUND_TOAST);\n const scale = 1 - transformPositon * 0.05;\n const transform = closing\n ? \"translateY(100%)\"\n : `translateY(-${12 * transformPositon}px) scale(${scale})`;\n const opacity = position > NB_MAX_BACKGROUND_TOAST || closing ? 0 : 1;\n\n const isLastOpened = position === 0;\n const withAutoClose = props.variant !== \"error\";\n\n const [hovered, setHovered] = useState(false);\n useHover(ref, {\n onHoverChange: setHovered,\n });\n\n const close = isLastOpened\n ? () => {\n setClosing(true);\n setTimeout(() => {\n onClose(id);\n }, CLOSE_DURATION);\n }\n : undefined;\n\n useEffect(() => {\n if (close != null && withAutoClose && !hovered) {\n const timeout = setTimeout(() => {\n setClosing(true);\n setTimeout(() => {\n onClose(id);\n }, CLOSE_DURATION);\n }, AUTO_CLOSE_TIMEOUT);\n\n return () => clearTimeout(timeout);\n }\n // we need to run this effect only when the position changes\n // or when hover state changes\n }, [close, hovered]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n \n );\n};\n","export const readAsBase64 = (file: File): Promise => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const base64 = reader.result as string;\n resolve(base64);\n };\n\n reader.onerror = () => {\n reject(reader.error);\n };\n\n reader.readAsDataURL(file);\n });\n};\n\nexport const base64ToFile = (base64: string, filename: string): File => {\n const arr = base64.split(\",\");\n const mime = arr[0]?.match(/:(.*?);/)?.[1];\n const bstr = atob(arr[1] || \"\");\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n return new File([u8arr], filename, { type: mime });\n};\n","import { Result } from \"@swan-io/boxed\";\n\nconst uploadFile = async (url: string, file: File): Promise> => {\n const data = new FormData();\n data.append(\"file\", file);\n\n const response = await fetch(url, {\n method: \"POST\",\n body: data,\n });\n\n if (response.ok) {\n return Result.Ok(await response.text());\n } else {\n return Result.Error(response.status);\n }\n};\n\nexport const uploadUserAvatar = (logoFile: File): Promise> => {\n return uploadFile(\"/api/upload/avatar\", logoFile);\n};\n\nexport const uploadOrgLogo = (org_id: number, logoFile: File): Promise> => {\n return uploadFile(`/api/upload/logo/${org_id}`, logoFile);\n};\n\nexport const uploadTeamIcon = (\n org_id: number,\n team_id: number,\n logoFile: File,\n): Promise> => {\n return uploadFile(`/upload/icon/${org_id}/${team_id}`, logoFile);\n};\n","type InvalidError = { type: \"INVALID\" };\ntype TooShortError = { type: \"TOO_SHORT\"; minLength: number };\ntype TooLongError = { type: \"TOO_LONG\"; maxLength: number };\ntype InvalidLengthError = { type: \"INVALID_LENGTH\"; expectedLength: number };\n\nexport const NAME_MIN_LENGTH = 3;\nexport const NAME_MAX_LENGTH = 32;\nexport const TEAM_IDENTIFIER_LENGTH = 3;\nexport const DESCRIPTION_MAX_LENGTH = 50;\n\n// validation functions based on `scalars.rs` file\nexport const validateEmail = (email: string): InvalidError | undefined => {\n const regex =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\\.+[a-z]+/;\n if (!regex.test(email)) {\n return { type: \"INVALID\" };\n }\n};\n\nexport const validateSlug = (\n slug: string,\n): TooShortError | TooLongError | InvalidError | undefined => {\n if (slug.length < NAME_MIN_LENGTH) {\n return { type: \"TOO_SHORT\", minLength: NAME_MIN_LENGTH };\n }\n if (slug.length > NAME_MAX_LENGTH) {\n return { type: \"TOO_LONG\", maxLength: NAME_MAX_LENGTH };\n }\n\n const regex = /^[a-zA-Z0-9_-]+$/;\n if (!regex.test(slug)) {\n return { type: \"INVALID\" };\n }\n};\n\nexport const validateName = (\n name: string,\n): TooShortError | TooLongError | InvalidError | undefined => {\n if (name.length < NAME_MIN_LENGTH) {\n return { type: \"TOO_SHORT\", minLength: NAME_MIN_LENGTH };\n }\n if (name.length > NAME_MAX_LENGTH) {\n return { type: \"TOO_LONG\", maxLength: NAME_MAX_LENGTH };\n }\n\n const regex = /^[a-zA-ZÀ-ÿ -']+$/;\n if (!regex.test(name)) {\n return { type: \"INVALID\" };\n }\n};\n\nexport const validateTeamIdentifier = (\n teamIdentifier: string,\n): InvalidLengthError | InvalidError | undefined => {\n if (teamIdentifier.length !== TEAM_IDENTIFIER_LENGTH) {\n return { type: \"INVALID_LENGTH\", expectedLength: TEAM_IDENTIFIER_LENGTH };\n }\n\n const regex = /^[A-Z]+$/;\n if (!regex.test(teamIdentifier)) {\n return { type: \"INVALID\" };\n }\n};\n\nexport const validateDescription = (description: string): TooLongError | undefined => {\n if (description.length > DESCRIPTION_MAX_LENGTH) {\n return { type: \"TOO_LONG\", maxLength: DESCRIPTION_MAX_LENGTH };\n }\n};\n","import { Result } from \"@swan-io/boxed\";\nimport { ResultOf } from \"gql.tada\";\nimport { useEffect, useState } from \"react\";\nimport { StyleSheet, View } from \"react-native\";\nimport { hasDefinedKeys, useForm } from \"react-ux-form\";\nimport { P, match } from \"ts-pattern\";\nimport { AppBackLink, DangerZoneTitle } from \"../components/AppLayout\";\nimport { EditAvatarButton, UserAvatar } from \"../components/Avatar\";\nimport { Box } from \"../components/Box\";\nimport { Button } from \"../components/Button\";\nimport { FullScreenScrollView } from \"../components/FullScreenScrollView\";\nimport { InputFile } from \"../components/InputFile\";\nimport { InputText } from \"../components/InputText\";\nimport { ConfirmContent, Modal } from \"../components/Modal\";\nimport { Redirect } from \"../components/Redirect\";\nimport { Space } from \"../components/Space\";\nimport { Label, Text } from \"../components/Text\";\nimport { toast } from \"../components/Toast\";\nimport { useResponsive } from \"../hooks/useResponsive\";\nimport { useTitle } from \"../hooks/useTitle\";\nimport { ApplicationKey, applications } from \"../utils/applications\";\nimport { colors, invariantColor, radii } from \"../utils/design\";\nimport { readAsBase64 } from \"../utils/file\";\nimport {\n fetch,\n graphql,\n mutate,\n setQueryData,\n usePromise,\n usePromiseMutation,\n useQuery,\n} from \"../utils/graphql\";\nimport { t, tNested } from \"../utils/i18n\";\nimport { MeFragment, MeQuery, UsernameExistsQuery } from \"../utils/queries\";\nimport { router } from \"../utils/routes\";\nimport { uploadUserAvatar } from \"../utils/upload\";\nimport { NAME_MAX_LENGTH, validateName, validateSlug } from \"../utils/validation\";\n\nconst styles = StyleSheet.create({\n previewContainer: {\n paddingHorizontal: 24,\n paddingVertical: 24,\n flexDirection: \"row\",\n alignItems: \"center\",\n borderRadius: radii[4],\n backgroundColor: colors.neutral[800],\n },\n modalPreview: {\n backgroundColor: colors.neutral[900],\n },\n\n fill: {\n flex: 1,\n },\n\n apiKeyButton: {\n top: 27, // to align with the input text\n height: 46, // to fit with input text height\n width: 46, // to make it a square\n },\n});\n\nconst UpdateMeMutation = graphql(\n `\n mutation UpdateMeMutation($input: UpdateUserInput!) {\n updateMe(input: $input) {\n ...MeFragment\n }\n }\n `,\n [MeFragment],\n);\n\nconst DeleteMeMutation = graphql(`\n mutation DeleteMeMutation {\n deleteMe {\n id\n }\n }\n`);\n\nconst RefreshTokenMutation = graphql(\n `\n mutation RefreshTokenMutation {\n refreshPrivateApiKey {\n privateApiKey\n }\n }\n `,\n [],\n);\n\ntype Props = {\n fromApp: ApplicationKey | undefined;\n};\n\nexport const MyProfilePage: React.FC = ({ fromApp }) => {\n useTitle(t(\"page_title.my_profile\"), fromApp);\n\n const {\n data: { me, apiKeys },\n refetch: refetchMe,\n } = useQuery(MeQuery);\n const { data: updateResult, execute, reset: resetMutationState } = usePromise();\n\n const [uploadAvatarOpened, setUploadAvatarOpened] = useState(false);\n const [deleteAccountOpened, setDeleteAccountOpened] = useState(false);\n const [refreshTokenOpened, setRefreshTokenOpened] = useState(false);\n\n const { Field, FieldsListener, submitForm, formStatus, resetForm } = useForm({\n fullName: {\n initialValue: me.fullName,\n sanitize: (value) => value.trim(),\n validate: (value) => {\n return match(validateName(value))\n .with({ type: \"TOO_SHORT\" }, ({ minLength }) =>\n t(\"my_profile.general.full_name.too_short\", { count: minLength }),\n )\n .with({ type: \"TOO_LONG\" }, ({ maxLength }) =>\n t(\"my_profile.general.full_name.too_long\", { count: maxLength }),\n )\n .with({ type: \"INVALID\" }, () => t(\"my_profile.general.full_name.description\"))\n .with(P.nullish, () => undefined)\n .exhaustive();\n },\n },\n username: {\n initialValue: me.username,\n sanitize: (value) => value.trim(),\n validate: async (value) => {\n const invalidMessage = match(validateSlug(value))\n .with({ type: \"TOO_SHORT\" }, ({ minLength }) =>\n t(\"my_profile.general.username.too_short\", { count: minLength }),\n )\n .with({ type: \"TOO_LONG\" }, ({ maxLength }) =>\n t(\"my_profile.general.username.too_long\", { count: maxLength }),\n )\n .with({ type: \"INVALID\" }, () => t(\"my_profile.general.username.invalid\"))\n .with(P.nullish, () => undefined)\n .exhaustive();\n\n if (invalidMessage != null) {\n return invalidMessage;\n }\n\n // check if username is already taken\n const result = await Result.fromPromise(\n fetch({ document: UsernameExistsQuery, variables: { username: value } }),\n );\n\n return match(result)\n .with(Result.P.Ok({ usernameExists: true }), () =>\n t(\"my_profile.general.username.already_taken\"),\n )\n .with(Result.P.Error(P.any), () => t(\"my_profile.general.username.error\"))\n .otherwise(() => undefined);\n },\n },\n });\n\n const handleSubmit = () =>\n submitForm((values) => {\n if (!hasDefinedKeys(values, [\"fullName\", \"username\"])) {\n return;\n }\n\n const { fullName, username } = values;\n\n return execute(async () => {\n const result = await mutate(UpdateMeMutation, {\n input: {\n fullName,\n username,\n },\n });\n\n result.match({\n Ok: ({ updateMe: me }) => {\n setQueryData({ me, apiKeys }, MeQuery);\n setTimeout(() => {\n resetForm();\n resetMutationState();\n }, 1000);\n },\n Error: () => {\n toast({\n variant: \"error\",\n title: t(\"my_profile.general.error.update_user.title\"),\n message: t(\"my_profile.general.error.update_user.message\"),\n });\n },\n });\n\n return result;\n });\n });\n\n if (fromApp != null && updateResult.isDone() && updateResult.value.isOk()) {\n return ;\n }\n\n return (\n \n {fromApp != null && (\n <>\n \n\n \n \n )}\n\n \n {t(\"my_profile.title\")}\n \n \n {t(\"my_profile.description\")}\n\n \n\n \n setUploadAvatarOpened(true)}>\n \n \n\n \n\n \n \n {({ fullName }) => (\n \n {fullName.value}\n \n )}\n \n {me.email}\n \n \n\n \n\n \n {({ value, error, onChange, onBlur }) => (\n \n )}\n \n\n \n\n \n {({ value, error, validating, onChange, onBlur }) => (\n \n )}\n \n\n \n\n \n {t(\"my_profile.general.submit\")}\n \n\n \n\n \n \n\n \n\n {\n navigator.clipboard.writeText(apiKeys.privateApiKey);\n toast({\n variant: \"success\",\n title: t(\"my_profile.general.private_api_key.copied\"),\n message: t(\"my_profile.general.private_api_key.copied_message\"),\n });\n }}\n icon=\"copy\"\n />\n\n \n\n setRefreshTokenOpened(true)}\n icon=\"reload\"\n />\n \n \n \n {t(\"my_profile.general.private_api_key.description\")}\n \n\n \n\n \n\n \n\n \n\n \n {uploadAvatarOpened ? (\n setUploadAvatarOpened(false)}\n onAvatarUploaded={refetchMe}\n />\n ) : null}\n \n\n \n {deleteAccountOpened ? (\n setDeleteAccountOpened(false)} />\n ) : null}\n \n\n \n {refreshTokenOpened ? (\n setRefreshTokenOpened(false)} />\n ) : null}\n \n \n );\n};\n\ntype UploadAvatarFormProps = {\n me: ResultOf[\"me\"];\n onClosed: () => void;\n onAvatarUploaded: () => void;\n};\n\nconst UploadAvatarForm: React.FC = ({ me, onClosed, onAvatarUploaded }) => {\n const deviceSize = useResponsive();\n const isMobile = deviceSize === \"mobile\";\n\n const { data: uploadResult, mutate: upload } = usePromiseMutation(uploadUserAvatar);\n\n const [file, setFile] = useState(null);\n const [fileBase64, setFileBase64] = useState(null);\n\n useEffect(() => {\n if (file != null) {\n readAsBase64(file).then(setFileBase64);\n } else {\n setFileBase64(null);\n }\n }, [file]);\n\n const handleSubmit = async () => {\n if (file == null) {\n return;\n }\n\n const result = await upload(file);\n\n result.match({\n Ok: () => {\n onAvatarUploaded();\n onClosed();\n },\n Error: () => {\n toast({\n variant: \"error\",\n title: t(\"my_profile.avatar.error.upload_avatar.title\"),\n message: t(\"my_profile.avatar.error.upload_avatar.message\"),\n });\n },\n });\n };\n\n return (\n <>\n \n {t(\"my_profile.avatar.title\")}\n \n\n \n\n \n\n \n\n \n \n\n \n \n\n \n\n \n \n {me.fullName}\n \n \n @{me.username}\n \n \n \n\n \n\n \n \n {t(\"common.cancel\")}\n \n\n \n\n \n {t(\"my_profile.avatar.submit\")}\n \n \n \n );\n};\n\ntype DeleteAccountFormProps = {\n username: string;\n onClose: () => void;\n};\n\nconst DeleteAccountForm: React.FC = ({ username, onClose }) => {\n const { data: deleteResult, execute } = usePromise();\n\n const { Field, FieldsListener, submitForm } = useForm({\n username: {\n initialValue: \"\",\n validate: (value) => {\n if (value !== username) {\n // we don't display any error message\n return \"\";\n }\n },\n },\n });\n\n const deleteAccount = () =>\n submitForm((values) => {\n if (!hasDefinedKeys(values, [\"username\"])) {\n return;\n }\n\n return execute(async () => {\n const result = await mutate(DeleteMeMutation);\n\n result.match({\n Ok: () => {\n router.push(\"Signout\");\n },\n Error: () => {\n toast({\n variant: \"error\",\n title: t(\"my_profile.delete_account.error.title\"),\n message: t(\"my_profile.delete_account.error.message\"),\n });\n },\n });\n\n return result;\n });\n });\n\n return (\n <>\n \n {t(\"my_profile.delete_account.modal.title\")}\n \n\n \n\n \n {tNested(\"my_profile.delete_account.modal.description\", {\n link: (value) => {value},\n })}\n \n\n \n\n \n {({ value, onChange, onBlur }) => (\n \n )}\n \n\n \n\n \n \n {t(\"common.cancel\")}\n \n\n \n\n \n {({ username }) => (\n \n {t(\"my_profile.delete_account.modal.submit\")}\n \n )}\n \n \n \n );\n};\n\ntype RefreshApiTokenModaleProps = {\n me: ResultOf[\"me\"];\n onClose: () => void;\n};\n\nconst RefreshApiTokenModale: React.FC = ({ me, onClose }) => {\n const { data: result, execute } = usePromise();\n\n const refreshApiToken = () => {\n return execute(async () => {\n const result = await mutate(RefreshTokenMutation);\n\n result.match({\n Ok: ({ refreshPrivateApiKey: apiKeys }) => {\n setQueryData({ me, apiKeys }, MeQuery);\n onClose();\n },\n Error: () => {\n toast({\n variant: \"error\",\n title: t(\"my_profile.general.error.refresh_api_key.title\"),\n message: t(\"my_profile.general.error.refresh_api_key.message\"),\n });\n },\n });\n\n return result;\n });\n };\n\n return (\n \n );\n};\n","import { Fragment, useEffect, useRef } from \"react\";\nimport { StyleSheet, TextInput, View } from \"react-native\";\nimport { animDuration, colors, invariantColor, radii } from \"../utils/design\";\nimport { Space } from \"./Space\";\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n input: {\n fontFamily: \"geist-mono\",\n fontWeight: \"400\",\n fontSize: 20,\n lineHeight: 20,\n color: invariantColor.white,\n textAlign: \"center\",\n outlineWidth: 0,\n\n width: 44,\n height: 52,\n backgroundColor: colors.neutral[800],\n borderWidth: 1,\n borderColor: colors.neutral[700],\n borderRadius: radii[4],\n transitionDuration: animDuration[200],\n transitionProperty: \"border-color\",\n },\n inputDisabled: {\n backgroundColor: colors.neutral[600],\n color: colors.neutral[200],\n },\n inputInvalid: {\n borderColor: colors.negative[500],\n },\n});\n\nexport type InputOtpProps = {\n nbDigits: number;\n value: string;\n invalid: boolean;\n autofocus?: boolean;\n disabled?: boolean;\n onChange: (value: string) => void;\n onComplete: () => void;\n};\n\nexport const InputOtp: React.FC = ({\n nbDigits,\n value,\n invalid,\n autofocus = false,\n disabled = false,\n onChange,\n onComplete,\n}) => {\n const ref = useRef(null);\n\n const focusDigit = (index: number) => {\n const container = ref.current as HTMLDivElement | null;\n const inputs = container?.querySelectorAll(\"input\");\n const input = inputs?.[index];\n input?.focus();\n };\n\n useEffect(() => {\n if (autofocus) {\n focusDigit(0);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n \n {Array.from({ length: nbDigits }).map((_, index) => (\n \n {index > 0 && }\n {\n // if user deletes a digit\n // we remove the last digit and focus the previous one\n if (text.length === 0) {\n const newValue = value.slice(0, value.length - 1);\n onChange(newValue);\n focusDigit(newValue.length - 1);\n return;\n }\n\n const newValue = value.slice(0, index) + text + value.slice(index + text.length);\n const v = newValue.slice(0, nbDigits);\n onChange(v);\n\n const nextIndex = index + text.length;\n\n // focus next digit\n if (nextIndex < nbDigits) {\n focusDigit(nextIndex);\n } else {\n // if user filled the last digit\n focusDigit(nbDigits - 1);\n onComplete();\n }\n }}\n keyboardType=\"number-pad\"\n textContentType=\"oneTimeCode\"\n enterKeyHint=\"next\"\n selectTextOnFocus={true}\n />\n \n ))}\n \n );\n};\n","import { StyleSheet, View, ViewProps } from \"react-native\";\nimport { ColorVariant, colors, radii } from \"../utils/design\";\n\nconst styles = StyleSheet.create({\n outerContainer: {\n padding: 1,\n borderRadius: radii[8],\n },\n\n container: {\n backgroundColor: colors.neutral[800],\n borderRadius: radii[8],\n },\n});\n\ntype Props = {\n borderColor?: ColorVariant;\n children: React.ReactNode;\n style?: ViewProps[\"style\"];\n};\n\nexport const Tile = ({ borderColor, children, style }: Props) => {\n return (\n \n {children}\n \n );\n};\n","import {\n AuthenticateWithRedirectCallback,\n useAuth,\n useSignIn,\n useSignUp,\n} from \"@clerk/clerk-react\";\nimport type { SetActiveParams, SignInResource, SignInStatus } from \"@clerk/types\";\nimport { Result } from \"@swan-io/boxed\";\nimport Cookies from \"js-cookie\";\nimport { useEffect, useState } from \"react\";\nimport { ActivityIndicator, Pressable, StyleSheet, View } from \"react-native\";\nimport { hasDefinedKeys, useForm } from \"react-ux-form\";\nimport { P, match } from \"ts-pattern\";\nimport { Box } from \"../components/Box\";\nimport { Button, LogWithButton } from \"../components/Button\";\nimport { FullScreenScrollView } from \"../components/FullScreenScrollView\";\nimport { Logo } from \"../components/Icon\";\nimport { InputOtp } from \"../components/InputOtp\";\nimport { InputText } from \"../components/InputText\";\nimport { Redirect } from \"../components/Redirect\";\nimport { Space } from \"../components/Space\";\nimport { Text } from \"../components/Text\";\nimport { Tile } from \"../components/Tile\";\nimport { toast } from \"../components/Toast\";\nimport { useTitle } from \"../hooks/useTitle\";\nimport { ApplicationKey } from \"../utils/applications\";\nimport { colors, invariantColor } from \"../utils/design\";\nimport { fetch, graphql, usePromiseMutation } from \"../utils/graphql\";\nimport { locale, t } from \"../utils/i18n\";\nimport { router } from \"../utils/routes\";\nimport { validateEmail } from \"../utils/validation\";\nimport { LoadingPage } from \"./LoadingPage\";\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 36,\n paddingVertical: 36,\n minHeight: 500,\n },\n\n orDivider: {\n height: 1,\n flex: 1,\n backgroundColor: colors.neutral[700],\n },\n});\n\nconst signUpUser = async (email: string): Promise> => {\n // remove __session cookie in case user signup without signout\n // otherwise, the backend app will try to authenticate the request with an outdated session token\n Cookies.remove(\"__session\");\n\n const document = graphql(`\n mutation Signup($email: Email!, $locale: Locale!) {\n signup(email: $email, locale: $locale) {\n id\n }\n }\n `);\n\n return Result.fromPromise(\n fetch({\n document,\n variables: {\n email,\n locale: locale.toLocaleUpperCase() as Uppercase,\n },\n }).then(({ signup }) => signup.id),\n );\n};\n\nconst signInUser = async (\n ressource: SignInResource,\n email: string,\n hasSignUp = false,\n): Promise> => {\n try {\n const result = await ressource.create({\n strategy: \"email_code\",\n identifier: email,\n });\n\n if (result.status === \"needs_first_factor\") {\n return Result.Ok(email);\n }\n\n throw new Error(result.status ?? \"unknown\");\n } catch (error) {\n // If signup succeed, no need to signup again\n if (hasSignUp) {\n toast({\n variant: \"error\",\n title: t(\"signin.error.unexpected.title\"),\n message: t(\"signin.error.unexpected.description\"),\n });\n return Result.Error(error);\n }\n\n const signUpResult = await signUpUser(email);\n\n return signUpResult.match({\n Ok: () => signInUser(ressource, email, true),\n Error: (error) => Promise.resolve(Result.Error(error)),\n });\n }\n};\n\nconst sendOtpCode =\n (ressource: SignInResource, setActive: (params: SetActiveParams) => Promise) =>\n async (otp: string): Promise> => {\n try {\n const result = await ressource.attemptFirstFactor({\n strategy: \"email_code\",\n code: otp,\n });\n\n const { status, createdSessionId } = result;\n\n if (status !== \"complete\" || createdSessionId == null) {\n toast({\n variant: \"error\",\n title: t(\"signin_verify.error.invalid.title\"),\n message: t(\"signin_verify.error.invalid.description\"),\n });\n return Result.Error(status ?? \"unknown\");\n }\n\n await setActive({ session: createdSessionId });\n\n return Result.Ok(createdSessionId);\n } catch (error) {\n toast({\n variant: \"error\",\n title: t(\"signin_verify.error.invalid.title\"),\n message: t(\"signin_verify.error.invalid.description\"),\n });\n console.error(error);\n return Result.Error(\"unknown\");\n }\n };\n\ntype OAuthSignInButtonProps = {\n provider: \"google\" | \"microsoft\" | \"github\";\n redirectTo: string | undefined;\n children: string;\n};\n\nconst OAuthSignInButton: React.FC = ({\n provider,\n redirectTo,\n children,\n}) => {\n const { signUp } = useSignUp();\n const { mutate: signIn, data: signInResult } = usePromiseMutation(async () => {\n try {\n const redirectUrlComplete = match(redirectTo)\n .with(P.nullish, () => window.location.origin)\n .with(P.string.startsWith(\"/\"), (path) => window.location.origin + path)\n .with(P.string.startsWith(\"http\"), (url) => url)\n .otherwise((path) => window.location.origin + \"/\" + path);\n\n await signUp?.authenticateWithRedirect({\n strategy: `oauth_${provider}`,\n redirectUrl: window.location.origin + router.SigninSsoCallback({ redirect_to: redirectTo }),\n redirectUrlComplete,\n unsafeMetadata: {\n locale,\n },\n });\n\n return Result.Ok(undefined);\n } catch (error) {\n console.error(error);\n toast({\n variant: \"error\",\n title: t(\"signin.error.unexpected.title\"),\n message: t(\"signin.error.unexpected.description\"),\n });\n return Result.Error(error);\n }\n });\n\n return (\n \n {children}\n \n );\n};\n\ntype EmailFormProps = {\n fromApp: ApplicationKey | undefined;\n signInRessource: SignInResource;\n oAuthredirectTo: string | undefined;\n onSuccess: (email: string) => void;\n};\n\nconst EmailForm: React.FC = ({\n fromApp,\n signInRessource,\n oAuthredirectTo,\n onSuccess,\n}) => {\n const { mutate: signIn, data: signInResult } = usePromiseMutation((email: string) =>\n signInUser(signInRessource, email),\n );\n\n const { Field, submitForm } = useForm({\n email: {\n initialValue: \"\",\n validate: (value) => {\n if (validateEmail(value) != null) {\n return t(\"signin.error.invalid_email.title\");\n }\n },\n },\n });\n\n const handleSubmit = () =>\n submitForm(\n async (values) => {\n if (hasDefinedKeys(values, [\"email\"])) {\n const result = await signIn(values.email);\n if (result.isOk()) {\n onSuccess(values.email);\n }\n }\n },\n ({ email }) => {\n if (email != null) {\n toast({\n variant: \"error\",\n title: t(\"signin.error.invalid_email.title\"),\n message: t(\"signin.error.invalid_email.description\"),\n });\n }\n },\n );\n\n return (\n <>\n {match(fromApp)\n .with(\"dedale\", () => )\n .with(P.nullish, () => )\n .exhaustive()}\n\n \n\n \n {t(\"signin.title\")}\n \n\n \n {t(\"signin.description\")}\n \n\n {\n event.preventDefault();\n handleSubmit();\n }}\n >\n \n {({ value, error, onChange, onBlur }) => (\n \n )}\n \n\n \n\n \n \n\n \n\n \n \n \n {t(\"common.or\")}\n \n \n \n\n \n\n \n {t(\"signin.connect_with_google\")}\n \n \n \n {t(\"signin.connect_with_microsoft\")}\n \n \n \n {t(\"signin.connect_with_github\")}\n \n \n );\n};\n\ntype RetryOtpButtonProps = {\n onPress: () => void;\n};\n\nconst RetryOtpButton: React.FC = ({ onPress }) => {\n const [timer, setTimer] = useState(60);\n\n useEffect(() => {\n const interval = setInterval(() => {\n setTimer((prev) => (prev > 0 ? prev - 1 : prev));\n }, 1000);\n\n return () => clearInterval(interval);\n }, []);\n\n const handlePress = () => {\n setTimer(60);\n onPress();\n };\n\n return (\n 0} onPress={handlePress}>\n \n {t(\"signin_verify.resend\")}\n {timer > 0 && ` (${timer})`}\n \n \n );\n};\n\ntype OtpFormProps = {\n signInRessource: SignInResource;\n setActive: (params: SetActiveParams) => Promise;\n email: string;\n preFilledOtp?: string;\n};\n\nconst OtpForm: React.FC = ({\n signInRessource,\n setActive,\n email,\n preFilledOtp = \"\",\n}) => {\n const { mutate: signIn, data: signInResult } = usePromiseMutation(\n sendOtpCode(signInRessource, setActive),\n );\n\n const { Field, submitForm } = useForm({\n otp: {\n initialValue: preFilledOtp,\n },\n });\n\n const handleSubmit = () =>\n submitForm(\n (values) => {\n if (hasDefinedKeys(values, [\"otp\"])) {\n signIn(values.otp);\n }\n },\n ({ otp }) => {\n if (otp != null) {\n toast({\n variant: \"error\",\n title: t(\"signin_verify.error.empty.title\"),\n message: t(\"signin_verify.error.empty.description\"),\n });\n }\n },\n );\n\n const resendOtp = () => {\n const hasSignUp = true;\n signInUser(signInRessource, email, hasSignUp);\n };\n\n useEffect(() => {\n if (signInRessource.status === \"needs_first_factor\" && preFilledOtp !== \"\") {\n handleSubmit();\n }\n // we need to run this effect only on mount\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n if (signInRessource.status !== \"needs_first_factor\") {\n return ;\n }\n\n return (\n <>\n \n {t(\"signin_verify.title\")}\n \n \n {t(\"signin_verify.description\")}\n\n \n\n \n \n {({ value, onChange }) => (\n <>\n \n \n )}\n \n\n {signInResult.isLoading() && (\n <>\n \n \n \n )}\n \n\n \n\n {t(\"signin_verify.not_received\")}\n \n \n \n );\n};\n\ntype SigninPageProps = {\n fromApp: ApplicationKey | undefined;\n redirectTo: string | undefined;\n};\n\nexport const SigninPage: React.FC = ({ fromApp, redirectTo }) => {\n useTitle(t(\"page_title.signin\"), fromApp);\n\n const route = router.useRoute([\"SigninIndex\", \"SigninVerification\", \"SigninSsoCallback\"]);\n const { signIn: signInRessource, setActive, isLoaded } = useSignIn();\n const { isSignedIn } = useAuth();\n\n if (!isLoaded) {\n return ;\n }\n\n if (isSignedIn) {\n return ;\n }\n\n if (route?.name === \"SigninSsoCallback\") {\n return (\n \n );\n }\n\n return (\n \n \n {match(route)\n .with({ name: \"SigninIndex\" }, () => (\n \n router.push(\"SigninVerification\", {\n email,\n from_app: fromApp,\n redirect_to: redirectTo,\n })\n }\n />\n ))\n .with(\n { name: \"SigninVerification\", params: { email: P.string } },\n ({ params: { email, otp } }) => (\n \n ),\n )\n .otherwise(() => (\n \n ))}\n \n \n );\n};\n","import { useAuth } from \"@clerk/clerk-react\";\nimport { useEffect } from \"react\";\nimport { queryClient } from \"../utils/graphql\";\n\nexport const Signout: React.FC = () => {\n const { signOut } = useAuth();\n\n useEffect(() => {\n signOut().then(() => {\n queryClient.clear();\n });\n });\n\n return null;\n};\n","import { useAuth } from \"@clerk/clerk-react\";\nimport { P, match } from \"ts-pattern\";\nimport { AppLayout } from \"./components/AppLayout\";\nimport { Redirect } from \"./components/Redirect\";\nimport { clearOutdatedPersistedData } from \"./hooks/usePersistedState\";\nimport { LoadingPage } from \"./pages/LoadingPage\";\nimport { MyProfilePage } from \"./pages/MyProfilePage\";\nimport { SigninPage } from \"./pages/SigninPage\";\nimport { Signout } from \"./pages/Signout\";\nimport { parseApplicationKey } from \"./utils/applications\";\nimport { router } from \"./utils/routes\";\n\n// Clear outdated data persisted on localStorage\nclearOutdatedPersistedData();\n\nexport const App: React.FC = () => {\n const { isLoaded, isSignedIn } = useAuth();\n const route = router.useRoute([\"SigninArea\", \"Signout\"]);\n\n if (!isLoaded) {\n return ;\n }\n\n return match({ isSignedIn, route })\n .with(\n { route: { name: \"SigninArea\" } },\n ({\n route: {\n params: { from_app, redirect_to },\n },\n }) => ,\n )\n .with({ isSignedIn: false }, () => {\n const url = window.location.pathname + window.location.search;\n const redirectTo = url === router.Signout() || url === \"/\" ? undefined : url;\n return ;\n })\n .with({ route: { name: \"Signout\" } }, () => )\n .otherwise(() => );\n};\n\nconst SignedInApp: React.FC = () => {\n const route = router.useRoute([\"MyProfile\"]);\n\n const fromApp = parseApplicationKey(route?.params.from_app);\n\n return (\n \n {match(route)\n .with({ name: \"MyProfile\" }, () => )\n .with(P.nullish, () => (\n \n ))\n .exhaustive()}\n \n );\n};\n","import { ClerkProvider } from \"@clerk/clerk-react\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\nimport { Suspense } from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { StyleSheet, View } from \"react-native\";\nimport { App } from \"./App.tsx\";\nimport { ErrorBoundary } from \"./components/ErrorBoundary.tsx\";\nimport { Toaster } from \"./components/Toast.tsx\";\nimport { ResponsiveProvider } from \"./hooks/useResponsive.tsx\";\nimport { ErrorPage } from \"./pages/ErrorPage.tsx\";\nimport { LoadingPage } from \"./pages/LoadingPage.tsx\";\nimport { colors } from \"./utils/design.ts\";\nimport { queryClient } from \"./utils/graphql.ts\";\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: colors.neutral[900],\n width: \"100%\",\n },\n});\n\n// @ts-expect-error this element is always present in index.html\nconst rootNode: HTMLDivElement = document.getElementById(\"root\");\n\nReactDOM.createRoot(rootNode).render(\n \n \n \n }>\n }>\n \n \n \n \n \n \n \n \n \n ,\n);\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","DefaultMessages","buildErrorThrower","packageName","customMessages","pkg","messages","buildMessage","rawMessage","replacements","msg","matches","match","replacement","packageName2","customMessages2","params","message","__defProp","__getOwnPropDesc","__getOwnPropNames","__hasOwnProp","__export","target","all","name","__copyProps","to","from","except","desc","key","__reExport","mod","secondTarget","isomorphicAtob","data","DEV_OR_STAGING_SUFFIXES","PUBLISHABLE_KEY_LIVE_PREFIX","PUBLISHABLE_KEY_TEST_PREFIX","parsePublishableKey","options","isPublishableKey","instanceType","frontendApi","hasValidPrefix","hasValidFrontendApiPostfix","createDevOrStagingUrlCache","devOrStagingUrlCache","url","hostname","res","s","NO_DOCUMENT_ERROR","NO_SRC_ERROR","loadScript","src","opts","async","defer","beforeLoad","crossOrigin","resolve","reject","script","isValidProxyUrl","isHttpOrHttps","isProxyUrlRelative","proxyUrlToAbsoluteURL","addClerkPrefix","str","regex","useSyncExternalStoreShim_production_min","shimModule","noop","UNDEFINED","OBJECT","isUndefined","isFunction","mergeObjects","isPromiseLike","table","counter","stableHash","arg","type","constructor","isDate","result","index","keys","SWRGlobalState","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","hasRequestAnimationFrame","createCacheHelper","cache","state","info","prev","online","isOnline","onWindowEvent","offWindowEvent","isVisible","visibilityState","initFocus","callback","initReconnect","onOnline","onOffline","preset","defaultConfigOptions","IS_REACT_LEGACY","React","IS_SERVER","rAF","useIsomorphicLayoutEffect","useEffect","useLayoutEffect","navigatorConnection","slowConnection","serialize","args","__timestamp","getTimestamp","FOCUS_EVENT","RECONNECT_EVENT","MUTATE_EVENT","ERROR_REVALIDATE_EVENT","constants","internalMutate","_key","_data","_opts","populateCache","rollbackOnErrorOption","optimisticData","revalidate","rollbackOnError","error","throwOnError","keyFilter","matchedKeys","it","mutateByKey","_k","get","set","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","revalidators","startRevalidate","beforeMutationTs","hasOptimisticData","displayedData","currentData","committedData","err","revalidateAllKeys","initCache","provider","mutate","unmount","subscriptions","subscribe","subs","setter","value","fn","initProvider","releaseFocus","releaseReconnect","onErrorRetry","_","__","config","maxRetryCount","currentRetryCount","timeout","compare","newData","defaultConfig","mergeConfigs","u1","f1","u2","f2","SWRConfigContext","createContext","SWRConfig","props","parentConfig","useContext","isFunctionalConfig","useMemo","extendedConfig","cacheContextRef","useRef","cacheContext","createElement","enableDevtools","use","setupDevTools","normalize","useSWRConfig","preload","key_","fetcher","fnArg","req","middleware","useSWRNext","fetcher_","BUILT_IN_MIDDLEWARE","withArgs","hook","fallbackConfig","_config","next","i","subscribeCallback","callbacks","keyedRevalidators","withMiddleware","useSWR","uses","unstable_serialize","ReactExports","promise","WITH_DEDUPE","useSWRHandler","suspense","fallbackData","revalidateOnMount","revalidateIfStale","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","initialMountedRef","unmountedRef","keyRef","fetcherRef","configRef","getConfig","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","fallback","isEqual","current","returnedData","getSnapshot","shouldStartRequest","getSelectedCache","snapshot","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","useSyncExternalStore","useCallback","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","isValidating","isLoading","revalidateOpts","currentFetcher","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","initialState","mutationInfo","cacheData","currentConfig","shouldRetryOnError","revalidateEvents","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","now","timer","interval","execute","useDebugValue","SWRConfig$1","INFINITE_PREFIX","getFirstPageKey","getKey","EMPTY_PROMISE","infinite","didMountRef","initialSize","revalidateAll","persistSize","revalidateFirstPage","parallel","infiniteKey","resolvePageSize","cachedPageSize","lastPageSizeRef","shouldRevalidateOnMount","swr","forceRevalidateAll","pageSize","previousPageData","pageKey","pageArg","getSWRCache","setSWRCache","pageData","shouldFetchPage","shouldRevalidate","setSize","changeSize","size","getInfiniteCache","useSWRInfinite","assertContextExists","contextVal","msgOrCtx","createContextAndHook","displayName","assertCtxFn","Ctx","ctx","clerk_swr_exports","default2","default3","swr_star","ClerkInstanceContext","useClerkInstanceContext","UserContext","useUserContext","ClientContext","useClientContext","SessionContext","useSessionContext","OrganizationContextInternal","useOrganizationContext","OrganizationProvider","children","organization","swrConfig","React2","useAssertWrappedByClerkProvider","displayNameOrFn","React3","has","find","iter","tar","dequal","foo","bar","ctor","len","tmp","isDeeplyEqual","errorThrower","setErrorThrowerOptions","isDevOrStagingUrl","versionSelector","clerkJSVersion","packageVersion","prereleaseTag","getPrereleaseTag","getMajorVersion","_a","FAILED_TO_LOAD_ERROR","loadClerkJsScript","publishableKey","existingScript","clerkJsScriptUrl","applyClerkJsScriptAttributes","_b","clerkJSUrl","clerkJSVariant","proxyUrl","domain","scriptHost","variant","version","buildClerkJsScriptAttributes","obj","attributes","attribute","AuthContext","useAuthContext","IsomorphicClerkContext","useIsomorphicClerkContext","multipleClerkProvidersError","multipleChildrenInButtonComponent","invalidStateError","unsupportedNonBrowserDomainOrProxyUrlFunction","userProfilePageRenderedError","userProfileLinkRenderedError","organizationProfilePageRenderedError","organizationProfileLinkRenderedError","customPagesIgnoredComponent","componentName","customPageWrongProps","customLinkWrongProps","useAuthHasRequiresRoleOrPermission","source","useSharedAssertWrappedByClerkProvider","clerkLoaded","isomorphicClerk","createGetToken","createSignOut","useAuth","sessionId","userId","actor","orgId","orgRole","orgSlug","orgPermissions","getToken","signOut","useSignIn","client","useSignUp","useClientContext2","withClerk","Component","HOC","clerk","session","hasActiveSessions","AuthenticateWithRedirectCallback","handleRedirectCallbackParams","__accessCheck","member","__privateGet","getter","__privateAdd","__privateSet","without","copy","prop","handleValueOrFn","defaultValue","inBrowser","isDevelopmentEnvironment","logErrorInDevMode","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","reactDomModule","assertSingleChild","normalizeWithDefaultValue","defaultText","safeExecute","isConstructor","counts","useMaxAllowedInstancesGuard","maxCount","count","withMaxAllowedInstancesGuard","WrappedComponent","Hoc","useCustomElementPortal","elements","nodes","setNodes","useState","node","prevState","createPortal","isThatComponent","component","React4","useUserProfileCustomPages","useCustomPages","UserProfileLink","UserProfilePage","useOrganizationProfileCustomPages","OrganizationProfileLink","OrganizationProfilePage","LinkComponent","PageComponent","reorderItemsLabels","validChildren","child","children2","label","labelIcon","isReorderItem","isCustomPage","isExternalLink","customPageContents","customPageLabelIcons","customLinkLabelIcons","cp","customPageContentsPortals","customPageLabelIconsPortals","customLinkLabelIconsPortals","customPages","customPagesPortals","contentPortal","mount","labelPortal","mountIcon","unmountIcon","childProps","validItems","Portal","React5","_prevProps","prevProps","newProps","customPagesChanged","portal","logErrorInDevMode2","_UserProfile","_UserButton","userProfileProps","_OrganizationProfile","_OrganizationSwitcher","organizationProfileProps","signUpFallbackRedirectUrl","forceRedirectUrl","fallbackRedirectUrl","signUpForceRedirectUrl","mode","rest","clickHandler","React6","signInFallbackRedirectUrl","signInForceRedirectUrl","unsafeMetadata","React7","redirectUrl","signOutOptions","React8","authenticate","React9","SDK_METADATA","_loaded","_domain","_proxyUrl","_publishableKey","_instance","_IsomorphicClerk","clerkjs","beforeEmit","userButtonProps","listener","_a2","organizationId","signOutCallbackOrOptions","Clerk","IsomorphicClerk","deriveState","deriveFromSsrInitialState","deriveFromClientSideState","user","membership","om","ClerkContextProvider","isomorphicClerkOptions","useLoadedIsomorphicClerk","setState","React10","derivedState","clerkCtx","clientCtx","authCtx","userCtx","sessionCtx","organizationCtx","loaded","setLoaded","ClerkProviderBase","restIsomorphicClerkOptions","userInitialisedClerk","React11","ClerkProvider","Subscribable","isServer","functionalUpdate","updater","input","isValidTimeout","timeUntilStale","updatedAt","staleTime","matchQuery","filters","query","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","matchMutation","mutation","status","mutationKey","hashKey","val","isPlainObject","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","equalItems","shallowEqualObjects","o","hasObjectPrototype","prot","sleep","ms","replaceData","prevData","addToEnd","items","item","max","newItems","addToStart","skipToken","FocusManager","_focused","_cleanup","_setup","onFocus","setup","focused","isFocused","focusManager","OnlineManager","_online","onlineListener","offlineListener","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","isRetryCancelled","isResolved","continueFn","promiseResolve","promiseReject","outerResolve","outerReject","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","retry","retryDelay","delay","shouldRetry","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","setScheduler","batch","flush","schedule","batchCalls","originalQueue","notifyManager","Removable","_gcTimeout","newGcTime","Query","_dispatch","_initialState","_revertState","_cache","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","__privateMethod","dispatch_fn","setStateOptions","observer","fetchOptions","abortController","queryFnContext","addSignalProperty","object","fetchFn","context","_c","onError","_d","action","reducer","fetchState","hasData","initialDataUpdatedAt","QueryCache","_queries","queryHash","queryInMap","defaultedFilters","queries","event","Mutation","_observers","_mutationCache","variables","restored","isPaused","_f","_e","_h","_g","_j","_i","_l","_n","_m","_p","_o","_r","_q","_t","_s","MutationCache","_mutations","_mutationId","__privateWrapper","scope","scopeFor","mutations","firstPendingMutation","foundMutation","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","empty","cancelled","queryFn","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","defaultedOptions","queryCache","refetchFilters","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateQuery","_notify","_client","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","notifyOptions","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","trackedResult","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","selectError","placeholderData","isFetching","isPending","isError","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","shouldLoadOnMount","field","optimisticResult","MutationObserver","_updateResult","_currentMutation","_mutateOptions","updateResult_fn","QueryClientContext","React.createContext","useQueryClient","queryClient","React.useContext","QueryClientProvider","React.useEffect","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","QueryErrorResetBoundary","React.useState","shouldThrowError","throwError","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","defaultThrowOnError","_error","ensureStaleTime","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isRestoring","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useSuspenseQuery","useMutation","mutateOptions","ReactQueryDevtools2","isDisabled","accessibilityRoleToWebRole","propsToAriaRole","_ref","accessibilityRole","role","_role","inferredRole","roleComponents","emptyObject","propsToAccessibilityComponent","level","AccessibilityUtil","_typeof","toPrimitive","toPropertyKey","_defineProperty","ownKeys","_objectSpread2","defineProperty","_objectWithoutPropertiesLoose","excluded","sourceKeys","unitlessNumbers","prefixes","prefixKey","prefix","isWebColor","color","normalizeColor","matchers","getMatchers","colorFromKeyword","normalizeKeyword","parse255","parse1","hslToRgb","parse360","parsePercentage","hwbToRgb","hue2rgb","gray","red","green","blue","NUMBER","PERCENTAGE","call","callWithSlashSeparator","commaSeparatedCall","cachedMatchers","int","num","normalizeColors","processColor","int32Color","opacity","colorInt","alpha","colorProps","normalizeValueWithProperty","property","returnValue","canUseDOM","supportsCSS3TextDecoration","MONOSPACE_FONT_STACK","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","createReactDOMStyle","style","isInline","resolvedStyle","_loop","stack","_value","longFormProperties","longForm","_ret","murmurhash2_32_gc","seed","hash","uppercasePattern","msPattern","toHyphenLower","hyphenateStyleName","hName","capitalizeString_1","capitalizeString","prefixProperty_1","prefixProperty","_capitalizeString","_capitalizeString2","_interopRequireDefault","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","prefixValue_1","prefixValue","plugins","metaData","processedValue","addNewValuesOnly_1","addNewValuesOnly","addIfNew","list","values","isObject_1","isObject","createPrefixer_1","_default","createPrefixer","_prefixProperty","_prefixProperty2","_prefixValue","_prefixValue2","_addNewValuesOnly","require$$2","_addNewValuesOnly2","_isObject","require$$3","_isObject2","prefixMap","combinedValue","_processedValue","backgroundClip_1","backgroundClip","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","arr2","filterUniqueArray","assignStyle","base","baseValue","DASH","MS","toUpper","camelCaseProperty","camelProp","hyphenateProperty","cssifyDeclaration","cssifyObject","css","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","prefixedUnitlessProperties","getPrefixedProperty","j","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","crossFade_1","crossFade","_cssInJsUtils","CROSS_FADE_REGEX","cursor_1","cursor","filter_1","filter","FILTER_REGEX","imageSet_1","imageSet","_isPrefixedValue","_isPrefixedValue2","logical_1","logical","alternativeProps","alternativePropList","position_1","position","sizing_1","sizing","properties","_hyphenateStyleName","_hyphenateStyleName2","transition_1","transition","_hyphenateProperty","_hyphenateProperty2","prefixMapping","propertyPrefixMap","multipleValues","singleValue","dashCaseProperty","pLen","outputValue","webkitOutput","mozOutput","wm","wms","wmms","staticData","prefixAll","_excluded","classicGroup","atomicGroup","customGroup","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","right","marginLeft","marginRight","paddingLeft","paddingRight","left","PROPERTIES_FLIP","PROPERTIES_I18N","PROPERTIES_VALUE","atomic","compiledStyle","compiledRules","atomicCompile","srcProp","valueString","stringifyValueWithProperty","cacheKey","cachedResult","identifier","createIdentifier","order","rules","createAtomicRules","orderedRules","localizeableValue","_left","_right","propPolyfill","ltr","rtl","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","classic","animationKeyframes","selector","animationName","_processKeyframesValu","processKeyframesValue","animationNames","keyframesRules","block","createDeclarationBlock","_objectSpread","inline","originalStyle","isRTL","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","normalizedValue","_processKeyframesValu2","_block","finalValue","_block2","_block3","_block4","_block5","_block6","domStyle","prefixStyles","declarationsString","hashedString","createKeyframes","keyframes","steps","stepName","rule","keyframesValue","_createKeyframes","createCSSStyleSheet","rootNode","textContent","root","element","head","slice","createOrderedCSSStyleSheet","sheet","groups","selectors","group","cssRule","cssText","decodeGroupRule","selectorText","getSelectorText","sheetInsert","text","orderedGroups","getOrderedGroups","groupIndex","nextGroupIndex","nextGroup","isInserted","insertRuleAt","groupNumber","previousStart","OrderedCSSStyleSheet","marker","groupValue","markerRule","encodeGroupRule","groupPattern","selectorPattern","defaultId","roots","sheets","initialRules","createSheet","initialSheet","transformLocalizeStyle","localizeStyle","markerProp","compileStyle","compiledStyleIndex","_cachedStyles","_compiledStyle","cachedStyles","defaultOffset","createBoxShadowValue","shadowColor","shadowOffset","shadowOpacity","shadowRadius","height","width","offsetX","offsetY","blurRadius","createTextShadowValue","textShadowColor","textShadowOffset","textShadowRadius","_ref2","radius","mapTransform","transform","createTransformValue","PROPERTIES_STANDARD","ignoredProps","preprocess","boxShadowValue","boxShadow","textShadowValue","textShadow","_value2","styleq_1","styleq_2","compiledKey","createStyleq","disableCache","disableMix","definedProperties","className","inlineStyle","nextCache","styles","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","styleProps","styleq","staticStyleMap","defaultPreprocessOptions","customStyleq","_options","writingDirection","preprocessOptions","insertRules","compiledOrderedRules","compileAndInsertAtomic","_atomic","compileAndInsertReset","_classic","absoluteFillObject","absoluteFill","create","styleObj","compiledStyles","compose","style1","style2","flatten","_len","flatArray","getSheet","StyleSheet","stylesheet","hasOwnProperty","isArray","hyphenateString","processIDRefList","idRefList","pointerEventsStyles","createDOMProps","elementType","_props","ariaActiveDescendant","accessibilityActiveDescendant","ariaAtomic","accessibilityAtomic","ariaAutoComplete","accessibilityAutoComplete","ariaBusy","accessibilityBusy","ariaChecked","accessibilityChecked","ariaColumnCount","accessibilityColumnCount","ariaColumnIndex","accessibilityColumnIndex","ariaColumnSpan","accessibilityColumnSpan","ariaControls","accessibilityControls","ariaCurrent","accessibilityCurrent","ariaDescribedBy","accessibilityDescribedBy","ariaDetails","accessibilityDetails","ariaDisabled","accessibilityDisabled","ariaErrorMessage","accessibilityErrorMessage","ariaExpanded","accessibilityExpanded","ariaFlowTo","accessibilityFlowTo","ariaHasPopup","accessibilityHasPopup","ariaHidden","accessibilityHidden","ariaInvalid","accessibilityInvalid","ariaKeyShortcuts","accessibilityKeyShortcuts","ariaLabel","accessibilityLabel","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","accessibilityLevel","ariaLive","accessibilityLiveRegion","ariaModal","accessibilityModal","ariaMultiline","accessibilityMultiline","ariaMultiSelectable","accessibilityMultiSelectable","ariaOrientation","accessibilityOrientation","ariaOwns","accessibilityOwns","ariaPlaceholder","accessibilityPlaceholder","ariaPosInSet","accessibilityPosInSet","ariaPressed","accessibilityPressed","ariaReadOnly","accessibilityReadOnly","ariaRequired","accessibilityRequired","ariaRoleDescription","accessibilityRoleDescription","ariaRowCount","accessibilityRowCount","ariaRowIndex","accessibilityRowIndex","ariaRowSpan","accessibilityRowSpan","ariaSelected","accessibilitySelected","ariaSetSize","accessibilitySetSize","ariaSort","accessibilitySort","ariaValueMax","accessibilityValueMax","ariaValueMin","accessibilityValueMin","ariaValueNow","accessibilityValueNow","ariaValueText","accessibilityValueText","dataSet","focusable","nativeID","pointerEvents","tabIndex","testID","domProps","disabled","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabel","_ariaLabelledBy","_ariaLevel","_ariaLive","_ariaModal","_ariaMultiline","_ariaMultiSelectable","_ariaOrientation","_ariaOwns","_ariaPlaceholder","_ariaPosInSet","_ariaPressed","_ariaReadOnly","_ariaRequired","_ariaRoleDescription","_ariaRowCount","_ariaRowIndex","_ariaRowSpan","_ariaSelected","_ariaSetSize","_ariaSort","_ariaValueMax","_ariaValueMin","_ariaValueNow","_ariaValueText","dataProp","dataName","dataValue","_StyleSheet","_id","rtlScripts","rtlLangs","isLocaleRTL","locale","cachedRTL","lang","defaultLocale","LocaleContext","getLocaleDirection","LocaleProvider","needsContext","useLocaleContext","accessibilityComponent","elementWithLocaleProvider","getBoundingClientRect","isElement","dangerousStyleValue","isCustomProperty","isEmpty","isUnitlessNumber","setValueForStyles","styleName","styleValue","getRect","top","measureLayout","relativeToNativeNode","relativeNode","relativeRect","_getRect","elementsToIgnore","UIManager","_getBoundingClientRec","onFail","onSuccess","onAnimationDidEnd","_extends","defaultProps","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","pick","nextObj","useLayoutEffectImpl","DOM_LAYOUT_HANDLER_NAME","resizeObserver","getResizeObserver","entries","entry","onLayout","useElementLayout","ref","mergeRefs","useMergeRefs","React.useMemo","UNINITIALIZED","useStable","getInitialValue","React.useRef","usePlatformMethods","hostNode","relativeToNode","success","failure","emptyFunction","emptyArray","normalizeIdentifier","createResponderEvent","domEvent","responderTouchHistoryStore","rect","propagationWasStopped","changedTouches","touches","domEventChangedTouches","domEventType","metaKey","shiftKey","force","clientX","clientY","pageX","pageY","preventDefault","timestamp","normalizeTouches","touch","locationX","locationY","emulatedTouches","responderEvent","MOUSE_DOWN","MOUSE_MOVE","MOUSE_UP","MOUSE_CANCEL","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SCROLL","SELECT","SELECTION_CHANGE","isStartish","eventType","isMoveish","isEndish","isCancelish","isScroll","isSelectionChange","isSelectionValid","selection","string","anchorNode","focusNode","isTextNode","keyName","getEventPath","composedPathFallback","path","getResponderId","setResponderId","getResponderPaths","idPath","nodePath","eventPath","getLowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","depth","hasTargetTouches","hasValidSelection","isPrimaryPointerDown","altKey","button","buttons","ctrlKey","isTouch","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","MAX_TOUCH_BANK","timestampForTouch","createTouchRecord","resetTouchRecord","touchRecord","getTouchIdentifier","recordTouchStart","touchHistory","recordTouchMove","printTouch","printTouchBank","recordTouchEnd","touchBank","printed","ResponderTouchHistoryStore","topLevelType","nativeEvent","touchTrackToCheck","startRegistration","moveRegistration","scrollRegistration","shouldSetResponderEvents","emptyResponder","responderListenersMap","isEmulatingMouseEvents","trackedTouchCount","currentResponder","changeCurrentResponder","responder","getResponderConfig","eventListener","eventTarget","isStartEvent","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","eventPaths","wasNegotiated","wantsResponder","currentResponderIdPath","eventIdPath","lowestCommonAncestor","indexOfLowestCommonAncestor","findWantsResponder","attemptTransfer","_currentResponder","_getResponderConfig","onResponderStart","onResponderMove","onResponderEnd","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","isTerminateEvent","isReleaseEvent","shouldTerminate","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","bubbles","check","callbackName","shouldSetCallback","prunedIdPath","_node","_result","_id2","_node2","_currentResponder2","currentId","currentNode","_getResponderConfig2","onResponderGrant","onResponderReject","_getResponderConfig3","allowTransfer","documentEventsCapturePhase","documentEventsBubblePhase","attachListeners","addNode","removeNode","terminateResponder","_currentResponder3","_getResponderConfig4","getResponderNode","idCounter","useResponderEvents","hostRef","isAttachedRef","ResponderSystem.attachListeners","ResponderSystem.removeNode","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","requiresResponderSystem","ResponderSystem.addNode","React.useDebugValue","ResponderSystem.getResponderNode","TextAncestorContext","forwardPropsList","forwardedProps.defaultProps","forwardedProps.accessibilityProps","forwardedProps.clickProps","forwardedProps.focusProps","forwardedProps.keyboardProps","forwardedProps.mouseProps","forwardedProps.touchProps","forwardedProps.styleProps","pickProps","View","React.forwardRef","forwardedRef","hrefAttrs","hasTextAncestor","_useLocaleContext","contextDirection","langDirection","componentDirection","supportedProps","download","rel","platformMethodsRef","setRef","invariant","condition","format","argIndex","invariant_1","dimensions","listeners","shouldInit","update","win","visualViewport","docEl","handleResize","handler","Dimensions","dimension","initialDimensions","_handler","TextInputState","textFieldNode","dismissKeyboard","normalizeScrollEvent","shouldEmitScrollEvent","lastTick","eventThrottle","timeSinceLastTick","ScrollViewBase","onScroll","onTouchMove","onWheel","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","scrollEventThrottle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScroll","handleScrollEnd","handleScrollTick","handleScrollStart","hideScrollbar","React.createElement","makeEmptyFunction","emptyFunction_1","warning","warning_1","IS_ANIMATING_TOUCH_START_THRESHOLD_MS","ScrollView","currentlyFocusedTextInput","timeSinceLastMomentumScrollEnd","isAnimating","animated","nodeHandle","additionalOffset","preventNegativeScrollOffset","keyboardScreenY","scrollOffsetY","horizontal","scrollResponderNode","_e$nativeEvent$layout","_this$props","contentContainerStyle","onContentSizeChange","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","other","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","contentContainer","baseStyle","pagingEnabledStyle","ScrollViewClass","scrollView","commonStyle","ForwardedScrollView","assets","getAssetByID","assetId","dataUriPattern","ImageUriCache","uri","isDataUri","lastUsedTimestamp","imageUris","leastRecentlyUsedKey","leastRecentlyUsedEntry","requests","ImageLoader","requestId","image","complete","errorCallback","naturalHeight","naturalWidth","onLoad","onDecode","uris","PixelRatio","layoutSize","ratio","ERRORED","LOADED","LOADING","IDLE","_filterId","svgDataUriPattern","createTintColorSVG","tintColor","extractNonStandardStyleProps","filterId","tintColorProp","flatStyle","resizeMode","_filter","shadowString","resolveAssetDimensions","_getAssetByID","_height","_width","_height2","_width2","resolveAssetUri","asset","scale","preferredScale","curr","scaleSuffix","svg","encodedSvg","Image","defaultSource","draggable","onLoadEnd","onLoadStart","_React$useState","isLoaded","updateState","_React$useState2","layout","updateLayout","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","backgroundImage","backgroundSize","getBackgroundSize","hiddenImage","_hiddenImageRef$curre","_height3","_width3","scaleFactor","handleLayout","_layout","abortPendingRequest","resizeModeStyles","ImageWithStatics","Text","numberOfLines","onClick","onPress","selectable","handleClick","textStyle","createSvgCircle","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","indicatorSizes","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","getElementRole","getElementType","isActiveSignal","signal","isButtonRole","isPressStartSignal","isTerminalSignal","isValidKeyPress","isSpacebar","isButtonish","DEFAULT_LONG_PRESS_DELAY_MS","DEFAULT_PRESS_DELAY_MS","PressResponder","start","shouldDelay","delayPressStart","normalizeDelay","delayLongPress","end","keyupHandler","isNativeInteractiveElement","isActiveElement","isSpacebarKey","isButtonLikeRole","getTouchFromResponderEvent","deltaX","deltaY","_this$_config","cancelable","onLongPress","_this$_config2","_this$_config3","nextState","isPrevActive","isNextActive","_this$_config4","_onLongPress","isPressCanceledByLongPress","_this$_config5","onPressChange","onPressStart","_this$_config6","onPressEnd","delayPressEnd","min","_event$nativeEvent","usePressEvents","pressResponderRef","pressResponder","supportsPassiveEvents","supported","canUsePassiveEvents","getOptions","isPropagationStopped","isDefaultPrevented","normalizeEvent","addEventListener","compatListener","supportsPointerEvent","activeModality","modality","previousModality","previousActiveModality","KEYBOARD","MOUSE","TOUCH","BLUR","CONTEXTMENU","FOCUS","KEYDOWN","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","VISIBILITYCHANGE","bubbleOptions","captureOptions","restoreModality","callListeners","onBlurWindow","onFocusWindow","onKeyDown","onVisibilityChange","onPointerish","getModality","useEvent","targetListeners","addListener","removeTargetListener","removeEventListener","removeListener","lockEventType","unlockEventType","dispatchCustomEvent","payload","_ref$bubbles","_ref$cancelable","detail","getPointerType","pointerType","useHover","targetRef","contain","onHoverStart","onHoverChange","onHoverUpdate","onHoverEnd","canUsePE","addMoveListener","addEnterListener","addLeaveListener","addLockListener","addUnlockListener","hoverEnd","leaveListener","moveListener","hoverStart","enterListener","lockListener","lockEvent","unlockListener","Pressable","delayPressIn","delayPressOut","onBlur","onContextMenu","onHoverIn","onHoverOut","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","useForceableState","hovered","setHovered","_useForceableState2","setFocused","_useForceableState3","pressed","setPressed","pressConfig","pressEventHandlers","onContextMenuPress","onKeyDownPress","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","_tabIndex","forced","_useState","bool","setBool","MemoedPressable","memo","forwardRef","isSelectionStale","selectionEnd","selectionStart","setSelection","isEventComposing","focusTimeout","TextInput","_props$autoCapitalize","autoCapitalize","autoComplete","autoCompleteType","_props$autoCorrect","autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","dir","editable","enterKeyHint","inputMode","keyboardType","_props$multiline","multiline","onChange","onChangeText","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","_props$readOnly","readOnly","returnKeyType","rows","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","spellCheck","_inputMode","prevSelection","prevSecureTextEntry","handleContentSizeChange","newHeight","newWidth","imperativeRef","handleBlur","handleChange","handleFocus","handleKeyDown","blurOnSubmitDefault","shouldBlurOnSubmit","isComposing","handleSelectionChange","_e$target","_selection","$","murmur2","withSelector_production_min","withSelectorModule","first","last","identity","isNonEmpty","isParam","ensureSlashPrefix","areParamsArrayEqual","arrayA","arrayB","getStableParamsKey","getRouteKey","pathParams","searchParams","stableStart","stableEnd","murmurhash","areRouteEqual","routeA","routeB","extractParamNameUnion","paramName","bracketIndex","decodeSearch","search","output","existing","NO_VALUE_PARAM_REGEXP","FINISH_BY_EQUAL_REGEXP","encodeSearch","initialLocationHasChanged","parseRoute","route","hashIndex","cleanRoute","searchIndex","decodeLocation","parsedPath","parsedSearch","rawPath","rawSearch","stringifiedLocation","onBeforeUnload","createBrowserHistory","blockers","globalHistory","globalLocation","currentLocation","maybeUpdateLocation","nextLocation","searchHasChanged","prevValue","blocker","history","getLocation","subscribeToLocation","pushUnsafe","replaceUnsafe","GetUniversalLocationContext","useGetUniversalLocation","useLinkProps","href","replace","hrefPath","getUniversalLocation","getPath","active","shouldReplace","shouldIgnoreTarget","Link","baseOnClick","activeClassName","activeStyle","addPrefixOnNonEmpty","concatRoutes","prefixedPathA","prefixedPathB","unprefixedSearchA","unprefixedSearchB","createGroup","baseRoute","routes","baseRouteObject","extractFromPath","parts","ranking","part","getMatcher","parsed","isArea","matcher","multiple","name2","union","getMatchResult","location","test","matchToUrl","createRouter","basePath","basePathObject","rankedMatchers","routeName","matcherA","matcherB","createURLFns","finiteName","routeNames","matchersKey","matchers2","getMatch","useSyncExternalStoreWithSelector","getDeviceSize","ResponsiveContext","ResponsiveProvider","useResponsive","colors","invariantColor","radii","animDuration","Icon","title","jsxs","Logo","module","addEventListener_1","_canUseDom","modality_1","addModalityListener","getActiveModality","testOnly_resetActiveModality","_addEventListener","_react","_getRequireWildcardCache","_interopRequireWildcard","_useLayoutEffect","_useStable","_modality","_useEvent","originaUseHover","router","align","ellipsis","numeric","textRef","NativeText","Label","openInNewTab","_onPress","avatarColors","getAvatarColor","charSum","acc","char","AvatarImage","uriRef","backgroundLoadingUri","setBackgroundLoadingUri","Fragment","UserAvatar","avatarColor","avatarSize","EditAvatarButton","Box","justifyContent","alignItems","wrap","Space","Fill","minWidth","minHeight","loaderColor","Button","icon","iconFollowsText","selfAlign","isRegular","isSuccess","isInteractive","iconOnly","textColor","ButtonLoader","SuccessOverlay","iconColor","LogWithButton","Redirect","backgroundColor","Tag","uppercase","defaultTitle","useTitle","fromApp","suffix","this","extendStatics","__extends","__assign","__spreadArray","pack","ar","__rest","ErrorKind","TYPE","SKELETON_TYPE","isLiteralElement","isArgumentElement","isNumberElement","isDateElement","isTimeElement","isSelectElement","isPluralElement","isPoundElement","isTagElement","isNumberSkeleton","isDateTimeSkeleton","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","WHITE_SPACE_REGEX","parseNumberSkeletonFromString","stringTokens","tokens","stringTokens_1","stringToken","stemAndOptions","stem","options_1","option","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","g1","g2","parseSign","parseConciseScientificAndEngineeringStem","signDisplay","parseNotationOptions","opt","signOpts","parseNumberSkeleton","tokens_1","token","g3","g4","g5","conciseScientificAndEngineeringOpts","timeData","getBestPattern","skeletonCopy","patternPos","patternChar","extraLength","hourLen","dayPeriodLen","dayPeriodChar","hourChar","getDefaultHourSymbolFromLocale","hourCycle","languageTag","regionTag","hourCycles","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","hasNativeStartsWith","hasNativeFromCodePoint","hasNativeFromEntries","hasNativeCodePointAt","hasTrimStart","hasTrimEnd","hasNativeIsSafeInteger","isSafeInteger","REGEX_SUPPORTS_U_AND_Y","startsWith","fromCodePoint","codePoints","length","code","fromEntries","entries_1","codePointAt","second","trimStart","trimEnd","flag","matchIdentifierAtIndex","IDENTIFIER_PREFIX_RE_1","_isWhiteSpace","_isPatternSyntax","Parser","nestingLevel","parentArgType","expectingCloseTag","_isAlpha","startPosition","tagName","childrenResult","endTagStartPosition","closingTagNameStartPosition","closingTagName","startOffset","_isPotentialElementNameChar","parseQuoteResult","parseUnquotedResult","parseLeftAngleResult","_isAlphaOrSlash","openingBracePosition","startingPosition","endOffset","endPosition","typeStartPosition","argType","typeEndPosition","styleAndLocation","styleStartPosition","styleLocation","argCloseResult","location_1","dateTimePattern","typeEndPosition_1","identifierAndLocation","pluralOffset","optionsResult","location_2","nestedBraces","apostrophePosition","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selectorLocation","fragmentResult","expectNumberError","invalidNumberError","sign","hasDigits","decimal","offset","kind","pattern","currentOffset","targetOffset","nextCode","codepoint","pruneLocation","els","parse","memoize","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","isPrimitive","monadic","computedValue","variadic","assemble","strategyVariadic","strategyMonadic","ObjectWithoutPrototypeCache","strategies","ErrorCode","FormatError","_super","originalMessage","_this","InvalidValueError","variableId","InvalidValueTypeError","MissingValueError","PART_TYPE","mergeLiteral","lastPart","isFormatXMLElementFn","formatToParts","locales","formatters","formats","currentPluralValue","els_1","varName","value_1","formatFn","chunks","mergeConfig","c1","c2","configs","createFastMemoizeCache","store","createDefaultFormatters","IntlMessageFormat","overrideFormats","parseOpts","supportedLocales","IntlErrorCode","IntlError","exception","UnsupportedFormatterError","InvalidConfigError","MissingDataError","IntlFormatError","MessageFormatError","descriptor","MissingTranslationError","filterProps","allowlist","filtered","defaultErrorHandler","defaultWarnHandler","DEFAULT_INTL_CONFIG","createIntlCache","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getDateTimeFormat","getNumberFormat","getPluralRules","getNamedFormat","formatType","Err","setTimeZoneInOptions","timeZone","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","mfFormats","formatMessage","messageDescriptor","defaultFormats","fallbackOnEmptyString","defaultRichTextElements","msgId","defaultMessage","formatter","DATE_TIME_FORMAT_OPTIONS","getFormatter","filteredOptions","formatDate","date","formatTime","formatDateTimeRange","formatDateToParts","formatTimeToParts","DISPLAY_NAMES_OPTONS","formatDisplayName","getDisplayNames","LIST_FORMAT_OPTIONS","generateToken","formatList","getListFormat","results","formatListToParts","richValues_1","serializedValues","PLURAL_FORMAT_OPTIONS","formatPlural","RELATIVE_TIME_FORMAT_OPTIONS","getRelativeTimeFormat","formatRelativeTime","NUMBER_FORMAT_OPTIONS","formatNumber","formatNumberToParts","messagesContainString","firstMessage","verifyConfigMessages","createIntl","resolvedConfig","assign","defaultConverter","init","converter","defaultAttributes","stringifiedAttributes","attributeName","cookies","jar","found","api","CONFIG","translationFr","translationEn","isLocale","getLocale","cookieLocale","Cookies","DEFAULT_LOCAL","browserLocale","intl","tNested","isValidElement","cloneElement","dayjs","duration","GraphQLError","advance","blockString","ignored","arguments_","directives","selectionSet","fragmentDefinition","operationDefinition","initGraphQLTada","graphql","defaultJsonSerializer","HeadersInstanceToPlainObject","headers","parseRequestArgs","documentOrOptions","requestHeaders","parseRawRequestArgs","queryOrOptions","parseBatchRequestArgs","documentsOrOptions","parseRequestExtendedArgs","urlOrOptions","document","variablesAndRequestHeaders","devAssert","isObjectLike","LineRegExp","lastLineStart","line","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","body","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","lines","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","toNormalizedOptions","firstArg","rawArgs","_this$nodes","_nodeLocations$","positions","originalError","extensions","undefinedIfEmpty","nodeLocations","loc","pos","originalExtensions","formattedError","syntaxError","description","Location","startToken","endToken","Token","column","QueryDocumentKeys","kindValues","isNode","maybeNode","maybeKind","OperationTypeNode","DirectiveLocation","Kind","isWhiteSpace","isDigit","isLetter","isNameStart","isNameContinue","dedentBlockStringLines","_firstNonEmptyLine2","commonIndent","firstNonEmptyLine","lastNonEmptyLine","_firstNonEmptyLine","indent","leadingWhitespace","printBlockString","escapedValue","isSingleLine","forceLeadingNewLine","hasTrailingTripleQuotes","hasTrailingQuote","hasTrailingSlash","forceTrailingNewline","printAsMultipleLines","skipLeadingNewLine","TokenKind","Lexer","startOfFileToken","nextToken","readNextToken","isPunctuatorTokenKind","isUnicodeScalarValue","isSupplementaryCodePoint","isLeadingSurrogate","isTrailingSurrogate","printCodePointAt","lexer","createToken","col","bodyLength","readComment","readBlockString","readString","readNumber","readName","firstCode","isFloat","readDigits","chunkStart","readEscapedUnicodeVariableWidth","readEscapedUnicodeFixedWidth","readEscapedCharacter","point","readHexDigit","read16BitHexCode","trailingCode","lineStart","currentLine","blockLines","MAX_ARRAY_LENGTH","MAX_RECURSIVE_DEPTH","inspect","formatValue","seenValues","formatObjectValue","previouslySeenValues","isJSONable","jsonValue","formatArray","formatObject","getObjectTag","remaining","tag","instanceOf","_value$constructor","valueClassName","stringifiedValue","Source","locationOffset","isSource","sourceObj","hasDescription","keywordToken","operation","operationToken","nameOrAlias","alias","isConst","hasTypeCondition","innerType","operationTypes","interfaces","fields","types","getTokenDesc","repeatable","locations","getTokenKindDesc","atToken","openKind","parseFn","closeKind","delimiterKind","maxTokens","printString","escapedRegExp","escapedReplacer","escapeSequences","BREAK","visit","visitor","visitorKeys","enterLeaveMap","getEnterLeaveForKind","inArray","edits","parent","ancestors","isLeaving","isEdited","editOffset","editKey","editValue","arrayKey","_enterLeaveMap$get","_enterLeaveMap$get2","visitFn","_node$kind","kindVisitor","print","ast","printDocASTReducer","MAX_LINE_LENGTH","join","varDefs","variable","selections","argsLine","typeCondition","variableDefinitions","isBlockString","hasMultilineItems","maybeArray","separator","_maybeArray$filter$jo","maybeString","_maybeArray$some","extractOperationName","operationName","operationDefinitions","definition","resolveRequestDocument","parsedDocument","ClientError","response","request","global","__self__","self","support","isDataView","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","iterator","Headers","header","oldValue","thisArg","consumed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","readBlobAsText","readArrayBufferAsText","buf","view","chars","bufferClone","Body","rejected","decode","methods","normalizeMethod","method","upcased","Request","form","bytes","split","parseHeaders","rawHeaders","preProcessedHeaders","Response","bodyInit","redirectStatuses","fetch","xhr","abortXhr","resolveHeaders","oHeaders","CrossFetch","CrossFetch.Headers","cleanQuery","buildRequestConfig","params_","currentQuery","createHttpMethodFetcher","queryParams","createRequestBody","urlResolved","initResolved","urlNew","initNew","GraphQLClient","requestConfig","rawRequestOptions","crossFetch","requestMiddleware","responseMiddleware","makeRequest","callOrIdentity","requestOptions","batchRequestOptions","isBatchingQuery","getResult","successfullyReceivedData","successfullyPassedErrorPolicy","errorResult","jsonSerializer","jsonSerializer_","contentType","cacheTime","graphqlErrorPattern","parseGraphqlError","errors","isMatching","Option","parseMutationError","Result","getOperationName","useQuery","setQueryData","usePromiseMutation","useReactMutation","AsyncData","usePromise","setData","MeFragment","MeQuery","UsernameExistsQuery","OrgFragment","applications","parseApplicationKey","appKey","FocusTrap","localRef","focusableElements","firstFocusableElement","lastFocusableElement","OPEN_MENU_HEIGHT","FullScreenScrollView","pH","pV","maxWidth","verticalCenter","isMobile","paddingHorizontal","paddingVertical","IconPage","submitText","onSubmit","NotFoundPage","fallbackUrl","ErrorPage","resetError","DISPLAY_DELAY","LoadingPage","isHidden","setIsHidden","ErrorBoundary","__publicField","errorInfo","reset","AppLayout","Suspense","DangerZoneTitle","AppBackLink","OUTDATED_KEYS_CLEANUP_INTERVAL","KEY_PREFIX","storageKey","content","clearOutdatedPersistedData","keyWithoutPrefix","persistedState","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","propFullName","secret","getShim","ReactPropTypes","propTypesModule","__awaiter","_arguments","generator","adopt","fulfilled","step","__generator","verb","op","__read","COMMON_MIME_TYPES","toFileWithPath","file","withMimeType","webkitRelativePath","hasExtension","ext","FILES_TO_IGNORE","fromEvent","evt","isDataTransfer","getDataTransferFiles","isChangeEvt","getInputFiles","getFsHandleFiles","fromList","handles","files","dt","toFilePromises","noIgnoredFiles","fromDataTransferItem","fromDirEntry","fwp","fromEntry","fromFileEntry","readEntries","err_1","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","enumerableOnly","symbols","sym","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","FILE_INVALID_TYPE","FILE_TOO_LARGE","FILE_TOO_SMALL","TOO_MANY_FILES","getInvalidTypeRejectionErr","accept","messageSuffix","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","accepts","fileMatchSize","isDefined","allFilesAccepted","maxFiles","validator","_fileAccepted","_fileAccepted2","accepted","_fileMatchSize","_fileMatchSize2","sizeMatch","customErrors","isEvtWithFiles","onDocumentDragOver","isIe","userAgent","isEdge","isIeOrEdge","composeEventHandlers","fns","_len2","_key2","canUseFileSystemAccessAPI","pickerOptionsFromAccept","acceptForPicker","_ref3","isMIMEType","isExt","agg","_ref4","_ref5","acceptPropAsAcceptAttr","_ref6","_ref7","isAbort","isSecurityError","_excluded2","_excluded3","_excluded4","_objectWithoutProperties","sourceSymbolKeys","Dropzone","_useDropzone","useDropzone","open","useImperativeHandle","PropTypes","_defaultProps$props","getFilesFromEvent","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","onFileDialogCancel","onFileDialogOpen","useFsAccessApi","autoFocus","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","acceptAttr","pickerTypes","onFileDialogOpenCb","onFileDialogCancelCb","rootRef","inputRef","_useReducer","useReducer","_useReducer2","dispatch","isFileDialogActive","fsAccessApiWorksRef","onWindowFocus","dragTargetsRef","onDocumentDrop","onErrCb","onDragEnterCb","stopPropagation","fileCount","isDragAccept","isDragReject","onDragOverCb","hasFiles","onDragLeaveCb","targets","targetIdx","setFiles","fileRejections","acceptError","sizeError","onDropCb","openFileDialog","onKeyDownCb","onFocusCb","onBlurCb","onClickCb","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref2$refKey","refKey","onInputElementClick","getInputProps","_ref3$refKey","inputProps","getAcceptedExtensions","fileType","stringifyBytes","DEFAULT_MAX_SIZE","InputFile","smallUI","setErrors","hasFile","rejections","rejection","hasInvalidType","hasTooBigFile","isDragActive","useDelayedLoader","showLoader","setShowLoader","InputText","maxLength","validating","hideError","dark","showValidating","valueLength","Modal","onClose","opened","childrenRef","onCloseRef","openedRef","wasOpened","handleAnimationEnd","modal","handleEscape","closing","ConfirmContent","confirmText","cancelText","onConfirm","onCancel","CLOSE_DURATION","AUTO_CLOSE_TIMEOUT","toastColor","toastIcon","Toast","viewRef","closable","pushToast","lastToastId","toast","Toaster","toasts","setToasts","removeToast","ToasterToast","NB_MAX_BACKGROUND_TOAST","nbToasts","setClosing","zIndex","transformPositon","isLastOpened","withAutoClose","close","readAsBase64","base64","uploadFile","uploadUserAvatar","logoFile","NAME_MIN_LENGTH","NAME_MAX_LENGTH","validateEmail","email","validateSlug","slug","validateName","UpdateMeMutation","DeleteMeMutation","RefreshTokenMutation","MyProfilePage","apiKeys","refetchMe","updateResult","resetMutationState","uploadAvatarOpened","setUploadAvatarOpened","deleteAccountOpened","setDeleteAccountOpened","refreshTokenOpened","setRefreshTokenOpened","Field","FieldsListener","submitForm","formStatus","resetForm","useForm","minLength","invalidMessage","handleSubmit","hasDefinedKeys","fullName","username","UploadAvatarForm","DeleteAccountForm","RefreshApiTokenModale","onClosed","onAvatarUploaded","uploadResult","upload","setFile","fileBase64","setFileBase64","deleteResult","deleteAccount","refreshApiToken","InputOtp","nbDigits","invalid","autofocus","onComplete","focusDigit","container","inputs","newValue","nextIndex","Tile","borderColor","signUpUser","signup","signInUser","ressource","hasSignUp","sendOtpCode","setActive","otp","createdSessionId","OAuthSignInButton","redirectTo","signUp","signIn","signInResult","redirectUrlComplete","EmailForm","signInRessource","oAuthredirectTo","RetryOtpButton","setTimer","handlePress","OtpForm","preFilledOtp","resendOtp","SigninPage","isSignedIn","Signout","App","from_app","redirect_to","SignedInApp","ReactDOM","ReactQueryDevtools"],"mappings":"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IAAI,EAAG,CAC9C94F,EAAS41F,GAASA,GAAS,GAAI51F,CAAM,EAAGm4F,GAA0BW,EAAM,IAAI,CAAC,EAC7E,QACH,CACD,IAAIH,EAAWL,GAAUQ,EAAM,IAAI,EAC/BH,IACA34F,EAAS41F,GAASA,GAAS,CAAE,EAAE51F,CAAM,EAAG24F,CAAQ,GAEpD,IAAIO,EAAsCX,GAAyCO,EAAM,IAAI,EACzFI,IACAl5F,EAAS41F,GAASA,GAAS,CAAE,EAAE51F,CAAM,EAAGk5F,CAAmC,EAElF,CACD,OAAOl5F,CACX,CCzTO,IAAIm5F,GAAW,CAClB,MAAO,CACH,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,KACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,KACA,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,SAAU,CACN,IACA,KACA,KACA,GACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,SAAU,CACN,IACA,KACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,KACA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Ac,QAAapb,EAAM,OAASsW,EAAU,MACtD,EAAE,KAAK,cAEH,KAAK,cAAgB8E,GACvB,MAAMpH,GACJ,KAAK,OAAO,OACZhU,EAAM,MACN,+BAA+Bob,CAAS,2BAClD,CAGG,CACH,CAKA,SAAST,GAAa3a,EAAO,CAC3B,MAAMzzF,EAAQyzF,EAAM,MACpB,OAAO8a,GAAiB9a,EAAM,IAAI,GAAKzzF,GAAS,KAAO,KAAKA,CAAK,IAAM,GACzE,CAKA,SAASuuG,GAAiB7U,EAAM,CAC9B,OAAO0Q,GAAsB1Q,CAAI,EAAI,IAAIA,CAAI,IAAMA,CACrD,CC/+CO,SAASoV,GAAYr1G,EAAK,CAC/B,MAAO,IAAIA,EAAI,QAAQs1G,GAAeC,EAAe,CAAC,GACxD,CAEA,MAAMD,GAAgB,gCAEtB,SAASC,GAAgBv1G,EAAK,CAC5B,OAAOw1G,GAAgBx1G,EAAI,WAAW,CAAC,CAAC,CAC1C,CAEA,MAAMw1G,GAAkB,CACtB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,MACA,MACA,UACA,MACA,MACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,GACA,MACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,OACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,ECtKaC,GAAQ,OAAO,OAAO,CAAA,CAAE,EAgF9B,SAASC,GAAM5nD,EAAM6nD,EAASC,EAAcrH,GAAmB,CACpE,MAAMsH,EAAgB,IAAI,IAE1B,UAAW5V,KAAQ,OAAO,OAAO6O,EAAI,EACnC+G,EAAc,IAAI5V,EAAM6V,GAAqBH,EAAS1V,CAAI,CAAC,EAI7D,IAAIvgD,EACAq2D,EAAU,MAAM,QAAQjoD,CAAI,EAC5B1sD,EAAO,CAAC0sD,CAAI,EACZ3sD,EAAQ,GACR60G,EAAQ,CAAA,EACRh2E,EAAO8tB,EACPrwD,EACAw4G,EACJ,MAAMtvC,EAAO,CAAA,EACPuvC,EAAY,CAAA,EAGlB,EAAG,CACD/0G,IACA,MAAMg1G,EAAYh1G,IAAUC,EAAK,OAC3Bg1G,EAAWD,GAAaH,EAAM,SAAW,EAE/C,GAAIG,EAAW,CAKb,GAJA14G,EAAMy4G,EAAU,SAAW,EAAI,OAAYvvC,EAAKA,EAAK,OAAS,CAAC,EAC/D3mC,EAAOi2E,EACPA,EAASC,EAAU,MAEfE,EACF,GAAIL,EAAS,CACX/1E,EAAOA,EAAK,QACZ,IAAIq2E,EAAa,EAEjB,SAAW,CAACC,EAASC,CAAS,IAAKP,EAAO,CACxC,MAAMQ,EAAWF,EAAUD,EAEvBE,IAAc,MAChBv2E,EAAK,OAAOw2E,EAAU,CAAC,EACvBH,KAEAr2E,EAAKw2E,CAAQ,EAAID,CAEpB,CACX,KAAe,CACLv2E,EAAO,OAAO,iBACZ,CAAE,EACF,OAAO,0BAA0BA,CAAI,CACjD,EAEU,SAAW,CAACs2E,EAASC,CAAS,IAAKP,EACjCh2E,EAAKs2E,CAAO,EAAIC,CAEnB,CAGHp1G,EAAQu+C,EAAM,MACdt+C,EAAOs+C,EAAM,KACbs2D,EAAQt2D,EAAM,MACdq2D,EAAUr2D,EAAM,QAChBA,EAAQA,EAAM,IACf,SAAUu2D,EAAQ,CAIjB,GAHAx4G,EAAMs4G,EAAU50G,EAAQC,EAAKD,CAAK,EAClC6+B,EAAOi2E,EAAOx4G,CAAG,EAEbuiC,GAAS,KACX,SAGF2mC,EAAK,KAAKlpE,CAAG,CACd,CAED,IAAIyD,EAEJ,GAAI,CAAC,MAAM,QAAQ8+B,CAAI,EAAG,CACxB,IAAIy2E,EAAoBC,EAExBjI,GAAOzuE,CAAI,GAAKyrE,GAAU,GAAO,qBAAqBiH,GAAQ1yE,CAAI,CAAC,GAAG,EACtE,MAAM22E,EAAUR,GACXM,EAAqBZ,EAAc,IAAI71E,EAAK,IAAI,KAAO,MACxDy2E,IAAuB,OACrB,OACAA,EAAmB,OACpBC,EAAsBb,EAAc,IAAI71E,EAAK,IAAI,KAAO,MACzD02E,IAAwB,OACxB,OACAA,EAAoB,MAMxB,GALAx1G,EACEy1G,GAAY,KACR,OACAA,EAAQ,KAAKhB,EAAS31E,EAAMviC,EAAKw4G,EAAQtvC,EAAMuvC,CAAS,EAE1Dh1G,IAAWu0G,GACb,MAGF,GAAIv0G,IAAW,IACb,GAAI,CAACi1G,EAAW,CACdxvC,EAAK,IAAG,EACR,QACD,UACQzlE,IAAW,SACpB80G,EAAM,KAAK,CAACv4G,EAAKyD,CAAM,CAAC,EAEpB,CAACi1G,GACH,GAAI1H,GAAOvtG,CAAM,EACf8+B,EAAO9+B,MACF,CACLylE,EAAK,IAAG,EACR,QACD,CAGN,CAMD,GAJIzlE,IAAW,QAAak1G,GAC1BJ,EAAM,KAAK,CAACv4G,EAAKuiC,CAAI,CAAC,EAGpBm2E,EACFxvC,EAAK,IAAG,MACH,CACL,IAAIiwC,EAEJl3D,EAAQ,CACN,QAAAq2D,EACA,MAAA50G,EACA,KAAAC,EACA,MAAA40G,EACA,KAAMt2D,CACd,EACMq2D,EAAU,MAAM,QAAQ/1E,CAAI,EAC5B5+B,EAAO20G,EACH/1E,GACC42E,EAAahB,EAAY51E,EAAK,IAAI,KAAO,MAC1C42E,IAAe,OACfA,EACA,GACJz1G,EAAQ,GACR60G,EAAQ,CAAA,EAEJC,GACFC,EAAU,KAAKD,CAAM,EAGvBA,EAASj2E,CACV,CACL,OAAW0f,IAAU,QAEnB,OAAIs2D,EAAM,SAAW,EAEZA,EAAMA,EAAM,OAAS,CAAC,EAAE,CAAC,EAG3BloD,CACT,CAoFO,SAASgoD,GAAqBH,EAAS1V,EAAM,CAClD,MAAM4W,EAAclB,EAAQ1V,CAAI,EAEhC,OAAI,OAAO4W,GAAgB,SAElBA,EACE,OAAOA,GAAgB,WAEzB,CACL,MAAOA,EACP,MAAO,MACb,EAGS,CACL,MAAOlB,EAAQ,MACf,MAAOA,EAAQ,KACnB,CACA,CCnVO,SAASmB,GAAMC,EAAK,CACzB,OAAOrB,GAAMqB,EAAKC,EAAkB,CACtC,CACA,MAAMC,GAAkB,GAClBD,GAAqB,CACzB,KAAM,CACJ,MAAQh3E,GAASA,EAAK,KACvB,EACD,SAAU,CACR,MAAQA,GAAS,IAAMA,EAAK,IAC7B,EAED,SAAU,CACR,MAAQA,GAASk3E,EAAKl3E,EAAK,YAAa;AAAA;AAAA,CAAM,CAC/C,EACD,oBAAqB,CACnB,MAAMA,EAAM,CACV,MAAMm3E,EAAUniB,GAAK,IAAKkiB,EAAKl3E,EAAK,oBAAqB,IAAI,EAAG,GAAG,EAC7D2c,EAASu6D,EACb,CACEl3E,EAAK,UACLk3E,EAAK,CAACl3E,EAAK,KAAMm3E,CAAO,CAAC,EACzBD,EAAKl3E,EAAK,WAAY,GAAG,CAC1B,EACD,GACR,EAGM,OAAQ2c,IAAW,QAAU,GAAKA,EAAS,KAAO3c,EAAK,YACxD,CACF,EACD,mBAAoB,CAClB,MAAO,CAAC,CAAE,SAAAo3E,EAAU,KAAAr2G,EAAM,aAAA0X,EAAc,WAAA4xF,CAAY,IAClD+M,EACA,KACAr2G,EACAi0F,GAAK,MAAOv8E,CAAY,EACxBu8E,GAAK,IAAKkiB,EAAK7M,EAAY,GAAG,CAAC,CAClC,EACD,aAAc,CACZ,MAAO,CAAC,CAAE,WAAAgN,KAAiB1rD,GAAM0rD,CAAU,CAC5C,EACD,MAAO,CACL,MAAM,CAAE,MAAAlD,EAAO,KAAAh3G,EAAM,UAAWqG,EAAM,WAAA6mG,EAAY,aAAAC,GAAgB,CAChE,MAAM3tD,EAASq4C,GAAK,GAAImf,EAAO,IAAI,EAAIh3G,EACvC,IAAIm6G,EAAW36D,EAASq4C,GAAK,IAAKkiB,EAAK1zG,EAAM,IAAI,EAAG,GAAG,EAEvD,OAAI8zG,EAAS,OAASL,KACpBK,EAAW36D,EAASq4C,GAAK;AAAA,EAAO0a,GAAOwH,EAAK1zG,EAAM;AAAA,CAAI,CAAC,EAAG;AAAA,EAAK,GAG1D0zG,EAAK,CAACI,EAAUJ,EAAK7M,EAAY,GAAG,EAAGC,CAAY,EAAG,GAAG,CACjE,CACF,EACD,SAAU,CACR,MAAO,CAAC,CAAE,KAAAntG,EAAM,MAAAoJ,CAAK,IAAOpJ,EAAO,KAAOoJ,CAC3C,EAED,eAAgB,CACd,MAAO,CAAC,CAAE,KAAApJ,EAAM,WAAAktG,CAAY,IAC1B,MAAQltG,EAAO63F,GAAK,IAAKkiB,EAAK7M,EAAY,GAAG,CAAC,CACjD,EACD,eAAgB,CACd,MAAO,CAAC,CAAE,cAAAkN,EAAe,WAAAlN,EAAY,aAAAC,CAAc,IACjD4M,EACE,CACE,MACAliB,GAAK,MAAOuiB,CAAa,EACzBL,EAAK7M,EAAY,GAAG,EACpBC,CACD,EACD,GACD,CACJ,EACD,mBAAoB,CAClB,MAAO,CACL,CAAE,KAAAntG,EAAM,cAAAo6G,EAAe,oBAAAC,EAAqB,WAAAnN,EAAY,aAAAC,CAAc,IAGtE,YAAYntG,CAAI,GAAG63F,GAAK,IAAKkiB,EAAKM,EAAqB,IAAI,EAAG,GAAG,CAAC,OAC5DD,CAAa,IAAIviB,GAAK,GAAIkiB,EAAK7M,EAAY,GAAG,EAAG,GAAG,CAAC,GAC3DC,CACH,EAED,SAAU,CACR,MAAO,CAAC,CAAE,MAAA/jG,CAAK,IAAOA,CACvB,EACD,WAAY,CACV,MAAO,CAAC,CAAE,MAAAA,CAAK,IAAOA,CACvB,EACD,YAAa,CACX,MAAO,CAAC,CAAE,MAAAA,EAAO,MAAOkxG,CAAe,IACrCA,EAAgB7H,GAAiBrpG,CAAK,EAAI8uG,GAAY9uG,CAAK,CAC9D,EACD,aAAc,CACZ,MAAO,CAAC,CAAE,MAAAA,CAAK,IAAQA,EAAQ,OAAS,OACzC,EACD,UAAW,CACT,MAAO,IAAM,MACd,EACD,UAAW,CACT,MAAO,CAAC,CAAE,MAAAA,CAAK,IAAOA,CACvB,EACD,UAAW,CACT,MAAO,CAAC,CAAE,OAAAo7C,KAAa,IAAMu1D,EAAKv1D,EAAQ,IAAI,EAAI,GACnD,EACD,YAAa,CACX,MAAO,CAAC,CAAE,OAAA8yD,KAAa,IAAMyC,EAAKzC,EAAQ,IAAI,EAAI,GACnD,EACD,YAAa,CACX,MAAO,CAAC,CAAE,KAAAt3G,EAAM,MAAAoJ,CAAK,IAAOpJ,EAAO,KAAOoJ,CAC3C,EAED,UAAW,CACT,MAAO,CAAC,CAAE,KAAApJ,EAAM,UAAWqG,CAAM,IAC/B,IAAMrG,EAAO63F,GAAK,IAAKkiB,EAAK1zG,EAAM,IAAI,EAAG,GAAG,CAC/C,EAED,UAAW,CACT,MAAO,CAAC,CAAE,KAAArG,CAAI,IAAOA,CACtB,EACD,SAAU,CACR,MAAO,CAAC,CAAE,KAAA4D,CAAM,IAAK,IAAMA,EAAO,GACnC,EACD,YAAa,CACX,MAAO,CAAC,CAAE,KAAAA,CAAM,IAAKA,EAAO,GAC7B,EAED,iBAAkB,CAChB,MAAO,CAAC,CAAE,YAAAktG,EAAa,WAAA5D,EAAY,eAAAkK,CAAgB,IACjDvf,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EAAK,CAAC,SAAUA,EAAK7M,EAAY,GAAG,EAAG1+C,GAAM4oD,CAAc,CAAC,EAAG,GAAG,CACrE,EACD,wBAAyB,CACvB,MAAO,CAAC,CAAE,UAAAP,EAAW,KAAAjzG,CAAI,IAAOizG,EAAY,KAAOjzG,CACpD,EACD,qBAAsB,CACpB,MAAO,CAAC,CAAE,YAAAktG,EAAa,KAAA9wG,EAAM,WAAAktG,CAAY,IACvCrV,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EAAK,CAAC,SAAU/5G,EAAM+5G,EAAK7M,EAAY,GAAG,CAAC,EAAG,GAAG,CACpD,EACD,qBAAsB,CACpB,MAAO,CAAC,CAAE,YAAA4D,EAAa,KAAA9wG,EAAM,WAAAq3G,EAAY,WAAAnK,EAAY,OAAAoK,CAAQ,IAC3Dzf,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EACE,CACE,OACA/5G,EACA63F,GAAK,cAAekiB,EAAK1C,EAAY,KAAK,CAAC,EAC3C0C,EAAK7M,EAAY,GAAG,EACpB1+C,GAAM8oD,CAAM,CACb,EACD,GACD,CACJ,EACD,gBAAiB,CACf,MAAO,CAAC,CAAE,YAAAxG,EAAa,KAAA9wG,EAAM,UAAWqG,EAAM,KAAAzC,EAAM,WAAAspG,CAAY,IAC9DrV,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1B9wG,GACCu6G,GAAkBl0G,CAAI,EACnBwxF,GAAK;AAAA,EAAO0a,GAAOwH,EAAK1zG,EAAM;AAAA,CAAI,CAAC,EAAG;AAAA,EAAK,EAC3CwxF,GAAK,IAAKkiB,EAAK1zG,EAAM,IAAI,EAAG,GAAG,GACnC,KACAzC,EACAi0F,GAAK,IAAKkiB,EAAK7M,EAAY,GAAG,CAAC,CAClC,EACD,qBAAsB,CACpB,MAAO,CAAC,CAAE,YAAA4D,EAAa,KAAA9wG,EAAM,KAAA4D,EAAM,aAAA0X,EAAc,WAAA4xF,CAAY,IAC3DrV,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EACE,CAAC/5G,EAAO,KAAO4D,EAAMi0F,GAAK,KAAMv8E,CAAY,EAAGy+F,EAAK7M,EAAY,GAAG,CAAC,EACpE,GACD,CACJ,EACD,wBAAyB,CACvB,MAAO,CAAC,CAAE,YAAA4D,EAAa,KAAA9wG,EAAM,WAAAq3G,EAAY,WAAAnK,EAAY,OAAAoK,CAAQ,IAC3Dzf,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EACE,CACE,YACA/5G,EACA63F,GAAK,cAAekiB,EAAK1C,EAAY,KAAK,CAAC,EAC3C0C,EAAK7M,EAAY,GAAG,EACpB1+C,GAAM8oD,CAAM,CACb,EACD,GACD,CACJ,EACD,oBAAqB,CACnB,MAAO,CAAC,CAAE,YAAAxG,EAAa,KAAA9wG,EAAM,WAAAktG,EAAY,MAAAqK,CAAO,IAC9C1f,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EACE,CAAC,QAAS/5G,EAAM+5G,EAAK7M,EAAY,GAAG,EAAGrV,GAAK,KAAMkiB,EAAKxC,EAAO,KAAK,CAAC,CAAC,EACrE,GACD,CACJ,EACD,mBAAoB,CAClB,MAAO,CAAC,CAAE,YAAAzG,EAAa,KAAA9wG,EAAM,WAAAktG,EAAY,OAAA1oD,CAAQ,IAC/CqzC,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EAAK,CAAC,OAAQ/5G,EAAM+5G,EAAK7M,EAAY,GAAG,EAAG1+C,GAAMhK,CAAM,CAAC,EAAG,GAAG,CACjE,EACD,oBAAqB,CACnB,MAAO,CAAC,CAAE,YAAAssD,EAAa,KAAA9wG,EAAM,WAAAktG,CAAY,IACvCrV,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAAIiJ,EAAK,CAAC/5G,EAAM+5G,EAAK7M,EAAY,GAAG,CAAC,EAAG,GAAG,CACxE,EACD,0BAA2B,CACzB,MAAO,CAAC,CAAE,YAAA4D,EAAa,KAAA9wG,EAAM,WAAAktG,EAAY,OAAAoK,CAAQ,IAC/Czf,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1BiJ,EAAK,CAAC,QAAS/5G,EAAM+5G,EAAK7M,EAAY,GAAG,EAAG1+C,GAAM8oD,CAAM,CAAC,EAAG,GAAG,CAClE,EACD,oBAAqB,CACnB,MAAO,CAAC,CAAE,YAAAxG,EAAa,KAAA9wG,EAAM,UAAWqG,EAAM,WAAAoxG,EAAY,UAAAC,CAAW,IACnE7f,GAAK,GAAIiZ,EAAa;AAAA,CAAI,EAC1B,cACA9wG,GACCu6G,GAAkBl0G,CAAI,EACnBwxF,GAAK;AAAA,EAAO0a,GAAOwH,EAAK1zG,EAAM;AAAA,CAAI,CAAC,EAAG;AAAA,EAAK,EAC3CwxF,GAAK,IAAKkiB,EAAK1zG,EAAM,IAAI,EAAG,GAAG,IAClCoxG,EAAa,cAAgB,IAC9B,OACAsC,EAAKrC,EAAW,KAAK,CACxB,EACD,gBAAiB,CACf,MAAO,CAAC,CAAE,WAAAxK,EAAY,eAAAkK,CAAgB,IACpC2C,EACE,CAAC,gBAAiBA,EAAK7M,EAAY,GAAG,EAAG1+C,GAAM4oD,CAAc,CAAC,EAC9D,GACD,CACJ,EACD,oBAAqB,CACnB,MAAO,CAAC,CAAE,KAAAp3G,EAAM,WAAAktG,CAAY,IAC1B6M,EAAK,CAAC,gBAAiB/5G,EAAM+5G,EAAK7M,EAAY,GAAG,CAAC,EAAG,GAAG,CAC3D,EACD,oBAAqB,CACnB,MAAO,CAAC,CAAE,KAAAltG,EAAM,WAAAq3G,EAAY,WAAAnK,EAAY,OAAAoK,CAAQ,IAC9CyC,EACE,CACE,cACA/5G,EACA63F,GAAK,cAAekiB,EAAK1C,EAAY,KAAK,CAAC,EAC3C0C,EAAK7M,EAAY,GAAG,EACpB1+C,GAAM8oD,CAAM,CACb,EACD,GACD,CACJ,EACD,uBAAwB,CACtB,MAAO,CAAC,CAAE,KAAAt3G,EAAM,WAAAq3G,EAAY,WAAAnK,EAAY,OAAAoK,CAAQ,IAC9CyC,EACE,CACE,mBACA/5G,EACA63F,GAAK,cAAekiB,EAAK1C,EAAY,KAAK,CAAC,EAC3C0C,EAAK7M,EAAY,GAAG,EACpB1+C,GAAM8oD,CAAM,CACb,EACD,GACD,CACJ,EACD,mBAAoB,CAClB,MAAO,CAAC,CAAE,KAAAt3G,EAAM,WAAAktG,EAAY,MAAAqK,CAAO,IACjCwC,EACE,CACE,eACA/5G,EACA+5G,EAAK7M,EAAY,GAAG,EACpBrV,GAAK,KAAMkiB,EAAKxC,EAAO,KAAK,CAAC,CAC9B,EACD,GACD,CACJ,EACD,kBAAmB,CACjB,MAAO,CAAC,CAAE,KAAAv3G,EAAM,WAAAktG,EAAY,OAAA1oD,CAAQ,IAClCu1D,EAAK,CAAC,cAAe/5G,EAAM+5G,EAAK7M,EAAY,GAAG,EAAG1+C,GAAMhK,CAAM,CAAC,EAAG,GAAG,CACxE,EACD,yBAA0B,CACxB,MAAO,CAAC,CAAE,KAAAxkD,EAAM,WAAAktG,EAAY,OAAAoK,CAAQ,IAClCyC,EAAK,CAAC,eAAgB/5G,EAAM+5G,EAAK7M,EAAY,GAAG,EAAG1+C,GAAM8oD,CAAM,CAAC,EAAG,GAAG,CACzE,CACH,EAMA,SAASyC,EAAKS,EAAYC,EAAY,GAAI,CACxC,IAAIC,EAEJ,OAAQA,EACNF,GAAe,KACX,OACAA,EAAW,OAAQ3+G,GAAMA,CAAC,EAAE,KAAK4+G,CAAS,KAAO,MACrDC,IAA0B,OACxBA,EACA,EACN,CAKA,SAASlsD,GAAMhjB,EAAO,CACpB,OAAOqsD,GAAK;AAAA,EAAO0a,GAAOwH,EAAKvuE,EAAO;AAAA,CAAI,CAAC,EAAG;AAAA,EAAK,CACrD,CAKA,SAASqsD,GAAKtX,EAAOo6B,EAAa/5B,EAAM,GAAI,CAC1C,OAAO+5B,GAAe,MAAQA,IAAgB,GAC1Cp6B,EAAQo6B,EAAc/5B,EACtB,EACN,CAEA,SAAS2xB,GAAO1vG,EAAK,CACnB,OAAOg1F,GAAK,KAAMh1F,EAAI,QAAQ,MAAO;AAAA,GAAM,CAAC,CAC9C,CAEA,SAAS03G,GAAkBC,EAAY,CACrC,IAAII,EAKJ,OAAQA,EACNJ,GAAe,KACX,OACAA,EAAW,KAAM33G,GAAQA,EAAI,SAAS;AAAA,CAAI,CAAC,KAAO,MACtD+3G,IAAqB,OACnBA,EACA,EACN,CC9UA,MAAMC,GAAwBzM,GAAa,SACvC,IAAI0M,EACJ,MAAMC,EAAuB3M,EAAS,YAAY,OAAQ4M,GAAeA,EAAW,OAAS,qBAAqB,EAClH,OAAID,EAAqB,SAAW,IAChCD,GAAgB3jG,GAAAP,EAAAmkG,EAAqB,CAAC,IAAtB,YAAAnkG,EAAyB,OAAzB,YAAAO,EAA+B,OAE5C2jG,CACX,EACaG,GAA0B7M,GAAa,CAChD,GAAI,OAAOA,GAAa,SAAU,CAC9B,IAAI0M,EACJ,GAAI,CACA,MAAMI,EAAiB5X,GAAM8K,CAAQ,EACrC0M,EAAgBD,GAAqBK,CAAc,CACtD,MACW,CAEX,CACD,MAAO,CAAE,MAAO9M,EAAU,cAAA0M,EAC7B,CACD,MAAMA,EAAgBD,GAAqBzM,CAAQ,EACnD,MAAO,CAAE,MAAOuL,GAAMvL,CAAQ,EAAG,cAAA0M,CAAa,CAClD,EC1BO,MAAMK,WAAoB,KAAM,CACnC,YAAYC,EAAUC,EAAS,CAC3B,MAAM77G,EAAU,GAAG27G,GAAY,eAAeC,CAAQ,CAAC,KAAK,KAAK,UAAU,CACvE,SAAAA,EACA,QAAAC,CACH,CAAA,CAAC,GACF,MAAM77G,CAAO,EACb,OAAO,eAAe,KAAM27G,GAAY,SAAS,EACjD,KAAK,SAAWC,EAChB,KAAK,QAAUC,EAEX,OAAO,MAAM,mBAAsB,YACnC,MAAM,kBAAkB,KAAMF,EAAW,CAEhD,CACD,OAAO,eAAeC,EAAU,SAC5B,QAAOjkG,GAAAP,EAAAwkG,EAAS,SAAT,YAAAxkG,EAAkB,KAAlB,YAAAO,EAAsB,UAAW,wBAAwBikG,EAAS,MAAM,GAClF,CACL,oCClBA,IAAIE,EAAS,OAAO,KAAS,IAAc,KAAO9hB,GAC9C+hB,EAAY,UAAY,CAC5B,SAAS/+G,GAAI,CACb,KAAK,MAAQ,GACb,KAAK,aAAe8+G,EAAO,YAC1B,CACD,OAAA9+G,EAAE,UAAY8+G,EACP,IAAI9+G,CACX,KACC,SAASg/G,EAAM,EAEE,SAAU9/F,EAAS,CAEnC,IAAI+/F,EAAU,CACZ,aAAc,oBAAqBD,EACnC,SAAU,WAAYA,GAAQ,aAAc,OAC5C,KACE,eAAgBA,GAChB,SAAUA,GACT,UAAW,CACV,GAAI,CACF,WAAI,KACG,EACR,MAAW,CACV,MAAO,EACR,CACT,EAAU,EACN,SAAU,aAAcA,EACxB,YAAa,gBAAiBA,CAClC,EAEE,SAASE,EAAW9jG,EAAK,CACvB,OAAOA,GAAO,SAAS,UAAU,cAAcA,CAAG,CACnD,CAED,GAAI6jG,EAAQ,YACV,IAAIE,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,uBACN,EAEQC,EACF,YAAY,QACZ,SAAShkG,EAAK,CACZ,OAAOA,GAAO+jG,EAAY,QAAQ,OAAO,UAAU,SAAS,KAAK/jG,CAAG,CAAC,EAAI,EACjF,EAGE,SAASikG,EAAc77G,EAAM,CAI3B,GAHI,OAAOA,GAAS,WAClBA,EAAO,OAAOA,CAAI,GAEhB,4BAA4B,KAAKA,CAAI,EACvC,MAAM,IAAI,UAAU,wCAAwC,EAE9D,OAAOA,EAAK,YAAa,CAC1B,CAED,SAAS87G,EAAe1yG,EAAO,CAC7B,OAAI,OAAOA,GAAU,WACnBA,EAAQ,OAAOA,CAAK,GAEfA,CACR,CAGD,SAAS2yG,EAAYvvE,EAAO,CAC1B,IAAIwvE,EAAW,CACb,KAAM,UAAW,CACf,IAAI5yG,EAAQojC,EAAM,QAClB,MAAO,CAAC,KAAMpjC,IAAU,OAAW,MAAOA,CAAK,CAChD,CACP,EAEI,OAAIqyG,EAAQ,WACVO,EAAS,OAAO,QAAQ,EAAI,UAAW,CACrC,OAAOA,CACf,GAGWA,CACR,CAED,SAASC,EAAQvO,EAAS,CACxB,KAAK,IAAM,GAEPA,aAAmBuO,EACrBvO,EAAQ,QAAQ,SAAStkG,EAAOpJ,EAAM,CACpC,KAAK,OAAOA,EAAMoJ,CAAK,CACxB,EAAE,IAAI,EACE,MAAM,QAAQskG,CAAO,EAC9BA,EAAQ,QAAQ,SAASwO,EAAQ,CAC/B,KAAK,OAAOA,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CACjC,EAAE,IAAI,EACExO,GACT,OAAO,oBAAoBA,CAAO,EAAE,QAAQ,SAAS1tG,EAAM,CACzD,KAAK,OAAOA,EAAM0tG,EAAQ1tG,CAAI,CAAC,CAChC,EAAE,IAAI,CAEV,CAEDi8G,EAAQ,UAAU,OAAS,SAASj8G,EAAMoJ,EAAO,CAC/CpJ,EAAO67G,EAAc77G,CAAI,EACzBoJ,EAAQ0yG,EAAe1yG,CAAK,EAC5B,IAAI+yG,EAAW,KAAK,IAAIn8G,CAAI,EAC5B,KAAK,IAAIA,CAAI,EAAIm8G,EAAWA,EAAW,KAAO/yG,EAAQA,CAC1D,EAEE6yG,EAAQ,UAAU,OAAY,SAASj8G,EAAM,CAC3C,OAAO,KAAK,IAAI67G,EAAc77G,CAAI,CAAC,CACvC,EAEEi8G,EAAQ,UAAU,IAAM,SAASj8G,EAAM,CACrC,OAAAA,EAAO67G,EAAc77G,CAAI,EAClB,KAAK,IAAIA,CAAI,EAAI,KAAK,IAAIA,CAAI,EAAI,IAC7C,EAEEi8G,EAAQ,UAAU,IAAM,SAASj8G,EAAM,CACrC,OAAO,KAAK,IAAI,eAAe67G,EAAc77G,CAAI,CAAC,CACtD,EAEEi8G,EAAQ,UAAU,IAAM,SAASj8G,EAAMoJ,EAAO,CAC5C,KAAK,IAAIyyG,EAAc77G,CAAI,CAAC,EAAI87G,EAAe1yG,CAAK,CACxD,EAEE6yG,EAAQ,UAAU,QAAU,SAAS52G,EAAU+2G,EAAS,CACtD,QAASp8G,KAAQ,KAAK,IAChB,KAAK,IAAI,eAAeA,CAAI,GAC9BqF,EAAS,KAAK+2G,EAAS,KAAK,IAAIp8G,CAAI,EAAGA,EAAM,IAAI,CAGzD,EAEEi8G,EAAQ,UAAU,KAAO,UAAW,CAClC,IAAIzvE,EAAQ,CAAA,EACZ,YAAK,QAAQ,SAASpjC,EAAOpJ,EAAM,CACjCwsC,EAAM,KAAKxsC,CAAI,CACrB,CAAK,EACM+7G,EAAYvvE,CAAK,CAC5B,EAEEyvE,EAAQ,UAAU,OAAS,UAAW,CACpC,IAAIzvE,EAAQ,CAAA,EACZ,YAAK,QAAQ,SAASpjC,EAAO,CAC3BojC,EAAM,KAAKpjC,CAAK,CACtB,CAAK,EACM2yG,EAAYvvE,CAAK,CAC5B,EAEEyvE,EAAQ,UAAU,QAAU,UAAW,CACrC,IAAIzvE,EAAQ,CAAA,EACZ,YAAK,QAAQ,SAASpjC,EAAOpJ,EAAM,CACjCwsC,EAAM,KAAK,CAACxsC,EAAMoJ,CAAK,CAAC,CAC9B,CAAK,EACM2yG,EAAYvvE,CAAK,CAC5B,EAEMivE,EAAQ,WACVQ,EAAQ,UAAU,OAAO,QAAQ,EAAIA,EAAQ,UAAU,SAGzD,SAASI,EAAStN,EAAM,CACtB,GAAIA,EAAK,SACP,OAAO,QAAQ,OAAO,IAAI,UAAU,cAAc,CAAC,EAErDA,EAAK,SAAW,EACjB,CAED,SAASuN,EAAgBC,EAAQ,CAC/B,OAAO,IAAI,QAAQ,SAASl6G,EAASC,EAAQ,CAC3Ci6G,EAAO,OAAS,UAAW,CACzBl6G,EAAQk6G,EAAO,MAAM,CAC7B,EACMA,EAAO,QAAU,UAAW,CAC1Bj6G,EAAOi6G,EAAO,KAAK,CAC3B,CACA,CAAK,CACF,CAED,SAASC,EAAsBC,EAAM,CACnC,IAAIF,EAAS,IAAI,WACbtvG,EAAUqvG,EAAgBC,CAAM,EACpC,OAAAA,EAAO,kBAAkBE,CAAI,EACtBxvG,CACR,CAED,SAASyvG,EAAeD,EAAM,CAC5B,IAAIF,EAAS,IAAI,WACbtvG,EAAUqvG,EAAgBC,CAAM,EACpC,OAAAA,EAAO,WAAWE,CAAI,EACfxvG,CACR,CAED,SAAS0vG,EAAsBC,EAAK,CAIlC,QAHIC,EAAO,IAAI,WAAWD,CAAG,EACzBE,EAAQ,IAAI,MAAMD,EAAK,MAAM,EAExBrwG,EAAI,EAAGA,EAAIqwG,EAAK,OAAQrwG,IAC/BswG,EAAMtwG,CAAC,EAAI,OAAO,aAAaqwG,EAAKrwG,CAAC,CAAC,EAExC,OAAOswG,EAAM,KAAK,EAAE,CACrB,CAED,SAASC,EAAYH,EAAK,CACxB,GAAIA,EAAI,MACN,OAAOA,EAAI,MAAM,CAAC,EAElB,IAAIC,EAAO,IAAI,WAAWD,EAAI,UAAU,EACxC,OAAAC,EAAK,IAAI,IAAI,WAAWD,CAAG,CAAC,EACrBC,EAAK,MAEf,CAED,SAASG,GAAO,CACd,YAAK,SAAW,GAEhB,KAAK,UAAY,SAASjO,EAAM,CAC9B,KAAK,UAAYA,EACZA,EAEM,OAAOA,GAAS,SACzB,KAAK,UAAYA,EACR0M,EAAQ,MAAQ,KAAK,UAAU,cAAc1M,CAAI,EAC1D,KAAK,UAAYA,EACR0M,EAAQ,UAAY,SAAS,UAAU,cAAc1M,CAAI,EAClE,KAAK,cAAgBA,EACZ0M,EAAQ,cAAgB,gBAAgB,UAAU,cAAc1M,CAAI,EAC7E,KAAK,UAAYA,EAAK,WACb0M,EAAQ,aAAeA,EAAQ,MAAQC,EAAW3M,CAAI,GAC/D,KAAK,iBAAmBgO,EAAYhO,EAAK,MAAM,EAE/C,KAAK,UAAY,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC,GACxC0M,EAAQ,cAAgB,YAAY,UAAU,cAAc1M,CAAI,GAAK6M,EAAkB7M,CAAI,GACpG,KAAK,iBAAmBgO,EAAYhO,CAAI,EAExC,KAAK,UAAYA,EAAO,OAAO,UAAU,SAAS,KAAKA,CAAI,EAhB3D,KAAK,UAAY,GAmBd,KAAK,QAAQ,IAAI,cAAc,IAC9B,OAAOA,GAAS,SAClB,KAAK,QAAQ,IAAI,eAAgB,0BAA0B,EAClD,KAAK,WAAa,KAAK,UAAU,KAC1C,KAAK,QAAQ,IAAI,eAAgB,KAAK,UAAU,IAAI,EAC3C0M,EAAQ,cAAgB,gBAAgB,UAAU,cAAc1M,CAAI,GAC7E,KAAK,QAAQ,IAAI,eAAgB,iDAAiD,EAG5F,EAEQ0M,EAAQ,OACV,KAAK,KAAO,UAAW,CACrB,IAAIwB,EAAWZ,EAAS,IAAI,EAC5B,GAAIY,EACF,OAAOA,EAGT,GAAI,KAAK,UACP,OAAO,QAAQ,QAAQ,KAAK,SAAS,EAChC,GAAI,KAAK,iBACd,OAAO,QAAQ,QAAQ,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC,CAAC,EACnD,GAAI,KAAK,cACd,MAAM,IAAI,MAAM,sCAAsC,EAEtD,OAAO,QAAQ,QAAQ,IAAI,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAE3D,EAEM,KAAK,YAAc,UAAW,CAC5B,OAAI,KAAK,iBACAZ,EAAS,IAAI,GAAK,QAAQ,QAAQ,KAAK,gBAAgB,EAEvD,KAAK,OAAO,KAAKG,CAAqB,CAEvD,GAGI,KAAK,KAAO,UAAW,CACrB,IAAIS,EAAWZ,EAAS,IAAI,EAC5B,GAAIY,EACF,OAAOA,EAGT,GAAI,KAAK,UACP,OAAOP,EAAe,KAAK,SAAS,EAC/B,GAAI,KAAK,iBACd,OAAO,QAAQ,QAAQC,EAAsB,KAAK,gBAAgB,CAAC,EAC9D,GAAI,KAAK,cACd,MAAM,IAAI,MAAM,sCAAsC,EAEtD,OAAO,QAAQ,QAAQ,KAAK,SAAS,CAE7C,EAEQlB,EAAQ,WACV,KAAK,SAAW,UAAW,CACzB,OAAO,KAAK,OAAO,KAAKyB,CAAM,CACtC,GAGI,KAAK,KAAO,UAAW,CACrB,OAAO,KAAK,KAAI,EAAG,KAAK,KAAK,KAAK,CACxC,EAEW,IACR,CAGD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,KAAK,EAEhE,SAASC,EAAgBC,EAAQ,CAC/B,IAAIC,EAAUD,EAAO,cACrB,OAAOF,EAAQ,QAAQG,CAAO,EAAI,GAAKA,EAAUD,CAClD,CAED,SAASE,EAAQtzE,EAAOjpC,EAAS,CAC/BA,EAAUA,GAAW,GACrB,IAAI+tG,EAAO/tG,EAAQ,KAEnB,GAAIipC,aAAiBszE,EAAS,CAC5B,GAAItzE,EAAM,SACR,MAAM,IAAI,UAAU,cAAc,EAEpC,KAAK,IAAMA,EAAM,IACjB,KAAK,YAAcA,EAAM,YACpBjpC,EAAQ,UACX,KAAK,QAAU,IAAIi7G,EAAQhyE,EAAM,OAAO,GAE1C,KAAK,OAASA,EAAM,OACpB,KAAK,KAAOA,EAAM,KAClB,KAAK,OAASA,EAAM,OAChB,CAAC8kE,GAAQ9kE,EAAM,WAAa,OAC9B8kE,EAAO9kE,EAAM,UACbA,EAAM,SAAW,GAEzB,MACM,KAAK,IAAM,OAAOA,CAAK,EAYzB,GATA,KAAK,YAAcjpC,EAAQ,aAAe,KAAK,aAAe,eAC1DA,EAAQ,SAAW,CAAC,KAAK,WAC3B,KAAK,QAAU,IAAIi7G,EAAQj7G,EAAQ,OAAO,GAE5C,KAAK,OAASo8G,EAAgBp8G,EAAQ,QAAU,KAAK,QAAU,KAAK,EACpE,KAAK,KAAOA,EAAQ,MAAQ,KAAK,MAAQ,KACzC,KAAK,OAASA,EAAQ,QAAU,KAAK,OACrC,KAAK,SAAW,MAEX,KAAK,SAAW,OAAS,KAAK,SAAW,SAAW+tG,EACvD,MAAM,IAAI,UAAU,2CAA2C,EAEjE,KAAK,UAAUA,CAAI,CACpB,CAEDwO,EAAQ,UAAU,MAAQ,UAAW,CACnC,OAAO,IAAIA,EAAQ,KAAM,CAAC,KAAM,KAAK,SAAS,CAAC,CACnD,EAEE,SAASL,EAAOnO,EAAM,CACpB,IAAIyO,EAAO,IAAI,SACf,OAAAzO,EACG,KAAM,EACN,MAAM,GAAG,EACT,QAAQ,SAAS0O,EAAO,CACvB,GAAIA,EAAO,CACT,IAAIC,EAAQD,EAAM,MAAM,GAAG,EACvBz9G,EAAO09G,EAAM,MAAK,EAAG,QAAQ,MAAO,GAAG,EACvCt0G,EAAQs0G,EAAM,KAAK,GAAG,EAAE,QAAQ,MAAO,GAAG,EAC9CF,EAAK,OAAO,mBAAmBx9G,CAAI,EAAG,mBAAmBoJ,CAAK,CAAC,CAChE,CACT,CAAO,EACIo0G,CACR,CAED,SAASG,EAAaC,EAAY,CAChC,IAAIlQ,EAAU,IAAIuO,EAGd4B,EAAsBD,EAAW,QAAQ,eAAgB,GAAG,EAChE,OAAAC,EAAoB,MAAM,OAAO,EAAE,QAAQ,SAASnP,EAAM,CACxD,IAAI/b,EAAQ+b,EAAK,MAAM,GAAG,EACtBpuG,EAAMqyF,EAAM,MAAO,EAAC,KAAI,EAC5B,GAAIryF,EAAK,CACP,IAAI8I,EAAQupF,EAAM,KAAK,GAAG,EAAE,KAAI,EAChC+a,EAAQ,OAAOptG,EAAK8I,CAAK,CAC1B,CACP,CAAK,EACMskG,CACR,CAEDsP,EAAK,KAAKO,EAAQ,SAAS,EAE3B,SAASO,EAASC,EAAU/8G,EAAS,CAC9BA,IACHA,EAAU,CAAA,GAGZ,KAAK,KAAO,UACZ,KAAK,OAASA,EAAQ,SAAW,OAAY,IAAMA,EAAQ,OAC3D,KAAK,GAAK,KAAK,QAAU,KAAO,KAAK,OAAS,IAC9C,KAAK,WAAa,eAAgBA,EAAUA,EAAQ,WAAa,KACjE,KAAK,QAAU,IAAIi7G,EAAQj7G,EAAQ,OAAO,EAC1C,KAAK,IAAMA,EAAQ,KAAO,GAC1B,KAAK,UAAU+8G,CAAQ,CACxB,CAEDf,EAAK,KAAKc,EAAS,SAAS,EAE5BA,EAAS,UAAU,MAAQ,UAAW,CACpC,OAAO,IAAIA,EAAS,KAAK,UAAW,CAClC,OAAQ,KAAK,OACb,WAAY,KAAK,WACjB,QAAS,IAAI7B,EAAQ,KAAK,OAAO,EACjC,IAAK,KAAK,GAChB,CAAK,CACL,EAEE6B,EAAS,MAAQ,UAAW,CAC1B,IAAI1C,EAAW,IAAI0C,EAAS,KAAM,CAAC,OAAQ,EAAG,WAAY,EAAE,CAAC,EAC7D,OAAA1C,EAAS,KAAO,QACTA,CACX,EAEE,IAAI4C,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,EAE/CF,EAAS,SAAW,SAASt8G,EAAK0pC,EAAQ,CACxC,GAAI8yE,EAAiB,QAAQ9yE,CAAM,IAAM,GACvC,MAAM,IAAI,WAAW,qBAAqB,EAG5C,OAAO,IAAI4yE,EAAS,KAAM,CAAC,OAAQ5yE,EAAQ,QAAS,CAAC,SAAU1pC,CAAG,CAAC,CAAC,CACxE,EAEEka,EAAQ,aAAe8/F,EAAK,aAC5B,GAAI,CACF,IAAI9/F,EAAQ,YACb,MAAa,CACZA,EAAQ,aAAe,SAASlc,EAASQ,EAAM,CAC7C,KAAK,QAAUR,EACf,KAAK,KAAOQ,EACZ,IAAIsH,EAAQ,MAAM9H,CAAO,EACzB,KAAK,MAAQ8H,EAAM,KACzB,EACIoU,EAAQ,aAAa,UAAY,OAAO,OAAO,MAAM,SAAS,EAC9DA,EAAQ,aAAa,UAAU,YAAcA,EAAQ,YACtD,CAED,SAASuiG,EAAMh0E,EAAOohE,EAAM,CAC1B,OAAO,IAAI,QAAQ,SAAShpG,EAASC,EAAQ,CAC3C,IAAI+4G,EAAU,IAAIkC,EAAQtzE,EAAOohE,CAAI,EAErC,GAAIgQ,EAAQ,QAAUA,EAAQ,OAAO,QACnC,OAAO/4G,EAAO,IAAIoZ,EAAQ,aAAa,UAAW,YAAY,CAAC,EAGjE,IAAIwiG,EAAM,IAAI,eAEd,SAASC,GAAW,CAClBD,EAAI,MAAK,CACV,CAEDA,EAAI,OAAS,UAAW,CACtB,IAAIl9G,EAAU,CACZ,OAAQk9G,EAAI,OACZ,WAAYA,EAAI,WAChB,QAASP,EAAaO,EAAI,sBAAqB,GAAM,EAAE,CACjE,EACQl9G,EAAQ,IAAM,gBAAiBk9G,EAAMA,EAAI,YAAcl9G,EAAQ,QAAQ,IAAI,eAAe,EAC1F,IAAI+tG,EAAO,aAAcmP,EAAMA,EAAI,SAAWA,EAAI,aAClD77G,EAAQ,IAAIy7G,EAAS/O,EAAM/tG,CAAO,CAAC,CAC3C,EAEMk9G,EAAI,QAAU,UAAW,CACvB57G,EAAO,IAAI,UAAU,wBAAwB,CAAC,CACtD,EAEM47G,EAAI,UAAY,UAAW,CACzB57G,EAAO,IAAI,UAAU,wBAAwB,CAAC,CACtD,EAEM47G,EAAI,QAAU,UAAW,CACvB57G,EAAO,IAAIoZ,EAAQ,aAAa,UAAW,YAAY,CAAC,CAChE,EAEMwiG,EAAI,KAAK7C,EAAQ,OAAQA,EAAQ,IAAK,EAAI,EAEtCA,EAAQ,cAAgB,UAC1B6C,EAAI,gBAAkB,GACb7C,EAAQ,cAAgB,SACjC6C,EAAI,gBAAkB,IAGpB,iBAAkBA,GAAOzC,EAAQ,OACnCyC,EAAI,aAAe,QAGrB7C,EAAQ,QAAQ,QAAQ,SAASjyG,EAAOpJ,EAAM,CAC5Ck+G,EAAI,iBAAiBl+G,EAAMoJ,CAAK,CACxC,CAAO,EAEGiyG,EAAQ,SACVA,EAAQ,OAAO,iBAAiB,QAAS8C,CAAQ,EAEjDD,EAAI,mBAAqB,UAAW,CAE9BA,EAAI,aAAe,GACrB7C,EAAQ,OAAO,oBAAoB,QAAS8C,CAAQ,CAEhE,GAGMD,EAAI,KAAK,OAAO7C,EAAQ,UAAc,IAAc,KAAOA,EAAQ,SAAS,CAClF,CAAK,CACF,CAED,OAAA4C,EAAM,SAAW,GAEZzC,EAAK,QACRA,EAAK,MAAQyC,EACbzC,EAAK,QAAUS,EACfT,EAAK,QAAU+B,EACf/B,EAAK,SAAWsC,GAGlBpiG,EAAQ,QAAUugG,EAClBvgG,EAAQ,QAAU6hG,EAClB7hG,EAAQ,SAAWoiG,EACnBpiG,EAAQ,MAAQuiG,EAEhB,OAAO,eAAeviG,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAErDA,CAER,GAAE,EAAE,CACJ,GAAE6/F,CAAQ,EACXA,EAAS,MAAM,SAAW,GAE1B,OAAOA,EAAS,MAAM,SAGtB,IAAItnG,EAAMsnG,EACV7/F,EAAUzH,EAAI,MACdyH,EAAkB,QAAAzH,EAAI,MACtByH,EAAgB,MAAAzH,EAAI,MACpByH,EAAkB,QAAAzH,EAAI,QACtByH,EAAkB,QAAAzH,EAAI,QACtByH,EAAmB,SAAAzH,EAAI,SACvBkhF,EAAiB,QAAAz5E,6FChiBX0iG,GAAkB1Q,GAAY,CAChC,IAAI2Q,EAAW,CAAA,EACf,OAAI3Q,IACK,OAAO,QAAY,KAAeA,aAAmB,SACrD4Q,IAAcC,GAAkB,SAAI7Q,aAAmB6Q,GAAAA,QACxDF,EAAW5Q,GAA6BC,CAAO,EAE1C,MAAM,QAAQA,CAAO,EAC1BA,EAAQ,QAAQ,CAAC,CAAC1tG,EAAMoJ,CAAK,IAAM,CAC3BpJ,GAAQoJ,IAAU,SAClBi1G,EAASr+G,CAAI,EAAIoJ,EAErC,CAAa,EAGDi1G,EAAW3Q,GAGZ2Q,CACX,EAIMG,GAAc37G,GAAQA,EAAI,QAAQ,sBAAuB,GAAG,EAAE,OAI9D47G,GAAsBl/G,GAAW,CACnC,GAAI,CAAC,MAAM,QAAQA,EAAO,KAAK,EAAG,CAC9B,MAAMm/G,EAAUn/G,EACVwvF,EAAS,CAAC,SAAS,mBAAmByvB,GAAWE,EAAQ,KAAK,CAAC,CAAC,EAAE,EACxE,OAAIn/G,EAAO,WACPwvF,EAAO,KAAK,aAAa,mBAAmB2vB,EAAQ,eAAe,UAAUA,EAAQ,SAAS,CAAC,CAAC,EAAE,EAElGA,EAAQ,eACR3vB,EAAO,KAAK,iBAAiB,mBAAmB2vB,EAAQ,aAAa,CAAC,EAAE,EAErE3vB,EAAO,KAAK,GAAG,CACzB,CACD,GAAI,OAAOxvF,EAAO,UAAc,KAAe,CAAC,MAAM,QAAQA,EAAO,SAAS,EAC1E,MAAM,IAAI,MAAM,8DAA8D,EAGlF,MAAMm/G,EAAUn/G,EACVsmF,EAAUtmF,EAAO,MAAM,OAAO,CAACw3F,EAAK4nB,EAAc36G,KACpD+yF,EAAI,KAAK,CACL,MAAOynB,GAAWG,CAAY,EAC9B,UAAWD,EAAQ,UAAYA,EAAQ,eAAe,UAAUA,EAAQ,UAAU16G,CAAK,CAAC,EAAI,MACxG,CAAS,EACM+yF,GACR,CAAE,CAAA,EACL,MAAO,SAAS,mBAAmB2nB,EAAQ,eAAe,UAAU74B,CAAO,CAAC,CAAC,EACjF,EACM+4B,GAA2BvB,GAAW,MAAO99G,GAAW,CAC1D,KAAM,CAAE,IAAAiC,EAAK,MAAAgpC,EAAO,UAAAsI,EAAW,cAAAgoE,EAAe,MAAAmD,EAAO,aAAA5sE,EAAc,WAAAtlC,CAAY,EAAGxM,EAC5EmuG,EAAU,CAAE,GAAGnuG,EAAO,OAAO,EACnC,IAAIs/G,EAAc,GACd9P,EACAsO,IAAW,QACXtO,EAAO+P,GAAkBt0E,EAAOsI,EAAWgoE,EAAezpE,EAAa,cAAc,EACjF,OAAO09D,GAAS,WAEhBrB,EAAQ,cAAc,EAAI,qBAK9BmR,EAAcJ,GAAmB,CAC7B,MAAAj0E,EACA,UAAAsI,EACA,cAAAgoE,EACA,eAAgBzpE,EAAa,gBAAkBm8D,EAC3D,CAAS,EAEL,MAAMnC,EAAO,CACT,OAAAgS,EACA,QAAA3P,EACA,KAAAqB,EACA,GAAG19D,CACX,EACI,IAAI0tE,EAAcv9G,EACdw9G,EAAe3T,EACnB,GAAIt/F,EAAY,CACZ,MAAMhI,EAAS,MAAM,QAAQ,QAAQgI,EAAW,CAAE,GAAGs/F,EAAM,IAAA7pG,EAAK,cAAAs5G,EAAe,UAAAhoE,CAAS,CAAE,CAAC,EACrF,CAAE,IAAKmsE,EAAQ,GAAGC,CAAO,EAAKn7G,EACpCg7G,EAAcE,EACdD,EAAeE,CAClB,CACD,OAAIL,IACAE,EAAc,GAAGA,CAAW,IAAIF,CAAW,IAExC,MAAMZ,EAAMc,EAAaC,CAAY,CAChD,EAIA,MAAMG,EAAc,CAChB,YAAY39G,EAAK49G,EAAgB,GAAI,CACjC,KAAK,IAAM59G,EACX,KAAK,cAAgB49G,EAIrB,KAAK,WAAa,SAAU/4G,IAAS,CACjC,KAAM,CAAC0nG,EAAgBj7D,EAAW+6D,CAAc,EAAIxnG,EAC9Cg5G,EAAoBvR,GAAoBC,EAAgBj7D,EAAW+6D,CAAc,EACjF,CAAE,QAAAH,EAAS,MAAAuQ,EAAQqB,GAAY,OAAAjC,EAAS,OAAQ,kBAAAkC,EAAmB,mBAAAC,EAAoB,GAAGnuE,CAAY,EAAK,KAAK,cAChH,CAAE,IAAA7vC,CAAK,EAAG,KACZ69G,EAAkB,SAAW,SAC7BhuE,EAAa,OAASguE,EAAkB,QAE5C,KAAM,CAAE,cAAAvE,CAAe,EAAGG,GAAuBoE,EAAkB,KAAK,EACxE,OAAOI,GAAY,CACf,IAAAj+G,EACA,MAAO69G,EAAkB,MACzB,UAAWA,EAAkB,UAC7B,QAAS,CACL,GAAGjB,GAAesB,GAAehS,CAAO,CAAC,EACzC,GAAG0Q,GAAeiB,EAAkB,cAAc,CACrD,EACD,cAAAvE,EACA,MAAAmD,EACA,OAAAZ,EACA,aAAAhsE,EACA,WAAYkuE,CAC5B,CAAa,EACI,KAAMnE,IACHoE,GACAA,EAAmBpE,CAAQ,EAExBA,EACV,EACI,MAAO9zG,GAAU,CAClB,MAAIk4G,GACAA,EAAmBl4G,CAAK,EAEtBA,CACtB,CAAa,CACb,CACK,CACD,MAAM,QAAQsmG,KAAsBS,EAA4B,CAC5D,KAAM,CAACv7D,EAAW+6D,CAAc,EAAIQ,EAC9BsR,EAAiBhS,GAAiBC,EAAmB96D,EAAW+6D,CAAc,EAC9E,CAAE,QAAAH,EAAS,MAAAuQ,EAAQqB,GAAY,OAAAjC,EAAS,OAAQ,kBAAAkC,EAAmB,mBAAAC,EAAoB,GAAGnuE,CAAY,EAAK,KAAK,cAChH,CAAE,IAAA7vC,CAAK,EAAG,KACZm+G,EAAe,SAAW,SAC1BtuE,EAAa,OAASsuE,EAAe,QAEzC,KAAM,CAAE,MAAAn1E,EAAO,cAAAswE,CAAa,EAAKG,GAAuB0E,EAAe,QAAQ,EAC/E,OAAOF,GAAY,CACf,IAAAj+G,EACA,MAAAgpC,EACA,UAAWm1E,EAAe,UAC1B,QAAS,CACL,GAAGvB,GAAesB,GAAehS,CAAO,CAAC,EACzC,GAAG0Q,GAAeuB,EAAe,cAAc,CAClD,EACD,cAAA7E,EACA,MAAAmD,EACA,OAAAZ,EACA,aAAAhsE,EACA,WAAYkuE,CACxB,CAAS,EACI,KAAMnE,IACHoE,GACAA,EAAmBpE,CAAQ,EAExBA,EAAS,KACnB,EACI,MAAO9zG,GAAU,CAClB,MAAIk4G,GACAA,EAAmBl4G,CAAK,EAEtBA,CAClB,CAAS,CACJ,CAED,cAAc2mG,EAAoBJ,EAAgB,CAC9C,MAAM+R,EAAsB5R,GAAsBC,EAAoBJ,CAAc,EAC9E,CAAE,QAAAH,EAAS,GAAGr8D,CAAY,EAAK,KAAK,cACtCuuE,EAAoB,SAAW,SAC/BvuE,EAAa,OAASuuE,EAAoB,QAE9C,MAAMntE,EAAUmtE,EAAoB,UAAU,IAAI,CAAC,CAAE,SAAAxR,CAAQ,IAAO6M,GAAuB7M,CAAQ,EAAE,KAAK,EACpGt7D,EAAY8sE,EAAoB,UAAU,IAAI,CAAC,CAAE,UAAA9sE,CAAS,IAAOA,CAAS,EAChF,OAAO2sE,GAAY,CACf,IAAK,KAAK,IACV,MAAOhtE,EAEP,UAAAK,EACA,QAAS,CACL,GAAGsrE,GAAesB,GAAehS,CAAO,CAAC,EACzC,GAAG0Q,GAAewB,EAAoB,cAAc,CACvD,EACD,cAAe,OACf,MAAO,KAAK,cAAc,OAASN,GACnC,OAAQ,KAAK,cAAc,QAAU,OACrC,aAAAjuE,EACA,WAAY,KAAK,cAAc,iBAC3C,CAAS,EACI,KAAM+pE,IACH,KAAK,cAAc,oBACnB,KAAK,cAAc,mBAAmBA,CAAQ,EAE3CA,EAAS,KACnB,EACI,MAAO9zG,GAAU,CAClB,MAAI,KAAK,cAAc,oBACnB,KAAK,cAAc,mBAAmBA,CAAK,EAEzCA,CAClB,CAAS,CACJ,CACD,WAAWomG,EAAS,CAChB,YAAK,cAAc,QAAUA,EACtB,IACV,CAID,UAAUptG,EAAK8I,EAAO,CAClB,KAAM,CAAE,QAAAskG,CAAO,EAAK,KAAK,cACzB,OAAIA,EAGAA,EAAQptG,CAAG,EAAI8I,EAGf,KAAK,cAAc,QAAU,CAAE,CAAC9I,CAAG,EAAG8I,CAAK,EAExC,IACV,CAID,YAAYA,EAAO,CACf,YAAK,IAAMA,EACJ,IACV,CACL,CACA,MAAMq2G,GAAc,MAAOlgH,GAAW,CAClC,KAAM,CAAE,MAAAirC,EAAO,UAAAsI,EAAW,aAAAzB,CAAY,EAAK9xC,EACrCqM,EAAUgzG,GAAwBzlB,GAAU55F,EAAO,QAAU,MAAM,CAAC,EACpEsgH,EAAkB,MAAM,QAAQtgH,EAAO,KAAK,EAC5C67G,EAAW,MAAMxvG,EAAQrM,CAAM,EAC/BwE,EAAS,MAAM+7G,GAAU1E,EAAU/pE,EAAa,gBAAkBm8D,EAAqB,EACvFuS,EAA2B,MAAM,QAAQh8G,CAAM,EAC/C,CAACA,EAAO,KAAK,CAAC,CAAE,KAAApD,CAAM,IAAK,CAACA,CAAI,EAChC,EAAQoD,EAAO,KACfi8G,EAAgC,MAAM,QAAQj8G,CAAM,GACtD,CAACA,EAAO,QACP,MAAM,QAAQA,EAAO,MAAM,GAAK,CAACA,EAAO,OAAO,QAChDstC,EAAa,cAAgB,OAC7BA,EAAa,cAAgB,SACjC,GAAI+pE,EAAS,IAAM4E,GAAiCD,EAA0B,CAE1E,KAAM,CAAE,OAAQr2G,EAAG,GAAG88B,CAAM,GAAG,MAAM,QAAQziC,CAAM,EAAIA,GACjDpD,EAAO0wC,EAAa,cAAgB,SAAW7K,EAAOziC,EAG5D,MAAO,CACH,GAHiB87G,EAAkB,CAAE,KAAAl/G,CAAI,EAAKA,EAI9C,QAASy6G,EAAS,QAClB,OAAQA,EAAS,MAC7B,CACK,KACI,CACD,MAAM6E,EAAc,OAAOl8G,GAAW,SAChC,CACE,MAAOA,CACV,EACCA,EACN,MAAM,IAAIo3G,GAEV,CAAE,GAAG8E,EAAa,OAAQ7E,EAAS,OAAQ,QAASA,EAAS,OAAO,EAAI,CAAE,MAAA5wE,EAAO,UAAAsI,CAAW,CAAA,CAC/F,CACL,EAcA,eAAeuoE,GAAQlN,EAAcC,KAAaC,EAA4B,CAC1E,MAAMsR,EAAiBzR,GAAyBC,EAAcC,EAAU,GAAGC,CAA0B,EAErG,OADe,IAAI8Q,GAAcQ,EAAe,GAAG,EACrC,QAAQ,CAClB,GAAGA,CACX,CAAK,CACL,CAqDA,MAAMb,GAAoB,CAACt0E,EAAOsI,EAAWgoE,EAAeoF,IAAmB,CAC3E,MAAMC,EAAkBD,GAAkB1S,GAC1C,GAAI,CAAC,MAAM,QAAQhjE,CAAK,EACpB,OAAO21E,EAAgB,UAAU,CAAE,MAAA31E,EAAO,UAAAsI,EAAW,cAAAgoE,CAAa,CAAE,EAExE,GAAI,OAAOhoE,EAAc,KAAe,CAAC,MAAM,QAAQA,CAAS,EAC5D,MAAM,IAAI,MAAM,qEAAqE,EAGzF,MAAM+yC,EAAUr7C,EAAM,OAAO,CAACusD,EAAK4nB,EAAc36G,KAC7C+yF,EAAI,KAAK,CAAE,MAAO4nB,EAAc,UAAW7rE,EAAYA,EAAU9uC,CAAK,EAAI,MAAW,CAAA,EAC9E+yF,GACR,CAAE,CAAA,EACL,OAAOopB,EAAgB,UAAUt6B,CAAO,CAC5C,EACMi6B,GAAY,MAAO1E,EAAU8E,IAAmB,CAClD,IAAIE,EAMJ,OALAhF,EAAS,QAAQ,QAAQ,CAAChyG,EAAO9I,IAAQ,CACjCA,EAAI,gBAAkB,iBACtB8/G,EAAch3G,EAE1B,CAAK,EACGg3G,IACCA,EAAY,YAAa,EAAC,WAAW,kBAAkB,GACpDA,EAAY,YAAa,EAAC,WAAW,0BAA0B,GAC/DA,EAAY,YAAW,EAAG,WAAW,mCAAmC,GACrEF,EAAe,MAAM,MAAM9E,EAAS,KAAM,CAAA,EAG1CA,EAAS,MAExB,EACMsE,GAAkBt2G,GACb,OAAOA,GAAU,WAAaA,EAAK,EAAKA,EC3X7Ci3G,GAAY,IAAO,GAAK,EAEjB1kE,GAAc,IAAI5F,GAAY,CACzC,eAAgB,CACd,QAAS,CACP,UAAWsqE,GACX,OAAQA,EACV,CACF,CACF,CAAC,EAIY9S,GAAUD,GAUpB,EAEGgT,GAAsB,CAC1B,QAAS5iH,GAAE,OACX,KAAMA,GAAE,MAAMA,GAAE,MAAM,EACtB,WAAYA,GAAE,MAEZ,CAAE,KAAM,iBAAkB,EAC1B,CAAE,KAAM,mBAAoB,EAC5B,CAAE,KAAM,WAAY,EACpB,CAAE,KAAM,WAAY,EACpB,CAAE,KAAM,oBAAqB,EAC7B,CAAE,KAAM,kBAAmB,EAC3B,CAAE,KAAM,UAAW,EACnB,CAAE,KAAM,SAAU,CACpB,CACF,EAOa6iH,GAAqBj5G,GAAyC,WACzE,MAAMk5G,EAASC,GAAW,CAAE,SAAU,CAAE,OAAQ/iH,GAAE,MAAM4iH,EAAmB,IAAOh5G,CAAK,EACnFA,EAAM,SAAS,OACf,GAGE8xE,GAAgCxnC,GAAAz6B,GAAAP,EAAAtP,GAAA,YAAAA,EAAO,WAAP,YAAAsP,EAAiB,UAAjB,YAAAO,EAA0B,MAA1B,YAAAy6B,EAAgC,gBAEtE,OAAI4uE,EAAO,SAAW,GAAKpnC,GAAa,KAC/BsnC,GAAO,OAGTA,GAAO,KAAK,CACjB,UAAAtnC,EACA,OAAAonC,CAAA,CACD,CACH,EAEMG,GAAsBr5G,GACXi5G,GAAkBj5G,CAAK,EAExB,MAAM,CAClB,KAAOA,GAAUA,EACjB,KAAM,KAAO,CACX,UAAW,OACX,OAAQ,CACN,CACE,QAAS,gBACT,KAAM,CAAC,EACP,WAAY,CACV,KAAM,SACR,CACF,CACF,CAAA,EACF,CACD,EAcU22G,GAAQ,MACnB1+G,GAEiB,MAAM87G,GAAQ,CAC7B,IAAK,WACL,SAAU97G,EAAO,SACjB,UAAWA,EAAO,UAClB,OAAQA,EAAO,MAAA,CAChB,EAUUuJ,GAAS,SACjB,CAACslG,EAAUt7D,CAAS,KAER,MAAM8tE,GAAO,YAAY3C,GAAM,CAAE,SAAA7P,EAAU,UAAAt7D,CAAoC,CAAA,CAAC,GACjF,SAAS6tE,EAAkB,EAsBrCE,GAAuDzS,GAA+B,SAE1F,MAAMpuG,GAAOmX,GAAAP,EAAAw3F,EAAS,YAAY,CAAC,IAAtB,YAAAx3F,EAAyB,OAAzB,YAAAO,EAA+B,MAE5C,GAAInX,GAAQ,KACJ,MAAA,IAAI,MAAM,2BAA2B,EAGtC,OAAAA,CACT,EAuBa8gH,GAAW,IACnB,CAAC1S,EAAUt7D,CAAS,IACM,CAC7B,MAAM/uC,EAAS25C,GAAiB,CAC9B,SAAU,CAACmjE,GAAiBzS,CAAQ,EAAGt7D,CAAS,EAChD,QAAS,CAAC,CAAE,OAAA+sC,KACVo+B,GAAM,CAAE,SAAA7P,EAAoB,UAAAt7D,EAAsB,OAAA+sC,EAAiC,CAAA,CACtF,EAEM,MAAA,CACL,KAAM97E,EAAO,KACb,QAASA,EAAO,OAAA,CAEpB,EA2Cag9G,GAAe,CAC1BpgH,KACG,CAACytG,EAAUt7D,CAAS,IACpB,CACG,MAAAgoE,EAAgB+F,GAAiBzS,CAAQ,EAE/CzyD,GAAY,aAAa,CAACm/D,EAAehoE,CAAS,EAAGnyC,CAAI,CAC3D,EAOaqgH,GACX33G,GACsC,CACtC,MAAMtF,EAASk9G,GAAiB,CAC9B,WAAY53G,CAAA,CACb,EAED,OAAItF,EAAO,UACF,CACL,KAAMm9G,GAAU,QAAQ,EACxB,OAAQn9G,EAAO,WAAA,EAIfA,EAAO,MAAQ,KACV,CACL,KAAMm9G,GAAU,KAAKn9G,EAAO,IAAI,EAChC,OAAQA,EAAO,WAAA,EAIZ,CACL,KAAMm9G,GAAU,SAAS,EACzB,OAAQn9G,EAAO,WAAA,CAEnB,EAQao9G,GAAa,IAAwD,CAChF,KAAM,CAACxgH,EAAMygH,CAAO,EAAIx+E,EAAkC,SAAAs+E,GAAU,UAAU,EAYvE,MAAA,CACL,KAAAvgH,EACA,QAZc,MAAO0I,GAAmD,CAChE+3G,EAAAF,GAAU,SAAS,EACrB,MAAAn9G,EAAS,MAAMsF,IACb+3G,EAAAF,GAAU,KAAKn9G,CAAM,CAAC,CAAA,EAU9B,MAPY,IAAM,CACVq9G,EAAAF,GAAU,UAAU,CAAA,CAM5B,CAEJ,EC9SaG,GAAa9T,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAajC,EAEY+T,GAAU/T,GACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,CAAC8T,EAAU,CACb,EAEaE,GAAsBhU,GAAQ;AAAA;AAAA;AAAA;AAAA,CAI1C,EAEYiU,GAAcjU,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAalC,EAEgCA,GAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,CAACiU,EAAW,CACd,ECzCqCjU,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAc5C,ECzBM,MAAMkU,GAAe,CAC1B,OAAQ,CACN,KAAM,SACN,IAAK,MAAM,WACX,KAAM,gBACN,YAAahmH,EAAE,4BAA4B,CAC7C,CACF,EAIaimH,GAAuBC,GAA2D,CAC7F,GAAIA,IAAW,QAKXF,GAAaE,CAAM,GAAK,KACnB,OAAAA,CAIX,EC/BA,SAAS31E,GAAE3uC,EAAE,CAAC,OAAO7B,GAAG,CAAC6B,EAAE,QAAQhC,GAAG,CAAC,OAAOA,GAAG,WAAWA,EAAEG,CAAC,EAAEH,GAAG,OAAOA,EAAE,QAAQG,EAAE,CAAC,CAAC,CAAC,CCMnF,MAAMomH,GAAY/3B,EAAA,WAAwB,CAACl/E,EAAO06D,IAAQ,CACzD,MAAAw8C,EAAW32G,SAAa,IAAI,EAElClF,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAM4qD,EAAUixD,EAAS,QACrB,GAAA,EAAEjxD,aAAmB,aACvB,OAGFA,EAAQ,MAAM,EAER,MAAAi8B,EAAiBn6C,GAAyB,CAC1C,GAAAA,EAAM,MAAQ,MAChB,OAGF,MAAMovE,EAAoBlxD,EAAQ,iBAChC,0EAAA,EAEImxD,EAAwBD,EAAkB,CAAC,EAC3CE,EAAuBF,EAAkBA,EAAkB,OAAS,CAAC,EAE3E,GAAIpvE,EAAM,UAAY,SAAS,gBAAkBqvE,EAAuB,CACtEC,GAAA,MAAAA,EAAsB,QACtBtvE,EAAM,eAAe,EACrB,MACF,CAEA,GAAI,CAACA,EAAM,UAAY,SAAS,gBAAkBsvE,EAAsB,CACtED,GAAA,MAAAA,EAAuB,QACvBrvE,EAAM,eAAe,EACrB,MACF,CAAA,EAGO,gBAAA,iBAAiB,UAAWm6C,EAAe,EAAI,EAEjD,IAAM,CACF,SAAA,oBAAoB,UAAWA,CAAa,CAAA,CAEzD,EAAG,CAAE,CAAA,EAEG9wC,EAAA,IAAAw2B,GAAA,CAAK,IAAKjN,GAAU,CAACu8C,EAAUx8C,CAAG,CAAC,EAAG,SAAU,EAAI,GAAG16D,CAAO,CAAA,CACxE,CAAC,EC1CcstD,GAAW,OAAO,CAC/B,UAAW,CACT,SAAU,WACV,IAAK,EACL,KAAM,EACN,gBAAiB08B,EAAO,QAAQ,GAAG,EACnC,aAAcE,GAAM,CAAC,EACrB,aAAc,CAChB,EACA,eAAgB,CACd,mBAAoB,CAClB,KAAM,CACJ,QAAS,EACT,UAAW,aACb,EACA,GAAI,CACF,QAAS,EACT,UAAW,UACb,CACF,EACA,kBAAmBC,GAAa,GAAG,CACrC,EACA,eAAgB,CACd,mBAAoB,CAClB,KAAM,CACJ,QAAS,EACT,UAAW,UACb,EACA,GAAI,CACF,QAAS,EACT,UAAW,aACb,CACF,EACA,kBAAmBA,GAAa,GAAG,EACnC,kBAAmB,UACrB,EAEA,UAAW,CACT,OAAQ,EACR,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,CACF,CAAC,ECjCc18B,GAAW,OAAO,CAC/B,cAAe,CACb,cAAe,MACf,WAAY,SACZ,kBAAmB,GACnB,gBAAiB,GACjB,gBAAiB08B,EAAO,QAAQ,GAAG,EACnC,YAAa,EACb,YAAaA,EAAO,QAAQ,GAAG,EAC/B,aAAcE,GAAM,CAAC,EACrB,mBAAoBC,GAAa,GAAG,EACpC,mBAAoB,mBACpB,aAAc,CAChB,EACA,mBAAoB,CAClB,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,EAEA,WAAY,CACV,QAAS,OACT,cAAe,MACf,WAAY,SACZ,gBAAiB,GACjB,kBAAmB,GACnB,mBAAoBG,GAAa,GAAG,EACpC,mBAAoB,mBACpB,aAAc,CAChB,EACA,gBAAiB,CACf,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,EAEA,SAAU,CACR,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,CACF,CAAC,EChCc18B,GAAW,OAAO,CAC/B,QAAS,CACP,MAAO,IACP,SAAU,EACV,iBAAkB,EAClB,YAAa08B,EAAO,QAAQ,GAAG,CACjC,EACA,eAAgB,CACd,OAAQ,OACR,kBAAmB,GACnB,gBAAiB,GACjB,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EAEA,WAAY,CACV,SAAU,WACV,IAAK,KACL,KAAM,KACN,MAAO,EACP,OAAQ,EACR,gBAAiB,yEACjB,cAAe,MACjB,EAEA,WAAY,CACV,kBAAmB,EACrB,EAEA,YAAa,CACX,QAAS,OACT,cAAe,MACf,WAAY,SACZ,kBAAmB,GACnB,gBAAiB,EACjB,aAAcE,GAAM,CAAC,EACrB,gBAAiBD,GAAe,YAChC,mBAAoBE,GAAa,GAAG,EACpC,mBAAoB,kBACtB,EACA,kBAAmB,CACjB,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,EACA,iBAAkB,CAChB,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EAEA,cAAe,CACb,cAAe,MACf,WAAY,SACZ,kBAAmB,GACnB,gBAAiB,GACjB,gBAAiBA,EAAO,QAAQ,GAAG,EACnC,YAAa,EACb,YAAaA,EAAO,QAAQ,GAAG,EAC/B,aAAcE,GAAM,CAAC,EACrB,mBAAoBC,GAAa,GAAG,EACpC,mBAAoB,mBACpB,aAAc,CAChB,EACA,mBAAoB,CAClB,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,EAEA,KAAM,CACJ,KAAM,CACR,EAEA,YAAa,CACX,cAAe,MACf,WAAY,QACd,EAEA,YAAa,CACX,gBAAiB,EACjB,kBAAmB,EACnB,aAAcE,GAAM,CAAC,EACrB,mBAAoBC,GAAa,GAAG,EACpC,mBAAoB,mBACpB,aAAc,CAChB,EACA,iBAAkB,CAChB,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,CACF,CAAC,EClFM,MAAMstB,GAAmB,IAEjBhqD,GAAW,OAAO,CAC/B,KAAM,CACJ,KAAM,CACR,EAEA,eAAgB,CACd,mBAAoB,CAClB,KAAM,CACJ,UAAW,kBACb,EACA,GAAI,CACF,UAAW,eACb,CACF,EACA,kBAAmB68B,GAAa,GAAG,CACrC,EACA,cAAe,CACb,mBAAoB,CAClB,KAAM,CACJ,UAAW,eACb,EACA,GAAI,CACF,UAAW,kBACb,CACF,EACA,kBAAmBA,GAAa,GAAG,EACnC,kBAAmB,UACrB,EAEA,eAAgB,CACd,OAAQ,EACR,SAAU,WACV,KAAM,EACN,OAAQ,EACR,MAAO,OACP,OAAQmtB,GACR,gBAAiB,+EACjB,cAAe,MACjB,EAEA,WAAY,CACV,OAAQ,EACR,SAAU,WACV,OAAQ,GACR,KAAM,GACN,MAAO,EACT,EAEA,OAAQ,CACN,cAAe,MACf,WAAY,SACZ,eAAgB,SAChB,kBAAmB,EACnB,gBAAiB,EACjB,gBAAiBttB,EAAO,QAAQ,GAAG,EACnC,aAAcE,GAAM,CAAC,EACrB,YAAa,EACb,YAAaF,EAAO,QAAQ,GAAG,CACjC,EACA,YAAa,CACX,kBAAmB,GACnB,gBAAiB,EACnB,EACA,YAAa,CACX,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EACA,cAAe,CACb,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EAEA,KAAM,CACJ,OAAQ,EACR,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,EACN,gBAAiBA,EAAO,QAAQ,GAAG,EACnC,cAAe,EACjB,EACA,SAAU,CACR,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,EACN,WAAY,GACZ,kBAAmB,GACnB,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EACA,YAAa,CACX,kBAAmB,EACrB,EAEA,kBAAmB,CACjB,QAAS,OACT,cAAe,MACf,WAAY,SACZ,gBAAiB,EACjB,kBAAmB,GACnB,aAAcE,GAAM,CAAC,EACrB,mBAAoBC,GAAa,GAAG,EACpC,mBAAoB,mBACpB,aAAc,CAChB,EACA,uBAAwB,CACtB,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,EACA,+BAAgC,CAC9B,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EACA,uBAAwB,CACtB,gBAAiB,EACnB,EAEA,WAAY,CACV,cAAe,MACf,WAAY,SACZ,kBAAmB,GACnB,gBAAiB,CACnB,EAEA,SAAU,CACR,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,CACF,CAAC,EC9ID,MAAM5+B,GAASkC,GAAW,OAAO,CAC/B,gBAAiB,CACf,MAAO,MACT,EACA,iBAAkB,CAChB,OAAQ,OACR,MAAO,OACP,iBAAkB,MACpB,CACF,CAAC,EAUYiqD,GAAwC,CAAC,CACpD,kBAAmBC,EACnB,gBAAiBC,EACjB,SAAAC,EACA,eAAAC,EAAiB,EACjB,SAAArtG,CACF,IAAM,CAEJ,MAAMstG,EADa7tB,OACa,SAE1B8tB,EAAoBL,IAAOI,EAAW,GAAK,IAC3CE,EAAkBL,IAAOG,EAAW,GAAK,IAG7C,OAAAttB,EAAA,KAACze,GAAA,CACC,MAAOzgB,GAAO,gBACd,sBAAuB,CACrBA,GAAO,iBACP,CACE,kBAAAysD,EACA,SAAAH,CACF,CACF,EAEA,SAAA,CAAAtmE,MAACw2B,IAAK,MAAO,CAAE,UAAWkwC,EAAiB,KAAMH,GAAkB,EAClErtG,EACD8mC,EAAA,IAACw2B,GAAA,CACC,MAAO,CACL,UAAWgwC,EAAWN,GAAmBQ,EACzC,KAAM,EAAIH,CACZ,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,ECjDMvsD,GAASkC,GAAW,OAAO,CAC/B,QAAS,CACP,SAAU,WACV,MAAO,IACP,OAAQ,IACR,WAAY,SACZ,eAAgB,SAChB,aAAc,GACd,UAAW,+BACX,mBAAoB,CAClB,KAAM,CAAE,UAAW,8BAA+B,EAClD,MAAO,CAAE,UAAW,kCAAmC,EACvD,OAAQ,CAAE,UAAW,kCAAmC,CAC1D,EACA,kBAAmB,WACnB,kBAAmB68B,GAAa,GAAG,CACrC,EACA,QAAS,CACP,MAAO,IACP,OAAQ,IACR,WAAY,SACZ,eAAgB,SAChB,aAAc,GACd,UAAW,+BACX,mBAAoB,CAClB,KAAM,CAAE,UAAW,8BAA+B,EAClD,OAAQ,CAAE,UAAW,gCAAiC,CACxD,EACA,kBAAmB,WACnB,kBAAmBA,GAAa,GAAG,EACnC,eAAgBA,GAAa,GAAG,EAEhC,UAAW,CACT,uCACA,0CACA,0CACA,0CACA,uCAAA,EACA,KAAK,GAAG,CACZ,EAEA,gBAAiB,CACf,SAAU,GACZ,CACF,CAAC,EAWY4tB,GAA4B,CAAC,CACxC,QAAAjrG,EACA,KAAA2gF,EACA,MAAApD,EACA,YAAA8b,EACA,WAAA6R,EACA,SAAAC,CACF,IAEK3tB,EAAAA,KAAAyC,GAAA,CAAI,UAAU,SAAS,WAAW,SACjC,SAAA,CAAAzC,EAAA,KAACyC,GAAI,CAAA,UAAU,SAAS,WAAW,SACjC,SAAA,CAAA37C,EAAAA,IAACw2B,GAAK,CAAA,MAAO,CAACxc,GAAO,QAAS,CAAE,gBAAiB4+B,EAAOl9E,CAAO,EAAE,GAAG,CAAA,CAAG,CAAG,CAAA,EAC1EskC,EAAAA,IAACw2B,GAAK,CAAA,MAAO,CAACxc,GAAO,QAAS,CAAE,gBAAiB4+B,EAAOl9E,CAAO,EAAE,GAAG,CAAA,CAAG,EACrE,SAAAskC,EAAAA,IAACg5C,GAAK,CAAA,KAAMqD,EAAM,KAAM,GAAI,MAAOzD,EAAO,QAAQ,GAAG,CAAA,CAAG,CAC1D,CAAA,CAAA,EACF,EAEA54C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACgiC,IAAK,QAAQ,SAAS,MAAM,SAAS,MAAO6W,GAAe,MACzD,SACHI,CAAA,CAAA,EACAj5C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,QACjB/Z,GAAK,CAAA,QAAQ,QAAQ,MAAM,SACzB,SACH+yB,EAAA,EACA/0D,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,QAElBK,GAAO,CAAA,MAAOpiC,GAAO,gBAAiB,QAAS6sD,EAC7C,SACHD,EAAA,CACF,CAAA,CAAA,ECpFSE,GAAgC,CAAC,CAAE,YAAAC,KAE5C/mE,EAAA,IAACmmE,GAAA,CACC,kBAAmB,GACnB,gBAAiB,GACjB,SAAU,IACV,eAAgB,GAEhB,SAAAnmE,EAAA,IAAC2mE,GAAA,CACC,QAAQ,UACR,KAAK,cACL,MAAOjnH,EAAE,sBAAsB,EAC/B,YAAaA,EAAE,wBAAwB,EACvC,WAAYA,EAAE,6BAA6B,EAC3C,SAAU,IAAM,CACR,MAAA+F,EAAMshH,GAAe3sB,GAAO,MAAM,EACxCpF,GAAWvvF,CAAG,CAChB,CAAA,CACF,CAAA,CAAA,ECZOuhH,GAA6B,CAAC,CAAE,MAAAz7G,EAAO,WAAA07G,KAAiB,OACnE,MAAMzzB,EAAQ4G,GAAO,SAAS,CAAC,SAAS,CAAC,EAUzC,OARAnwF,EAAAA,UAAU,IACY8qF,GAAoBkyB,CAAU,EAEjD,CAAE,CAAA,EAGH17G,EAAM,OAAS,kBAAkBsP,EAAAtP,EAAM,MAAM,OAAO,CAAC,IAApB,YAAAsP,EAAuB,WAAW,QAAS,kBAGpEisG,GAAa,CAAA,CAAA,EAIrB9mE,EAAA,IAACmmE,GAAA,CACC,kBAAmB,GACnB,gBAAiB,GACjB,SAAU,IACV,eAAgB,GAEhB,SAAAnmE,EAAA,IAAC2mE,GAAA,CACC,QAAQ,WACR,KAAK,iBACL,MAAOjnH,EAAE,kBAAkB,EAC3B,YAAa+wG,GAAQ,qBAAsB,CACzC,EAAI96C,GACF3V,EAAAA,IAAC61C,GAAK,CAAA,GAAG,2BAA2B,aAAc,GAAM,MAAOgD,GAAe,MAC3E,SACHljC,CAAA,CAAA,CAAA,CAEH,EACD,WAAYj2D,EAAE,yBAAyB,EACvC,SAAU,IAAM,EACd8zF,GAAA,YAAAA,EAAO,QAAS,UACZ4G,GAAO,KAAK,UAAW,CAAE,SAAU5G,EAAM,OAAO,QAAU,CAAA,EAC1D4G,GAAO,KAAK,OAAO,EACZ6sB,GACb,CAAA,CACF,CAAA,CAAA,CAGN,ECvDMC,GAAgB,IAEhBltD,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,KAAM,EACN,eAAgB,SAChB,WAAY,QACd,CACF,CAAC,EAEYirD,GAAwB,IAAM,CACzC,KAAM,CAACC,EAAUC,CAAW,EAAIxgF,WAAS,EAAI,EAE7C58B,OAAAA,EAAAA,UAAU,IAAM,CACR,MAAA+D,EAAU,WAAW,IAAM,CAC/Bq5G,EAAY,EAAK,GAChBH,EAAa,EAET,MAAA,IAAM,aAAal5G,CAAO,CACnC,EAAG,CAAE,CAAA,QAGFwoE,GAAK,CAAA,MAAOxc,GAAO,UACjB,UAACotD,GAAYpnE,EAAA,IAACwiC,GAAkB,CAAA,KAAK,QAAQ,MAAOoW,EAAO,QAAQ,GAAG,EAAG,CAC5E,CAAA,CAEJ,ECVO,MAAM0uB,WAAsBhpG,EAAAA,SAAwB,CACzD,YAAY1P,EAAc,CACxB,MAAMA,CAAK,EA8Cb24G,GAAA,kBAAa,IAAY,CACvB,KAAK,SAAS,CAAE,KAAM,UAAY,CAAA,CAAA,GA9C7B,KAAA,MAAQ,CAAE,KAAM,UAAW,CAClC,CAEA,kBAAkBh8G,EAAci8G,EAA4B,CACtChD,GAAkBj5G,CAAK,EAE/B,MAAM,CAChB,KAAM,IAAM,KAEZ,KAAM,IAAM,CACV,MAAMynG,EAAO,CACX,YAAa,MAAM,YACnB,IAAK,OAAO,SAAS,KACrB,WAAY,OAAO,UAAU,UAC7B,aACE,OAAO,YAAc,SAAS,gBAAgB,aAAe,SAAS,KAAK,YAC7E,cACE,OAAO,aACP,SAAS,gBAAgB,cACzB,SAAS,KAAK,aAChB,QAASznG,EAAM,QACf,MAAOA,EAAM,OAAS,GACtB,gBAAiBi8G,EAAU,gBAAkB,EAAA,EAG/C,MAAM,mBAAoB,CACxB,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAUxU,CAAI,CAAA,CAC1B,CACH,CAAA,CACD,CACH,CAEA,OAAO,yBAAyBznG,EAAqB,CAGnD,OAFoBi5G,GAAkBj5G,CAAK,EAExB,MAAa,CAC9B,KAAOA,IAAW,CAAE,KAAM,eAAgB,MAAAA,IAC1C,KAAM,KAAO,CAAE,KAAM,gBAAe,CACrC,CACH,CAMA,QAA0B,CAClB,KAAA,CAAE,MAAA3C,CAAU,EAAA,KAEhB,OAAAo3C,EAAA,IAACO,IACE,SAAC,CAAA,CAAE,MAAAknE,KACF7+G,EAAM,OAAS,WACX,KAAK,MAAM,SACXA,EAAM,OAAS,eACb,KAAK,MAAM,SAAS,KAAK,WAAYA,CAAK,EAE1C,KAAK,MAAM,SAAS,IAAM,CAClB6+G,IACN,KAAK,WAAW,GACf7+G,CAAK,CAElB,CAAA,CAEJ,CACF,CC9EA,MAAMoxD,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,cAAe,MACf,MAAO,OACP,OAAQ,MACV,EACA,QAAS,CACP,KAAM,CACR,EAEA,SAAU,CACR,QAAS,OACT,WAAY,QACd,CACF,CAAC,EAOYwrD,GAA6B,CAAC,CAAE,SAAAxuG,KAExC8mC,EAAA,IAAAw2B,GAAA,CAAK,MAAOxc,GAAO,UAClB,SAAAha,EAAAA,IAACsnE,GAAc,CAAA,SAAU,CAACG,EAAOl8G,IAAUy0C,EAAA,IAACgnE,IAAU,WAAYS,EAAO,MAAAl8G,CAAc,CAAA,EACrF,SAACy0C,EAAA,IAAA2nE,EAAA,SAAA,CAAS,SAAU3nE,EAAA,IAACmnE,KAAY,EAC/B,SAAAnnE,EAAAA,IAACw2B,GAAK,CAAA,MAAOxc,GAAO,QAAU,SAAA9gD,CAAS,CAAA,CACzC,CAAA,EACF,CACF,CAAA,EA+BS0uG,GAAkD,CAAC,CAAE,MAAA3uB,EAAO,YAAA8b,KAGnE7b,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,OAAO,MAAO6W,GAAe,MACxC,SAAAn5F,EAAE,oBAAoB,CACzB,CAAA,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,QAElB/Z,GAAK,CAAA,QAAQ,QAAQ,MAAO6W,GAAe,MACzC,SACHI,EAAA,EACAj5C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EACjB/7C,EAAA,IAAAgiC,GAAA,CAAK,QAAQ,QAAS,SAAY+yB,EAAA,CACrC,CAAA,CAAA,EASS8S,GAA0C,CAAC,CAAE,GAAA1jH,EAAI,MAAA8jC,YAEzD4tD,GAAK,CAAA,MAAO77B,GAAO,SAAU,GAAA71D,EAAQ,QAAQ,QAC5C,SAAA,CAAC67C,EAAAA,IAAAg5C,GAAA,CAAK,KAAK,aAAa,KAAM,GAAI,MAAOJ,EAAO,QAAQ,GAAG,CAAG,CAAA,EAC9D54C,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,CAAG,CAAA,EAChB9zD,CACH,CAAA,CAAA,EC9FE6/E,GAAiC,IAAO,GAAK,GAAK,GAClDC,GAAa,YAEbj8G,GAAOvH,GAAuC,CAClD,MAAMyjH,EAAa,GAAGD,EAAU,GAAGxjH,CAAG,GAChC0jH,EAAU,aAAa,QAAQD,CAAU,EAE/C,GAAI,CAACC,EACI,OAAA,KAGL,GAAA,CACK,OAAA,KAAK,MAAMA,CAAO,OACX,CACP,OAAA,IACT,CACF,EAoBaC,GAA6B,IAAM,CACxC,MAAA7yG,EAAM,KAAK,MAEjB,QAAS5E,EAAI,EAAGA,EAAI,aAAa,OAAQA,IAAK,CACtC,MAAAlM,EAAM,aAAa,IAAIkM,CAAC,EAQ9B,GALI,CAAClM,GAKD,CAACA,EAAI,WAAWwjH,EAAU,EAC5B,SAGF,MAAMI,EAAmB5jH,EAAI,MAAMwjH,GAAW,MAAM,EAE9CK,EAAiBt8G,GAAIq8G,CAAgB,EAG3C,GAAIC,GAAkB,KAIlB,IAAA,OAAOA,EAAe,WAAc,SAAU,CAChD,aAAa,WAAW7jH,CAAG,EAC3B,QACF,CAEI8Q,EAAM+yG,EAAe,UAAYN,KAC3B,QAAA,KAAK,6CAA6CvjH,CAAG,EAAE,EAC/D,aAAa,WAAWA,CAAG,GAE/B,CACF,EC9EoK,SAAS0rC,IAAG,CAAQ,OAAAA,GAAE,OAAO,OAAO,OAAO,OAAO,KAAK,EAAE,SAAS3wC,EAAE,CAAC,QAAQI,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAKD,IAAAA,EAAE,UAAUC,CAAC,EAAE,QAAQc,KAAKf,EAAS,OAAA,UAAU,eAAe,KAAKA,EAAEe,CAAC,IAAIlB,EAAEkB,CAAC,EAAEf,EAAEe,CAAC,EAAE,CAAQlB,OAAAA,CAAG,EAAA2wC,GAAE,MAAM,KAAK,SAAS,CAAC,CAAK,IAAA/uC,GAAe,OAAO,OAApB,IAA2BzB,EAAAA,UAAEE,EAAAA,gBAAEO,GAAE,SAASZ,EAAE,CAAQA,OAAAA,CAAC,EAAED,GAAE,UAAU,CAAC,EAAEiC,GAAE,SAAShC,EAAE,CAAC,OAAkB,OAAOA,GAAnB,WAAqBA,EAAAA,EAAIA,CAAC,EAAE2B,GAAE,SAAS3B,EAAE,CAAO,MAAA,CAAC,CAACA,IAAc,OAAOA,GAAjB,UAAgC,OAAOA,GAAnB,aAAmC,OAAOA,EAAE,MAArB,UAAyB,EAAiaS,GAAE,SAAST,EAAEI,EAAE,CAAQA,OAAAA,EAAE,MAAM,SAASA,EAAE,CAAQ,OAASJ,EAAEI,CAAC,IAAZ,MAAY,CAAE,CAAC,EAAEe,GAAE,SAASd,EAAE,CAAKC,IAAAA,EAAEN,EAAAA,WAAE,UAAU,CAAC,MAAM,IAAI,CAAE,CAAA,EAAE,CAAC,EAAEsG,EAAElG,EAAA,OAAE,EAAE,EAAE2B,EAAE3B,EAAAA,OAAEC,CAAC,EAAEI,EAAEL,SAAE,WAAW,EAAEwB,GAAE,UAAU,CAACG,EAAE,QAAQ1B,CAAA,CAAE,EAAEF,EAAA,UAAE,UAAU,CAAQmG,OAAAA,EAAE,QAAQ,GAAG,UAAU,CAACA,EAAE,QAAQ,EAAA,CAAG,EAAE,CAAE,CAAA,EAAMnF,IAAAA,EAAEf,SAAI,EAAAH,EAAEG,EAAAA,OAAI,EAAA6B,EAAE7B,EAAAA,SAAI0B,EAAE1B,EAAA,OAAA,EAAIa,EAAEb,EAAA,OAAA,EAAI+B,EAAE/B,SAAE,EAAEoC,EAAEpC,SAAE,EAAEyB,EAAEX,EAAAA,QAAE,UAAU,CAAKlB,IAAAA,EAAE,SAASA,EAAE,CAAC,OAAOgC,GAAED,EAAE,QAAQ/B,CAAC,EAAE,YAAY,CAAA,EAAGI,EAAE,SAASJ,EAAE,CAAKI,IAAAA,EAAE,OAAcA,EAAE2B,EAAE,QAAQ/B,CAAC,EAAE,WAAtB,KAAgCI,EAAEQ,EAAA,EAAGT,EAAE,SAASH,EAAE,CAAKI,IAAAA,EAAE,OAAcA,EAAE2B,EAAE,QAAQ/B,CAAC,EAAE,WAAtB,KAAgCI,EAAEL,EAAA,EAAGmB,EAAE,SAASlB,EAAE,CAAQ,OAAAiC,EAAE,QAAQjC,CAAC,CAAA,EAAGK,EAAE,SAASL,EAAEI,EAAE,CAAC,IAAIc,EAAEC,EAAE,QAAQnB,CAAC,EAAEK,EAAc,OAAOD,GAAnB,WAAqBA,EAAE,CAAC,MAAMc,EAAE,QAAQ,MAAM,UAAUA,EAAE,UAAU,SAASA,EAAE,QAAS,CAAA,EAAEd,EAAE+Q,EAAE9Q,EAAE,WAAuBA,EAAE,SAAS,MAAvB,UAA2B,CAAC,WAA0BA,EAAE,SAAS,MAA1B,aAA8B,MAAgBA,EAAE,SAAS,MAArB,QAAyB,MAAkBA,EAAE,SAAS,MAAvB,UAA2BA,EAAE,SAAS,MAAM,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAACF,EAAEH,CAAC,EAAE,MAAM,MAAM,EAAEmB,EAAE,QAAQnB,CAAC,EAAE,CAAC,UAAUK,EAAE,UAAU,SAASA,EAAE,SAAS,QAAQswC,GAAE,CAAA,EAAGx/B,EAAE,CAAC,MAAM9Q,EAAE,KAAM,CAAA,EAAC,EAAG8Q,EAAE,SAASnR,EAAE,CAAC,IAAII,EAAEa,EAAE,QAAQjB,CAAC,EAAEG,EAAWC,IAAT,OAAkBD,OAAAA,IAAI,aAAaC,CAAC,EAAEa,EAAE,QAAQjB,CAAC,EAAE,QAAQG,CAAA,EAAGyB,EAAE,SAAS5B,EAAE,CAACC,EAAE,QAAQD,CAAC,EAAE,QAAQ,SAASA,EAAE,CAAC,OAAOA,EAAE,CAAA,CAAE,CAAA,EAAGmC,EAAE,SAASnC,EAAEI,EAAE,CAAKD,IAAAA,EAAE,SAASH,EAAE,CAAKI,IAAAA,EAAE,OAAcA,EAAE2B,EAAE,QAAQ/B,CAAC,EAAE,WAAtB,KAAgCI,EAAE,mBAAmBJ,CAAC,EAAEI,GAAG,CAACA,EAAE,KAAK,SAASJ,EAAE,CAAC,OAAOG,IAAIH,CAAE,CAAA,GAAGK,EAAEL,EAAE,SAASA,EAAE,CAAC,OAAO2wC,GAAE,CAAA,EAAG3wC,EAAE,CAAC,UAAU,GAAG,CAAA,CAAE,CAAA,EAAGwC,EAAE,SAASxC,EAAE,CAACK,EAAEL,EAAE,SAASA,EAAE,CAAQ,OAAA2wC,GAAE,CAAC,EAAE3wC,EAAE,CAAC,SAAS,CAAC,IAAI,YAAY,CAAA,CAAE,CAAA,CAAE,CAAA,EAAG6B,EAAE,SAAS7B,EAAEI,EAAE,CAACC,EAAEL,EAAE,SAASA,EAAE,CAAC,OAAO2wC,GAAE,CAAA,EAAG3wC,EAAE,CAAC,SAAkBI,IAAT,OAAW,CAAC,IAAI,UAAU,MAAMA,CAAC,EAAE,CAAC,IAAI,SAAS,CAAA,CAAE,CAAA,EAAGY,EAAE,SAAShB,EAAEG,EAAE,CAAUA,IAAAA,SAAIA,EAAE,CAAC,GAAG,IAAIe,EAAEC,EAAE,QAAQnB,CAAC,EAAE,QAAQ,OAAOG,EAAE,SAASwwC,GAAE,GAAGzvC,EAAE,CAAC,MAAMd,EAAEJ,CAAC,EAAEkB,EAAE,KAAK,CAAE,CAAA,EAAEA,CAAA,EAAGX,EAAE,SAASP,EAAE,CAAC,IAAIkB,EAAEiQ,EAAEnR,CAAC,EAAEK,EAAED,EAAEJ,CAAC,EAAE2wC,EAAExwC,EAAEH,CAAC,EAAEY,EAAEP,EAAEc,EAAE,QAAQnB,CAAC,EAAE,QAAQ,KAAK,EAAED,EAAE4wC,EAAE/vC,EAAE,CAAC,cAAcI,EAAE,WAAWR,CAAE,CAAA,EAAK,GAAA,CAACmB,GAAE5B,CAAC,EAAE,CAAC,IAAIiC,EAAEjC,EAAE,OAAgBiC,IAAT,QAAYG,EAAEnC,EAAE,CAAC,YAAY,iBAAiB,CAAC,EAAE6B,EAAE7B,EAAEgC,CAAC,EAAEJ,EAAE5B,CAAC,EAAEgC,CAAC,CAAQd,OAAAA,IAAIsB,EAAExC,CAAC,EAAE4B,EAAE5B,CAAC,GAAGD,EAAE,KAAK,SAASK,GAAE,CAAKD,IAAAA,GAAE,SAASH,GAAE,CAAKI,IAAAA,GAAS,OAAOA,GAAE2B,EAAE,QAAQ/B,EAAC,EAAE,aAAtB,KAAkCI,GAAE,OAAO,EAAA,EAAIJ,CAAC,EAAEkB,EAAEb,EAAEc,EAAE,QAAQnB,CAAC,EAAE,QAAQ,KAAK,EAAKG,GAAAA,GAAES,EAAEM,CAAC,EAAE,OAAgBd,KAAT,QAAY+B,EAAEnC,EAAE,CAAC,YAAY,iBAAiB,CAAC,EAAE6B,EAAE7B,EAAEI,EAAC,EAAEwB,EAAE5B,CAAC,EAAEI,EAAA,CAAE,EAAE,MAAM,SAASA,GAAE,CAAA,CAA+J,CAAA,EAAGI,EAAE,SAASR,EAAE,CAAKI,IAAAA,EAAE0B,EAAE,QAAQ9B,CAAC,EAAEI,EAAE,SAAqB,OAAOA,EAAE,QAAQ,OAA7B,YAAoCA,EAAE,QAAQ,OAAM,EAAG8B,EAAE,SAAS9B,EAAED,EAAE,CAAUA,IAAAA,SAAIA,EAAE,IAAIgR,EAAE/Q,CAAC,EAAEC,EAAED,EAAE,SAASc,EAAE,CAAC,MAAM,CAAC,MAAMf,EAAE,aAAae,EAAE,MAAMlB,EAAEI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,IAAI,WAAU,CAAE,EAAEwB,EAAExB,CAAC,CAAA,EAAGgsD,EAAE,SAASpsD,EAAEI,EAAE,CAAC,IAAID,EAAEH,EAAEI,EAAE,UAAU,SAASJ,EAAE,CAAC,OAAgBA,IAAT,MAAW,CAAA,CAAC,EAAWG,IAAAA,QAAGK,EAAEL,CAAC,CAAA,EAAGU,EAAE,SAASb,EAAEI,EAAE,CAACuB,GAAE3B,CAAC,GAAGM,EAAIN,EAAAA,EAAE,QAAQ,UAAU,CAACS,EAAE,QAAQ,YAAY6F,EAAE,SAAShG,EAAE,CAAA,CAAE,IAAIG,EAAE,QAAQ,YAAYL,GAAGE,EAAE,EAAA,EAAI,MAAM,CAAC,cAAcU,EAAE,cAAc,SAAShB,EAAEI,EAAED,EAAE,CAAUA,IAAT,SAAaA,EAAE,CAAA,GAAIE,EAAEL,EAAE,SAASA,EAAE,CAAC,OAAO2wC,GAAE,CAAA,EAAG3wC,EAAE,CAAC,MAAMI,EAAE,CAAA,CAAE,EAAUD,EAAE,UAAWgC,EAAEnC,CAAC,EAAEO,EAAEP,CAAC,CAAA,EAAG,cAAc,SAASA,EAAEI,EAAE,CAACyB,EAAE7B,EAAEI,CAAC,EAAE+B,EAAEnC,CAAC,EAAE4B,EAAE5B,CAAC,CAAA,EAAG,WAAWQ,EAAE,WAAW0B,EAAE,cAAc,SAASlC,EAAE,CAAKG,IAAAA,EAAEC,EAAEJ,CAAC,EAAEK,EAAEL,EAAE,SAASA,EAAE,CAAC,IAAII,EAAEJ,EAAE,UAAUkB,EAAElB,EAAE,SAAe,MAAA,CAAC,MAAMG,EAAEH,EAAE,KAAK,EAAE,UAAUI,EAAE,SAASc,EAAC,CAAE,EAAEU,EAAE5B,CAAC,CAAA,EAAG,cAAc,SAASA,EAAE,CAAC,OAAOkB,EAAElB,CAAC,GAAGmC,EAAEnC,CAAC,EAAE,QAAQ,QAAQO,EAAEP,CAAC,CAAC,GAAG,QAAQ,QAAQ,MAAM,CAAA,EAAG,aAAa,SAASA,EAAEI,EAAE,CAAC,IAAID,EAAE,UAAU,CAACC,EAAEJ,EAAE,OAAO,SAASA,EAAEI,EAAE,CAAC,OAAOJ,EAAEI,CAAC,EAAEY,EAAEZ,CAAC,EAAEJ,CAAA,EAAG,CAAA,CAAE,CAAC,CAAA,EAAUA,OAAAA,EAAE,QAAQ,SAASA,EAAE,CAAC,OAAOC,EAAE,QAAQD,CAAC,EAAE,IAAIG,CAAC,CAAE,CAAA,EAAE,UAAU,CAACH,EAAE,QAAQ,SAASA,EAAE,CAAC,OAAOC,EAAE,QAAQD,CAAC,EAAE,OAAOG,CAAC,CAAA,CAAE,CAAA,CAAC,EAAG,UAAU,SAASH,EAAE,CAAUA,IAAAA,SAAIA,EAAE,CAAI,GAAA,OAAO,KAAK+B,EAAE,OAAO,EAAE,QAAQ,SAAS3B,EAAE,CAAQ,OAAA8B,EAAE9B,EAAEJ,CAAC,CAAA,CAAE,EAAEA,EAAE,eAAeS,EAAE,QAAQ,aAAaH,GAAK,EAAA,WAAW,SAASN,EAAEI,EAAED,EAAE,CAAI,GAASC,IAAT,SAAaA,EAAEL,IAAYI,IAAT,SAAaA,EAAE,CAAC,GAAkBM,EAAE,UAAjB,aAAyB,CAAKS,IAAAA,EAAcT,EAAE,UAAd,UAAsBA,EAAE,QAAQ,aAAiBJ,IAAAA,EAAE,OAAO,KAAK4B,EAAE,OAAO,EAAE,OAAO,SAASjC,EAAE,CAAQ,OAAAiC,EAAE,QAAQjC,CAAC,CAAE,CAAA,EAAEmR,EAAE,GAAGw/B,EAAE,CAAC,EAAE/uC,GAAE,CAAA,EAAGhB,GAAE,CAACT,EAAE,kBAAkB,GAAGE,EAAE,QAAQ,SAASL,EAAEI,GAAE,CAAC+B,EAAEnC,CAAC,EAAEmR,EAAEnR,CAAC,EAAEgB,EAAEhB,EAAE,CAAC,SAAS,EAAG,CAAA,EAAE,MAAM4B,GAAExB,EAAC,EAAEG,EAAEP,CAAC,CAAA,CAAE,EAAE,SAASA,EAAE,CAAQA,OAAAA,EAAE,MAAM,SAASA,GAAE,CAAO,MAAA,CAAC2B,GAAE3B,EAAC,CAAA,CAAE,GAAG4B,EAAC,EAASA,OAAAA,GAAE,MAAM,SAAS5B,EAAE,CAAC,OAAgBA,IAAT,MAAS,CAAE,EAAEa,EAAEb,EAAEmR,CAAC,EAAEjQ,CAAC,GAAGN,IAAGwrD,EAAE/rD,EAAEuB,EAAC,EAAEvB,EAAE,QAAQ,SAASL,EAAEI,GAAE,CAACuwC,EAAE3wC,CAAC,EAAE4B,GAAExB,EAAC,CAAA,CAAE,EAAES,EAAET,EAAEuwC,CAAC,EAAEzvC,CAAC,GAAGZ,IAAI,QAAQ,IAAIsB,GAAE,IAAI,SAAS5B,EAAE,CAAQ,OAAA,QAAQ,QAAQA,CAAC,CAAA,CAAE,CAAC,EAAE,KAAK,SAASG,EAAE,CAAC,IAAIyB,GAAEzB,EAASyB,OAAAA,GAAE,MAAM,SAAS5B,GAAE,CAAC,OAAgBA,KAAT,MAAS,CAAE,EAAEa,EAAEb,EAAEmR,CAAC,EAAEjQ,CAAC,GAAGN,IAAGwrD,EAAE/rD,EAAEuB,EAAC,EAAEvB,EAAE,QAAQ,SAASL,GAAEI,GAAE,CAACuwC,EAAE3wC,EAAC,EAAE4B,GAAExB,EAAC,CAAA,CAAE,EAAES,EAAET,EAAEuwC,CAAC,EAAEzvC,CAAC,EAAA,CAAG,EAAE,QAAQ,UAAU,CAACT,EAAE,QAAQ,YAAY6F,EAAE,SAAShG,EAAE,CAAA,CAAE,CAAC,CAAG,EAAA,SAASD,EAAE,YAAY,SAASL,EAAE,CAAC,OAAO,SAASI,EAAE,CAAKD,IAAAA,EAAE,SAASH,EAAE,CAAKI,IAAAA,EAAE,OAAcA,EAAE2B,EAAE,QAAQ/B,CAAC,EAAE,mBAAtB,KAAwCI,EAAE,GAAGJ,CAAC,EAAEK,EAAEL,EAAE,SAASA,EAAE,CAAC,OAAO2wC,GAAE,CAAA,EAAG3wC,EAAE,CAAC,MAAMI,EAAE,CAAA,CAAE,EAAE+B,EAAEnC,EAAE,CAAC,UAAU,CAAC,EAAEmR,EAAEnR,CAAC,EAAgBS,EAAE,UAAhB,aAAuCA,EAAE,UAAhB,cAA0BA,EAAE,QAAQ,UAAUH,EAAE,GAAOH,IAAJ,GAAOqC,EAAExC,CAAC,EAAE4B,EAAE5B,CAAC,EAAEiB,EAAE,QAAQjB,CAAC,EAAE,WAAW,UAAU,CAACkB,EAAElB,CAAC,EAAEO,EAAEP,CAAC,EAAEmR,EAAEnR,CAAC,CAAGG,EAAAA,CAAC,GAAGI,EAAEP,CAAC,CAAA,CAAC,EAAG,UAAU,SAASA,EAAE,CAAC,OAAO,UAAU,CAAamB,EAAE,QAAQnB,CAAC,EAAE,SAAS,MAAlC,WAAuC,SAASA,EAAE,CAAQmB,OAAAA,EAAE,QAAQnB,CAAC,EAAE,SAAS,EAAEA,CAAC,IAAImC,EAAEnC,EAAE,CAAC,SAAS,iBAAiB,CAAC,EAAEO,EAAEP,CAAC,EAAA,CAAE,EAAG,kBAAkB,SAASA,EAAE,CAAC,OAAO,UAAU,CAAKI,IAAAA,EAAE,OAAO,KAAK2B,EAAE,OAAO,EAAE5B,EAAEC,EAAE,UAAU,SAASA,EAAE,CAAC,OAAOA,IAAIJ,CAAA,CAAE,EAAE,GAAYG,IAAT,OAAW,CAAKe,IAAAA,EAAEd,EAAED,EAAE,CAAC,EAAWe,IAAAA,QAAGV,EAAEU,CAAC,CAAC,CAAA,CAAC,EAAG,EAAE,CAAE,CAAA,EAAK,GAAA,CAACC,EAAE,QAAQ,CAAS,QAAAH,KAAKG,EAAE,QAAQ,GAAGlB,EAAE,QAAQ,CAAA,EAAGgC,EAAE,QAAQ,GAAGH,EAAE,QAAQ,GAAGb,EAAE,QAAQ,CAAA,EAAGc,EAAE,QAAe,OAAA,UAAU,eAAe,KAAKA,EAAE,QAAQf,CAAC,IAAIa,EAAE,SAASb,EAAE,CAAC,MAAMgB,GAAED,EAAE,QAAQf,CAAC,EAAE,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC,IAAI,UAAW,CAAA,EAAEf,EAAE,QAAQe,CAAC,EAAM,IAAA,IAAIiB,EAAE,QAAQjB,CAAC,EAAE,GAAGc,EAAE,QAAQd,CAAC,EAAE,CAAC,QAAQ,MAAMC,EAAE,QAAQD,CAAC,EAAE,QAAY,IAAAT,EAAE,SAASP,EAAE,CAAKI,IAAAA,EAAEJ,EAAE,KAAKK,EAAEL,EAAE,SAAS4B,EAAEV,EAAAA,QAAE,UAAU,CAAO,MAAA,CAAC,YAAY,UAAU,CAAQC,OAAAA,EAAE,QAAQf,CAAC,CAAA,EAAG,UAAU,SAASJ,EAAE,CAAC,OAAOC,EAAE,QAAQG,CAAC,EAAE,IAAIJ,CAAC,EAAE,UAAU,CAACC,EAAE,QAAQG,CAAC,EAAE,OAAOJ,CAAC,CAAA,CAAC,IAAK,CAACI,CAAC,CAAC,EAAEQ,EAAEgB,EAAE,YAAY,OAAOuP,GAAAA,qBAAEvP,EAAE,UAAUhB,EAAEA,CAAC,EAAET,EAAAA,UAAE,UAAU,CAAC,IAAIH,EAAE,CAACiC,EAAE,QAAQ7B,CAAC,EAAE,OAAOJ,IAAEiC,EAAE,QAAQ7B,CAAC,EAAE,IAAiJ,UAAU,CAACJ,IAAIiC,EAAE,QAAQ7B,CAAC,EAAE,GAAA,CAAG,EAAG,CAACA,CAAC,CAAC,EAAEC,EAAEswC,GAAE,CAAA,EAAG9uC,EAAE,cAAczB,CAAC,EAAE,CAAC,IAAI0B,EAAE,QAAQ1B,CAAC,EAAE,eAAec,EAAAA,QAAE,UAAU,CAAQ,OAAAW,EAAE,kBAAkBzB,CAAC,GAAG,CAACA,CAAC,CAAC,EAAE,OAAOc,UAAE,UAAU,CAAQ,OAAAW,EAAE,UAAUzB,CAAC,GAAG,CAACA,CAAC,CAAC,EAAE,SAASc,UAAE,UAAU,CAAQ,OAAAW,EAAE,YAAYzB,CAAC,GAAG,CAACA,CAAC,CAAC,CAAE,CAAA,CAAC,CAAA,EAAKG,EAAA,YAAY,QAAQ4B,EAAE,QAAQ5B,EAAM,IAAAC,EAAE,SAASR,EAAE,CAAKI,IAAAA,EAAEJ,EAAE,MAAMG,EAAEH,EAAE,SAASK,EAAEa,EAAAA,QAAE,UAAU,CAAO,MAAA,CAAC,YAAY,UAAU,CAAC,OAAO,KAAK,UAAUd,EAAE,IAAI,SAASJ,EAAE,CAAQmB,OAAAA,EAAE,QAAQnB,CAAC,CAAE,CAAA,CAAC,CAAA,EAAG,UAAU,SAASA,EAAE,CAAQI,OAAAA,EAAE,QAAQ,SAASA,EAAE,CAAC,OAAOH,EAAE,QAAQG,CAAC,EAAE,IAAIJ,CAAC,CAAE,CAAA,EAAE,UAAU,CAACI,EAAE,QAAQ,SAASA,EAAE,CAAC,OAAOH,EAAE,QAAQG,CAAC,EAAE,OAAOJ,CAAC,CAAA,CAAE,CAAA,CAAC,EAAE,EAAG,CAAC,KAAK,UAAUI,CAAC,CAAC,CAAC,EAAEuwC,EAAEtwC,EAAE,YAAmB,OAAA8Q,wBAAE9Q,EAAE,UAAUswC,EAAEA,CAAC,EAAExwC,EAAEC,EAAE,OAAO,SAASJ,EAAEI,EAAE,CAAC,OAAOJ,EAAEI,CAAC,EAAEyB,EAAE,cAAczB,CAAC,EAAEJ,CAAA,EAAG,CAAA,CAAE,CAAC,CAAA,EAAKQ,EAAA,YAAY,iBAAiBgC,EAAE,QAAQhC,CAAC,CAAC,MAAM,CAAC,WAAWC,EAAE,QAAQ,MAAM0B,EAAE,QAAQ,eAAeK,EAAE,QAAQ,cAAcX,EAAE,cAAc,cAAcA,EAAE,cAAc,cAAcA,EAAE,cAAc,WAAWA,EAAE,WAAW,WAAWA,EAAE,WAAW,cAAcA,EAAE,cAAc,cAAcA,EAAE,cAAc,aAAaA,EAAE,aAAa,UAAUA,EAAE,UAAU,WAAWA,EAAE,WAAW,kBCSzpPknH,GAAuB,+CAE3BC,GAAiBD,GCFbA,GAAuB/lH,GAE3B,SAAS6nE,IAAgB,CAAE,CAC3B,SAASo+C,IAAyB,CAAE,CACpCA,GAAuB,kBAAoBp+C,GAE3C,IAAAq+C,GAAiB,UAAW,CAC1B,SAASC,EAAK75G,EAAO85G,EAAU7rG,EAAe06E,EAAUoxB,EAAcC,EAAQ,CAC5E,GAAIA,IAAWP,GAIf,KAAI17G,EAAM,IAAI,MACZ,iLAGN,EACI,MAAAA,EAAI,KAAO,sBACLA,EACV,CACE87G,EAAK,WAAaA,EAClB,SAASI,GAAU,CACjB,OAAOJ,CAEX,CAEE,IAAIK,EAAiB,CACnB,MAAOL,EACP,OAAQA,EACR,KAAMA,EACN,KAAMA,EACN,OAAQA,EACR,OAAQA,EACR,OAAQA,EACR,OAAQA,EAER,IAAKA,EACL,QAASI,EACT,QAASJ,EACT,YAAaA,EACb,WAAYI,EACZ,KAAMJ,EACN,SAAUI,EACV,MAAOA,EACP,UAAWA,EACX,MAAOA,EACP,MAAOA,EAEP,eAAgBN,GAChB,kBAAmBp+C,EACvB,EAEE,OAAA2+C,EAAe,UAAYA,EAEpBA,CACT,EC/CSC,GAAA,QAAUzmH,uCCiGZ,SAAS0mH,GAAU3I,EAAS4I,EAAYtnH,EAAGunH,EAAW,CAC3D,SAASC,EAAM97G,EAAO,CAAE,OAAOA,aAAiB1L,EAAI0L,EAAQ,IAAI1L,EAAE,SAAU2E,EAAS,CAAEA,EAAQ+G,CAAK,CAAE,CAAE,CAAI,CAC5G,OAAO,IAAK1L,IAAMA,EAAI,UAAU,SAAU2E,EAASC,EAAQ,CACvD,SAAS6iH,EAAU/7G,EAAO,CAAE,GAAI,CAAEg8G,EAAKH,EAAU,KAAK77G,CAAK,CAAC,CAAE,OAAU7M,EAAG,CAAE+F,EAAO/F,CAAC,EAAM,CAC3F,SAAS0gH,EAAS7zG,EAAO,CAAE,GAAI,CAAEg8G,EAAKH,EAAU,MAAS77G,CAAK,CAAC,CAAI,OAAQ7M,EAAG,CAAE+F,EAAO/F,CAAC,EAAM,CAC9F,SAAS6oH,EAAKrhH,EAAQ,CAAEA,EAAO,KAAO1B,EAAQ0B,EAAO,KAAK,EAAImhH,EAAMnhH,EAAO,KAAK,EAAE,KAAKohH,EAAWlI,CAAQ,CAAI,CAC9GmI,GAAMH,EAAYA,EAAU,MAAM7I,EAAS4I,GAAc,CAAE,CAAA,GAAG,KAAI,CAAE,CAC1E,CAAG,CACH,CAEO,SAASK,GAAYjJ,EAASrN,EAAM,CACzC,IAAIrlG,EAAI,CAAE,MAAO,EAAG,KAAM,UAAW,CAAE,GAAIjO,EAAE,CAAC,EAAI,EAAG,MAAMA,EAAE,CAAC,EAAG,OAAOA,EAAE,CAAC,CAAI,EAAE,KAAM,CAAE,EAAE,IAAK,CAAA,CAAI,EAAE4B,EAAGvB,EAAGL,EAAG2B,EAC/G,OAAOA,EAAI,CAAE,KAAMkoH,EAAK,CAAC,EAAG,MAASA,EAAK,CAAC,EAAG,OAAUA,EAAK,CAAC,CAAG,EAAE,OAAO,QAAW,aAAeloH,EAAE,OAAO,QAAQ,EAAI,UAAW,CAAE,OAAO,IAAO,GAAGA,EACvJ,SAASkoH,EAAKjqH,EAAG,CAAE,OAAO,SAAUM,EAAG,CAAE,OAAOypH,EAAK,CAAC/pH,EAAGM,CAAC,CAAC,CAAI,CAAG,CAClE,SAASypH,EAAKG,EAAI,CACd,GAAIloH,EAAG,MAAM,IAAI,UAAU,iCAAiC,EAC5D,KAAOD,IAAMA,EAAI,EAAGmoH,EAAG,CAAC,IAAM77G,EAAI,IAAKA,GAAG,GAAI,CAC1C,GAAIrM,EAAI,EAAGvB,IAAML,EAAI8pH,EAAG,CAAC,EAAI,EAAIzpH,EAAE,OAAYypH,EAAG,CAAC,EAAIzpH,EAAE,SAAcL,EAAIK,EAAE,SAAcL,EAAE,KAAKK,CAAC,EAAG,GAAKA,EAAE,OAAS,EAAEL,EAAIA,EAAE,KAAKK,EAAGypH,EAAG,CAAC,CAAC,GAAG,KAAM,OAAO9pH,EAE3J,OADIK,EAAI,EAAGL,IAAG8pH,EAAK,CAACA,EAAG,CAAC,EAAI,EAAG9pH,EAAE,KAAK,GAC9B8pH,EAAG,CAAC,EAAC,CACT,IAAK,GAAG,IAAK,GAAG9pH,EAAI8pH,EAAI,MACxB,IAAK,GAAG,OAAA77G,EAAE,QAAgB,CAAE,MAAO67G,EAAG,CAAC,EAAG,KAAM,EAAK,EACrD,IAAK,GAAG77G,EAAE,QAAS5N,EAAIypH,EAAG,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,SACxC,IAAK,GAAGA,EAAK77G,EAAE,IAAI,MAAOA,EAAE,KAAK,IAAG,EAAI,SACxC,QACI,GAAMjO,EAAIiO,EAAE,KAAM,EAAAjO,EAAIA,EAAE,OAAS,GAAKA,EAAEA,EAAE,OAAS,CAAC,KAAO8pH,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,GAAI,CAAE77G,EAAI,EAAG,QAAW,CAC5G,GAAI67G,EAAG,CAAC,IAAM,IAAM,CAAC9pH,GAAM8pH,EAAG,CAAC,EAAI9pH,EAAE,CAAC,GAAK8pH,EAAG,CAAC,EAAI9pH,EAAE,CAAC,GAAK,CAAEiO,EAAE,MAAQ67G,EAAG,CAAC,EAAG,KAAQ,CACtF,GAAIA,EAAG,CAAC,IAAM,GAAK77G,EAAE,MAAQjO,EAAE,CAAC,EAAG,CAAEiO,EAAE,MAAQjO,EAAE,CAAC,EAAGA,EAAI8pH,EAAI,KAAQ,CACrE,GAAI9pH,GAAKiO,EAAE,MAAQjO,EAAE,CAAC,EAAG,CAAEiO,EAAE,MAAQjO,EAAE,CAAC,EAAGiO,EAAE,IAAI,KAAK67G,CAAE,EAAG,KAAQ,CAC/D9pH,EAAE,CAAC,GAAGiO,EAAE,IAAI,IAAG,EACnBA,EAAE,KAAK,IAAK,EAAE,QACrB,CACD67G,EAAKxW,EAAK,KAAKqN,EAAS1yG,CAAC,CAC5B,OAAQnN,EAAG,CAAEgpH,EAAK,CAAC,EAAGhpH,CAAC,EAAGT,EAAI,CAAE,QAAW,CAAEuB,EAAI5B,EAAI,CAAI,CAC1D,GAAI8pH,EAAG,CAAC,EAAI,EAAG,MAAMA,EAAG,CAAC,EAAG,MAAO,CAAE,MAAOA,EAAG,CAAC,EAAIA,EAAG,CAAC,EAAI,OAAQ,KAAM,GAC7E,CACH,CA8BO,SAASC,GAAOx5E,EAAG3wC,EAAG,CAC3B,IAAIiC,EAAI,OAAO,QAAW,YAAc0uC,EAAE,OAAO,QAAQ,EACzD,GAAI,CAAC1uC,EAAG,OAAO0uC,EACf,IAAIx/B,EAAIlP,EAAE,KAAK0uC,CAAC,EAAGxwC,EAAGs+F,EAAK,CAAE,EAAEv9F,EAC/B,GAAI,CACA,MAAQlB,IAAM,QAAUA,KAAM,IAAM,EAAEG,EAAIgR,EAAE,KAAM,GAAE,MAAMstF,EAAG,KAAKt+F,EAAE,KAAK,CAC5E,OACM8L,EAAO,CAAE/K,EAAI,CAAE,MAAO+K,CAAO,CAAG,QAC/B,CACJ,GAAI,CACI9L,GAAK,CAACA,EAAE,OAAS8B,EAAIkP,EAAE,SAAYlP,EAAE,KAAKkP,CAAC,CAClD,QACO,CAAE,GAAIjQ,EAAG,MAAMA,EAAE,KAAQ,CACpC,CACD,OAAOu9F,CACT,CAkBO,SAASF,GAAc15F,EAAIC,EAAM05F,EAAM,CAC5C,GAAIA,GAAQ,UAAU,SAAW,EAAG,QAASrtF,EAAI,EAAGpR,EAAI+E,EAAK,OAAQ25F,EAAIttF,EAAIpR,EAAGoR,KACxEstF,GAAM,EAAEttF,KAAKrM,MACR25F,IAAIA,EAAK,MAAM,UAAU,MAAM,KAAK35F,EAAM,EAAGqM,CAAC,GACnDstF,EAAGttF,CAAC,EAAIrM,EAAKqM,CAAC,GAGtB,OAAOtM,EAAG,OAAO45F,GAAM,MAAM,UAAU,MAAM,KAAK35F,CAAI,CAAC,CACzD,CC7NO,IAAIslH,GAAoB,IAAI,IAAI,CAEnC,CAAC,MAAO,WAAW,EACnB,CAAC,MAAO,uBAAuB,EAC/B,CAAC,MAAO,uBAAuB,EAC/B,CAAC,OAAQ,YAAY,EACrB,CAAC,MAAO,iBAAiB,EACzB,CAAC,MAAO,8BAA8B,EACtC,CAAC,MAAO,0BAA0B,EAClC,CAAC,MAAO,WAAW,EACnB,CAAC,KAAM,oBAAoB,EAC3B,CAAC,MAAO,qBAAqB,EAC7B,CAAC,MAAO,mBAAmB,EAC3B,CAAC,MAAO,mBAAmB,EAC3B,CAAC,MAAO,UAAU,EAClB,CAAC,MAAO,UAAU,EAClB,CAAC,MAAO,oBAAoB,EAC5B,CAAC,OAAQ,yEAAyE,EAClF,CAAC,MAAO,+BAA+B,EACvC,CAAC,OAAQ,sBAAsB,EAC/B,CAAC,KAAM,kBAAkB,EACzB,CAAC,MAAO,WAAW,EACnB,CAAC,OAAQ,YAAY,EACrB,CAAC,OAAQ,YAAY,EACrB,CAAC,MAAO,WAAW,EACnB,CAAC,OAAQ,WAAW,EACpB,CAAC,MAAO,0BAA0B,EAClC,CAAC,MAAO,eAAe,EACvB,CAAC,MAAO,0BAA0B,EAClC,CAAC,OAAQ,YAAY,EACrB,CAAC,MAAO,YAAY,EACpB,CAAC,KAAM,iBAAiB,EACxB,CAAC,OAAQ,kBAAkB,EAC3B,CAAC,SAAU,qBAAqB,EAChC,CAAC,MAAO,YAAY,EACpB,CAAC,OAAQ,YAAY,EACrB,CAAC,MAAO,iBAAiB,EACzB,CAAC,MAAO,YAAY,EACpB,CAAC,MAAO,WAAW,EACnB,CAAC,OAAQ,YAAY,EACrB,CAAC,OAAQ,qCAAqC,EAC9C,CAAC,MAAO,iDAAiD,EACzD,CAAC,MAAO,gDAAgD,EACxD,CAAC,MAAO,yCAAyC,EACjD,CAAC,MAAO,WAAW,EACnB,CAAC,MAAO,WAAW,EACnB,CAAC,MAAO,iBAAiB,EACzB,CAAC,OAAQ,YAAY,EACrB,CAAC,MAAO,UAAU,EAClB,CAAC,MAAO,WAAW,EACnB,CAAC,MAAO,iBAAiB,EACzB,CAAC,MAAO,yBAAyB,EACjC,CAAC,MAAO,+BAA+B,EACvC,CAAC,OAAQ,2EAA2E,EACpF,CAAC,MAAO,qBAAqB,EAC7B,CAAC,MAAO,iBAAiB,EACzB,CAAC,KAAM,kBAAkB,EACzB,CAAC,MAAO,eAAe,EACvB,CAAC,MAAO,+BAA+B,EACvC,CAAC,MAAO,mBAAmB,EAC3B,CAAC,MAAO,YAAY,EACpB,CAAC,OAAQ,YAAY,EACrB,CAAC,KAAM,YAAY,EACnB,CAAC,MAAO,UAAU,EAClB,CAAC,MAAO,YAAY,EACpB,CAAC,MAAO,uBAAuB,EAC/B,CAAC,MAAO,WAAW,EACnB,CAAC,OAAQ,YAAY,EACrB,CAAC,OAAQ,YAAY,EACrB,CAAC,OAAQ,YAAY,EACrB,CAAC,OAAQ,WAAW,EACpB,CAAC,QAAS,YAAY,EACtB,CAAC,QAAS,uBAAuB,EACjC,CAAC,MAAO,0BAA0B,EAClC,CAAC,OAAQ,mEAAmE,EAC5E,CAAC,MAAO,iBAAiB,EACzB,CAAC,MAAO,iCAAiC,EACzC,CAAC,MAAO,iBAAiB,EACzB,CAAC,KAAM,6BAA6B,EAEpC,CAAC,MAAO,kBAAkB,EAC1B,CAAC,MAAO,iBAAiB,EACzB,CAAC,MAAO,4BAA4B,CACxC,CAAC,EACM,SAASC,GAAeC,EAAMn8C,EAAM,CACvC,IAAInsE,EAAIuoH,GAAaD,CAAI,EACzB,GAAI,OAAOtoH,EAAE,MAAS,SAAU,CAC5B,IAAIwoH,EAAqBF,EAAK,mBAC9B,OAAO,eAAetoH,EAAG,OAAQ,CAC7B,MAAO,OAAOmsE,GAAS,SACjBA,EAIA,OAAOq8C,GAAuB,UAAYA,EAAmB,OAAS,EAClEA,EACAF,EAAK,KACf,SAAU,GACV,aAAc,GACd,WAAY,EACxB,CAAS,CACJ,CACD,OAAOtoH,CACX,CACA,SAASuoH,GAAaD,EAAM,CACxB,IAAI3lH,EAAO2lH,EAAK,KACZG,EAAe9lH,GAAQA,EAAK,YAAY,GAAG,IAAM,GACrD,GAAI8lH,GAAgB,CAACH,EAAK,KAAM,CAC5B,IAAII,EAAM/lH,EAAK,MAAM,GAAG,EACnB,IAAG,EAAG,cACP4D,EAAO6hH,GAAkB,IAAIM,CAAG,EAChCniH,GACA,OAAO,eAAe+hH,EAAM,OAAQ,CAChC,MAAO/hH,EACP,SAAU,GACV,aAAc,GACd,WAAY,EAC5B,CAAa,CAER,CACD,OAAO+hH,CACX,CCvHA,IAAIK,GAAkB,CAElB,YACA,WACJ,EAWO,SAASC,GAAUC,EAAK,CAC3B,OAAOnB,GAAU,KAAM,OAAQ,OAAQ,UAAY,CAC/C,OAAOM,GAAY,KAAM,SAAUzuG,EAAI,CACnC,OAAI8tC,GAASwhE,CAAG,GAAKC,GAAeD,EAAI,YAAY,EACzC,CAAC,EAAcE,GAAqBF,EAAI,aAAcA,EAAI,IAAI,CAAC,EAEjEG,GAAYH,CAAG,EACb,CAAC,EAAcI,GAAcJ,CAAG,CAAC,EAEnC,MAAM,QAAQA,CAAG,GAAKA,EAAI,MAAM,SAAUz5E,EAAM,CAAE,MAAO,YAAaA,GAAQ,OAAOA,EAAK,SAAY,UAAW,CAAE,EACjH,CAAC,EAAc85E,GAAiBL,CAAG,CAAC,EAExC,CAAC,EAAc,CAAA,CAAE,CACpC,CAAS,CACT,CAAK,CACL,CACA,SAASC,GAAe/8G,EAAO,CAC3B,OAAOs7C,GAASt7C,CAAK,CACzB,CACA,SAASi9G,GAAYj9G,EAAO,CACxB,OAAOs7C,GAASt7C,CAAK,GAAKs7C,GAASt7C,EAAM,MAAM,CACnD,CACA,SAASs7C,GAAS/oD,EAAG,CACjB,OAAO,OAAOA,GAAM,UAAYA,IAAM,IAC1C,CACA,SAAS2qH,GAAcJ,EAAK,CACxB,OAAOM,GAASN,EAAI,OAAO,KAAK,EAAE,IAAI,SAAUP,EAAM,CAAE,OAAOD,GAAeC,CAAI,CAAI,CAAA,CAC1F,CAEA,SAASY,GAAiBE,EAAS,CAC/B,OAAO1B,GAAU,KAAM,OAAQ,OAAQ,UAAY,CAC/C,IAAI2B,EACJ,OAAOrB,GAAY,KAAM,SAAUzuG,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GAAG,MAAO,CAAC,EAAa,QAAQ,IAAI6vG,EAAQ,IAAI,SAAUtpH,EAAG,CAAE,OAAOA,EAAE,QAAO,CAAG,CAAE,CAAC,CAAC,EAC3F,IAAK,GACD,OAAAupH,EAAQ9vG,EAAG,OACJ,CAAC,EAAc8vG,EAAM,IAAI,SAAUf,EAAM,CAAE,OAAOD,GAAeC,CAAI,CAAE,CAAE,CAAC,CACxF,CACb,CAAS,CACT,CAAK,CACL,CACA,SAASS,GAAqBO,EAAI/iH,EAAM,CACpC,OAAOmhH,GAAU,KAAM,OAAQ,OAAQ,UAAY,CAC/C,IAAIv4E,EAAOk6E,EACX,OAAOrB,GAAY,KAAM,SAAUzuG,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACD,OAAK+vG,EAAG,OACRn6E,EAAQg6E,GAASG,EAAG,KAAK,EACpB,OAAO,SAAUl6E,EAAM,CAAE,OAAOA,EAAK,OAAS,MAAO,CAAE,EAGxD7oC,IAAS,OACF,CAAC,EAAc4oC,CAAK,EAExB,CAAC,EAAa,QAAQ,IAAIA,EAAM,IAAIo6E,EAAc,CAAC,CAAC,GARrC,CAAC,EAAa,CAAC,EASzC,IAAK,GACD,OAAAF,EAAQ9vG,EAAG,OACJ,CAAC,EAAciwG,GAAehvD,GAAQ6uD,CAAK,CAAC,CAAC,EACxD,IAAK,GAAG,MAAO,CAAC,EAAcG,GAAeL,GAASG,EAAG,KAAK,EACrD,IAAI,SAAUhB,EAAM,CAAE,OAAOD,GAAeC,CAAI,CAAE,CAAE,CAAC,CAAC,CAClE,CACb,CAAS,CACT,CAAK,CACL,CACA,SAASkB,GAAeH,EAAO,CAC3B,OAAOA,EAAM,OAAO,SAAUf,EAAM,CAAE,OAAOK,GAAgB,QAAQL,EAAK,IAAI,IAAM,EAAK,CAAA,CAC7F,CAKA,SAASa,GAASh6E,EAAO,CACrB,GAAIA,IAAU,KACV,MAAO,GAIX,QAFIk6E,EAAQ,CAAA,EAEHl6G,EAAI,EAAGA,EAAIggC,EAAM,OAAQhgC,IAAK,CACnC,IAAIm5G,EAAOn5E,EAAMhgC,CAAC,EAClBk6G,EAAM,KAAKf,CAAI,CAClB,CACD,OAAOe,CACX,CAEA,SAASE,GAAen6E,EAAM,CAC1B,GAAI,OAAOA,EAAK,kBAAqB,WACjC,OAAOq6E,GAAqBr6E,CAAI,EAEpC,IAAIy4B,EAAQz4B,EAAK,mBAIjB,OAAIy4B,GAASA,EAAM,YACR6hD,GAAa7hD,CAAK,EAEtB4hD,GAAqBr6E,CAAI,CACpC,CACA,SAASorB,GAAQrrB,EAAO,CACpB,OAAOA,EAAM,OAAO,SAAUuqD,EAAK2vB,EAAO,CAAE,OAAO9sB,GAAcA,GAAc,CAAA,EAAI4rB,GAAOzuB,CAAG,EAAG,EAAK,EAAGyuB,GAAQ,MAAM,QAAQkB,CAAK,EAAI7uD,GAAQ6uD,CAAK,EAAI,CAACA,CAAK,CAAG,EAAE,EAAK,CAAI,EAAE,CAAE,CAAA,CACpL,CACA,SAASI,GAAqBr6E,EAAM,CAChC,IAAIk5E,EAAOl5E,EAAK,YAChB,GAAI,CAACk5E,EACD,OAAO,QAAQ,OAAO,GAAG,OAAOl5E,EAAM,gBAAgB,CAAC,EAE3D,IAAIu6E,EAAMtB,GAAeC,CAAI,EAC7B,OAAO,QAAQ,QAAQqB,CAAG,CAC9B,CAEA,SAASC,GAAU/hD,EAAO,CACtB,OAAO6/C,GAAU,KAAM,OAAQ,OAAQ,UAAY,CAC/C,OAAOM,GAAY,KAAM,SAAUzuG,EAAI,CACnC,MAAO,CAAC,EAAcsuD,EAAM,YAAc6hD,GAAa7hD,CAAK,EAAIgiD,GAAchiD,CAAK,CAAC,CAChG,CAAS,CACT,CAAK,CACL,CAEA,SAAS6hD,GAAa7hD,EAAO,CACzB,IAAIq3C,EAASr3C,EAAM,eACnB,OAAO,IAAI,QAAQ,SAAU7iE,EAASC,EAAQ,CAC1C,IAAI2iE,EAAU,CAAA,EACd,SAASkiD,GAAc,CACnB,IAAIziB,EAAQ,KAGZ6X,EAAO,YAAY,SAAUxsE,EAAO,CAAE,OAAOg1E,GAAUrgB,EAAO,OAAQ,OAAQ,UAAY,CACtF,IAAIgiB,EAAOU,EAAO56E,EAClB,OAAO64E,GAAY,KAAM,SAAUzuG,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACD,GAAMm5B,EAAM,OAAQ,MAAO,CAAC,EAAa,CAAC,EAC1Cn5B,EAAG,MAAQ,EACf,IAAK,GACD,OAAAA,EAAG,KAAK,KAAK,CAAC,EAAG,EAAC,CAAI,CAAC,CAAC,EACjB,CAAC,EAAa,QAAQ,IAAIquD,CAAO,CAAC,EAC7C,IAAK,GACD,OAAAyhD,EAAQ9vG,EAAG,OACXvU,EAAQqkH,CAAK,EACN,CAAC,EAAa,CAAC,EAC1B,IAAK,GACD,OAAAU,EAAQxwG,EAAG,OACXtU,EAAO8kH,CAAK,EACL,CAAC,EAAa,CAAC,EAC1B,IAAK,GAAG,MAAO,CAAC,EAAa,CAAC,EAC9B,IAAK,GACD56E,EAAQ,QAAQ,IAAIuD,EAAM,IAAIk3E,EAAS,CAAC,EACxChiD,EAAQ,KAAKz4B,CAAK,EAElB26E,IACAvwG,EAAG,MAAQ,EACf,IAAK,GAAG,MAAO,CAAC,EACnB,CACrB,CAAiB,CACjB,CAAa,CAAE,EAAI,SAAUlO,EAAK,CAClBpG,EAAOoG,CAAG,CAC1B,CAAa,CACJ,CACDy+G,GACR,CAAK,CACL,CAEA,SAASD,GAAchiD,EAAO,CAC1B,OAAO6/C,GAAU,KAAM,OAAQ,OAAQ,UAAY,CAC/C,OAAOM,GAAY,KAAM,SAAUzuG,EAAI,CACnC,MAAO,CAAC,EAAc,IAAI,QAAQ,SAAUvU,EAASC,EAAQ,CACrD4iE,EAAM,KAAK,SAAUygD,EAAM,CACvB,IAAIqB,EAAMtB,GAAeC,EAAMzgD,EAAM,QAAQ,EAC7C7iE,EAAQ2kH,CAAG,CACd,EAAE,SAAUt+G,EAAK,CACdpG,EAAOoG,CAAG,CAClC,CAAqB,CACJ,CAAA,CAAC,CAClB,CAAS,CACT,CAAK,CACL,CC7LA,IAAAk8C,GAAkB,SAAU+gE,EAAM0B,EAAe,CAC/C,GAAI1B,GAAQ0B,EAAe,CACzB,IAAIC,EAAqB,MAAM,QAAQD,CAAa,EAAIA,EAAgBA,EAAc,MAAM,GAAG,EAC3FE,EAAW5B,EAAK,MAAQ,GACxB6B,GAAY7B,EAAK,MAAQ,IAAI,YAAW,EACxC8B,EAAeD,EAAS,QAAQ,QAAS,EAAE,EAC/C,OAAOF,EAAmB,KAAK,SAAU1jH,EAAM,CAC7C,IAAI8jH,EAAY9jH,EAAK,KAAM,EAAC,YAAW,EAEvC,OAAI8jH,EAAU,OAAO,CAAC,IAAM,IACnBH,EAAS,YAAW,EAAG,SAASG,CAAS,EACvCA,EAAU,SAAS,IAAI,EAEzBD,IAAiBC,EAAU,QAAQ,QAAS,EAAE,EAGhDF,IAAaE,CAC1B,CAAK,CACF,CAED,MAAO,EACT,ECzBA,SAAS7hE,GAAmBC,EAAK,CAAE,OAAOC,GAAmBD,CAAG,GAAKE,GAAiBF,CAAG,GAAKG,GAA4BH,CAAG,GAAKI,GAAoB,CAAG,CAEzJ,SAASA,IAAqB,CAAE,MAAM,IAAI,UAAU;AAAA,mFAAsI,CAAI,CAE9L,SAASF,GAAiBtwC,EAAM,CAAE,GAAI,OAAO,OAAW,KAAeA,EAAK,OAAO,QAAQ,GAAK,MAAQA,EAAK,YAAY,GAAK,KAAM,OAAO,MAAM,KAAKA,CAAI,CAAI,CAE9J,SAASqwC,GAAmBD,EAAK,CAAE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOM,GAAkBN,CAAG,CAAI,CAE3F,SAAS/G,GAAQtN,EAAQk2E,EAAgB,CAAE,IAAI1jH,EAAO,OAAO,KAAKwtC,CAAM,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIm2E,EAAU,OAAO,sBAAsBn2E,CAAM,EAAGk2E,IAAmBC,EAAUA,EAAQ,OAAO,SAAUC,EAAK,CAAE,OAAO,OAAO,yBAAyBp2E,EAAQo2E,CAAG,EAAE,UAAW,CAAE,GAAI5jH,EAAK,KAAK,MAAMA,EAAM2jH,CAAO,CAAE,CAAG,OAAO3jH,CAAO,CAErV,SAASyqD,GAAc5uD,EAAQ,CAAE,QAAS0M,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIwM,EAAiB,UAAUxM,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAE,EAAEA,EAAI,EAAIuyC,GAAQ,OAAO/lC,CAAM,EAAG,EAAE,EAAE,QAAQ,SAAU1Y,EAAK,CAAEw+C,GAAgBh/C,EAAQQ,EAAK0Y,EAAO1Y,CAAG,CAAC,CAAI,CAAA,EAAI,OAAO,0BAA4B,OAAO,iBAAiBR,EAAQ,OAAO,0BAA0BkZ,CAAM,CAAC,EAAI+lC,GAAQ,OAAO/lC,CAAM,CAAC,EAAE,QAAQ,SAAU1Y,EAAK,CAAE,OAAO,eAAeR,EAAQQ,EAAK,OAAO,yBAAyB0Y,EAAQ1Y,CAAG,CAAC,CAAE,CAAE,CAAI,CAAC,OAAOR,CAAS,CAE1f,SAASg/C,GAAgBlnC,EAAKtX,EAAK8I,EAAO,CAAE,OAAI9I,KAAOsX,EAAO,OAAO,eAAeA,EAAKtX,EAAK,CAAE,MAAO8I,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYwO,EAAItX,CAAG,EAAI8I,EAAgBwO,CAAM,CAIjN,SAASkwG,GAAehiE,EAAKt5C,EAAG,CAAE,OAAOu7G,GAAgBjiE,CAAG,GAAKkiE,GAAsBliE,EAAKt5C,CAAC,GAAKy5C,GAA4BH,EAAKt5C,CAAC,GAAKy7G,GAAgB,CAAK,CAE9J,SAASA,IAAmB,CAAE,MAAM,IAAI,UAAU;AAAA,mFAA2I,CAAI,CAEjM,SAAShiE,GAA4Bja,EAAGma,EAAQ,CAAE,GAAKna,EAAW,IAAI,OAAOA,GAAM,SAAU,OAAOoa,GAAkBpa,EAAGma,CAAM,EAAG,IAAI9qD,EAAI,OAAO,UAAU,SAAS,KAAK2wC,CAAC,EAAE,MAAM,EAAG,EAAE,EAAgE,GAAzD3wC,IAAM,UAAY2wC,EAAE,cAAa3wC,EAAI2wC,EAAE,YAAY,MAAU3wC,IAAM,OAASA,IAAM,MAAO,OAAO,MAAM,KAAK2wC,CAAC,EAAG,GAAI3wC,IAAM,aAAe,2CAA2C,KAAKA,CAAC,EAAG,OAAO+qD,GAAkBpa,EAAGma,CAAM,EAAI,CAEha,SAASC,GAAkBN,EAAK9vC,EAAK,EAAMA,GAAO,MAAQA,EAAM8vC,EAAI,UAAQ9vC,EAAM8vC,EAAI,QAAQ,QAASt5C,EAAI,EAAG65C,EAAO,IAAI,MAAMrwC,CAAG,EAAGxJ,EAAIwJ,EAAKxJ,IAAO65C,EAAK75C,CAAC,EAAIs5C,EAAIt5C,CAAC,EAAK,OAAO65C,CAAO,CAEvL,SAAS2hE,GAAsBliE,EAAKt5C,EAAG,CAAE,IAAI8mC,EAAKwS,GAAO,KAAO,KAAO,OAAO,OAAW,KAAeA,EAAI,OAAO,QAAQ,GAAKA,EAAI,YAAY,EAAG,GAAIxS,GAAM,KAAc,KAAI40E,EAAO,CAAE,EAAM10E,EAAK,GAAU1B,EAAK,GAAWiC,EAAIb,EAAI,GAAI,CAAE,IAAKI,EAAKA,EAAG,KAAKwS,CAAG,EAAG,EAAEtS,GAAMO,EAAKT,EAAG,QAAQ,QAAoB40E,EAAK,KAAKn0E,EAAG,KAAK,EAAO,EAAAvnC,GAAK07G,EAAK,SAAW17G,IAA3DgnC,EAAK,GAA6B,CAAoC,OAAU9qC,EAAK,CAAEopC,EAAK,GAAMoB,EAAKxqC,SAAe,CAAE,GAAI,CAAM,CAAC8qC,GAAMF,EAAG,QAAa,MAAMA,EAAG,OAAW,SAAY,CAAE,GAAIxB,EAAI,MAAMoB,CAAK,CAAA,CAAG,OAAOg1E,EAAO,CAEjgB,SAASH,GAAgBjiE,EAAK,CAAE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,CAAM,CAI9D,IAAIqiE,GAAoB,oBACpBC,GAAiB,iBACjBC,GAAiB,iBACjBC,GAAiB,iBAQjBC,GAA6B,SAAoCC,EAAQ,CAClFA,EAAS,MAAM,QAAQA,CAAM,GAAKA,EAAO,SAAW,EAAIA,EAAO,CAAC,EAAIA,EACpE,IAAIC,EAAgB,MAAM,QAAQD,CAAM,EAAI,UAAU,OAAOA,EAAO,KAAK,IAAI,CAAC,EAAIA,EAClF,MAAO,CACL,KAAML,GACN,QAAS,qBAAqB,OAAOM,CAAa,CACtD,CACA,EACWC,GAA0B,SAAiCC,EAAS,CAC7E,MAAO,CACL,KAAMP,GACN,QAAS,uBAAuB,OAAOO,EAAS,GAAG,EAAE,OAAOA,IAAY,EAAI,OAAS,OAAO,CAChG,CACA,EACWC,GAA0B,SAAiCC,EAAS,CAC7E,MAAO,CACL,KAAMR,GACN,QAAS,wBAAwB,OAAOQ,EAAS,GAAG,EAAE,OAAOA,IAAY,EAAI,OAAS,OAAO,CACjG,CACA,EACWC,GAA2B,CACpC,KAAMR,GACN,QAAS,gBACX,EAGO,SAASS,GAAapD,EAAM6C,EAAQ,CACzC,IAAIQ,EAAerD,EAAK,OAAS,0BAA4BsD,GAAQtD,EAAM6C,CAAM,EACjF,MAAO,CAACQ,EAAcA,EAAe,KAAOT,GAA2BC,CAAM,CAAC,CAChF,CACO,SAASU,GAAcvD,EAAMkD,EAASF,EAAS,CACpD,GAAIQ,GAAUxD,EAAK,IAAI,EACrB,GAAIwD,GAAUN,CAAO,GAAKM,GAAUR,CAAO,EAAG,CAC5C,GAAIhD,EAAK,KAAOgD,EAAS,MAAO,CAAC,GAAOD,GAAwBC,CAAO,CAAC,EACxE,GAAIhD,EAAK,KAAOkD,EAAS,MAAO,CAAC,GAAOD,GAAwBC,CAAO,CAAC,CACzE,KAAM,IAAIM,GAAUN,CAAO,GAAKlD,EAAK,KAAOkD,EAAS,MAAO,CAAC,GAAOD,GAAwBC,CAAO,CAAC,EAAO,GAAIM,GAAUR,CAAO,GAAKhD,EAAK,KAAOgD,EAAS,MAAO,CAAC,GAAOD,GAAwBC,CAAO,CAAC,EAG5M,MAAO,CAAC,GAAM,IAAI,CACpB,CAEA,SAASQ,GAAU//G,EAAO,CACxB,OAA8BA,GAAU,IAC1C,CAeO,SAASggH,GAAiBnrE,EAAM,CACrC,IAAIyoE,EAAQzoE,EAAK,MACbuqE,EAASvqE,EAAK,OACd4qE,EAAU5qE,EAAK,QACf0qE,EAAU1qE,EAAK,QACfi1C,EAAWj1C,EAAK,SAChBorE,EAAWprE,EAAK,SAChBqrE,EAAYrrE,EAAK,UAErB,MAAI,CAACi1C,GAAYwzB,EAAM,OAAS,GAAKxzB,GAAYm2B,GAAY,GAAK3C,EAAM,OAAS2C,EACxE,GAGF3C,EAAM,MAAM,SAAUf,EAAM,CACjC,IAAI4D,EAAgBR,GAAapD,EAAM6C,CAAM,EACzCgB,EAAiB1B,GAAeyB,EAAe,CAAC,EAChDE,EAAWD,EAAe,CAAC,EAE3BE,EAAiBR,GAAcvD,EAAMkD,EAASF,CAAO,EACrDgB,EAAkB7B,GAAe4B,EAAgB,CAAC,EAClDE,EAAYD,EAAgB,CAAC,EAE7BE,EAAeP,EAAYA,EAAU3D,CAAI,EAAI,KACjD,OAAO8D,GAAYG,GAAa,CAACC,CACrC,CAAG,CACH,CAIO,SAAS9mC,GAAqBrwC,EAAO,CAC1C,OAAI,OAAOA,EAAM,sBAAyB,WACjCA,EAAM,uBACJ,OAAOA,EAAM,aAAiB,IAChCA,EAAM,aAGR,EACT,CACO,SAASo3E,GAAep3E,EAAO,CACpC,OAAKA,EAAM,aAMJ,MAAM,UAAU,KAAK,KAAKA,EAAM,aAAa,MAAO,SAAU9uC,EAAM,CACzE,OAAOA,IAAS,SAAWA,IAAS,wBACxC,CAAG,EAPQ,CAAC,CAAC8uC,EAAM,QAAU,CAAC,CAACA,EAAM,OAAO,KAQ5C,CAKO,SAASq3E,GAAmBr3E,EAAO,CACxCA,EAAM,eAAc,CACtB,CAEA,SAASs3E,GAAKC,EAAW,CACvB,OAAOA,EAAU,QAAQ,MAAM,IAAM,IAAMA,EAAU,QAAQ,UAAU,IAAM,EAC/E,CAEA,SAASC,GAAOD,EAAW,CACzB,OAAOA,EAAU,QAAQ,OAAO,IAAM,EACxC,CAEO,SAASE,IAAa,CAC3B,IAAIF,EAAY,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,OAAO,UAAU,UACrG,OAAOD,GAAKC,CAAS,GAAKC,GAAOD,CAAS,CAC5C,CAYO,SAASG,IAAuB,CACrC,QAAStyD,EAAO,UAAU,OAAQuyD,EAAM,IAAI,MAAMvyD,CAAI,EAAGhxD,EAAO,EAAGA,EAAOgxD,EAAMhxD,IAC9EujH,EAAIvjH,CAAI,EAAI,UAAUA,CAAI,EAG5B,OAAO,SAAU4rC,EAAO,CACtB,QAAS43E,EAAQ,UAAU,OAAQjkH,EAAO,IAAI,MAAMikH,EAAQ,EAAIA,EAAQ,EAAI,CAAC,EAAGC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGlkH,EAAKkkH,EAAQ,CAAC,EAAI,UAAUA,CAAK,EAGnC,OAAOF,EAAI,KAAK,SAAUhhH,EAAI,CAC5B,MAAI,CAAC05E,GAAqBrwC,CAAK,GAAKrpC,GAClCA,EAAG,MAAM,OAAQ,CAACqpC,CAAK,EAAE,OAAOrsC,CAAI,CAAC,EAGhC08E,GAAqBrwC,CAAK,CACvC,CAAK,CACL,CACA,CAOO,SAAS83E,IAA4B,CAC1C,MAAO,uBAAwB,MACjC,CASO,SAASC,GAAwBjC,EAAQ,CAC9C,GAAIW,GAAUX,CAAM,EAAG,CACrB,IAAIkC,EAAkB,OAAO,QAAQlC,CAAM,EAAE,OAAO,SAAUh0D,EAAO,CACnE,IAAIm2D,EAAQ7C,GAAetzD,EAAO,CAAC,EAC/BgzD,EAAWmD,EAAM,CAAC,EAClB5E,EAAM4E,EAAM,CAAC,EAEbjtF,EAAK,GAET,OAAKktF,GAAWpD,CAAQ,IACtB,QAAQ,KAAK,YAAa,OAAOA,EAAU,uKAAwK,CAAC,EACpN9pF,EAAK,KAGH,CAAC,MAAM,QAAQqoF,CAAG,GAAK,CAACA,EAAI,MAAM8E,EAAK,KACzC,QAAQ,KAAK,YAAa,OAAOrD,EAAU,mDAAoD,CAAC,EAChG9pF,EAAK,IAGAA,CACR,CAAA,EAAE,OAAO,SAAUotF,EAAKC,EAAO,CAC9B,IAAIC,EAAQlD,GAAeiD,EAAO,CAAC,EAC/BvD,EAAWwD,EAAM,CAAC,EAClBjF,EAAMiF,EAAM,CAAC,EAEjB,OAAOt8D,GAAcA,GAAc,CAAE,EAAEo8D,CAAG,EAAG,GAAIhsE,GAAgB,CAAE,EAAE0oE,EAAUzB,CAAG,CAAC,CACpF,EAAE,CAAE,CAAA,EACL,MAAO,CAAC,CAEN,YAAa,QACb,OAAQ2E,CACd,CAAK,CACF,CAED,OAAOlC,CACT,CAOO,SAASyC,GAAuBzC,EAAQ,CAC7C,GAAIW,GAAUX,CAAM,EAClB,OAAO,OAAO,QAAQA,CAAM,EAAE,OAAO,SAAUvsH,EAAGivH,EAAO,CACvD,IAAIC,EAAQrD,GAAeoD,EAAO,CAAC,EAC/B1D,EAAW2D,EAAM,CAAC,EAClBpF,EAAMoF,EAAM,CAAC,EAEjB,MAAO,CAAE,EAAC,OAAOtlE,GAAmB5pD,CAAC,EAAG,CAACurH,CAAQ,EAAG3hE,GAAmBkgE,CAAG,CAAC,CAC5E,EAAE,EAAE,EACJ,OAAO,SAAUpqH,EAAG,CACnB,OAAOivH,GAAWjvH,CAAC,GAAKkvH,GAAMlvH,CAAC,CACrC,CAAK,EAAE,KAAK,GAAG,CAIf,CASO,SAASyvH,GAAQzvH,EAAG,CACzB,OAAOA,aAAa,eAAiBA,EAAE,OAAS,cAAgBA,EAAE,OAASA,EAAE,UAC/E,CASO,SAAS0vH,GAAgB1vH,EAAG,CACjC,OAAOA,aAAa,eAAiBA,EAAE,OAAS,iBAAmBA,EAAE,OAASA,EAAE,aAClF,CASO,SAASivH,GAAWjvH,EAAG,CAC5B,OAAOA,IAAM,WAAaA,IAAM,WAAaA,IAAM,WAAaA,IAAM,UAAY,iBAAiB,KAAKA,CAAC,CAC3G,CAMO,SAASkvH,GAAMlvH,EAAG,CACvB,MAAO,cAAc,KAAKA,CAAC,CAC7B,CCzTA,IAAIivD,GAAY,CAAC,UAAU,EACvB0gE,GAAa,CAAC,MAAM,EACpBC,GAAa,CAAC,SAAU,OAAQ,YAAa,UAAW,SAAU,UAAW,cAAe,aAAc,cAAe,QAAQ,EACjIC,GAAa,CAAC,SAAU,WAAY,SAAS,EAEjD,SAAS3lE,GAAmBC,EAAK,CAAE,OAAOC,GAAmBD,CAAG,GAAKE,GAAiBF,CAAG,GAAKG,GAA4BH,CAAG,GAAKI,GAAoB,CAAG,CAEzJ,SAASA,IAAqB,CAAE,MAAM,IAAI,UAAU;AAAA,mFAAsI,CAAI,CAE9L,SAASF,GAAiBtwC,EAAM,CAAE,GAAI,OAAO,OAAW,KAAeA,EAAK,OAAO,QAAQ,GAAK,MAAQA,EAAK,YAAY,GAAK,KAAM,OAAO,MAAM,KAAKA,CAAI,CAAI,CAE9J,SAASqwC,GAAmBD,EAAK,CAAE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOM,GAAkBN,CAAG,CAAI,CAE3F,SAASgiE,GAAehiE,EAAKt5C,EAAG,CAAE,OAAOu7G,GAAgBjiE,CAAG,GAAKkiE,GAAsBliE,EAAKt5C,CAAC,GAAKy5C,GAA4BH,EAAKt5C,CAAC,GAAKy7G,GAAgB,CAAK,CAE9J,SAASA,IAAmB,CAAE,MAAM,IAAI,UAAU;AAAA,mFAA2I,CAAI,CAEjM,SAAShiE,GAA4Bja,EAAGma,EAAQ,CAAE,GAAKna,EAAW,IAAI,OAAOA,GAAM,SAAU,OAAOoa,GAAkBpa,EAAGma,CAAM,EAAG,IAAI9qD,EAAI,OAAO,UAAU,SAAS,KAAK2wC,CAAC,EAAE,MAAM,EAAG,EAAE,EAAgE,GAAzD3wC,IAAM,UAAY2wC,EAAE,cAAa3wC,EAAI2wC,EAAE,YAAY,MAAU3wC,IAAM,OAASA,IAAM,MAAO,OAAO,MAAM,KAAK2wC,CAAC,EAAG,GAAI3wC,IAAM,aAAe,2CAA2C,KAAKA,CAAC,EAAG,OAAO+qD,GAAkBpa,EAAGma,CAAM,EAAI,CAEha,SAASC,GAAkBN,EAAK9vC,EAAK,EAAMA,GAAO,MAAQA,EAAM8vC,EAAI,UAAQ9vC,EAAM8vC,EAAI,QAAQ,QAASt5C,EAAI,EAAG65C,EAAO,IAAI,MAAMrwC,CAAG,EAAGxJ,EAAIwJ,EAAKxJ,IAAO65C,EAAK75C,CAAC,EAAIs5C,EAAIt5C,CAAC,EAAK,OAAO65C,CAAO,CAEvL,SAAS2hE,GAAsBliE,EAAKt5C,EAAG,CAAE,IAAI8mC,EAAKwS,GAAO,KAAO,KAAO,OAAO,OAAW,KAAeA,EAAI,OAAO,QAAQ,GAAKA,EAAI,YAAY,EAAG,GAAIxS,GAAM,KAAc,KAAI40E,EAAO,CAAE,EAAM10E,EAAK,GAAU1B,EAAK,GAAWiC,EAAIb,EAAI,GAAI,CAAE,IAAKI,EAAKA,EAAG,KAAKwS,CAAG,EAAG,EAAEtS,GAAMO,EAAKT,EAAG,QAAQ,QAAoB40E,EAAK,KAAKn0E,EAAG,KAAK,EAAO,EAAAvnC,GAAK07G,EAAK,SAAW17G,IAA3DgnC,EAAK,GAA6B,CAAoC,OAAU9qC,EAAK,CAAEopC,EAAK,GAAMoB,EAAKxqC,SAAe,CAAE,GAAI,CAAM,CAAC8qC,GAAMF,EAAG,QAAa,MAAMA,EAAG,OAAW,SAAY,CAAE,GAAIxB,EAAI,MAAMoB,CAAK,CAAA,CAAG,OAAOg1E,EAAO,CAEjgB,SAASH,GAAgBjiE,EAAK,CAAE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,CAAM,CAErE,SAAS/G,GAAQtN,EAAQk2E,EAAgB,CAAE,IAAI1jH,EAAO,OAAO,KAAKwtC,CAAM,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIm2E,EAAU,OAAO,sBAAsBn2E,CAAM,EAAGk2E,IAAmBC,EAAUA,EAAQ,OAAO,SAAUC,EAAK,CAAE,OAAO,OAAO,yBAAyBp2E,EAAQo2E,CAAG,EAAE,UAAW,CAAE,GAAI5jH,EAAK,KAAK,MAAMA,EAAM2jH,CAAO,CAAE,CAAG,OAAO3jH,CAAO,CAErV,SAASyqD,GAAc5uD,EAAQ,CAAE,QAAS0M,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIwM,EAAiB,UAAUxM,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAE,EAAEA,EAAI,EAAIuyC,GAAQ,OAAO/lC,CAAM,EAAG,EAAE,EAAE,QAAQ,SAAU1Y,EAAK,CAAEw+C,GAAgBh/C,EAAQQ,EAAK0Y,EAAO1Y,CAAG,CAAC,CAAI,CAAA,EAAI,OAAO,0BAA4B,OAAO,iBAAiBR,EAAQ,OAAO,0BAA0BkZ,CAAM,CAAC,EAAI+lC,GAAQ,OAAO/lC,CAAM,CAAC,EAAE,QAAQ,SAAU1Y,EAAK,CAAE,OAAO,eAAeR,EAAQQ,EAAK,OAAO,yBAAyB0Y,EAAQ1Y,CAAG,CAAC,CAAE,CAAE,CAAI,CAAC,OAAOR,CAAS,CAE1f,SAASg/C,GAAgBlnC,EAAKtX,EAAK8I,EAAO,CAAE,OAAI9I,KAAOsX,EAAO,OAAO,eAAeA,EAAKtX,EAAK,CAAE,MAAO8I,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYwO,EAAItX,CAAG,EAAI8I,EAAgBwO,CAAM,CAEjN,SAAS6zG,GAAyBzyG,EAAQmmC,EAAU,CAAE,GAAInmC,GAAU,KAAM,MAAO,GAAI,IAAIlZ,EAASo/C,GAA8BlmC,EAAQmmC,CAAQ,EAAO7+C,EAAK,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIorH,EAAmB,OAAO,sBAAsB1yG,CAAM,EAAG,IAAK,EAAI,EAAG,EAAI0yG,EAAiB,OAAQ,IAAOprH,EAAMorH,EAAiB,CAAC,EAAO,EAAAvsE,EAAS,QAAQ7+C,CAAG,GAAK,IAAkB,OAAO,UAAU,qBAAqB,KAAK0Y,EAAQ1Y,CAAG,IAAaR,EAAOQ,CAAG,EAAI0Y,EAAO1Y,CAAG,EAAI,CAAG,OAAOR,CAAS,CAE5e,SAASo/C,GAA8BlmC,EAAQmmC,EAAU,CAAE,GAAInmC,GAAU,KAAM,MAAO,CAAE,EAAE,IAAIlZ,EAAS,CAAE,EAAMs/C,EAAa,OAAO,KAAKpmC,CAAM,EAAO1Y,EAAKkM,EAAG,IAAKA,EAAI,EAAGA,EAAI4yC,EAAW,OAAQ5yC,IAAOlM,EAAM8+C,EAAW5yC,CAAC,EAAO,EAAA2yC,EAAS,QAAQ7+C,CAAG,GAAK,KAAaR,EAAOQ,CAAG,EAAI0Y,EAAO1Y,CAAG,GAAK,OAAOR,CAAS,CAsBnT,IAAI6rH,GAAwB9hC,EAAU,WAAC,SAAU5rC,EAAMonB,EAAK,CAC1D,IAAIpwD,EAAWgpC,EAAK,SAChB1+C,EAASksH,GAAyBxtE,EAAM2M,EAAS,EAEjDghE,EAAeC,GAAYtsH,CAAM,EACjCusH,EAAOF,EAAa,KACpBjhH,EAAQ8gH,GAAyBG,EAAcN,EAAU,EAE7DS,OAAAA,EAAmB,oBAAC1mD,EAAK,UAAY,CACnC,MAAO,CACL,KAAMymD,CACZ,CACA,EAAK,CAACA,CAAI,CAAC,EAEWlmH,EAAM,cAAcyxF,EAAQ,SAAE,KAAMpiF,EAASy5C,GAAcA,GAAc,CAAA,EAAI/jD,CAAK,EAAG,CAAA,EAAI,CAC3G,KAAMmhH,CACP,CAAA,CAAC,CAAC,CACL,CAAC,EACDH,GAAS,YAAc,WAEvB,IAAIvnD,GAAe,CACjB,SAAU,GACV,kBAAmB6hD,GACnB,QAAS,IACT,QAAS,EACT,SAAU,GACV,SAAU,EACV,sBAAuB,GACvB,QAAS,GACT,WAAY,GACZ,OAAQ,GACR,qBAAsB,GACtB,UAAW,KACX,eAAgB,GAChB,UAAW,EACb,EACA0F,GAAS,aAAevnD,GACxBunD,GAAS,UAAY,CAgBnB,SAAUK,GAAU,KASpB,OAAQA,GAAU,SAASA,GAAU,QAAQA,GAAU,MAAM,CAAC,EAK9D,SAAUA,GAAU,KAKpB,sBAAuBA,GAAU,KAKjC,QAASA,GAAU,KAMnB,WAAYA,GAAU,KAKtB,OAAQA,GAAU,KAKlB,qBAAsBA,GAAU,KAKhC,QAASA,GAAU,OAKnB,QAASA,GAAU,OAMnB,SAAUA,GAAU,OAKpB,SAAUA,GAAU,KAOpB,kBAAmBA,GAAU,KAK7B,mBAAoBA,GAAU,KAK9B,iBAAkBA,GAAU,KAM5B,eAAgBA,GAAU,KAK1B,UAAWA,GAAU,KAOrB,YAAaA,GAAU,KAOvB,YAAaA,GAAU,KAOvB,WAAYA,GAAU,KAgCtB,OAAQA,GAAU,KASlB,eAAgBA,GAAU,KAS1B,eAAgBA,GAAU,KAO1B,QAASA,GAAU,KAOnB,UAAWA,GAAU,IACvB,EAuEA,IAAIt7G,GAAe,CACjB,UAAW,GACX,mBAAoB,GACpB,aAAc,GACd,aAAc,GACd,aAAc,GACd,cAAe,CAAE,EACjB,eAAgB,CAAE,CACpB,EA8EO,SAASm7G,IAAc,CAC5B,IAAIlhH,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAE5EshH,EAAsBv9D,GAAcA,GAAc,CAAA,EAAI0V,EAAY,EAAGz5D,CAAK,EAC1E69G,EAASyD,EAAoB,OAC7BptD,EAAWotD,EAAoB,SAC/BC,EAAoBD,EAAoB,kBACxCtD,EAAUsD,EAAoB,QAC9BpD,EAAUoD,EAAoB,QAC9B/4B,EAAW+4B,EAAoB,SAC/B5C,EAAW4C,EAAoB,SAC/BE,EAAcF,EAAoB,YAClCG,EAAcH,EAAoB,YAClCI,EAAaJ,EAAoB,WACjCK,EAASL,EAAoB,OAC7BM,EAAiBN,EAAoB,eACrCO,EAAiBP,EAAoB,eACrCQ,EAAqBR,EAAoB,mBACzCS,EAAmBT,EAAoB,iBACvCU,EAAiBV,EAAoB,eACrCW,EAAYX,EAAoB,UAChCY,EAAwBZ,EAAoB,sBAC5Ca,EAAUb,EAAoB,QAC9Bc,EAAad,EAAoB,WACjCe,EAASf,EAAoB,OAC7BgB,EAAuBhB,EAAoB,qBAC3Cp6E,EAAUo6E,EAAoB,QAC9B3C,EAAY2C,EAAoB,UAEhCiB,EAAaniH,EAAAA,QAAQ,UAAY,CACnC,OAAOkgH,GAAuBzC,CAAM,CACxC,EAAK,CAACA,CAAM,CAAC,EACP2E,EAAcpiH,EAAAA,QAAQ,UAAY,CACpC,OAAO0/G,GAAwBjC,CAAM,CACzC,EAAK,CAACA,CAAM,CAAC,EACP4E,EAAqBriH,EAAAA,QAAQ,UAAY,CAC3C,OAAO,OAAO2hH,GAAqB,WAAaA,EAAmBzpH,EACvE,EAAK,CAACypH,CAAgB,CAAC,EACjBW,EAAuBtiH,EAAAA,QAAQ,UAAY,CAC7C,OAAO,OAAO0hH,GAAuB,WAAaA,EAAqBxpH,EAC3E,EAAK,CAACwpH,CAAkB,CAAC,EAMnBa,EAAUpiH,SAAO,IAAI,EACrBqiH,EAAWriH,SAAO,IAAI,EAEtBsiH,EAAcC,EAAAA,WAAWz7E,GAASthC,EAAY,EAC9Cg9G,EAAe5F,GAAe0F,EAAa,CAAC,EAC5C7oH,EAAQ+oH,EAAa,CAAC,EACtBC,EAAWD,EAAa,CAAC,EAEzBrgF,EAAY1oC,EAAM,UAClBipH,EAAqBjpH,EAAM,mBAC3BkpH,EAAsB3iH,SAAO,OAAO,OAAW,KAAe,OAAO,iBAAmByhH,GAAkBnC,GAAyB,CAAE,EAErIsD,GAAgB,UAAyB,CAEvC,CAACD,EAAoB,SAAWD,GAClC,WAAW,UAAY,CACrB,GAAIL,EAAS,QAAS,CACpB,IAAI7G,EAAQ6G,EAAS,QAAQ,MAExB7G,EAAM,SACTiH,EAAS,CACP,KAAM,aACpB,CAAa,EACDN,IAEH,CACF,EAAE,GAAG,CAEZ,EAEErnH,EAAAA,UAAU,UAAY,CACpB,cAAO,iBAAiB,QAAS8nH,GAAe,EAAK,EAC9C,UAAY,CACjB,OAAO,oBAAoB,QAASA,GAAe,EAAK,CAC9D,CACG,EAAE,CAACP,EAAUK,EAAoBP,EAAsBQ,CAAmB,CAAC,EAC5E,IAAIE,GAAiB7iH,SAAO,CAAA,CAAE,EAE1B8iH,EAAiB,SAAwBt7E,EAAO,CAC9C46E,EAAQ,SAAWA,EAAQ,QAAQ,SAAS56E,EAAM,MAAM,IAK5DA,EAAM,eAAc,EACpBq7E,GAAe,QAAU,GAC7B,EAEE/nH,EAAAA,UAAU,UAAY,CACpB,OAAI6mH,IACF,SAAS,iBAAiB,WAAY9C,GAAoB,EAAK,EAC/D,SAAS,iBAAiB,OAAQiE,EAAgB,EAAK,GAGlD,UAAY,CACbnB,IACF,SAAS,oBAAoB,WAAY9C,EAAkB,EAC3D,SAAS,oBAAoB,OAAQiE,CAAc,EAE3D,CACA,EAAK,CAACV,EAAST,CAAqB,CAAC,EAEnC7mH,EAAAA,UAAU,UAAY,CACpB,MAAI,CAAC64D,GAAY+tD,GAAaU,EAAQ,SACpCA,EAAQ,QAAQ,QAGX,UAAY,CAAA,CACpB,EAAE,CAACA,EAASV,EAAW/tD,CAAQ,CAAC,EACjC,IAAIovD,GAAUz+G,cAAY,SAAUjT,EAAG,CACjCs1C,EACFA,EAAQt1C,CAAC,EAGT,QAAQ,MAAMA,CAAC,CAErB,EAAK,CAACs1C,CAAO,CAAC,EACRq8E,GAAgB1+G,cAAY,SAAUkjC,EAAO,CAC/CA,EAAM,eAAc,EAEpBA,EAAM,QAAO,EACby7E,GAAgBz7E,CAAK,EACrBq7E,GAAe,QAAU,GAAG,OAAOloE,GAAmBkoE,GAAe,OAAO,EAAG,CAACr7E,EAAM,MAAM,CAAC,EAEzFo3E,GAAep3E,CAAK,GACtB,QAAQ,QAAQw5E,EAAkBx5E,CAAK,CAAC,EAAE,KAAK,SAAUg0E,EAAO,CAC9D,GAAI,EAAA3jC,GAAqBrwC,CAAK,GAAK,CAACu6E,GAIpC,KAAImB,GAAY1H,EAAM,OAClB2H,GAAeD,GAAY,GAAKhF,GAAiB,CACnD,MAAO1C,EACP,OAAQwG,EACR,QAASrE,EACT,QAASF,EACT,SAAUz1B,EACV,SAAUm2B,EACV,UAAWC,CACrB,CAAS,EACGgF,GAAeF,GAAY,GAAK,CAACC,GACrCV,EAAS,CACP,aAAcU,GACd,aAAcC,GACd,aAAc,GACd,KAAM,iBAChB,CAAS,EAEGnC,GACFA,EAAYz5E,CAAK,EAE3B,CAAO,EAAE,MAAM,SAAUn2C,EAAG,CACpB,OAAO0xH,GAAQ1xH,CAAC,CACxB,CAAO,CAEJ,EAAE,CAAC2vH,EAAmBC,EAAa8B,GAAShB,EAAsBC,EAAYrE,EAASF,EAASz1B,EAAUm2B,EAAUC,CAAS,CAAC,EAC3HiF,GAAe/+G,cAAY,SAAUkjC,EAAO,CAC9CA,EAAM,eAAc,EACpBA,EAAM,QAAO,EACby7E,GAAgBz7E,CAAK,EACrB,IAAI87E,EAAW1E,GAAep3E,CAAK,EAEnC,GAAI87E,GAAY97E,EAAM,aACpB,GAAI,CACFA,EAAM,aAAa,WAAa,MACxC,MAAwB,CAAE,CAKtB,OAAI87E,GAAYnC,GACdA,EAAW35E,CAAK,EAGX,EACX,EAAK,CAAC25E,EAAYY,CAAoB,CAAC,EACjCwB,GAAgBj/G,cAAY,SAAUkjC,EAAO,CAC/CA,EAAM,eAAc,EACpBA,EAAM,QAAO,EACby7E,GAAgBz7E,CAAK,EAErB,IAAIg8E,EAAUX,GAAe,QAAQ,OAAO,SAAUjuH,GAAQ,CAC5D,OAAOwtH,EAAQ,SAAWA,EAAQ,QAAQ,SAASxtH,EAAM,CAC/D,CAAK,EAGG6uH,GAAYD,EAAQ,QAAQh8E,EAAM,MAAM,EAExCi8E,KAAc,IAChBD,EAAQ,OAAOC,GAAW,CAAC,EAG7BZ,GAAe,QAAUW,EAErB,EAAAA,EAAQ,OAAS,KAIrBf,EAAS,CACP,KAAM,kBACN,aAAc,GACd,aAAc,GACd,aAAc,EACpB,CAAK,EAEG7D,GAAep3E,CAAK,GAAK05E,GAC3BA,EAAY15E,CAAK,EAEpB,EAAE,CAAC46E,EAASlB,EAAaa,CAAoB,CAAC,EAC3C2B,GAAWp/G,EAAAA,YAAY,SAAUk3G,EAAOh0E,EAAO,CACjD,IAAI20E,GAAgB,CAAA,EAChBwH,GAAiB,CAAA,EACrBnI,EAAM,QAAQ,SAAUf,GAAM,CAC5B,IAAI4D,GAAgBR,GAAapD,GAAMuH,CAAU,EAC7C1D,GAAiB1B,GAAeyB,GAAe,CAAC,EAChDE,GAAWD,GAAe,CAAC,EAC3BsF,GAActF,GAAe,CAAC,EAE9BE,GAAiBR,GAAcvD,GAAMkD,EAASF,CAAO,EACrDgB,GAAkB7B,GAAe4B,GAAgB,CAAC,EAClDE,GAAYD,GAAgB,CAAC,EAC7BoF,GAAYpF,GAAgB,CAAC,EAE7BE,GAAeP,EAAYA,EAAU3D,EAAI,EAAI,KAEjD,GAAI8D,IAAYG,IAAa,CAACC,GAC5BxC,GAAc,KAAK1B,EAAI,MAClB,CACL,IAAInF,GAAS,CAACsO,GAAaC,EAAS,EAEhClF,KACFrJ,GAASA,GAAO,OAAOqJ,EAAY,GAGrCgF,GAAe,KAAK,CAClB,KAAMlJ,GACN,OAAQnF,GAAO,OAAO,SAAUjkH,GAAG,CACjC,OAAOA,EACnB,CAAW,CACX,CAAS,CACF,CACP,CAAK,GAEG,CAAC22F,GAAYm0B,GAAc,OAAS,GAAKn0B,GAAYm2B,GAAY,GAAKhC,GAAc,OAASgC,KAE/FhC,GAAc,QAAQ,SAAU1B,GAAM,CACpCkJ,GAAe,KAAK,CAClB,KAAMlJ,GACN,OAAQ,CAACmD,EAAwB,CAC3C,CAAS,CACT,CAAO,EACDzB,GAAc,OAAO,CAAC,GAGxBsG,EAAS,CACP,cAAetG,GACf,eAAgBwH,GAChB,KAAM,UACZ,CAAK,EAEGvC,GACFA,EAAOjF,GAAewH,GAAgBn8E,CAAK,EAGzCm8E,GAAe,OAAS,GAAKrC,GAC/BA,EAAeqC,GAAgBn8E,CAAK,EAGlC20E,GAAc,OAAS,GAAKkF,GAC9BA,EAAelF,GAAe30E,CAAK,CAEtC,EAAE,CAACi7E,EAAUz6B,EAAUg6B,EAAYrE,EAASF,EAASU,EAAUiD,EAAQC,EAAgBC,EAAgBlD,CAAS,CAAC,EAC9G0F,GAAWx/G,cAAY,SAAUkjC,EAAO,CAC1CA,EAAM,eAAc,EAEpBA,EAAM,QAAO,EACby7E,GAAgBz7E,CAAK,EACrBq7E,GAAe,QAAU,GAErBjE,GAAep3E,CAAK,GACtB,QAAQ,QAAQw5E,EAAkBx5E,CAAK,CAAC,EAAE,KAAK,SAAUg0E,EAAO,CAC1D3jC,GAAqBrwC,CAAK,GAAK,CAACu6E,GAIpC2B,GAASlI,EAAOh0E,CAAK,CAC7B,CAAO,EAAE,MAAM,SAAUn2C,EAAG,CACpB,OAAO0xH,GAAQ1xH,CAAC,CACxB,CAAO,EAGHoxH,EAAS,CACP,KAAM,OACZ,CAAK,CACF,EAAE,CAACzB,EAAmB0C,GAAUX,GAAShB,CAAoB,CAAC,EAE3DgC,GAAiBz/G,EAAAA,YAAY,UAAY,CAG3C,GAAIq+G,EAAoB,QAAS,CAC/BF,EAAS,CACP,KAAM,YACd,CAAO,EACDP,IAEA,IAAIprH,EAAO,CACT,SAAUkxF,EACV,MAAOi6B,CACf,EACM,OAAO,mBAAmBnrH,CAAI,EAAE,KAAK,SAAUykH,EAAS,CACtD,OAAOyF,EAAkBzF,CAAO,CACxC,CAAO,EAAE,KAAK,SAAUC,EAAO,CACvBkI,GAASlI,EAAO,IAAI,EACpBiH,EAAS,CACP,KAAM,aAChB,CAAS,CACT,CAAO,EAAE,MAAM,SAAUpxH,EAAG,CAEhB6uH,GAAQ7uH,CAAC,GACX8wH,EAAqB9wH,CAAC,EACtBoxH,EAAS,CACP,KAAM,aAClB,CAAW,GACQtC,GAAgB9uH,CAAC,GAC1BsxH,EAAoB,QAAU,GAG1BN,EAAS,SACXA,EAAS,QAAQ,MAAQ,KACzBA,EAAS,QAAQ,SAEjBU,GAAQ,IAAI,MAAM,+JAA+J,CAAC,GAGpLA,GAAQ1xH,CAAC,CAEnB,CAAO,EACD,MACD,CAEGgxH,EAAS,UACXI,EAAS,CACP,KAAM,YACd,CAAO,EACDP,IACAG,EAAS,QAAQ,MAAQ,KACzBA,EAAS,QAAQ,QAEvB,EAAK,CAACI,EAAUP,EAAoBC,EAAsBV,EAAgBiC,GAAUX,GAASd,EAAaj6B,CAAQ,CAAC,EAE7Gg8B,GAAc1/G,cAAY,SAAUkjC,EAAO,CAEzC,CAAC46E,EAAQ,SAAW,CAACA,EAAQ,QAAQ,YAAY56E,EAAM,MAAM,IAI7DA,EAAM,MAAQ,KAAOA,EAAM,MAAQ,SAAWA,EAAM,UAAY,IAAMA,EAAM,UAAY,MAC1FA,EAAM,eAAc,EACpBu8E,KAEN,EAAK,CAAC3B,EAAS2B,EAAc,CAAC,EAExBE,GAAY3/G,EAAAA,YAAY,UAAY,CACtCm+G,EAAS,CACP,KAAM,OACZ,CAAK,CACF,EAAE,CAAE,CAAA,EACDyB,GAAW5/G,EAAAA,YAAY,UAAY,CACrCm+G,EAAS,CACP,KAAM,MACZ,CAAK,CACF,EAAE,CAAE,CAAA,EAED0B,GAAY7/G,EAAAA,YAAY,UAAY,CAClCs9G,IAOA3C,GAAU,EACZ,WAAW8E,GAAgB,CAAC,EAE5BA,KAEN,EAAK,CAACnC,EAASmC,EAAc,CAAC,EAExBK,GAAiB,SAAwBjmH,EAAI,CAC/C,OAAOw1D,EAAW,KAAOx1D,CAC7B,EAEMkmH,GAAyB,SAAgClmH,EAAI,CAC/D,OAAO0jH,EAAa,KAAOuC,GAAejmH,CAAE,CAChD,EAEMmmH,GAAqB,SAA4BnmH,EAAI,CACvD,OAAO2jH,EAAS,KAAOsC,GAAejmH,CAAE,CAC5C,EAEM8kH,GAAkB,SAAyBz7E,EAAO,CAChDu6E,GACFv6E,EAAM,gBAAe,CAE3B,EAEM+8E,GAAe1kH,EAAAA,QAAQ,UAAY,CACrC,OAAO,UAAY,CACjB,IAAIypD,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAE,EAC9Ek7D,EAAel7D,EAAM,OACrBm7D,GAASD,IAAiB,OAAS,MAAQA,EAC3CvxE,GAAOqW,EAAM,KACbwwB,GAAYxwB,EAAM,UAClBtnB,GAAUsnB,EAAM,QAChBmzB,GAASnzB,EAAM,OACfypB,GAAUzpB,EAAM,QAChB23D,GAAc33D,EAAM,YACpB63D,GAAa73D,EAAM,WACnB43D,GAAc53D,EAAM,YACpB83D,GAAS93D,EAAM,OACfhuB,GAAOilF,GAAyBj3D,EAAO+2D,EAAU,EAErD,OAAO78D,GAAcA,GAAc5P,GAAgB,CACjD,UAAWywE,GAAuBnF,GAAqBplC,GAAWkqC,EAAW,CAAC,EAC9E,QAASK,GAAuBnF,GAAqBl9E,GAASiiF,EAAS,CAAC,EACxE,OAAQI,GAAuBnF,GAAqBziC,GAAQynC,EAAQ,CAAC,EACrE,QAASE,GAAelF,GAAqBnsC,GAASoxC,EAAS,CAAC,EAChE,YAAaG,GAAmBpF,GAAqB+B,GAAa+B,EAAa,CAAC,EAChF,WAAYsB,GAAmBpF,GAAqBiC,GAAYkC,EAAY,CAAC,EAC7E,YAAaiB,GAAmBpF,GAAqBgC,GAAaqC,EAAa,CAAC,EAChF,OAAQe,GAAmBpF,GAAqBkC,GAAQ0C,EAAQ,CAAC,EACjE,KAAM,OAAO7wE,IAAS,UAAYA,KAAS,GAAKA,GAAO,cACxD,EAAEwxE,GAAQrC,CAAO,EAAG,CAACzuD,GAAY,CAACkuD,EAAa,CAC9C,SAAU,CAClB,EAAU,CAAE,CAAA,EAAGvmF,EAAI,CACnB,CACG,EAAE,CAAC8mF,EAAS4B,GAAaC,GAAWC,GAAUC,GAAWnB,GAAeK,GAAcE,GAAeO,GAAUjC,EAAYC,EAAQnuD,CAAQ,CAAC,EACzI+wD,GAAsBpgH,cAAY,SAAUkjC,EAAO,CACrDA,EAAM,gBAAe,CACtB,EAAE,CAAE,CAAA,EACDm9E,GAAgB9kH,EAAAA,QAAQ,UAAY,CACtC,OAAO,UAAY,CACjB,IAAI4/G,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAE,EAC9EmF,EAAenF,EAAM,OACrBgF,GAASG,IAAiB,OAAS,MAAQA,EAC3CzkC,GAAWs/B,EAAM,SACjB1sC,GAAU0sC,EAAM,QAChBnkF,GAAOilF,GAAyBd,EAAOa,EAAU,EAEjDuE,GAAajxE,GAAgB,CAC/B,OAAQouE,EACR,SAAUh6B,EACV,KAAM,OACN,MAAO,CACL,QAAS,MACV,EACD,SAAUo8B,GAAelF,GAAqB/+B,GAAU2jC,EAAQ,CAAC,EACjE,QAASM,GAAelF,GAAqBnsC,GAAS2xC,EAAmB,CAAC,EAC1E,SAAU,EAClB,EAASD,GAAQpC,CAAQ,EAEnB,OAAO7+D,GAAcA,GAAc,CAAA,EAAIqhE,EAAU,EAAGvpF,EAAI,CAC9D,CACA,EAAK,CAAC+mF,EAAU/E,EAAQt1B,EAAU87B,GAAUnwD,CAAQ,CAAC,EACnD,OAAOnQ,GAAcA,GAAc,CAAE,EAAE/pD,CAAK,EAAG,CAAA,EAAI,CACjD,UAAW0oC,GAAa,CAACwxB,EACzB,aAAc4wD,GACd,cAAeI,GACf,QAASvC,EACT,SAAUC,EACV,KAAM+B,GAAeL,EAAc,CACvC,CAAG,CACH,CAOA,SAASj9E,GAAQrtC,EAAOotC,EAAQ,CAE9B,OAAQA,EAAO,KAAI,CACjB,IAAK,QACH,OAAO2c,GAAcA,GAAc,CAAE,EAAE/pD,CAAK,EAAG,CAAA,EAAI,CACjD,UAAW,EACnB,CAAO,EAEH,IAAK,OACH,OAAO+pD,GAAcA,GAAc,CAAE,EAAE/pD,CAAK,EAAG,CAAA,EAAI,CACjD,UAAW,EACnB,CAAO,EAEH,IAAK,aACH,OAAO+pD,GAAcA,GAAc,CAAE,EAAEh+C,EAAY,EAAG,CAAA,EAAI,CACxD,mBAAoB,EAC5B,CAAO,EAEH,IAAK,cACH,OAAOg+C,GAAcA,GAAc,CAAE,EAAE/pD,CAAK,EAAG,CAAA,EAAI,CACjD,mBAAoB,EAC5B,CAAO,EAEH,IAAK,kBACH,OAAO+pD,GAAcA,GAAc,CAAE,EAAE/pD,CAAK,EAAG,CAAA,EAAI,CACjD,aAAcotC,EAAO,aACrB,aAAcA,EAAO,aACrB,aAAcA,EAAO,YAC7B,CAAO,EAEH,IAAK,WACH,OAAO2c,GAAcA,GAAc,CAAE,EAAE/pD,CAAK,EAAG,CAAA,EAAI,CACjD,cAAeotC,EAAO,cACtB,eAAgBA,EAAO,cAC/B,CAAO,EAEH,IAAK,QACH,OAAO2c,GAAc,GAAIh+C,EAAY,EAEvC,QACE,OAAO/L,CACV,CACH,CAEA,SAAS1B,IAAO,CAAA,CC57BhB,MAAM8yD,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,MAAO,OACP,OAAQ,IACR,WAAY,SACZ,eAAgB,SAChB,YAAa,EACb,YAAa08B,EAAO,QAAQ,GAAG,EAC/B,YAAa,SACb,aAAc,EACd,gBAAiBA,EAAO,QAAQ,GAAG,EACnC,mBAAoBG,GAAa,GAAG,EACpC,mBAAoB,iCACpB,aAAc,CAChB,EACA,eAAgB,CACd,OAAQ,UACR,kBAAmB,GACnB,gBAAiB,GACjB,WAAY,YACd,EACA,iBAAkB,CAChB,YAAaH,EAAO,QAAQ,GAAG,CACjC,EACA,iBAAkB,CAChB,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EACA,eAAgB,CACd,YAAaA,EAAO,SAAS,GAAG,CAClC,EACA,oBAAqB,CACnB,gBAAiBA,EAAO,QAAQ,GAAG,EACnC,YAAaA,EAAO,QAAQ,GAAG,CACjC,EACA,kBAAmB,CACjB,YAAa,OACf,EAEA,cAAe,CACb,MAAO,GACP,OAAQ,GACR,WAAY,SACZ,eAAgB,SAChB,gBAAiBA,EAAO,QAAQ,GAAG,EACnC,aAAcE,GAAM,CAAC,CACvB,CACF,CAAC,EAaK2zB,GAAmC,CACvC,MAAO,CACL,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAO,CAC9C,EACA,SAAU,CACR,kBAAmB,CAAC,MAAM,CAC5B,CACF,EAEMwH,GAAyBC,GACtB,OAAO,KAAKzH,GAAOyH,CAAQ,CAAC,EAChC,OAAiB,CAACl5B,EAAKz2F,IAAQ,CAE9B,MAAMgwG,EAAuBkY,GAAOyH,CAAQ,EAAE3vH,CAAG,EACjD,MAAO,CAAC,GAAGy2F,EAAK,GAAGuZ,CAAU,GAC5B,CAAE,CAAA,EACJ,OAAQyV,GAAQA,IAAQ,OAAO,EAC/B,IAAKA,GAAQA,EAAI,MAAM,CAAC,CAAC,EAGxBmK,GAAkBzS,GAClBA,EAAQ,KACH,GAAGA,CAAK,KAEbA,EAAQ,KAAO,KACV,IAAIA,EAAQ,MAAM,QAAQ,CAAC,CAAC,MAE9B,IAAIA,EAAQ,KAAO,MAAM,QAAQ,CAAC,CAAC,MAGtC0S,GAAmB,KAAO,KAEnBC,GAA6B,CAAC,CACzC,MAAApsF,EACA,MAAA56B,EACA,SAAA6mH,EACA,QAAAtH,EAAUwH,GACV,QAAAE,EAAU,GACV,SAAAhlC,CACF,IAAM,CACJ,KAAM,CAACm1B,EAAQ8P,CAAS,EAAI1tF,EAAA,SAAsB,CAAE,CAAA,EAC9C2tF,EAAUnnH,GAAS,KAEnBkjH,EAAS,CAAC,CAAC3G,CAAI,IAAc,CAC7BA,GAAQ,OACV2K,EAAU,CAAE,CAAA,EACZjlC,EAASs6B,CAAI,EACf,EAGI6G,EAAkBgE,GAAgC,CACtDF,EAAUE,EAAW,QAASC,GAAcA,EAAU,MAAM,CAAC,CAAA,EAGzDC,EAAiBlQ,EAAO,KAAMl5G,GAAUA,EAAM,OAAS,mBAAmB,EAC1EqpH,EAAgBnQ,EAAO,KAAMl5G,GAAUA,EAAM,OAAS,gBAAgB,EAEtE,CAAE,aAAAmoH,EAAc,cAAAI,EAAe,aAAAe,EAAc,KAAA9E,CAAA,EAASD,GAAY,CACtE,QAAS,GACT,SAAU0E,EACV,eAAA/D,EACA,OAAAF,EACA,OAAQ9D,GAAOyH,CAAQ,EACvB,SAAU,EACV,QAAAtH,CAAA,CACD,EACD,OAEK1zB,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAAArzD,GAAS,MAENixD,EAAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAAAt7C,EAAAA,IAAC06C,IAAO,SAAMzyD,CAAA,CAAA,EACd+X,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,CAAA,EACpB,SAGD,MAAK,CAAA,GAAG23B,EAAa,EAAG,SAAU,GACjC,SAAA,CAAC1zE,EAAAA,IAAA,QAAA,CAAO,GAAG8zE,EAAiB,CAAA,CAAA,EAC5B9zE,EAAA,IAACyrC,GAAA,CACC,MAAO,CAAC,CAAE,QAAAp6C,EAAS,QAAAk7C,EAAS,QAAAK,KAAc,CACxC5yB,GAAO,UACPs6D,GAAWt6D,GAAO,gBACjB3oB,GAAWk7C,IAAYvyB,GAAO,iBAC/B4yB,GAAW5yB,GAAO,iBAClByqD,EAAO,OAAS,GAAKzqD,GAAO,eAC5B66D,GAAgB76D,GAAO,oBACvBw6D,GAAWx6D,GAAO,iBACpB,EACA,SAAUw6D,EACV,QAASzE,EAER,SAAA3sH,GAAM,CAAE,MAAAiK,EAAO,aAAAwnH,CAAa,CAAC,EAC3B,KAAK,CAAE,MAAOlzH,GAAE,IAAIA,GAAE,OAAO,CAAE,EAAG,CAAC,CAAE,MAAA0L,CAAAA,IACpC6rF,EAAA,KAACyC,GAAI,CAAA,UAAW24B,EAAU,MAAQ,SAAU,WAAW,SACrD,SAAA,CAAAt0E,MAACw2B,GAAK,CAAA,MAAOxc,GAAO,cAClB,eAACg/B,GAAK,CAAA,KAAK,aAAa,KAAM,GAAI,MAAOJ,EAAO,QAAQ,GAAG,CAAG,CAAA,EAChE,EAEC54C,EAAA,IAAA+7C,GAAA,CAAM,MAAO,GAAI,OAAQ,GAAI,SAE7BJ,GAAI,CAAA,UAAU,SAAS,WAAY24B,EAAU,aAAe,SAC3D,SAAA,CAACt0E,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,QAAQ,MAAO6W,GAAe,MACzC,SAAAxrF,EAAM,IACT,CAAA,QACCo+E,GAAU,CAAA,QAAS,IAAM6D,EAAS,IAAI,EACrC,SAACtvC,MAAAgiC,GAAA,CAAK,QAAQ,QAAQ,MAAO4W,EAAO,QAAQ,GAAG,EAC5C,SAAEl5F,EAAA,gCAAgC,CACrC,CAAA,EACF,CAAA,EACF,CAAA,CACF,CAAA,CACD,EACA,KAAK,CAAE,aAAc,EAAQ,EAAA,IAC3BsgD,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,QAAQ,MAAO4W,EAAO,QAAQ,GAAG,EAC5C,SAAEl5F,EAAA,8BAA8B,CACnC,CAAA,CACD,EACA,UAAU,IACRw5F,EAAAA,KAAAyC,GAAA,CAAI,UAAU,SAAS,WAAY24B,EAAU,aAAe,SAC1D,SAAA,CACCA,EAAAt0E,EAAAA,IAACo8C,GAAO,CAAA,QAAQ,UAAU,QAAS2zB,EAChC,SAAErwH,EAAA,sCAAsC,CAC3C,CAAA,EAECsgD,EAAAA,IAAAw2B,GAAA,CAAK,MAAOxc,GAAO,cAClB,SAACha,EAAAA,IAAAg5C,GAAA,CAAK,KAAK,cAAc,KAAM,GAAI,MAAOH,GAAe,KAAA,CAAO,CAClE,CAAA,EAGDy7B,IAAY,IAETp7B,EAAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAA+7C,GAAA,CAAM,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACgiC,IAAK,QAAQ,QAAQ,MAAO6W,GAAe,MACzC,SAAEn5F,EAAA,8BAA8B,CACnC,CAAA,EACAw5F,OAAClX,IAAK,QAAQ,QAAQ,MAAO4W,EAAO,QAAQ,EAAE,EAC3C,SAAA,CAAAl5F,EAAE,WAAW,EAAE,IAChBsgD,EAAAA,IAACgiC,IAAK,MAAO4W,EAAO,QAAQ,GAAG,EAAI,SAAEl5F,EAAA,gCAAgC,CAAE,CAAA,CAAA,EACzE,CAAA,EACF,EAGFsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB7C,EAAA,KAAAyC,GAAA,CAAI,UAAU,MAAM,WAAW,SAC9B,SAAA,CAAA37C,EAAA,IAACgiC,GAAA,CACC,QAAQ,YACR,MAAO2yC,EAAiB/7B,EAAO,SAAS,GAAG,EAAIA,EAAO,QAAQ,GAAG,EAEhE,WAAE,4BAA4B,CAAA,CACjC,EACCq7B,GAAsBC,CAAQ,EAAE,IAAK18C,GACpC0hB,OAACoC,EAAAA,SAAA,CACC,SAAA,CAACt7C,EAAAA,IAAA+7C,GAAA,CAAM,MAAO,CAAG,CAAA,EACjB/7C,EAAAA,IAACm9C,IAAI,QAASw3B,EAAiB,WAAa,UAAW,UAAW,GAC/D,SACHn9C,CAAA,CAAA,CAAA,CAAA,EAJaA,CAKf,CACD,CAAA,EACH,EAEAx3B,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EAElB/7C,EAAA,IAACgiC,GAAA,CACC,QAAQ,YACR,MAAO4yC,EAAgBh8B,EAAO,SAAS,GAAG,EAAIA,EAAO,QAAQ,GAAG,EAE/D,WAAE,8BAA+B,CAChC,KAAMu7B,GAAevH,CAAO,EAAE,QAAQ,MAAO,EAAE,CAAA,CAChD,CAAA,CACH,CAAA,CAAA,CACF,CACD,CAAA,CACL,CAAA,EACF,CACF,CAAA,CAAA,CAEJ,ECvPakI,GAAmB,CAAC1gH,EAAkBm/B,IAAkB,CACnE,KAAM,CAACwhF,EAAYC,CAAa,EAAInuF,WAAS,EAAK,EAElD58B,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAImK,EAAS,CACL,MAAAkB,EAAQ,WAAW,IAAM,CAC7B0/G,EAAc,EAAI,GACjBzhF,CAAK,EAED,MAAA,IAAM,aAAaj+B,CAAK,CACjC,CAEA0/G,EAAc,EAAK,CAAA,EAClB,CAAC5gH,EAASm/B,CAAK,CAAC,EAEZwhF,CACT,ECDM/6D,GAASkC,GAAW,OAAO,CAC/B,MAAO,CAEL,WAAY,QACZ,WAAY,MACZ,SAAU,GACV,WAAY,GAEZ,MAAO28B,GAAe,MACtB,kBAAmB,GACnB,gBAAiB,GACjB,YAAa,EACb,YAAaD,EAAO,QAAQ,GAAG,EAC/B,aAAcE,GAAM,CAAC,EACrB,gBAAiBF,EAAO,QAAQ,GAAG,EACnC,aAAc,EACd,mBAAoBG,GAAa,GAAG,EACpC,mBAAoB,cACtB,EACA,UAAW,CACT,gBAAiBH,EAAO,QAAQ,GAAG,CACrC,EACA,aAAc,CACZ,YAAaA,EAAO,QAAQ,GAAG,CACjC,EACA,WAAY,CACV,YAAaA,EAAO,SAAS,GAAG,CAClC,EACA,cAAe,CACb,gBAAiBA,EAAO,QAAQ,GAAG,EACnC,MAAOA,EAAO,QAAQ,GAAG,EACzB,OAAQ,aACV,CACF,CAAC,EAYYq8B,GAAsC,CAAC,CAClD,SAAAzD,EACA,MAAAvpF,EACA,UAAAitF,EACA,YAAAngB,EACA,WAAAogB,EAAa,GACb,MAAA5pH,EACA,UAAA6pH,EAAY,GACZ,KAAAC,EAAO,GACP,MAAAjvE,EACA,QAAAjV,EACA,OAAAy6C,EACA,GAAGh9E,CACL,IAAM,OACJ,KAAM,CAACyiC,EAASq7C,CAAU,EAAI7lD,WAAS,EAAK,EACtCyuF,EAAiBR,GAAiBK,EAAY,GAAG,EAEjDtkC,EAAerwF,GAAqD,CACxEksF,EAAW,EAAI,EACfv7C,GAAA,MAAAA,EAAU3wC,EAAC,EAGPmwF,EAAcnwF,GAAqD,CACvEksF,EAAW,EAAK,EAChBd,GAAA,MAAAA,EAASprF,EAAC,EAGN+0H,IAAc16G,EAAAjM,EAAM,QAAN,YAAAiM,EAAa,SAAU,EAGzC,OAAAq+E,OAAC1iB,IAAK,MAAApwB,EACH,SAAA,CAAAne,GAAS,MAENixD,EAAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAAApC,EAAA,KAACyC,GAAI,CAAA,UAAU,MAAM,WAAW,SAC9B,SAAA,CAAAzC,OAACwB,GACE,CAAA,SAAA,CAAAzyD,EACAr5B,EAAM,eAAe,IAAM,IAAQoxC,EAAAA,IAACgiC,GAAK,CAAA,MAAO4W,EAAO,SAAS,GAAG,EAAG,SAAE,IAAA,CAAA,CAAA,EAC3E,EAEC08B,GAEGp8B,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAA+7C,GAAA,CAAM,MAAO,CAAG,CAAA,EACjB/7C,MAACwiC,IAAkB,KAAK,QAAQ,MAAOoW,EAAO,QAAQ,EAAE,EAAG,CAAA,EAC7D,EAGDs8B,GAAa,MAEVh8B,EAAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAAg8C,GAAA,CAAK,SAAU,CAAG,CAAA,EACnB9C,EAAA,KAAClX,GAAA,CACC,QAAQ,WACR,MAAOuzC,EAAcL,EAAYt8B,EAAO,SAAS,GAAG,EAAIA,EAAO,QAAQ,GAAG,EAEzE,SAAA,CAAA28B,EAAY,IAAEL,CAAA,CAAA,CACjB,CAAA,EACF,CAAA,EAEJ,EAEAl1E,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,CAAA,EACpB,EAGF/7C,EAAA,IAACquC,GAAA,CACC,IAAKmjC,EACL,MAAO,CACLx3D,GAAO,MACPq7D,GAAQr7D,GAAO,UACfzuD,GAAS,MAAQyuD,GAAO,WACxB3oB,GAAW2oB,GAAO,aAClBprD,EAAM,eAAe,IAAM,IAAQorD,GAAO,aAC5C,EACA,qBAAsB4+B,EAAO,QAAQ,GAAG,EACxC,QAAS/H,EACT,OAAQF,EACP,GAAG/hF,CAAA,CACN,EAECxL,GAAM,CAAE,YAAA2xG,EAAa,MAAAxpG,EAAO,UAAA6pH,EAAW,EACrC,KAAK,CAAE,YAAazzH,GAAE,OAAQ,MAAOA,GAAE,SAAW,CAAC,CAAE,YAAAozG,CAAY,IAE9D7b,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAA+7C,GAAA,CAAM,OAAQ,CAAG,CAAA,EAClB/7C,EAAAA,IAACgiC,GAAK,CAAA,QAAQ,QAAQ,MAAO4W,EAAO,QAAQ,GAAG,EAC5C,SAAAmc,CACH,CAAA,CAAA,CAAA,CACF,CACD,EACA,KAAK,CAAE,UAAW,EAAS,EAAA,CAAC,CAAE,MAAAxpG,CAAM,IAEjC2tF,EAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAA+7C,GAAA,CAAM,OAAQ,CAAG,CAAA,EAClB/7C,EAAAA,IAACgiC,GAAK,CAAA,QAAQ,QAAQ,MAAO4W,EAAO,SAAS,GAAG,EAC7C,SAAArtF,GAAS,GACZ,CAAA,CAAA,CAAA,CACF,CACD,EACA,UAAU,IAAM,IAAI,CACzB,CAAA,CAAA,CAEJ,ECpJMyuD,GAASkC,GAAW,OAAO,CAC/B,QAAS,CACP,SAAU,QACV,IAAK,EACL,KAAM,EACN,MAAO,OACP,OAAQ,OACR,gBAAiB,qBACjB,OAAQ,UACR,eAAgB,YAChB,mBAAoB,CAClB,KAAM,CACJ,QAAS,CACX,EACA,GAAI,CACF,QAAS,CACX,CACF,EACA,kBAAmB68B,GAAa,GAAG,CACrC,EAEA,eAAgB,CACd,mBAAoB,CAClB,KAAM,CACJ,QAAS,CACX,EACA,GAAI,CACF,QAAS,CACX,CACF,EACA,kBAAmB,UACrB,EAEA,eAAgB,CACd,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,EACN,aAAc,CAChB,EAEA,MAAO,CACL,gBAAiBH,EAAO,QAAQ,GAAG,EACnC,kBAAmB,GACnB,gBAAiB,GACjB,aAAcE,GAAM,CAAC,EACrB,YAAa,EACb,YAAaF,EAAO,QAAQ,GAAG,EAC/B,aAAc,EACd,mBAAoB,CAClB,KAAM,CACJ,QAAS,EACT,UAAW,YACb,EACA,GAAI,CACF,QAAS,EACT,UAAW,UACb,CACF,EACA,kBAAmBG,GAAa,GAAG,CACrC,EAEA,aAAc,CACZ,mBAAoB,CAClB,KAAM,CACJ,QAAS,EACT,UAAW,UACb,EACA,GAAI,CACF,QAAS,EACT,UAAW,YACb,CACF,EACA,kBAAmB,UACrB,EAEA,cAAe,CACb,KAAM,CACR,CACF,CAAC,EAQYy8B,GAAyB,CAAC,CAAE,SAAAlP,EAAW,IAAK,QAAAmP,EAAS,SAAAv8G,KAAe,CACzE,MAAAowD,EAAMn6D,SAAoB,IAAI,EAC9BumH,EAASx8G,GAAY,KACrBy8G,EAAcxmH,SAAO+J,CAAQ,EAC7B08G,EAAazmH,SAAOsmH,CAAO,EAC3BI,EAAY1mH,SAAOumH,CAAM,EACzB,CAAC9sH,EAAOkkC,CAAQ,EAAIjG,EAAA,SAA2C,IACnE6uF,EAAS,UAAY,QAAA,EAoEvB,GAlEIx8G,GAAY,OACdy8G,EAAY,QAAUz8G,GAGxBjP,EAAAA,UAAU,IAAM,CACd,MAAM4qD,EAAUyU,EAAI,QACdwsD,EAAYD,EAAU,QAG5B,GAFAA,EAAU,QAAUH,EAEhBA,IAAWI,EAIX,IAAAJ,GAAU,CAACI,EAAW,CACxBhpF,EAAS,SAAS,EAClB,MACF,CAEA,GAAI,CAAC4oF,GAAUI,GAAajhE,GAAW,KAAM,CAC3C,MAAMkhE,EAAqB,IAAM,CAC/BjpF,EAAS,QAAQ,CAAA,EAGnB,OAAAA,EAAS,SAAS,EACV+nB,EAAA,iBAAiB,eAAgBkhE,CAAkB,EAEpD,IAAM,CACHlhE,EAAA,oBAAoB,eAAgBkhE,CAAkB,CAAA,CAElE,EAAA,EACC,CAACL,CAAM,CAAC,EAEXzrH,EAAAA,UAAU,IAAM,CACd2rH,EAAW,QAAUH,CAAA,EACpB,CAACA,CAAO,CAAC,EAEZxrH,EAAAA,UAAU,IAAM,CACd,GAAIrB,IAAU,UAAW,CACjB,MAAAy5E,EAAe1rC,GAAsB,OACzC,MAAMq/E,EAAQ1sD,EAAI,QACb0sD,GAAA,MAAAA,EAAO,SAASr/E,EAAM,UACzBA,EAAM,eAAe,GACrB97B,EAAA+6G,EAAW,UAAX,MAAA/6G,EAAA,KAAA+6G,GACF,EAGIK,EAAgBt/E,GAAyB,OACzCA,EAAM,MAAQ,WAChBA,EAAM,eAAe,GACrB97B,EAAA+6G,EAAW,UAAX,MAAA/6G,EAAA,KAAA+6G,GACF,EAGO,gBAAA,iBAAiB,QAASvzC,CAAW,EACrC,SAAA,iBAAiB,UAAW4zC,CAAY,EAC1C,IAAM,CACF,SAAA,oBAAoB,QAAS5zC,CAAW,EACxC,SAAA,oBAAoB,UAAW4zC,CAAY,CAAA,CAExD,CAEIrtH,IAAU,WACZ+sH,EAAY,QAAU,KACxB,EACC,CAAC/sH,CAAK,CAAC,EAENA,IAAU,SACL,OAAA,KAGT,MAAMstH,EAAUttH,IAAU,UAEnB,OAAAo+B,GAAA,aAEHkyD,OAAAoC,EAAAA,SAAA,CAAA,SAAA,CAACt7C,MAAAw2B,GAAA,CAAK,MAAO,CAACxc,GAAO,QAASk8D,GAAWl8D,GAAO,cAAc,EAAG,EAChEha,EAAA,IAAA6lE,GAAA,CAAU,MAAO7rD,GAAO,eACvB,SAAAha,EAAA,IAACmmE,GAAA,CACC,kBAAmB,GACnB,gBAAiB,GACjB,SAAAG,EACA,eAAgB,GAEhB,SAACtmE,EAAA,IAAAw2B,GAAA,CAAK,IAAAlN,EAAU,MAAO,CAACtP,GAAO,MAAOk8D,GAAWl8D,GAAO,YAAY,EACjE,SAAA27D,EAAY,QACf,CAAA,CAAA,EAEJ,CAAA,EACF,EACA,SAAS,IAAA,CAEb,EAYaQ,GAAgD,CAAC,CAC5D,MAAAl9B,EACA,QAAAx1F,EACA,YAAA2yH,EACA,WAAAC,EACA,OAAAlnF,EACA,UAAAmnF,EACA,SAAAC,CACF,IAGMr9B,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAAAt7C,MAACgiC,IAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,SACHI,EAAA,EACAj5C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EACjB/7C,EAAA,IAAAgiC,GAAA,CAAK,QAAQ,QAAS,SAAQv+E,EAAA,EAE/Bu8C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB7C,EAAAA,KAACyC,GAAI,CAAA,UAAU,MACb,SAAA,CAAC37C,EAAAA,IAAAo8C,GAAA,CAAO,QAAQ,UAAU,MAAOpiC,GAAO,cAAe,QAASu8D,EAC7D,SACHF,CAAA,CAAA,EAEAr2E,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,EAElB/7C,EAAAA,IAACo8C,GAAO,CAAA,QAAQ,QAAQ,MAAOpiC,GAAO,cAAe,OAAA7qB,EAAgB,QAASmnF,EAC3E,SACHF,CAAA,CAAA,CAAA,EACF,CACF,CAAA,CAAA,ECxOEI,GAAiB,IACjBC,GAAqB,IAErBz8D,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,MAAO,OACP,kBAAmB,GACnB,gBAAiB,GACjB,cAAe,MACf,WAAY,aACZ,gBAAiB08B,EAAO,QAAQ,GAAG,EACnC,aAAcE,GAAM,CAAC,EACrB,YAAa,EACb,YAAaF,EAAO,QAAQ,GAAG,CACjC,EAEA,YAAa,CACX,MAAO,GACP,OAAQ,GACR,aAAc,EACd,gBAAiBA,EAAO,SAAS,GAAG,EACpC,SAAU,WACV,KAAM,GACN,IAAK,GACL,mBAAoBG,GAAa,GAAG,EACpC,mBAAoB,mBACtB,EACA,mBAAoB,CAClB,UAAW,YACb,EACA,kBAAmB,CACjB,UAAW,cACX,QAAS,CACX,EAEA,cAAe,CACb,kBAAmB,GACnB,gBAAiB,GACjB,gBAAiBH,EAAO,QAAQ,GAAG,EACnC,aAAcE,GAAM,CAAC,CACvB,EAEA,cAAe,CACb,KAAM,CACR,EAEA,QAAS,CACP,OAAQ,IACR,SAAU,WACV,MAAO,GACP,OAAQ,GACR,MAAO,oBACP,SAAU,GACZ,EAEA,aAAc,CACZ,SAAU,WACV,MAAO,EACP,OAAQ,EACR,gBAAiB,gBACjB,mBAAoBC,GAAay9B,EAAc,EAC/C,mBAAoB,qBAEpB,mBAAoB,CAClB,KAAM,CACJ,UAAW,mBACX,QAAS,CACX,EACA,GAAI,CACF,UAAW,gBACX,QAAS,CACX,CACF,EACA,kBAAmBz9B,GAAa,GAAG,CACrC,CACF,CAAC,EAQK29B,GAAqD,CACzD,QAAS99B,EAAO,SAAS,GAAG,EAC5B,MAAOA,EAAO,SAAS,GAAG,EAC1B,KAAMA,EAAO,QAAQ,GAAG,CAC1B,EAEM+9B,GAAsD,CAC1D,QAAS,eACT,MAAO,mBACP,KAAM,aACR,EAQaC,GAA8B,CAAC,CAC1C,QAAAC,EACA,QAAAn7G,EACA,MAAAu9E,EACA,QAAAx1F,EACA,QAAAgyH,EACA,MAAArvE,CACF,IAAM,CACE,MAAAzC,EAAQ+yE,GAAWh7G,CAAO,EAC1Bo7G,EAAWrB,GAAW,KAG1B,OAAAv8B,OAAC1iB,IAAK,IAAKqgD,EAAS,MAAO,CAAC78D,GAAO,UAAW5T,CAAK,EACjD,SAAA,CAAApG,EAAA,IAACyrC,GAAA,CACC,MAAO,CAAC,CAAE,QAAAmB,KAAc,CACtB5yB,GAAO,YACP4yB,GAAW5yB,GAAO,mBAClB,CAAC88D,GAAY98D,GAAO,iBACtB,EACA,SAAU,CAAC88D,EACX,cAAa,CAACA,EACd,QAASrB,EAET,SAAAz1E,EAAAA,IAACg5C,GAAK,CAAA,KAAK,QAAQ,MAAOJ,EAAO,QAAQ,GAAG,EAAG,KAAM,EAAI,CAAA,CAAA,CAC3D,EAEC54C,EAAA,IAAAw2B,GAAA,CAAK,MAAOxc,GAAO,cAClB,SAACha,MAAAg5C,GAAA,CAAK,KAAM29B,GAAUj7G,CAAO,EAAG,MAAAioC,EAAc,KAAM,EAAI,CAAA,EAC1D,EAEA3D,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,EAEjB7C,EAAA,KAAA1iB,GAAA,CAAK,MAAOxc,GAAO,cAClB,SAAA,CAAAha,EAAA,IAACgiC,GAAK,CAAA,QAAQ,QAAQ,MAAAr+B,EACnB,SACHs1C,EAAA,EACCj5C,EAAA,IAAAgiC,GAAA,CAAK,QAAQ,QAAS,SAAQv+E,EAAA,CAAA,EACjC,CACF,CAAA,CAAA,CAEJ,EAEA,IAAIszH,GACAC,GAAc,EAGL,MAAAC,GAASroH,GAAuB,CAC3CmoH,IAAA,MAAAA,GAAYnoH,EACd,EAIasoH,GAAoB,IAAM,CACrC,KAAM,CAACC,EAAQC,CAAS,EAAIvwF,EAAA,SAAyB,CAAE,CAAA,EAEvD58B,EAAAA,UAAU,IAAM,CACd8sH,GAAanoH,GAAU,CACXwoH,EAACtuH,GAAS,CAAC,CAAE,GAAG8F,EAAO,GAAIooH,IAAc,EAAG,GAAGluH,CAAI,CAAC,CAAA,CAElE,EAAG,CAAE,CAAA,EAEC,MAAAuuH,EAAertG,GAAe,CACxBotG,EAACtuH,GAASA,EAAK,OAAQmuH,GAAUA,EAAM,KAAOjtG,CAAE,CAAC,CAAA,EAGtD,OAAAgd,GAAA,aACLgZ,EAAAA,IAACw2B,IAAK,MAAOxc,GAAO,QACjB,SAAOm9D,EAAA,IAAI,CAACF,EAAOhvH,IAClB+3C,EAAA,IAACs3E,GAAA,CAEE,GAAGL,EACJ,SAAUhvH,EACV,SAAUkvH,EAAO,OACjB,QAASE,CAAA,EAJJJ,EAAM,EAMd,CAAA,EACH,EACA,SAAS,IAAA,CAEb,EASMM,GAA0B,EAE1BD,GAA4C,CAAC,CACjD,GAAAttG,EACA,SAAAqjC,EACA,SAAAmqE,EACA,QAAA/B,EACA,GAAG7mH,CACL,IAAM,CACE,MAAA06D,EAAMn6D,SAAoB,IAAI,EAC9B,CAAC+mH,EAASuB,CAAU,EAAI5wF,WAAS,EAAK,EACtC6wF,EAASF,EAAWnqE,EACpBsqE,EAAmB,KAAK,IAAItqE,EAAUkqE,EAAuB,EAC7D/3C,EAAQ,EAAIm4C,EAAmB,IAC/B/+D,EAAYs9D,EACd,mBACA,eAAe,GAAKyB,CAAgB,aAAan4C,CAAK,IACpDj6B,EAAU8H,EAAWkqE,IAA2BrB,EAAU,EAAI,EAE9D0B,EAAevqE,IAAa,EAC5BwqE,EAAgBjpH,EAAM,UAAY,QAElC,CAAC29E,EAASC,CAAU,EAAI3lD,WAAS,EAAK,EAC5CujD,GAAS9gB,EAAK,CACZ,cAAekjB,CAAA,CAChB,EAEK,MAAAsrC,EAAQF,EACV,IAAM,CACJH,EAAW,EAAI,EACf,WAAW,IAAM,CACfhC,EAAQzrG,CAAE,GACTwsG,EAAc,CAEnB,EAAA,OAEJvsH,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI6tH,GAAS,MAAQD,GAAiB,CAACtrC,EAAS,CACxC,MAAAv+E,EAAU,WAAW,IAAM,CAC/BypH,EAAW,EAAI,EACf,WAAW,IAAM,CACfhC,EAAQzrG,CAAE,GACTwsG,EAAc,GAChBC,EAAkB,EAEd,MAAA,IAAM,aAAazoH,CAAO,CACnC,CAAA,EAGC,CAAC8pH,EAAOvrC,CAAO,CAAC,EAGjBvsC,EAAA,IAAC42E,GAAA,CACE,GAAGhoH,EACJ,QAAS06D,EACT,MAAO,CAACtP,GAAO,aAAc,CAAE,OAAA09D,EAAQ,UAAA9+D,EAAW,QAAArT,EAAS,EAC3D,QAASuyE,CAAA,CAAA,CAGf,ECjQaC,GAAgBnO,GACpB,IAAI,QAAQ,CAACtjH,EAASC,IAAW,CAChC,MAAAi6G,EAAS,IAAI,WAEnBA,EAAO,OAAS,IAAM,CACpB,MAAMwX,EAASxX,EAAO,OACtBl6G,EAAQ0xH,CAAM,CAAA,EAGhBxX,EAAO,QAAU,IAAM,CACrBj6G,EAAOi6G,EAAO,KAAK,CAAA,EAGrBA,EAAO,cAAcoJ,CAAI,CAAA,CAC1B,ECZGqO,GAAa,MAAOxyH,EAAamkH,IAAgD,CAC/E,MAAAhlH,EAAO,IAAI,SACZA,EAAA,OAAO,OAAQglH,CAAI,EAElB,MAAAvK,EAAW,MAAM,MAAM55G,EAAK,CAChC,OAAQ,OACR,KAAMb,CAAA,CACP,EAED,OAAIy6G,EAAS,GACJwF,GAAO,GAAG,MAAMxF,EAAS,KAAM,CAAA,EAE/BwF,GAAO,MAAMxF,EAAS,MAAM,CAEvC,EAEa6Y,GAAoBC,GACxBF,GAAW,qBAAsBE,CAAQ,ECdrCC,GAAkB,EAClBC,GAAkB,GAKlBC,GAAiBC,GAA4C,CAGxE,GAAI,CADF,+IACS,KAAKA,CAAK,EACZ,MAAA,CAAE,KAAM,UAEnB,EAEaC,GACXC,GAC4D,CACxD,GAAAA,EAAK,OAASL,GAChB,MAAO,CAAE,KAAM,YAAa,UAAWA,EAAgB,EAErD,GAAAK,EAAK,OAASJ,GAChB,MAAO,CAAE,KAAM,WAAY,UAAWA,EAAgB,EAIxD,GAAI,CADU,mBACH,KAAKI,CAAI,EACX,MAAA,CAAE,KAAM,UAEnB,EAEaC,GACXz0H,GAC4D,CACxD,GAAAA,EAAK,OAASm0H,GAChB,MAAO,CAAE,KAAM,YAAa,UAAWA,EAAgB,EAErD,GAAAn0H,EAAK,OAASo0H,GAChB,MAAO,CAAE,KAAM,WAAY,UAAWA,EAAgB,EAIxD,GAAI,CADU,oBACH,KAAKp0H,CAAI,EACX,MAAA,CAAE,KAAM,UAEnB,ECXM+1D,GAASkC,GAAW,OAAO,CAC/B,iBAAkB,CAChB,kBAAmB,GACnB,gBAAiB,GACjB,cAAe,MACf,WAAY,SACZ,aAAc48B,GAAM,CAAC,EACrB,gBAAiBF,EAAO,QAAQ,GAAG,CACrC,EACA,aAAc,CACZ,gBAAiBA,EAAO,QAAQ,GAAG,CACrC,EAEA,KAAM,CACJ,KAAM,CACR,EAEA,aAAc,CACZ,IAAK,GACL,OAAQ,GACR,MAAO,EACT,CACF,CAAC,EAEK+/B,GAAmBnnB,GACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,CAAC8T,EAAU,CACb,EAEMsT,GAAmBpnB,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAMhC,EAEKqnB,GAAuBrnB,GAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,CAAC,CACH,EAMasnB,GAAiC,CAAC,CAAE,QAAAv7B,KAAc,CACpDD,GAAA59F,EAAE,uBAAuB,EAAG69F,CAAO,EAEtC,KAAA,CACJ,KAAM,CAAE,GAAA9vE,EAAI,QAAAsrG,CAAQ,EACpB,QAASC,CAAA,EACPjU,GAASQ,EAAO,EACd,CAAE,KAAM0T,EAAc,QAAAzjH,EAAS,MAAO0jH,CAAA,EAAuB9T,KAE7D,CAAC+T,EAAoBC,CAAqB,EAAIvyF,WAAS,EAAK,EAC5D,CAACwyF,EAAqBC,CAAsB,EAAIzyF,WAAS,EAAK,EAC9D,CAAC0yF,EAAoBC,CAAqB,EAAI3yF,WAAS,EAAK,EAE5D,CAAE,MAAA4yF,EAAO,eAAAC,EAAgB,WAAAC,EAAY,WAAAC,EAAY,UAAAC,GAAcC,GAAQ,CAC3E,SAAU,CACR,aAAcrsG,EAAG,SACjB,SAAWpgB,GAAUA,EAAM,KAAK,EAChC,SAAWA,GACFjK,GAAMs1H,GAAarrH,CAAK,CAAC,EAC7B,KAAK,CAAE,KAAM,WAAY,EAAG,CAAC,CAAE,UAAA0sH,CAAU,IACxCr6H,EAAE,yCAA0C,CAAE,MAAOq6H,EAAW,CAAA,EAEjE,KAAK,CAAE,KAAM,UAAW,EAAG,CAAC,CAAE,UAAA7E,CAAU,IACvCx1H,EAAE,wCAAyC,CAAE,MAAOw1H,EAAW,CAAA,EAEhE,KAAK,CAAE,KAAM,SAAA,EAAa,IAAMx1H,EAAE,0CAA0C,CAAC,EAC7E,KAAKiC,GAAE,QAAS,IAAM,EAAS,EAC/B,YAEP,EACA,SAAU,CACR,aAAc8rB,EAAG,SACjB,SAAWpgB,GAAUA,EAAM,KAAK,EAChC,SAAU,MAAOA,GAAU,CACzB,MAAM2sH,EAAiB52H,GAAMo1H,GAAanrH,CAAK,CAAC,EAC7C,KAAK,CAAE,KAAM,WAAY,EAAG,CAAC,CAAE,UAAA0sH,CAAU,IACxCr6H,EAAE,wCAAyC,CAAE,MAAOq6H,EAAW,CAAA,EAEhE,KAAK,CAAE,KAAM,UAAW,EAAG,CAAC,CAAE,UAAA7E,CAAU,IACvCx1H,EAAE,uCAAwC,CAAE,MAAOw1H,EAAW,CAAA,EAE/D,KAAK,CAAE,KAAM,SAAA,EAAa,IAAMx1H,EAAE,qCAAqC,CAAC,EACxE,KAAKiC,GAAE,QAAS,IAAM,EAAS,EAC/B,aAEH,GAAIq4H,GAAkB,KACb,OAAAA,EAIH,MAAAhyH,EAAS,MAAM68G,GAAO,YAC1B3C,GAAM,CAAE,SAAUsD,GAAqB,UAAW,CAAE,SAAUn4G,CAAM,EAAG,CAAA,EAGlE,OAAAjK,GAAM4E,CAAM,EAChB,KAAK68G,GAAO,EAAE,GAAG,CAAE,eAAgB,GAAM,EAAG,IAC3CnlH,EAAE,2CAA2C,CAE9C,EAAA,KAAKmlH,GAAO,EAAE,MAAMljH,GAAE,GAAG,EAAG,IAAMjC,EAAE,mCAAmC,CAAC,EACxE,UAAU,IAAM,EAAS,CAC9B,CACF,CAAA,CACD,EAEKu6H,EAAe,IACnBN,EAAYlxE,GAAW,CACrB,GAAI,CAACyxE,GAAezxE,EAAQ,CAAC,WAAY,UAAU,CAAC,EAClD,OAGI,KAAA,CAAE,SAAA0xE,EAAU,SAAAC,CAAa,EAAA3xE,EAE/B,OAAOjzC,EAAQ,SAAY,CACnB,MAAAxN,EAAS,MAAM+E,GAAO4rH,GAAkB,CAC5C,MAAO,CACL,SAAAwB,EACA,SAAAC,CACF,CAAA,CACD,EAED,OAAApyH,EAAO,MAAM,CACX,GAAI,CAAC,CAAE,SAAUylB,KAAS,CACxBu3F,GAAa,CAAE,GAAAv3F,EAAI,QAAAsrG,GAAWxT,EAAO,EACrC,WAAW,IAAM,CACLsU,IACSX,KAClB,GAAI,CACT,EACA,MAAO,IAAM,CACLjC,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,4CAA4C,EACrD,QAASA,EAAE,8CAA8C,CAAA,CAC1D,CACH,CAAA,CACD,EAEMsI,CAAA,CACR,CAAA,CACF,EAEC,OAAAu1F,GAAW,MAAQ07B,EAAa,UAAYA,EAAa,MAAM,OAC1Dj5E,MAACi9C,IAAS,GAAI,GAAGyoB,GAAanoB,CAAO,EAAE,GAAG,uBAAyB,CAAA,EAI1ErE,EAAA,KAACitB,GAAqB,CAAA,SAAU,IAC7B,SAAA,CAAA5oB,GAAW,MAERrE,EAAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAAAt7C,EAAA,IAAC6nE,GAAA,CACC,GAAInC,GAAanoB,CAAO,EAAE,IAC1B,MAAO79F,EAAE,yBAA0B,CAAE,KAAMgmH,GAAanoB,CAAO,EAAE,KAAM,CAAA,CACzE,EAEAv9C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,CAAA,EACrB,EAGF/7C,EAAAA,IAACgiC,IAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,SAAEn5F,EAAA,kBAAkB,CACvB,CAAA,EACAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,QACjB/Z,GAAK,CAAA,QAAQ,OAAQ,SAAAtiF,EAAE,wBAAwB,EAAE,EAElDsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB7C,EAAA,KAAA1iB,GAAA,CAAK,MAAOxc,GAAO,iBAClB,SAAA,CAAAha,MAAC07C,IAAiB,KAAK,OAAO,QAAS,IAAM09B,EAAsB,EAAI,EACrE,SAAAp5E,EAAA,IAACu7C,GAAA,CACC,KAAK,cACL,KAAM9tE,EAAG,SACT,IAAKA,EAAG,UACR,UAAWA,EAAG,SAAA,CAAA,EAElB,EAEAuyB,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,SAEjBvlB,GACC,CAAA,SAAA,CAAAx2B,MAAC05E,GAAe,MAAO,CAAC,WAAY,UAAU,EAC3C,UAAC,CAAE,SAAAS,KACDn6E,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,SAAAshC,EAAS,KACZ,CAAA,EAEJ,EACCn6E,EAAA,IAAAgiC,GAAA,CAAK,QAAQ,OAAQ,WAAG,MAAM,CAAA,EACjC,CAAA,EACF,EAEAhiC,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACy5E,EAAM,CAAA,KAAK,WACT,SAAA,CAAC,CAAE,MAAApsH,EAAO,MAAA9B,EAAO,SAAA+jF,EAAU,OAAA1D,CAC1B,IAAA5rC,EAAA,IAACi1E,GAAA,CACC,MAAOv1H,EAAE,oCAAoC,EAC7C,YAAaA,EAAE,0CAA0C,EACzD,YAAaA,EAAE,0CAA0C,EACzD,gBAAe,GACf,UAAW24H,GACX,MAAAhrH,EACA,MAAA9B,EACA,aAAc+jF,EACd,OAAA1D,CAAA,CAAA,EAGN,EAEA5rC,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACy5E,EAAM,CAAA,KAAK,WACT,SAAA,CAAC,CAAE,MAAApsH,EAAO,MAAA9B,EAAO,WAAA4pH,EAAY,SAAA7lC,EAAU,OAAA1D,CACtC,IAAA5rC,EAAA,IAACi1E,GAAA,CACC,MAAOv1H,EAAE,mCAAmC,EAC5C,YAAaA,EAAE,yCAAyC,EACxD,YAAaA,EAAE,yCAAyC,EACxD,gBAAe,GACf,UAAW24H,GACX,MAAAhrH,EACA,MAAA9B,EACA,WAAA4pH,EACA,aAAc7lC,EACd,OAAA1D,CAAA,CAAA,EAGN,EAEA5rC,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAA,IAACo8C,GAAA,CACC,SAAUw9B,IAAe,YACzB,OAAQX,EACR,UAAU,QACV,QAASgB,EAER,WAAE,2BAA2B,CAAA,CAChC,EAEAj6E,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB7C,EAAA,KAAAyC,GAAA,CAAI,UAAU,MAAM,WAAW,aAC9B,SAAA,CAAA37C,EAAA,IAACi1E,GAAA,CACC,MAAOj7D,GAAO,KACd,MAAOt6D,EAAE,0CAA0C,EACnD,MAAOq5H,EAAQ,cACf,UAAW,EAAA,CACb,EAEA/4E,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,CAAG,CAAA,EAEjB/7C,EAAA,IAACo8C,GAAA,CACC,MAAOpiC,GAAO,aACd,KAAK,QACL,QAAQ,cACR,QAAS,IAAM,CACH,UAAA,UAAU,UAAU++D,EAAQ,aAAa,EAC7C9B,GAAA,CACJ,QAAS,UACT,MAAOv3H,EAAE,2CAA2C,EACpD,QAASA,EAAE,mDAAmD,CAAA,CAC/D,CACH,EACA,KAAK,MAAA,CACP,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,CAAG,CAAA,EAEjB/7C,EAAA,IAACo8C,GAAA,CACC,MAAOpiC,GAAO,aACd,KAAK,QACL,QAAQ,cACR,QAAS,IAAMw/D,EAAsB,EAAI,EACzC,KAAK,QAAA,CACP,CAAA,EACF,EACAx5E,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EAClB/7C,EAAAA,IAACgiC,GAAK,CAAA,QAAQ,QAAQ,MAAO4W,EAAO,QAAQ,GAAG,EAC5C,SAAEl5F,EAAA,gDAAgD,CACrD,CAAA,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAA,IAAC4nE,GAAA,CACC,MAAOloH,EAAE,iCAAiC,EAC1C,YAAaA,EAAE,uCAAuC,CAAA,CACxD,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB/7C,EAAA,IAAAo8C,GAAA,CAAO,QAAQ,WAAW,UAAU,QAAQ,QAAS,IAAMk9B,EAAuB,EAAI,EACpF,SAAA55H,EAAE,kCAAkC,CACvC,CAAA,EAEAsgD,EAAAA,IAACw1E,IACE,SACC2D,EAAAn5E,EAAA,IAACq6E,GAAA,CACC,GAAA5sG,EACA,SAAU,IAAM2rG,EAAsB,EAAK,EAC3C,iBAAkBJ,CAAA,GAElB,IACN,CAAA,EAECh5E,EAAA,IAAAw1E,GAAA,CACE,SACC6D,EAAAr5E,EAAA,IAACs6E,IAAkB,SAAU7sG,EAAG,SAAU,QAAS,IAAM6rG,EAAuB,EAAK,CAAG,CAAA,EACtF,KACN,EAECt5E,EAAA,IAAAw1E,GAAA,CACE,SACC+D,EAAAv5E,EAAAA,IAACu6E,GAAsB,CAAA,GAAA9sG,EAAQ,QAAS,IAAM+rG,EAAsB,EAAK,CAAG,CAAA,EAC1E,IACN,CAAA,CACF,CAAA,CAAA,CAEJ,EAQMa,GAAoD,CAAC,CAAE,GAAA5sG,EAAI,SAAA+sG,EAAU,iBAAAC,KAAuB,CAEhG,MAAMjU,EADa7tB,OACa,SAE1B,CAAE,KAAM+hC,EAAc,OAAQC,GAAW1V,GAAmBiT,EAAgB,EAE5E,CAACtO,EAAMgR,CAAO,EAAI/zF,WAAsB,IAAI,EAC5C,CAACg0F,EAAYC,CAAa,EAAIj0F,WAAwB,IAAI,EAEhE58B,EAAAA,UAAU,IAAM,CACV2/G,GAAQ,KACGmO,GAAAnO,CAAI,EAAE,KAAKkR,CAAa,EAErCA,EAAc,IAAI,CACpB,EACC,CAAClR,CAAI,CAAC,EAET,MAAMqQ,EAAe,SAAY,CAC/B,GAAIrQ,GAAQ,KACV,QAGa,MAAM+Q,EAAO/Q,CAAI,GAEzB,MAAM,CACX,GAAI,IAAM,CACS6Q,IACRD,GACX,EACA,MAAO,IAAM,CACLvD,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,6CAA6C,EACtD,QAASA,EAAE,+CAA+C,CAAA,CAC3D,CACH,CAAA,CACD,CAAA,EAGH,OAEIw5F,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,SAAAn5F,EAAE,yBAAyB,CAC9B,CAAA,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACq0E,IAAU,QAAS7N,EAAU,SAAS,QAAQ,MAAOoD,EAAM,SAAUgR,CAAS,CAAA,EAE/E56E,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB/7C,EAAA,IAAA06C,GAAA,CAAO,SAAEh7F,EAAA,gBAAgB,CAAE,CAAA,EAC5BsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EAElB7C,OAAC1iB,IAAK,MAAO,CAACxc,GAAO,iBAAkBA,GAAO,YAAY,EACxD,SAAA,CAAAha,EAAA,IAACu7C,GAAA,CACC,KAAK,cACL,KAAM9tE,EAAG,SACT,IAAKotG,GAAcptG,EAAG,UACtB,UAAWotG,GAAc,KAAO,OAAYptG,EAAG,SAAA,CACjD,EAEAuyB,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,SAEjBvlB,GACC,CAAA,SAAA,CAAAx2B,EAAAA,IAACgiC,IAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,WAAG,QACN,CAAA,EACAK,OAAClX,IAAK,QAAQ,OAAO,MAAO4W,EAAO,QAAQ,GAAG,EAAG,SAAA,CAAA,IAC7CnrE,EAAG,QAAA,EACP,CAAA,EACF,CAAA,EACF,EAEAuyB,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB7C,EAAA,KAAAyC,GAAA,CAAI,UAAU,MAAM,WAAW,SAC9B,SAAA,CAAA37C,EAAA,IAACo8C,GAAA,CACC,SAAUs+B,EAAa,UAAU,EACjC,QAAQ,UACR,MAAO1gE,GAAO,KACd,QAASwgE,EAER,WAAE,eAAe,CAAA,CACpB,EAEAx6E,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,EAElB/7C,EAAA,IAACo8C,GAAA,CACC,OAAQs+B,EACR,SAAU9Q,GAAQ,KAClB,MAAO5vD,GAAO,KACd,QAASigE,EAER,WAAE,0BAA0B,CAAA,CAC/B,CAAA,EACF,CACF,CAAA,CAAA,CAEJ,EAOMK,GAAsD,CAAC,CAAE,SAAAF,EAAU,QAAA3E,KAAc,CACrF,KAAM,CAAE,KAAMsF,EAAc,QAAAvlH,GAAY4vG,GAAW,EAE7C,CAAE,MAAAqU,EAAO,eAAAC,EAAgB,WAAAC,CAAA,EAAeG,GAAQ,CACpD,SAAU,CACR,aAAc,GACd,SAAWzsH,GAAU,CACnB,GAAIA,IAAU+sH,EAEL,MAAA,EAEX,CACF,CAAA,CACD,EAEKY,EAAgB,IACpBrB,EAAYlxE,GAAW,CACrB,GAAKyxE,GAAezxE,EAAQ,CAAC,UAAU,CAAC,EAIxC,OAAOjzC,EAAQ,SAAY,CACnB,MAAAxN,EAAS,MAAM+E,GAAO6rH,EAAgB,EAE5C,OAAA5wH,EAAO,MAAM,CACX,GAAI,IAAM,CACRoyF,GAAO,KAAK,SAAS,CACvB,EACA,MAAO,IAAM,CACL68B,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,uCAAuC,EAChD,QAASA,EAAE,yCAAyC,CAAA,CACrD,CACH,CAAA,CACD,EAEMsI,CAAA,CACR,CAAA,CACF,EAEH,OAEIkxF,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,SAAAn5F,EAAE,uCAAuC,CAC5C,CAAA,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EAEjB/7C,EAAA,IAAAgiC,GAAA,CAAK,QAAQ,QACX,YAAQ,8CAA+C,CACtD,KAAO30E,GAAW2yC,EAAA,IAAAgiC,GAAA,CAAK,MAAO4W,EAAO,QAAQ,GAAG,EAAI,SAAMvrF,CAAA,CAAA,CAC3D,CAAA,EACH,EAEA2yC,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACy5E,GAAM,KAAK,WACT,UAAC,CAAE,MAAApsH,EAAO,SAAAiiF,EAAU,OAAA1D,CAAA,IACnB5rC,EAAA,IAACi1E,GAAA,CACC,MAAOv1H,EAAE,gDAAgD,EACzD,YAAa06H,EACb,MAAA/sH,EACA,UAAW,GACX,aAAciiF,EACd,OAAA1D,CAAA,CAAA,EAGN,EAEA5rC,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB7C,EAAA,KAAAyC,GAAA,CAAI,UAAU,MAAM,WAAW,SAC9B,SAAA,CAAA37C,EAAA,IAACo8C,GAAA,CACC,SAAU2+B,EAAa,UAAU,EACjC,QAAQ,UACR,MAAO/gE,GAAO,KACd,QAASy7D,EAER,WAAE,eAAe,CAAA,CACpB,EAEAz1E,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,EAElB/7C,EAAAA,IAAC05E,EAAe,CAAA,MAAO,CAAC,UAAU,EAC/B,SAAC,CAAA,CAAE,SAAAU,CAAAA,IACFp6E,EAAA,IAACo8C,GAAA,CACC,OAAQ2+B,EACR,SAAU,CAACX,EAAS,MACpB,MAAOpgE,GAAO,KACd,QAASghE,EAER,WAAE,wCAAwC,CAAA,CAAA,EAGjD,CAAA,EACF,CACF,CAAA,CAAA,CAEJ,EAOMT,GAA8D,CAAC,CAAE,GAAA9sG,EAAI,QAAAgoG,KAAc,CACvF,KAAM,CAAE,KAAMztH,EAAQ,QAAAwN,GAAY4vG,GAAW,EAEvC6V,EAAkB,IACfzlH,EAAQ,SAAY,CACnBxN,MAAAA,EAAS,MAAM+E,GAAO8rH,EAAoB,EAEhD7wH,OAAAA,EAAO,MAAM,CACX,GAAI,CAAC,CAAE,qBAAsB+wH,KAAc,CACzC/T,GAAa,CAAE,GAAAv3F,EAAI,QAAAsrG,CAAQ,EAAGxT,EAAO,EAC7BkQ,GACV,EACA,MAAO,IAAM,CACLwB,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,gDAAgD,EACzD,QAASA,EAAE,kDAAkD,CAAA,CAC9D,CACH,CAAA,CACD,EAEMsI,CAAA,CACR,EAID,OAAAg4C,EAAA,IAACm2E,GAAA,CACC,MAAOz2H,EAAE,0CAA0C,EACnD,QAASA,EAAE,4CAA4C,EACvD,YAAaA,EAAE,4CAA4C,EAC3D,WAAYA,EAAE,eAAe,EAC7B,OAAQsI,EACR,UAAWizH,EACX,SAAUxF,CAAA,CAAA,CAGhB,EC/mBMz7D,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,cAAe,MACf,WAAY,QACd,EACA,MAAO,CACL,WAAY,aACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,MAAO28B,GAAe,MACtB,UAAW,SACX,aAAc,EAEd,MAAO,GACP,OAAQ,GACR,gBAAiBD,EAAO,QAAQ,GAAG,EACnC,YAAa,EACb,YAAaA,EAAO,QAAQ,GAAG,EAC/B,aAAcE,GAAM,CAAC,EACrB,mBAAoBC,GAAa,GAAG,EACpC,mBAAoB,cACtB,EACA,cAAe,CACb,gBAAiBH,EAAO,QAAQ,GAAG,EACnC,MAAOA,EAAO,QAAQ,GAAG,CAC3B,EACA,aAAc,CACZ,YAAaA,EAAO,SAAS,GAAG,CAClC,CACF,CAAC,EAYYsiC,GAAoC,CAAC,CAChD,SAAAC,EACA,MAAA9tH,EACA,QAAA+tH,EACA,UAAAC,EAAY,GACZ,SAAAv4D,EAAW,GACX,SAAAwsB,EACA,WAAAgsC,CACF,IAAM,CACE,MAAAhyD,EAAMn6D,SAAoB,IAAI,EAE9BosH,EAActzH,GAAkB,CACpC,MAAMuzH,EAAYlyD,EAAI,QAChBmyD,EAASD,GAAA,YAAAA,EAAW,iBAAiB,SACrCttF,EAAQutF,GAAA,YAAAA,EAASxzH,GACvBimC,GAAA,MAAAA,EAAO,OAAM,EAGfjkC,OAAAA,EAAAA,UAAU,IAAM,CACVoxH,GACFE,EAAW,CAAC,CAEhB,EAAG,CAAE,CAAA,QAGF/kD,GAAK,CAAA,IAAAlN,EAAU,MAAOtP,GAAO,UAC3B,eAAM,KAAK,CAAE,OAAQmhE,CAAA,CAAU,EAAE,IAAI,CAACxtH,EAAG1F,WACvCqzF,WACE,CAAA,SAAA,CAAArzF,EAAQ,GAAK+3C,EAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAG,EAC/B/7C,EAAA,IAACquC,GAAA,CACC,MAAO,CAACr0B,GAAO,MAAO8I,GAAY9I,GAAO,cAAeohE,GAAWphE,GAAO,YAAY,EACtF,MAAO3sD,EAAMpF,CAAK,GAAK,GACvB,aAAe0tD,GAAS,CAGlB,GAAAA,EAAK,SAAW,EAAG,CACrB,MAAM+lE,EAAWruH,EAAM,MAAM,EAAGA,EAAM,OAAS,CAAC,EAChDiiF,EAASosC,CAAQ,EACNA,EAAAA,EAAS,OAAS,CAAC,EAC9B,MACF,CAGA,MAAM97H,GADWyN,EAAM,MAAM,EAAGpF,CAAK,EAAI0tD,EAAOtoD,EAAM,MAAMpF,EAAQ0tD,EAAK,MAAM,GAC5D,MAAM,EAAGwlE,CAAQ,EACpC7rC,EAAS1vF,CAAC,EAEJ,MAAA+7H,EAAY1zH,EAAQ0tD,EAAK,OAG3BgmE,EAAYR,EACdI,EAAWI,CAAS,GAGpBJ,EAAWJ,EAAW,CAAC,EACZG,IAEf,EACA,aAAa,aACb,gBAAgB,cAChB,aAAa,OACb,kBAAmB,EAAA,CACrB,CAAA,GAlCarzH,CAmCf,CACD,CACH,CAAA,CAEJ,EC9GM+xD,GAASkC,GAAW,OAAO,CAC/B,eAAgB,CACd,QAAS,EACT,aAAc48B,GAAM,CAAC,CACvB,EAEA,UAAW,CACT,gBAAiBF,EAAO,QAAQ,GAAG,EACnC,aAAcE,GAAM,CAAC,CACvB,CACF,CAAC,EAQY8iC,GAAO,CAAC,CAAE,YAAAC,EAAa,SAAA3iH,EAAU,MAAAktC,KAE1CpG,EAAA,IAACw2B,GAAA,CACC,MAAO,CACLxc,GAAO,eACP6hE,GAAe,KACX,CACE,gBAAiB,2BAA2BjjC,EAAOijC,CAAW,EAAE,GAAG,CAAC,wBAAA,EAEtE,CACE,gBAAiBjjC,EAAO,QAAQ,GAAG,CACrC,CACN,EAEA,SAAA54C,EAAAA,IAACw2B,IAAK,MAAO,CAACxc,GAAO,UAAW5T,CAAK,EAAI,SAAAltC,EAAS,CAAA,CAAA,ECFlD8gD,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,kBAAmB,GACnB,gBAAiB,GACjB,UAAW,GACb,EAEA,UAAW,CACT,OAAQ,EACR,KAAM,EACN,gBAAiB08B,EAAO,QAAQ,GAAG,CACrC,CACF,CAAC,EAEKkjC,GAAa,MAAOvD,GAAoD,CAG5EloB,GAAQ,OAAO,WAAW,EAE1B,MAAMgC,EAAWb,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMxB,EAED,OAAOqT,GAAO,YACZ3C,GAAM,CACJ,SAAA7P,EACA,UAAW,CACT,MAAAkmB,EACA,OAAQpyD,GAAO,kBAAkB,CACnC,CAAA,CACD,EAAE,KAAK,CAAC,CAAE,OAAA41D,CAAO,IAAMA,EAAO,EAAE,CAAA,CAErC,EAEMC,GAAa,MACjBC,EACA1D,EACA2D,EAAY,KACyB,CACjC,GAAA,CACI,MAAAl0H,EAAS,MAAMi0H,EAAU,OAAO,CACpC,SAAU,aACV,WAAY1D,CAAA,CACb,EAEG,GAAAvwH,EAAO,SAAW,qBACb,OAAA68G,GAAO,GAAG0T,CAAK,EAGxB,MAAM,IAAI,MAAMvwH,EAAO,QAAU,SAAS,QACnCuD,EAAO,CAEd,OAAI2wH,GACIjF,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,+BAA+B,EACxC,QAASA,EAAE,qCAAqC,CAAA,CACjD,EACMmlH,GAAO,MAAMt5G,CAAK,IAGN,MAAMuwH,GAAWvD,CAAK,GAEvB,MAAM,CACxB,GAAI,IAAMyD,GAAWC,EAAW1D,EAAO,EAAI,EAC3C,MAAQhtH,GAAU,QAAQ,QAAQs5G,GAAO,MAAMt5G,CAAK,CAAC,CAAA,CACtD,CACH,CACF,EAEM4wH,GACJ,CAACF,EAA2BG,IAC5B,MAAOC,GAAmE,CACpE,GAAA,CACI,MAAAr0H,EAAS,MAAMi0H,EAAU,mBAAmB,CAChD,SAAU,aACV,KAAMI,CAAA,CACP,EAEK,CAAE,OAAAltF,EAAQ,iBAAAmtF,CAAqB,EAAAt0H,EAEjC,OAAAmnC,IAAW,YAAcmtF,GAAoB,MACzCrF,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,mCAAmC,EAC5C,QAASA,EAAE,yCAAyC,CAAA,CACrD,EACMmlH,GAAO,MAAM11E,GAAU,SAAS,IAGzC,MAAMitF,EAAU,CAAE,QAASE,CAAkB,CAAA,EAEtCzX,GAAO,GAAGyX,CAAgB,SAC1B/wH,EAAO,CACR,OAAA0rH,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,mCAAmC,EAC5C,QAASA,EAAE,yCAAyC,CAAA,CACrD,EACD,QAAQ,MAAM6L,CAAK,EACZs5G,GAAO,MAAM,SAAS,CAC/B,CACF,EAQI0X,GAAsD,CAAC,CAC3D,SAAAzvH,EACA,WAAA0vH,EACA,SAAAtjH,CACF,IAAM,CACE,KAAA,CAAE,OAAAujH,GAAWt+G,KACb,CAAE,OAAQu+G,EAAQ,KAAMC,CAAa,EAAI1X,GAAmB,SAAY,CACxE,GAAA,CACF,MAAM2X,EAAsBx5H,GAAMo5H,CAAU,EACzC,KAAK76H,GAAE,QAAS,IAAM,OAAO,SAAS,MAAM,EAC5C,KAAKA,GAAE,OAAO,WAAW,GAAG,EAAI8rE,GAAS,OAAO,SAAS,OAASA,CAAI,EACtE,KAAK9rE,GAAE,OAAO,WAAW,MAAM,EAAI8D,GAAQA,CAAG,EAC9C,UAAWgoE,GAAS,OAAO,SAAS,OAAS,IAAMA,CAAI,EAE1D,aAAMgvD,GAAA,YAAAA,EAAQ,yBAAyB,CACrC,SAAU,SAAS3vH,CAAQ,GAC3B,YAAa,OAAO,SAAS,OAASstF,GAAO,kBAAkB,CAAE,YAAaoiC,EAAY,EAC1F,oBAAAI,EACA,eAAgB,CACd,OAAAz2D,EACF,CAAA,IAGK0+C,GAAO,GAAG,MAAS,QACnBt5G,EAAO,CACd,eAAQ,MAAMA,CAAK,EACb0rH,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,+BAA+B,EACxC,QAASA,EAAE,qCAAqC,CAAA,CACjD,EACMmlH,GAAO,MAAMt5G,CAAK,CAC3B,CAAA,CACD,EAED,aACGyxF,GAAc,CAAA,SAAAlwF,EAAoB,OAAQ6vH,EAAc,QAASD,EAC/D,SAAAxjH,CACH,CAAA,CAEJ,EASM2jH,GAAsC,CAAC,CAC3C,QAAAt/B,EACA,gBAAAu/B,EACA,gBAAAC,EACA,UAAA70D,CACF,IAAM,CACJ,KAAM,CAAE,OAAQw0D,EAAQ,KAAMC,CAAiB,EAAA1X,GAAoBsT,GACjEyD,GAAWc,EAAiBvE,CAAK,CAAA,EAG7B,CAAE,MAAAkB,EAAO,WAAAE,CAAW,EAAIG,GAAQ,CACpC,MAAO,CACL,aAAc,GACd,SAAWzsH,GAAU,CACf,GAAAirH,GAAcjrH,CAAK,GAAK,KAC1B,OAAO3N,EAAE,kCAAkC,CAE/C,CACF,CAAA,CACD,EAEKu6H,EAAe,IACnBN,EACE,MAAOlxE,GAAW,CACZyxE,GAAezxE,EAAQ,CAAC,OAAO,CAAC,IACnB,MAAMi0E,EAAOj0E,EAAO,KAAK,GAC7B,QACTyf,EAAUzf,EAAO,KAAK,CAG5B,EACA,CAAC,CAAE,MAAA8vE,CAAA,IAAY,CACTA,GAAS,MACLtB,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,kCAAkC,EAC3C,QAASA,EAAE,wCAAwC,CAAA,CACpD,CAEL,CAAA,EAGJ,OAEKw5F,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAAAl4F,GAAMm6F,CAAO,EACX,KAAK,SAAU,IAAMv9C,EAAAA,IAACm5C,GAAK,CAAA,KAAK,cAAc,MAAO,IAAK,OAAQ,EAAI,CAAA,CAAE,EACxE,KAAKx3F,GAAE,QAAS,IAAMq+C,EAAAA,IAACm5C,GAAK,CAAA,KAAK,mBAAmB,MAAO,IAAK,OAAQ,EAAI,CAAA,CAAE,EAC9E,WAAW,EAEdn5C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACgiC,IAAK,QAAQ,OAAO,MAAO6W,GAAe,MACxC,SAAEn5F,EAAA,cAAc,CACnB,CAAA,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,QACjB/Z,GAAK,CAAA,QAAQ,QAAS,SAAAtiF,EAAE,oBAAoB,EAAE,EAC/CsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB7C,EAAA,KAAC,OAAA,CACC,SAAWviD,GAAU,CACnBA,EAAM,eAAe,EACRsjF,GACf,EAEA,SAAA,CAACj6E,EAAAA,IAAAy5E,EAAA,CAAM,KAAK,QACT,SAAA,CAAC,CAAE,MAAApsH,EAAO,MAAA9B,EAAO,SAAA+jF,EAAU,OAAA1D,CAC1B,IAAA5rC,EAAA,IAACi1E,GAAA,CACC,KAAM,GACN,YAAY,0BACZ,aAAa,gBACb,MAAA5nH,EACA,MAAA9B,EACA,UAAW,GACX,aAAc+jF,EACd,OAAA1D,CAAA,CAAA,EAGN,EAEA5rC,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACo8C,IAAO,OAAQugC,EAAc,QAAS1C,EACpC,SAAAv6H,EAAE,eAAe,EACpB,CAAA,CAAA,CACF,EAEAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,SAElBJ,GAAI,CAAA,KAAK,YAAY,UAAU,MAAM,WAAW,SAC/C,SAAA,CAAC37C,EAAAA,IAAAw2B,GAAA,CAAK,MAAOxc,GAAO,SAAW,CAAA,EAC/Bha,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,QACjB/Z,GAAK,CAAA,QAAQ,YAAa,SAAAtiF,EAAE,WAAW,EAAE,EAC1CsgD,EAAAA,IAAC+7C,GAAM,CAAA,MAAO,EAAI,CAAA,EACjB/7C,EAAAA,IAAAw2B,GAAA,CAAK,MAAOxc,GAAO,SAAW,CAAA,CAAA,EACjC,EAEAha,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAEnB/7C,EAAAA,IAACu8E,IAAkB,SAAS,SAAS,WAAYQ,EAC9C,SAAAr9H,EAAE,4BAA4B,EACjC,EACAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EACnB/7C,EAAAA,IAACu8E,IAAkB,SAAS,YAAY,WAAYQ,EACjD,SAAAr9H,EAAE,+BAA+B,EACpC,EACAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EACnB/7C,EAAAA,IAACu8E,IAAkB,SAAS,SAAS,WAAYQ,EAC9C,SAAAr9H,EAAE,4BAA4B,EACjC,CACF,CAAA,CAAA,CAEJ,EAMMs9H,GAAgD,CAAC,CAAE,QAAA76C,KAAc,CACrE,KAAM,CAAC7sE,EAAO2nH,CAAQ,EAAIp2F,WAAS,EAAE,EAErC58B,EAAAA,UAAU,IAAM,CACR,MAAAsL,EAAW,YAAY,IAAM,CACjC0nH,EAAUn0H,GAAUA,EAAO,EAAIA,EAAO,EAAIA,CAAK,GAC9C,GAAI,EAEA,MAAA,IAAM,cAAcyM,CAAQ,CACrC,EAAG,CAAE,CAAA,EAEL,MAAM2nH,EAAc,IAAM,CACxBD,EAAS,EAAE,EACH96C,GAAA,EAGV,OACGniC,EAAA,IAAAyrC,GAAA,CAAU,SAAUn2E,EAAQ,EAAG,QAAS4nH,EACvC,SAAChkC,EAAA,KAAAlX,GAAA,CAAK,QAAQ,QAAQ,MAAO4W,EAAO,QAAQ,GAAG,EAC5C,SAAA,CAAAl5F,EAAE,sBAAsB,EACxB4V,EAAQ,GAAK,KAAKA,CAAK,GAAA,CAC1B,CAAA,CACF,CAAA,CAEJ,EASM6nH,GAAkC,CAAC,CACvC,gBAAAL,EACA,UAAAV,EACA,MAAA7D,EACA,aAAA6E,EAAe,EACjB,IAAM,CACJ,KAAM,CAAE,OAAQV,EAAQ,KAAMC,CAAiB,EAAA1X,GAC7CkX,GAAYW,EAAiBV,CAAS,CAAA,EAGlC,CAAE,MAAA3C,EAAO,WAAAE,CAAW,EAAIG,GAAQ,CACpC,IAAK,CACH,aAAcsD,CAChB,CAAA,CACD,EAEKnD,EAAe,IACnBN,EACGlxE,GAAW,CACNyxE,GAAezxE,EAAQ,CAAC,KAAK,CAAC,GAChCi0E,EAAOj0E,EAAO,GAAG,CAErB,EACA,CAAC,CAAE,IAAA4zE,CAAA,IAAU,CACPA,GAAO,MACHpF,GAAA,CACJ,QAAS,QACT,MAAOv3H,EAAE,iCAAiC,EAC1C,QAASA,EAAE,uCAAuC,CAAA,CACnD,CAEL,CAAA,EAGE29H,EAAY,IAAM,CAEXrB,GAAAc,EAAiBvE,EAAO,EAAS,CAAA,EAU1C,OAPJtuH,EAAAA,UAAU,IAAM,CACV6yH,EAAgB,SAAW,sBAAwBM,IAAiB,IACzDnD,GAGjB,EAAG,CAAE,CAAA,EAED6C,EAAgB,SAAW,2BACrB7/B,GAAS,CAAA,GAAI7C,GAAO,cAAe,QAAO,EAAC,CAAA,EAKjDlB,EAAA,KAAAoC,WAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAAgiC,GAAA,CAAK,QAAQ,SAAS,MAAO6W,GAAe,MAC1C,SAAAn5F,EAAE,qBAAqB,CAC1B,CAAA,EACAsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,QACjB/Z,GAAK,CAAA,QAAQ,QAAS,SAAAtiF,EAAE,2BAA2B,EAAE,EAEtDsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,EAElB7C,EAAA,KAAAyC,GAAA,CAAI,UAAU,MAAM,WAAW,SAC9B,SAAA,CAAC37C,EAAAA,IAAAy5E,EAAA,CAAM,KAAK,MACT,SAAA,CAAC,CAAE,MAAApsH,EAAO,SAAAiiF,CAAA,IAEPtvC,EAAAA,IAAAs7C,EAAAA,SAAA,CAAA,SAAAt7C,EAAA,IAACk7E,GAAA,CACC,SAAU,EACV,MAAA7tH,EACA,QAAS,GACT,SAAUsvH,EAAa,UAAU,EACjC,UAAW,GACX,SAAArtC,EACA,WAAY2qC,CAAA,GAEhB,CAEJ,CAAA,EAEC0C,EAAa,UAAU,GAEpBzjC,EAAA,KAAAoC,EAAA,SAAA,CAAA,SAAA,CAACt7C,EAAAA,IAAA+7C,GAAA,CAAM,MAAO,EAAI,CAAA,EAClB/7C,MAACwiC,IAAkB,KAAK,QAAQ,MAAOoW,EAAO,QAAQ,GAAG,EAAG,CAAA,EAC9D,CAAA,EAEJ,EAEA54C,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,EAAI,CAAA,QAElB/Z,GAAK,CAAA,QAAQ,YAAa,SAAAtiF,EAAE,4BAA4B,EAAE,EAC3DsgD,EAAAA,IAAC+7C,GAAM,CAAA,OAAQ,CAAG,CAAA,EAClB/7C,EAAAA,IAACg9E,GAAe,CAAA,QAASK,CAAW,CAAA,CACtC,CAAA,CAAA,CAEJ,EAOaC,GAAwC,CAAC,CAAE,QAAA//B,EAAS,WAAAi/B,KAAiB,CACvEl/B,GAAA59F,EAAE,mBAAmB,EAAG69F,CAAO,EAExC,MAAM/J,EAAQ4G,GAAO,SAAS,CAAC,cAAe,qBAAsB,mBAAmB,CAAC,EAClF,CAAE,OAAQ0iC,EAAiB,UAAAV,EAAW,SAAAh8C,CAAA,EAAaniE,KACnD,CAAE,WAAAs/G,GAAehgH,KAEvB,OAAK6iE,EAIDm9C,EACKv9E,MAACi9C,IAAS,GAAIu/B,GAAcpiC,GAAO,QAAS,QAAO,EAAC,CAAA,GAGzD5G,GAAA,YAAAA,EAAO,QAAS,oBAEhBxzC,EAAA,IAACrhC,GAAA,CACC,0BAA2B69G,EAC3B,0BAA2BA,CAAA,CAAA,EAM/Bx8E,EAAA,IAACmmE,GAAA,CACC,kBAAmB,GACnB,gBAAiB,GACjB,SAAU,IACV,eAAgB,GAEhB,SAACnmE,EAAA,IAAA47E,GAAA,CAAK,MAAO5hE,GAAO,UACjB,SAAA52D,GAAMowF,CAAK,EACT,KAAK,CAAE,KAAM,eAAiB,IAC7BxzC,EAAA,IAAC68E,GAAA,CACC,QAAAt/B,EACA,gBAAAu/B,EACA,gBAAiBN,EACjB,UAAYjE,GACVn+B,GAAO,KAAK,qBAAsB,CAChC,MAAAm+B,EACA,SAAUh7B,EACV,YAAai/B,CAAA,CACd,CAAA,CAGN,CAAA,EACA,KACC,CAAE,KAAM,qBAAsB,OAAQ,CAAE,MAAO76H,GAAE,OAAS,EAC1D,CAAC,CAAE,OAAQ,CAAE,MAAA42H,EAAO,IAAA8D,CAAA,CAClB,IAAAr8E,EAAA,IAACm9E,GAAA,CACC,gBAAAL,EACA,UAAAV,EACA,MAAA7D,EACA,aAAc8D,CAAA,CAChB,CAGH,EAAA,UAAU,IACTr8E,MAACi9C,GAAS,CAAA,GAAI7C,GAAO,YAAe,EAAA,QAAO,EAAC,CAAA,CAC7C,CACL,CAAA,CAAA,CAAA,QArDM+sB,GAAY,CAAA,CAAA,CAwDxB,EC1faqW,GAAoB,IAAM,CAC/B,KAAA,CAAE,QAAAx/G,GAAYT,KAEpBtT,OAAAA,EAAAA,UAAU,IAAM,CACN+T,EAAA,EAAE,KAAK,IAAM,CACnB4hC,GAAY,MAAM,CAAA,CACnB,CAAA,CACF,EAEM,IACT,ECDAsoE,KAEO,MAAMuV,GAAgB,IAAM,CACjC,KAAM,CAAE,SAAAr9C,EAAU,WAAAm9C,CAAW,EAAIhgH,GAAQ,EACnCi2E,EAAQ4G,GAAO,SAAS,CAAC,aAAc,SAAS,CAAC,EAEvD,OAAKha,EAIEh9E,GAAM,CAAE,WAAAm6H,EAAY,MAAA/pC,CAAA,CAAO,EAC/B,KACC,CAAE,MAAO,CAAE,KAAM,aAAe,EAChC,CAAC,CACC,MAAO,CACL,OAAQ,CAAE,SAAAkqC,EAAU,YAAAC,CAAY,CAClC,CAAA,UACKL,GAAW,CAAA,QAAS3X,GAAoB+X,CAAQ,EAAG,WAAYC,EAAa,GAEpF,KAAK,CAAE,WAAY,IAAS,IAAM,CACjC,MAAMl4H,EAAM,OAAO,SAAS,SAAW,OAAO,SAAS,OACjD+2H,EAAa/2H,IAAQ20F,GAAO,WAAa30F,IAAQ,IAAM,OAAYA,EAClE,OAAAu6C,MAACi9C,IAAS,GAAI7C,GAAO,YAAY,CAAE,YAAaoiC,EAAY,CAAG,CAAA,CAAA,CACvE,EACA,KAAK,CAAE,MAAO,CAAE,KAAM,SAAU,CAAA,EAAK,IAAMx8E,EAAAA,IAACw9E,KAAQ,CAAE,EACtD,UAAU,IAAMx9E,EAAAA,IAAC49E,IAAY,CAAA,CAAE,QAlBxBzW,GAAY,CAAA,CAAA,CAmBxB,EAEMyW,GAAwB,IAAM,CAClC,MAAMpqC,EAAQ4G,GAAO,SAAS,CAAC,WAAW,CAAC,EAErCmD,EAAUooB,GAAoBnyB,GAAA,YAAAA,EAAO,OAAO,QAAQ,EAE1D,aACGk0B,GAAU,CAAA,QAAAnqB,EACR,SAAMn6F,GAAAowF,CAAK,EACT,KAAK,CAAE,KAAM,WAAA,EAAe,IAAMxzC,EAAAA,IAAC84E,GAAc,CAAA,QAAAv7B,CAAkB,CAAA,CAAE,EACrE,KAAK57F,GAAE,QAAS,IACdq+C,MAAAi9C,GAAA,CAAS,QAAS,GAAM,GAAI7C,GAAO,UAAU,CAAE,SAAUmD,CAAS,CAAA,CAAG,CAAA,CACvE,EACA,WACL,CAAA,CAAA,CAEJ,ECzCMvjC,GAASkC,GAAW,OAAO,CAC/B,UAAW,CACT,gBAAiB08B,EAAO,QAAQ,GAAG,EACnC,MAAO,MACT,CACF,CAAC,EAGKlkC,GAA2B,SAAS,eAAe,MAAM,EAE/DmpE,GAAS,WAAWnpE,EAAQ,EAAE,OAC3BwkC,EAAA,KAAA1iB,GAAA,CAAK,MAAOxc,GAAO,UAClB,SAAA,CAAAha,MAAC04C,GACC,CAAA,SAAAQ,EAAAA,KAACp5C,GAAoB,CAAA,OAAQF,GAC3B,SAAA,CAAAI,MAACsnE,IAAc,SAAU,CAACG,EAAOl8G,UAAWy7G,GAAU,CAAA,WAAYS,EAAO,MAAAl8G,CAAc,CAAA,EACrF,SAACy0C,MAAA2nE,EAAAA,SAAA,CAAS,SAAU3nE,EAAA,IAACmnE,KAAY,EAC/B,SAAAnnE,EAAA,IAACnS,GAAA,CACC,eAAgB,MAAM,sBACtB,uBAAwB,CAAC,yBAA0B,yBAAyB,EAE5E,eAAC4vF,GAAI,EAAA,CAAA,GAET,CACF,CAAA,EACAz9E,EAAAA,IAAC89E,GAAmB,CAAA,cAAe,EAAO,CAAA,CAAA,CAAA,CAC5C,CACF,CAAA,QACC5G,GAAQ,EAAA,CAAA,EACX,CACF","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,174,175,176,177,178,179,180,181,182,183,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,278,279,280,281,282,283,284,285,286,287]}