react-relay 17.0.0 → 18.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/ReactRelayContainerUtils.js.flow +2 -2
  2. package/ReactRelayContext.js +1 -1
  3. package/ReactRelayContext.js.flow +1 -1
  4. package/ReactRelayFragmentContainer.js.flow +2 -2
  5. package/ReactRelayPaginationContainer.js.flow +2 -2
  6. package/ReactRelayQueryRenderer.js.flow +1 -1
  7. package/ReactRelayQueryRendererContext.js.flow +1 -1
  8. package/ReactRelayRefetchContainer.js.flow +2 -2
  9. package/ReactRelayTypes.js.flow +45 -18
  10. package/__flowtests__/ReactRelayFragmentContainer-flowtest.js.flow +2 -2
  11. package/buildReactRelayContainer.js.flow +6 -5
  12. package/hooks.js +1 -1
  13. package/index.js +1 -1
  14. package/legacy.js +1 -1
  15. package/lib/relay-hooks/getConnectionState.js +47 -0
  16. package/lib/relay-hooks/legacy/FragmentResource.js +2 -6
  17. package/lib/relay-hooks/loadEntryPoint.js +8 -5
  18. package/lib/relay-hooks/loadQuery.js +2 -14
  19. package/lib/relay-hooks/readFragmentInternal.js +2 -4
  20. package/lib/relay-hooks/useEntryPointLoader.js +5 -8
  21. package/lib/relay-hooks/useFragment.js +4 -7
  22. package/lib/relay-hooks/useFragmentInternal.js +6 -484
  23. package/lib/relay-hooks/useFragmentInternal_CURRENT.js +477 -0
  24. package/lib/relay-hooks/useFragmentInternal_EXPERIMENTAL.js +499 -0
  25. package/lib/relay-hooks/useLazyLoadQuery.js +2 -5
  26. package/lib/relay-hooks/useLoadMoreFunction.js +10 -43
  27. package/lib/relay-hooks/useLoadMoreFunction_EXPERIMENTAL.js +130 -0
  28. package/lib/relay-hooks/usePreloadedQuery.js +6 -9
  29. package/lib/relay-hooks/useQueryLoader.js +9 -3
  30. package/lib/relay-hooks/useQueryLoader_EXPERIMENTAL.js +120 -0
  31. package/multi-actor/ActorChange.js.flow +1 -1
  32. package/package.json +3 -3
  33. package/react-relay-hooks.js +2 -2
  34. package/react-relay-hooks.min.js +2 -2
  35. package/react-relay-legacy.js +1 -1
  36. package/react-relay-legacy.min.js +1 -1
  37. package/react-relay.js +2 -2
  38. package/react-relay.min.js +2 -2
  39. package/relay-hooks/EntryPointTypes.flow.js.flow +35 -12
  40. package/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js.flow +8 -4
  41. package/relay-hooks/MatchContainer.js.flow +1 -1
  42. package/relay-hooks/ProfilerContext.js.flow +1 -1
  43. package/relay-hooks/__flowtests__/EntryPointTypes/ExtractQueryTypes-flowtest.js.flow +43 -0
  44. package/relay-hooks/getConnectionState.js.flow +97 -0
  45. package/relay-hooks/legacy/FragmentResource.js.flow +2 -13
  46. package/relay-hooks/loadEntryPoint.js.flow +10 -4
  47. package/relay-hooks/loadQuery.js.flow +4 -28
  48. package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +4 -1
  49. package/relay-hooks/readFragmentInternal.js.flow +1 -10
  50. package/relay-hooks/useEntryPointLoader.js.flow +3 -4
  51. package/relay-hooks/useFragment.js.flow +0 -5
  52. package/relay-hooks/useFragmentInternal.js.flow +19 -643
  53. package/relay-hooks/useFragmentInternal_CURRENT.js.flow +656 -0
  54. package/relay-hooks/useFragmentInternal_EXPERIMENTAL.js.flow +718 -0
  55. package/relay-hooks/useLazyLoadQuery.js.flow +0 -5
  56. package/relay-hooks/useLoadMoreFunction.js.flow +14 -80
  57. package/relay-hooks/useLoadMoreFunction_EXPERIMENTAL.js.flow +280 -0
  58. package/relay-hooks/usePaginationFragment.js.flow +1 -1
  59. package/relay-hooks/usePreloadedQuery.js.flow +0 -5
  60. package/relay-hooks/useQueryLoader.js.flow +28 -5
  61. package/relay-hooks/useQueryLoader_EXPERIMENTAL.js.flow +253 -0
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
5
+ var getConnectionState = require('./getConnectionState');
6
+ var useIsMountedRef = require('./useIsMountedRef');
7
+ var useIsOperationNodeActive = require('./useIsOperationNodeActive');
8
+ var useRelayEnvironment = require('./useRelayEnvironment');
9
+ var invariant = require('invariant');
10
+ var _require = require('react'),
11
+ useCallback = _require.useCallback,
12
+ useRef = _require.useRef,
13
+ useState = _require.useState;
14
+ var _require2 = require('relay-runtime'),
15
+ fetchQuery = _require2.__internal.fetchQuery,
16
+ createOperationDescriptor = _require2.createOperationDescriptor,
17
+ getPaginationVariables = _require2.getPaginationVariables,
18
+ getRefetchMetadata = _require2.getRefetchMetadata,
19
+ getSelector = _require2.getSelector;
20
+ var warning = require("fbjs/lib/warning");
21
+ function useLoadMoreFunction_EXPERIMENTAL(args) {
22
+ var direction = args.direction,
23
+ fragmentNode = args.fragmentNode,
24
+ fragmentRef = args.fragmentRef,
25
+ fragmentIdentifier = args.fragmentIdentifier,
26
+ fragmentData = args.fragmentData,
27
+ connectionPathInFragmentData = args.connectionPathInFragmentData,
28
+ paginationRequest = args.paginationRequest,
29
+ paginationMetadata = args.paginationMetadata,
30
+ componentDisplayName = args.componentDisplayName,
31
+ observer = args.observer,
32
+ onReset = args.onReset;
33
+ var environment = useRelayEnvironment();
34
+ var _getRefetchMetadata = getRefetchMetadata(fragmentNode, componentDisplayName),
35
+ identifierInfo = _getRefetchMetadata.identifierInfo;
36
+ var identifierValue = (identifierInfo === null || identifierInfo === void 0 ? void 0 : identifierInfo.identifierField) != null && fragmentData != null && typeof fragmentData === 'object' ? fragmentData[identifierInfo.identifierField] : null;
37
+ var fetchStatusRef = useRef({
38
+ kind: 'none'
39
+ });
40
+ var _useState = useState(environment),
41
+ mirroredEnvironment = _useState[0],
42
+ setMirroredEnvironment = _useState[1];
43
+ var _useState2 = useState(fragmentIdentifier),
44
+ mirroredFragmentIdentifier = _useState2[0],
45
+ setMirroredFragmentIdentifier = _useState2[1];
46
+ var isParentQueryActive = useIsOperationNodeActive(fragmentNode, fragmentRef);
47
+ var forceDisposeFn = useCallback(function () {
48
+ if (fetchStatusRef.current.kind === 'fetching') {
49
+ fetchStatusRef.current.subscription.unsubscribe();
50
+ }
51
+ fetchStatusRef.current = {
52
+ kind: 'none'
53
+ };
54
+ }, []);
55
+ var shouldReset = environment !== mirroredEnvironment || fragmentIdentifier !== mirroredFragmentIdentifier;
56
+ if (shouldReset) {
57
+ forceDisposeFn();
58
+ onReset();
59
+ setMirroredEnvironment(environment);
60
+ setMirroredFragmentIdentifier(fragmentIdentifier);
61
+ }
62
+ var _getConnectionState = getConnectionState(direction, fragmentNode, fragmentData, connectionPathInFragmentData),
63
+ cursor = _getConnectionState.cursor,
64
+ hasMore = _getConnectionState.hasMore;
65
+ var isMountedRef = useIsMountedRef();
66
+ var loadMore = useCallback(function (count, options) {
67
+ var onComplete = options === null || options === void 0 ? void 0 : options.onComplete;
68
+ if (isMountedRef.current !== true) {
69
+ process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Unexpected fetch on unmounted component for fragment ' + '`%s` in `%s`. It looks like some instances of your component are ' + 'still trying to fetch data but they already unmounted. ' + 'Please make sure you clear all timers, intervals, ' + 'async calls, etc that may trigger a fetch.', fragmentNode.name, componentDisplayName) : void 0;
70
+ return {
71
+ dispose: function dispose() {}
72
+ };
73
+ }
74
+ var fragmentSelector = getSelector(fragmentNode, fragmentRef);
75
+ if (fetchStatusRef.current.kind === 'fetching' || fragmentData == null || isParentQueryActive) {
76
+ if (fragmentSelector == null) {
77
+ process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Unexpected fetch while using a null fragment ref ' + 'for fragment `%s` in `%s`. When fetching more items, we expect ' + "initial fragment data to be non-null. Please make sure you're " + 'passing a valid fragment ref to `%s` before paginating.', fragmentNode.name, componentDisplayName, componentDisplayName) : void 0;
78
+ }
79
+ if (onComplete) {
80
+ onComplete(null);
81
+ }
82
+ return {
83
+ dispose: function dispose() {}
84
+ };
85
+ }
86
+ !(fragmentSelector != null && fragmentSelector.kind !== 'PluralReaderSelector') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected to be able to find a non-plural fragment owner for ' + "fragment `%s` when using `%s`. If you're seeing this, " + 'this is likely a bug in Relay.', fragmentNode.name, componentDisplayName) : invariant(false) : void 0;
87
+ var parentVariables = fragmentSelector.owner.variables;
88
+ var fragmentVariables = fragmentSelector.variables;
89
+ var extraVariables = options === null || options === void 0 ? void 0 : options.UNSTABLE_extraVariables;
90
+ var baseVariables = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, parentVariables), fragmentVariables);
91
+ var paginationVariables = getPaginationVariables(direction, count, cursor, baseVariables, (0, _objectSpread2["default"])({}, extraVariables), paginationMetadata);
92
+ if (identifierInfo != null) {
93
+ if (typeof identifierValue !== 'string') {
94
+ process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Expected result to have a string ' + '`%s` in order to refetch, got `%s`.', identifierInfo.identifierField, identifierValue) : void 0;
95
+ }
96
+ paginationVariables[identifierInfo.identifierQueryVariableName] = identifierValue;
97
+ }
98
+ var paginationQuery = createOperationDescriptor(paginationRequest, paginationVariables, {
99
+ force: true
100
+ });
101
+ fetchQuery(environment, paginationQuery).subscribe((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, observer), {}, {
102
+ start: function start(subscription) {
103
+ fetchStatusRef.current = {
104
+ kind: 'fetching',
105
+ subscription: subscription
106
+ };
107
+ observer.start && observer.start(subscription);
108
+ },
109
+ complete: function complete() {
110
+ fetchStatusRef.current = {
111
+ kind: 'none'
112
+ };
113
+ observer.complete && observer.complete();
114
+ onComplete && onComplete(null);
115
+ },
116
+ error: function error(_error) {
117
+ fetchStatusRef.current = {
118
+ kind: 'none'
119
+ };
120
+ observer.complete && observer.complete();
121
+ onComplete && onComplete(_error);
122
+ }
123
+ }));
124
+ return {
125
+ dispose: function dispose() {}
126
+ };
127
+ }, [environment, identifierValue, direction, cursor, isParentQueryActive, fragmentData, fragmentNode.name, fragmentRef, componentDisplayName]);
128
+ return [loadMore, hasMore, forceDisposeFn];
129
+ }
130
+ module.exports = useLoadMoreFunction_EXPERIMENTAL;
@@ -1,20 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var _require = require('./loadQuery'),
4
- useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
5
3
  var useLazyLoadQueryNode = require('./useLazyLoadQueryNode');
6
4
  var useMemoOperationDescriptor = require('./useMemoOperationDescriptor');
7
5
  var useRelayEnvironment = require('./useRelayEnvironment');
8
6
  var invariant = require('invariant');
9
- var _require2 = require('react'),
10
- useDebugValue = _require2.useDebugValue;
11
- var _require3 = require('relay-runtime'),
12
- _require3$__internal = _require3.__internal,
13
- fetchQueryDeduped = _require3$__internal.fetchQueryDeduped,
14
- fetchQuery = _require3$__internal.fetchQuery;
7
+ var _require = require('react'),
8
+ useDebugValue = _require.useDebugValue;
9
+ var _require2 = require('relay-runtime'),
10
+ _require2$__internal = _require2.__internal,
11
+ fetchQueryDeduped = _require2$__internal.fetchQueryDeduped,
12
+ fetchQuery = _require2$__internal.fetchQuery;
15
13
  var warning = require("fbjs/lib/warning");
16
14
  function usePreloadedQuery(gqlQuery, preloadedQuery, options) {
17
- useTrackLoadQueryInRender();
18
15
  var environment = useRelayEnvironment();
19
16
  var fetchKey = preloadedQuery.fetchKey,
20
17
  fetchPolicy = preloadedQuery.fetchPolicy,
@@ -3,9 +3,9 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
5
5
  var _require = require('./loadQuery'),
6
- loadQuery = _require.loadQuery,
7
- useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
6
+ loadQuery = _require.loadQuery;
8
7
  var useIsMountedRef = require('./useIsMountedRef');
8
+ var useQueryLoader_EXPERIMENTAL = require('./useQueryLoader_EXPERIMENTAL');
9
9
  var useRelayEnvironment = require('./useRelayEnvironment');
10
10
  var _require2 = require('react'),
11
11
  useCallback = _require2.useCallback,
@@ -13,6 +13,7 @@ var _require2 = require('react'),
13
13
  useRef = _require2.useRef,
14
14
  useState = _require2.useState;
15
15
  var _require3 = require('relay-runtime'),
16
+ RelayFeatureFlags = _require3.RelayFeatureFlags,
16
17
  getRequest = _require3.getRequest;
17
18
  var initialNullQueryReferenceState = {
18
19
  kind: 'NullQueryReference'
@@ -25,9 +26,14 @@ function requestIsLiveQuery(preloadableRequest) {
25
26
  return request.params.metadata.live !== undefined;
26
27
  }
27
28
  function useQueryLoader(preloadableRequest, initialQueryReference) {
29
+ if (RelayFeatureFlags.ENABLE_ACTIVITY_COMPATIBILITY) {
30
+ return useQueryLoader_EXPERIMENTAL(preloadableRequest, initialQueryReference);
31
+ }
32
+ return useQueryLoader_CURRENT(preloadableRequest, initialQueryReference);
33
+ }
34
+ function useQueryLoader_CURRENT(preloadableRequest, initialQueryReference) {
28
35
  var initialQueryReferenceInternal = initialQueryReference !== null && initialQueryReference !== void 0 ? initialQueryReference : initialNullQueryReferenceState;
29
36
  var environment = useRelayEnvironment();
30
- useTrackLoadQueryInRender();
31
37
  var isMountedRef = useIsMountedRef();
32
38
  var undisposedQueryReferencesRef = useRef(new Set([initialQueryReferenceInternal]));
33
39
  var _useState = useState(function () {
@@ -0,0 +1,120 @@
1
+ 'use strict';
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
5
+ var _require = require('./loadQuery'),
6
+ loadQuery = _require.loadQuery;
7
+ var useIsMountedRef = require('./useIsMountedRef');
8
+ var useRelayEnvironment = require('./useRelayEnvironment');
9
+ var _require2 = require('react'),
10
+ useCallback = _require2.useCallback,
11
+ useEffect = _require2.useEffect,
12
+ useInsertionEffect = _require2.useInsertionEffect,
13
+ useRef = _require2.useRef,
14
+ useState = _require2.useState;
15
+ var _require3 = require('relay-runtime'),
16
+ getRequest = _require3.getRequest;
17
+ var initialNullQueryReferenceState = {
18
+ kind: 'NullQueryReference'
19
+ };
20
+ function requestIsLiveQuery(preloadableRequest) {
21
+ if (preloadableRequest.kind === 'PreloadableConcreteRequest') {
22
+ return preloadableRequest.params.metadata.live !== undefined;
23
+ }
24
+ var request = getRequest(preloadableRequest);
25
+ return request.params.metadata.live !== undefined;
26
+ }
27
+ var CLEANUP_TIMEOUT = 1000 * 60 * 5;
28
+ function useQueryLoader_EXPERIMENTAL(preloadableRequest, initialQueryReference) {
29
+ var initialQueryReferenceInternal = initialQueryReference !== null && initialQueryReference !== void 0 ? initialQueryReference : initialNullQueryReferenceState;
30
+ var environment = useRelayEnvironment();
31
+ var isMountedRef = useIsMountedRef();
32
+ var undisposedQueryReferencesRef = useRef(null);
33
+ if (undisposedQueryReferencesRef.current == null) {
34
+ undisposedQueryReferencesRef.current = new Set([initialQueryReferenceInternal]);
35
+ }
36
+ var _useState = useState(function () {
37
+ return initialQueryReferenceInternal;
38
+ }),
39
+ queryReference = _useState[0],
40
+ setQueryReference = _useState[1];
41
+ var _useState2 = useState(function () {
42
+ return initialQueryReferenceInternal;
43
+ }),
44
+ previousInitialQueryReference = _useState2[0],
45
+ setPreviousInitialQueryReference = _useState2[1];
46
+ if (initialQueryReferenceInternal !== previousInitialQueryReference) {
47
+ var _undisposedQueryRefer;
48
+ (_undisposedQueryRefer = undisposedQueryReferencesRef.current) === null || _undisposedQueryRefer === void 0 ? void 0 : _undisposedQueryRefer.add(initialQueryReferenceInternal);
49
+ setPreviousInitialQueryReference(initialQueryReferenceInternal);
50
+ setQueryReference(initialQueryReferenceInternal);
51
+ }
52
+ var disposeQuery = useCallback(function () {
53
+ if (isMountedRef.current) {
54
+ var _undisposedQueryRefer2;
55
+ (_undisposedQueryRefer2 = undisposedQueryReferencesRef.current) === null || _undisposedQueryRefer2 === void 0 ? void 0 : _undisposedQueryRefer2.add(initialNullQueryReferenceState);
56
+ setQueryReference(initialNullQueryReferenceState);
57
+ }
58
+ }, [isMountedRef]);
59
+ var queryLoaderCallback = useCallback(function (variables, options) {
60
+ var _options$__environmen, _undisposedQueryRefer3;
61
+ if (!isMountedRef.current) {
62
+ return;
63
+ }
64
+ var mergedOptions = options != null && options.hasOwnProperty('__environment') ? {
65
+ fetchPolicy: options.fetchPolicy,
66
+ networkCacheConfig: options.networkCacheConfig,
67
+ __nameForWarning: options.__nameForWarning
68
+ } : options;
69
+ var updatedQueryReference = loadQuery((_options$__environmen = options === null || options === void 0 ? void 0 : options.__environment) !== null && _options$__environmen !== void 0 ? _options$__environmen : environment, preloadableRequest, variables, mergedOptions);
70
+ (_undisposedQueryRefer3 = undisposedQueryReferencesRef.current) === null || _undisposedQueryRefer3 === void 0 ? void 0 : _undisposedQueryRefer3.add(updatedQueryReference);
71
+ setQueryReference(updatedQueryReference);
72
+ }, [environment, preloadableRequest, setQueryReference, isMountedRef]);
73
+ var disposeAllRemainingQueryReferences = useCallback(function disposeAllRemainingQueryReferences(preloadableRequest, currentQueryReference) {
74
+ var _undisposedQueryRefer4;
75
+ var undisposedQueryReferences = (_undisposedQueryRefer4 = undisposedQueryReferencesRef.current) !== null && _undisposedQueryRefer4 !== void 0 ? _undisposedQueryRefer4 : new Set();
76
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(undisposedQueryReferences),
77
+ _step;
78
+ try {
79
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
80
+ var undisposedQueryReference = _step.value;
81
+ if (undisposedQueryReference === currentQueryReference) {
82
+ continue;
83
+ }
84
+ if (undisposedQueryReference.kind !== 'NullQueryReference') {
85
+ if (requestIsLiveQuery(preloadableRequest)) {
86
+ undisposedQueryReference.dispose && undisposedQueryReference.dispose();
87
+ } else {
88
+ undisposedQueryReference.releaseQuery && undisposedQueryReference.releaseQuery();
89
+ }
90
+ }
91
+ }
92
+ } catch (err) {
93
+ _iterator.e(err);
94
+ } finally {
95
+ _iterator.f();
96
+ }
97
+ }, []);
98
+ var cleanupTimerRef = useRef(null);
99
+ useEffect(function () {
100
+ disposeAllRemainingQueryReferences(preloadableRequest, queryReference);
101
+ if (cleanupTimerRef.current != null) {
102
+ clearTimeout(cleanupTimerRef.current);
103
+ cleanupTimerRef.current = null;
104
+ }
105
+ return function () {
106
+ cleanupTimerRef.current = setTimeout(function () {
107
+ disposeAllRemainingQueryReferences(preloadableRequest, null);
108
+ }, CLEANUP_TIMEOUT);
109
+ };
110
+ }, [preloadableRequest, queryReference]);
111
+ useInsertionEffect(function () {
112
+ return function () {
113
+ cleanupTimerRef.current && clearTimeout(cleanupTimerRef.current);
114
+ cleanupTimerRef.current = null;
115
+ disposeAllRemainingQueryReferences(preloadableRequest, null);
116
+ };
117
+ }, [preloadableRequest]);
118
+ return [queryReference.kind === 'NullQueryReference' ? null : queryReference, queryLoaderCallback, disposeQuery];
119
+ }
120
+ module.exports = useQueryLoader_EXPERIMENTAL;
@@ -32,7 +32,7 @@ type ActorChangeProps<TFragmentRef> = {
32
32
 
33
33
  function ActorChange<TFragmentRef>(
34
34
  props: ActorChangeProps<TFragmentRef>,
35
- ): React.Element<typeof RelayEnvironmentProvider> {
35
+ ): React.MixedElement {
36
36
  const actorEnvironment = useRelayActorEnvironment(
37
37
  props.actorChangePoint.__viewer,
38
38
  );
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-relay",
3
3
  "description": "A framework for building GraphQL-driven React applications.",
4
- "version": "17.0.0",
4
+ "version": "18.1.0",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay",
@@ -16,11 +16,11 @@
16
16
  "directory": "packages/react-relay"
17
17
  },
18
18
  "dependencies": {
19
- "@babel/runtime": "^7.0.0",
19
+ "@babel/runtime": "^7.25.0",
20
20
  "fbjs": "^3.0.2",
21
21
  "invariant": "^2.2.4",
22
22
  "nullthrows": "^1.1.1",
23
- "relay-runtime": "17.0.0"
23
+ "relay-runtime": "18.1.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^16.9.0 || ^17 || ^18"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v17.0.0
2
+ * Relay v18.1.0
3
3
  */
4
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("fbjs/lib/warning"),require("invariant"),require("react"),require("relay-runtime")):"function"==typeof define&&define.amd?define(["@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/interopRequireDefault","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual","fbjs/lib/warning","invariant","react","relay-runtime"],r):"object"==typeof exports?exports.ReactRelayHooks=r(require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("fbjs/lib/warning"),require("invariant"),require("react"),require("relay-runtime")):e.ReactRelayHooks=r(e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/defineProperty"],e["@babel/runtime/helpers/interopRequireDefault"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"],e["fbjs/lib/warning"],e.invariant,e.react,e["relay-runtime"])}(self,((e,r,n,t,a,i,o,l,u,s)=>(()=>{"use strict";var c={888:(e,r,n)=>{var t=n(156),a=n(658).__internal.createRelayContext;e.exports=a(t)},651:(e,r,n)=>{var t=n(158),a=n(828),i=n(428).loadQuery,o=n(187),l=n(696),u=n(529),s=n(242),c=n(899),f=n(115),d=n(951),p=n(617),v=n(876),h=n(874),m=n(750),y=n(50),g=n(746),b=n(658);e.exports={ConnectionHandler:b.ConnectionHandler,applyOptimisticMutation:b.applyOptimisticMutation,commitLocalUpdate:b.commitLocalUpdate,commitMutation:b.commitMutation,graphql:b.graphql,readInlineData:b.readInlineData,requestSubscription:b.requestSubscription,EntryPointContainer:t,RelayEnvironmentProvider:l,ProfilerContext:o,fetchQuery:b.fetchQuery,loadQuery:i,loadEntryPoint:a,useFragment:s,useLazyLoadQuery:c,useEntryPointLoader:u,useQueryLoader:v,useMutation:f,usePaginationFragment:d,usePreloadedQuery:p,useRefetchableFragment:h,useRelayEnvironment:m,useSubscribeToInvalidationState:y,useSubscription:g}},158:(e,r,n)=>{var t=n(187),a=n(750),i=n(156),o=n(156),l=o.useContext,u=o.useEffect,s=n(446);e.exports=function(e){var r=e.entryPointReference,n=e.props;s(!1===r.isDisposed,"<EntryPointContainer>: Expected entryPointReference to not be disposed yet. This is because disposing the entrypoint marks it for future garbage collection, and as such may no longer be present in the Relay store. In the future, this will become a hard error.");var o=r.getComponent,c=r.queries,f=r.entryPoints,d=r.extraProps,p=r.rootModuleID,v=o(),h=l(t),m=a();return u((function(){m.__log({name:"entrypoint.root.consume",profilerContext:h,rootModuleID:p})}),[m,h,p]),i.createElement(v,{entryPoints:f,extraProps:d,props:n,queries:c})}},93:(e,r,n)=>{var t=n(56),a=function(){function e(e){this._capacity=e,this._capacity>0||t(!1,"LRUCache: Unable to create instance of cache with zero or negative capacity."),this._map=new Map}var r=e.prototype;return r.set=function(e,r){if(this._map.delete(e),this._map.set(e,r),this._map.size>this._capacity){var n=this._map.keys().next();n.done||this._map.delete(n.value)}},r.get=function(e){var r=this._map.get(e);return null!=r&&(this._map.delete(e),this._map.set(e,r)),r},r.has=function(e){return this._map.has(e)},r.delete=function(e){this._map.delete(e)},r.size=function(){return this._map.size},r.capacity=function(){return this._capacity-this._map.size},r.clear=function(){this._map.clear()},e}();e.exports={create:function(e){return new a(e)}}},187:(e,r,n)=>{var t=n(156).createContext({wrapPrepareQueryResource:function(e){return e()}});e.exports=t},269:(e,r,n)=>{var t=n(275).default,a=t(n(175)),i=t(n(311)),o=n(93),l=n(637),u=n(56),s=n(658).isPromise,c=n(446),f="store-or-network",d="store-and-network",p="function"==typeof WeakMap;function v(e){return void 0!==e.request.node.params.metadata.live}function h(e,r,n,t,a){var i=null!=n?n:v(r)?d:f,o=null!=t?t:e.UNSTABLE_getDefaultRenderPolicy(),l="".concat(i,"-").concat(o,"-").concat(r.request.identifier);return null!=a?"".concat(l,"-").concat(a):l}function m(e,r){var n={__id:e.fragment.dataID,__fragments:(0,i.default)({},e.fragment.node.name,e.request.variables),__fragmentOwner:e.request};return{cacheIdentifier:r,fragmentNode:e.request.node.fragment,fragmentRef:n,operation:e}}var y=2e5;function g(e,r,n,t,a,i){var o=v(r),u=t,s=a,c=new l((function(e){var n=e.retain(r);return{dispose:function(){o&&null!=s&&s.unsubscribe(),n.dispose(),i(f)}}})),f={cacheIdentifier:e,id:y++,processedPayloadsCount:0,operationAvailability:n,getValue:function(){return u},setValue:function(e){u=e},setNetworkSubscription:function(e){o&&null!=s&&s.unsubscribe(),s=e},temporaryRetain:function(e){return c.temporaryRetain(e)},permanentRetain:function(e){return c.permanentRetain(e)},releaseTemporaryRetain:function(){c.releaseTemporaryRetain()}};return f}var b=function(){function e(e){var r=this;(0,i.default)(this,"_clearCacheEntry",(function(e){r._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=o.create(1e3)}var r=e.prototype;return r.prepare=function(e,r,n,t,a,i,o){var l=h(this._environment,e,n,t,i);return this.prepareWithIdentifier(l,e,r,n,t,a,o)},r.prepareWithIdentifier=function(e,r,n,t,i,o,l){var u=this._environment,c=null!=t?t:v(r)?d:f,p=null!=i?i:u.UNSTABLE_getDefaultRenderPolicy(),h=this._cache.get(e),m=null,y=null!=h;null==h&&(h=this._fetchAndSaveQuery(e,r,n,c,p,l,(0,a.default)((0,a.default)({},o),{},{unsubscribe:function(e){null!=m&&m.dispose();var r=null==o?void 0:o.unsubscribe;r&&r(e)}}))),m=h.temporaryRetain(u);var g=h.getValue();if(s(g))throw u.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:y,operation:r,queryAvailability:h.operationAvailability,renderPolicy:p}),g;if(g instanceof Error)throw g;return g},r.retain=function(e,r){var n=this._environment,t=e.cacheIdentifier,a=e.operation,i=this._getOrCreateCacheEntry(t,a,null,e,null),o=i.permanentRetain(n);return n.__log({name:"queryresource.retain",profilerContext:r,resourceID:i.id}),{dispose:function(){o.dispose()}}},r.releaseTemporaryRetain=function(e){var r=this._cache.get(e.cacheIdentifier);null!=r&&r.releaseTemporaryRetain()},r.TESTS_ONLY__getCacheEntry=function(e,r,n,t){var a=h(this._environment,e,r,n,t);return this._cache.get(a)},r._getOrCreateCacheEntry=function(e,r,n,t,a){var i=this._cache.get(e);return null==i&&(i=g(e,r,n,t,a,this._clearCacheEntry),this._cache.set(e,i)),i},r._fetchAndSaveQuery=function(e,r,n,t,i,o,l){var s,f,d=this,p=this._environment,h=p.check(r),y=h.status,b="available"===y,R=b||"partial"===i&&"stale"!==y,_=function(){};switch(t){case"store-only":s=!1,f=!0;break;case"store-or-network":s=!b,f=R;break;case"store-and-network":s=!0,f=R;break;default:s=!0,f=!1}if(f){var E=m(r,e),P=g(e,r,h,E,null,this._clearCacheEntry);this._cache.set(e,P)}if(s){var k,x=m(r,e);n.subscribe({start:function(n){k=n;var t=d._cache.get(e);t&&t.setNetworkSubscription(k);var i=null==l?void 0:l.start;i&&i((0,a.default)((0,a.default)({},n),{},{unsubscribe:function(){v(r)&&n.unsubscribe()}}))},next:function(){var n=d._getOrCreateCacheEntry(e,r,h,x,k);n.processedPayloadsCount+=1,n.setValue(x),_();var t=null==l?void 0:l.next;null!=t&&t(p.lookup(r.fragment))},error:function(n){var t=d._getOrCreateCacheEntry(e,r,h,n,k);0===t.processedPayloadsCount?t.setValue(n):c(!1,"QueryResource: An incremental payload for query `%s` returned an error: `%s`.",r.fragment.node.name,String(n.message)),_(),k=null,t.setNetworkSubscription(null);var a=null==l?void 0:l.error;a&&a(n)},complete:function(){_(),k=null;var r=d._cache.get(e);r&&r.setNetworkSubscription(null);var n=null==l?void 0:l.complete;n&&n()},unsubscribe:null==l?void 0:l.unsubscribe});var C=this._cache.get(e);if(!C){var w=new Promise((function(e){_=e}));w.displayName="Relay("+r.fragment.node.name+")",C=g(e,r,h,w,k,this._clearCacheEntry),this._cache.set(e,C)}}else{var S=null==l?void 0:l.complete;S&&S()}var F=this._cache.get(e);return null==F&&u(!1,"Relay: Expected to have cached a result when attempting to fetch query.If you're seeing this, this is likely a bug in Relay."),p.__log({name:"queryresource.fetch",resourceID:F.id,operation:r,profilerContext:o,fetchPolicy:t,renderPolicy:i,queryAvailability:h,shouldFetch:s}),F},e}();function R(e){return new b(e)}var _=p?new WeakMap:new Map;e.exports={createQueryResource:R,getQueryResourceForEnvironment:function(e){var r=_.get(e);if(r)return r;var n=R(e);return _.set(e,n),n},getQueryCacheIdentifier:h}},696:(e,r,n)=>{var t=n(888),a=n(156),i=a.useMemo;e.exports=function(e){var r=e.children,n=e.environment,o=e.getEnvironmentForActor,l=i((function(){return{environment:n,getEnvironmentForActor:o}}),[n,o]);return a.createElement(t.Provider,{value:l},r)}},637:(e,r,n)=>{var t=(0,n(275).default)(n(311)),a=n(446),i=function(){function e(e){var r=this;(0,t.default)(this,"_retainCount",0),(0,t.default)(this,"_retainDisposable",null),(0,t.default)(this,"_releaseTemporaryRetain",null),this._retain=function(n){return r._retainCount++,1===r._retainCount&&(r._retainDisposable=e(n)),{dispose:function(){r._retainCount=Math.max(0,r._retainCount-1),0===r._retainCount&&(null!=r._retainDisposable?(r._retainDisposable.dispose(),r._retainDisposable=null):a(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."))}}}}var r=e.prototype;return r.temporaryRetain=function(e){var r,n=this;if(e.isServer())return{dispose:function(){}};var t=this._retain(e),a=null,i=function(){clearTimeout(a),a=null,n._releaseTemporaryRetain=null,t.dispose()};return a=setTimeout(i,3e5),null===(r=this._releaseTemporaryRetain)||void 0===r||r.call(this),this._releaseTemporaryRetain=i,{dispose:function(){var e;null===(e=n._releaseTemporaryRetain)||void 0===e||e.call(n)}}},r.permanentRetain=function(e){var r=this._retain(e);return this.releaseTemporaryRetain(),r},r.releaseTemporaryRetain=function(){var e;null===(e=this._releaseTemporaryRetain)||void 0===e||e.call(this),this._releaseTemporaryRetain=null},r.getRetainCount=function(){return this._retainCount},e}();e.exports=i},828:(e,r,n)=>{var t=n(428).loadQuery;e.exports=function e(r,n,a){var i=null;null==n.root.getModuleIfRequired()&&(i=n.root.load());var o=n.getPreloadProps(a),l=o.queries,u=o.entryPoints,s=o.extraProps,c={},f={};null!=l&&Object.keys(l).forEach((function(e){var n=l[e],a=n.environmentProviderOptions,i=n.options,o=n.parameters,u=n.variables,s=r.getEnvironment(a);c[e]=t(s,o,u,{fetchPolicy:null==i?void 0:i.fetchPolicy,networkCacheConfig:null==i?void 0:i.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)})),null!=u&&Object.keys(u).forEach((function(n){var t=u[n];if(null!=t){var a=t.entryPoint,i=t.entryPointParams;f[n]=e(r,a,i)}}));var d=!1;return{dispose:function(){d||(null!=c&&Object.values(c).forEach((function(e){(0,e.dispose)()})),null!=f&&Object.values(f).forEach((function(e){(0,e.dispose)()})),d=!0)},entryPoints:f,extraProps:null!=s?s:null,getComponent:function(){var e,r=n.root.getModuleIfRequired();if(null==r)throw i=null!==(e=i)&&void 0!==e?e:n.root.load();return null!=r.default?r.default:r},get isDisposed(){return d},queries:c,rootModuleID:n.root.getModuleId()}}},428:(e,r,n)=>{var t=(0,n(275).default)(n(175)),a=n(56),i=n(156),o=n(658),l=o.__internal.fetchQueryDeduped,u=o.Observable,s=o.PreloadableQueryRegistry,c=o.RelayFeatureFlags,f=o.ReplaySubject,d=o.createOperationDescriptor,p=o.getRequest,v=o.getRequestIdentifier,h=n(446),m=null,y=100001;e.exports={loadQuery:function(e,r,n,o,g){var b,R,_,E,P=null===(b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===b||null===(R=b.ReactCurrentDispatcher)||void 0===R?void 0:R.current;h(null==m||P!==m,"Relay: `%s` should not be called inside a React render function.",null!==(_=null==o?void 0:o.__nameForWarning)&&void 0!==_?_:"loadQuery"),y++;var k,x,C,w,S,F,q=null!==(E=null==o?void 0:o.fetchPolicy)&&void 0!==E?E:"store-or-network",I=(0,t.default)((0,t.default)({},null==o?void 0:o.networkCacheConfig),{},{force:!0}),D=!1,N=function(r,n){return D=!0,e.executeWithSource({operation:r,source:n})},Q=new f,A=u.create((function(e){return Q.subscribe(e)})),T=null,O=!1,L=function(r){var t;O=!0;var a=new f;if(!0===c.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var i="raw-network-request-"+v(r,n);t=l(e,i,(function(){return e.getNetwork().execute(r,n,I)}))}else t=e.getNetwork().execute(r,n,I);var o=t.subscribe({error:function(e){T=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return x=o,u.create((function(e){var r=a.subscribe(e);return function(){r.unsubscribe(),x()}}))},M=function(r,n){!0===c.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(O=!0);var t=l(e,r.request.identifier,n).subscribe({error:function(e){Q.error(e)},next:function(e){Q.next(e)},complete:function(){Q.complete()}});C=t.unsubscribe},U=function(r){var t=d(r,n,I);k=e.retain(t),"store-only"!==q&&("store-or-network"!==q||"available"!==e.check(t).status)&&M(t,(function(){var e=L(r.params);return N(t,e)}))};if("PreloadableConcreteRequest"===r.kind){null===(F=(w=r.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",w.name);var j=s.get(F);if(null!=j)U(j);else{var V="store-only"===q?null:L(w),W=s.onLoad(F,(function(r){S();var t=d(r,n,I);k=e.retain(t),null!=V&&M(t,(function(){return N(t,V)}))}));S=W.dispose}}else{var B=p(r);F=null!=(w=B.params).cacheID?w.cacheID:w.id,U(B)}var K=!1,G=!1,H=!1,Y=function(){G||(k&&k.dispose(),G=!0)},z=function(){H||(D?C&&C():x&&x(),S&&S(),H=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){K||(Y(),z(),K=!0)},releaseQuery:Y,cancelNetworkRequest:z,fetchKey:y,id:F,get isDisposed(){return K||G},get networkError(){return T},name:w.name,networkCacheConfig:I,fetchPolicy:q,source:O?A:void 0,variables:n}},useTrackLoadQueryInRender:function(){var e,r;null===m&&(m=null===(e=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===e||null===(r=e.ReactCurrentDispatcher)||void 0===r?void 0:r.current)}}},74:(e,r,n)=>{var t=n(275).default,a=t(n(175)),i=t(n(765)),o=n(269).getQueryResourceForEnvironment,l=n(56),u=n(658),s=u.__internal.fetchQuery,c=u.RelayFeatureFlags,f=u.createOperationDescriptor,d=u.getPendingOperationsForFragment,p=u.getSelector,v=u.getVariablesFromFragment,h=u.handlePotentialSnapshotErrors,m=n(446);function y(e,r,n,t,i){var l=v(r,n),u=(0,a.default)((0,a.default)({},l),{},{id:t.clientEdgeDestinationID}),c=f(t.request,u,null==i?void 0:i.networkCacheConfig);return o(e).prepare(c,s(e,c),null==i?void 0:i.fetchPolicy)}e.exports=function(e,r,n,t,a,o){var u,s,f=p(r,n),v=!0===(null==r||null===(u=r.metadata)||void 0===u?void 0:u.plural);v?null==n||Array.isArray(n)||l(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",null!=o?" for key `".concat(o,"`"):"",r.name,typeof n,r.name):Array.isArray(n)&&l(!1,"Relay: Expected fragment pointer%s for fragment `%s` not to be an array, instead got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array.",null!=o?" for key `".concat(o,"`"):"",r.name,typeof n,r.name),null==n||v&&Array.isArray(n)&&0===n.length||null!=f||l(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",r.name,r.name,t,r.name,null==o?"a fragment reference":"the `".concat(o,"`"),t);var g,b=function(e,r){return null==r?{kind:"bailout"}:"PluralReaderSelector"===r.kind?0===r.selectors.length?{kind:"bailout"}:{kind:"plural",snapshots:r.selectors.map((function(r){return e.lookup(r)})),epoch:e.getStore().getEpoch()}:{kind:"singular",snapshot:e.lookup(r),epoch:e.getStore().getEpoch()}}(e,f),R=null;if(!0===(null===(s=r.metadata)||void 0===s?void 0:s.hasClientEdges)){var _=function(e){if("bailout"===e.kind)return null;var r;if("singular"===e.kind)return null!==(r=e.snapshot.missingClientEdges)&&void 0!==r?r:null;var n,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(n=a.n()).done;){var o=n.value;if(o.missingClientEdges){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingClientEdges);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(b);if(null!=_&&_.length){R=[];var E,P=(0,i.default)(_);try{for(P.s();!(E=P.n()).done;){var k=E.value;R.push(y(e,r,n,k,a))}}catch(e){P.e(e)}finally{P.f()}}}if(function(e){return"bailout"!==e.kind&&("singular"===e.kind?e.snapshot.isMissingData:e.snapshots.some((function(e){return e.isMissingData})))}(b)){null==f&&l(!1,"refinement, see invariants above");var x="PluralReaderSelector"===f.kind?f.selectors[0].owner:f.owner,C=d(e,r,x);if(C)throw C.promise;!function(e,r){var n,t;if("singular"===r.kind)h(e,r.snapshot.missingRequiredFields,r.snapshot.relayResolverErrors,r.snapshot.errorResponseFields,null!==(n=null===(t=r.snapshot.selector.node.metadata)||void 0===t?void 0:t.throwOnFieldError)&&void 0!==n&&n);else if("plural"===r.kind){var a,o=(0,i.default)(r.snapshots);try{for(o.s();!(a=o.n()).done;){var l,u,s=a.value;h(e,s.missingRequiredFields,s.relayResolverErrors,s.errorResponseFields,null!==(l=null===(u=s.selector.node.metadata)||void 0===u?void 0:u.throwOnFieldError)&&void 0!==l&&l)}}catch(e){o.e(e)}finally{o.f()}}}(e,b)}return g="bailout"===b.kind?v?[]:null:"singular"===b.kind?b.snapshot.data:b.snapshots.map((function(e){return e.data})),c.LOG_MISSING_RECORDS_IN_PROD,null!=n&&(void 0===g||Array.isArray(g)&&g.length>0&&g.every((function(e){return void 0===e})))&&m(!1,"Relay: Expected to have been able to read non-null data for fragment `%s` declared in `%s`, since fragment reference was non-null. Make sure that that `%s`'s parent isn't holding on to and/or passing a fragment reference for data that has been deleted.",r.name,t,t),{data:g,clientEdgeQueries:R}}},529:(e,r,n)=>{var t=(0,n(275).default)(n(765)),a=n(828),i=n(428).useTrackLoadQueryInRender,o=n(743),l=n(156),u=l.useCallback,s=l.useEffect,c=l.useRef,f=l.useState,d={kind:"NullEntryPointReference"};e.exports=function(e,r,n){var l,p,v,h;i();var m=null!==(l=null==n||null===(p=n.TEST_ONLY__initialEntryPointData)||void 0===p?void 0:p.entryPointReference)&&void 0!==l?l:d,y=null!==(v=null==n||null===(h=n.TEST_ONLY__initialEntryPointData)||void 0===h?void 0:h.entryPointParams)&&void 0!==v?v:null,g=o(),b=c(new Set([m])),R=f(m),_=R[0],E=R[1],P=f(y),k=P[0],x=P[1],C=u((function(){if(g.current){var e={kind:"NullEntryPointReference"};b.current.add(e),E(e)}}),[E,g]),w=u((function(n){if(g.current){var t=a(e,r,n);b.current.add(t),E(t),x(n)}}),[e,r,E,g]),S=c(!1);return s((function(){return function(){S.current=!0}}),[]),s((function(){if(!0===S.current)return S.current=!1,void("NullEntryPointReference"!==_.kind&&null!=k&&w(k));var e=b.current;if(g.current){var r,n=(0,t.default)(e);try{for(n.s();!(r=n.n()).done;){var a=r.value;if(a===_)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){n.e(e)}finally{n.f()}}}),[_,k,w,g]),s((function(){return function(){var e,r=(0,t.default)(b.current);try{for(r.s();!(e=r.n()).done;){var n=e.value;"NullEntryPointReference"!==n.kind&&n.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[]),["NullEntryPointReference"===_.kind?null:_,w,C]}},863:(e,r,n)=>{var t=n(813),a=n(156),i=a.useCallback,o=a.useEffect;e.exports=function(){var e=t(null),r=t(!1),n=i((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),r.current=!1}),[]),a=i((function(n){e.current=n,r.current=!0}),[]),l=i((function(){e.current=null,r.current=!1}),[]);return o((function(){return n}),[n]),{isFetchingRef:r,startFetch:a,disposeFetch:n,completeFetch:l}}},242:(e,r,n)=>{var t=n(428).useTrackLoadQueryInRender,a=n(337),i=n(224),o=n(156).useDebugValue,l=n(658).getFragment;e.exports=function(e,r){t();var n=l(e);i(n,"first argument of useFragment()");var u=a(n,r,"useFragment()");return o({fragment:n.name,data:u}),u}},337:(e,r,n)=>{var t=n(275).default,a=t(n(175)),i=t(n(765)),o=t(n(642)),l=n(269).getQueryResourceForEnvironment,u=n(750),s=n(56),c=n(156),f=c.useDebugValue,d=c.useEffect,p=c.useMemo,v=c.useRef,h=c.useState,m=n(658),y=m.__internal,g=y.fetchQuery,b=y.getPromiseForActiveRequest,R=m.RelayFeatureFlags,_=m.areEqualSelectors,E=m.createOperationDescriptor,P=m.getPendingOperationsForFragment,k=m.getSelector,x=m.getVariablesFromFragment,C=m.handlePotentialSnapshotErrors,w=m.recycleNodesInto,S=n(446);function F(e,r){if("bailout"===r.kind)return null;var n=e.getStore().getEpoch();if(n===r.epoch)return null;if("singular"===r.kind){var t=e.lookup(r.snapshot.selector),a=w(r.snapshot.data,t.data),i={data:a,isMissingData:t.isMissingData,missingClientEdges:t.missingClientEdges,missingLiveResolverFields:t.missingLiveResolverFields,seenRecords:t.seenRecords,selector:t.selector,missingRequiredFields:t.missingRequiredFields,relayResolverErrors:t.relayResolverErrors,errorResponseFields:t.errorResponseFields};return[a!==r.snapshot.data,{kind:"singular",snapshot:i,epoch:n}]}for(var o=!1,l=[],u=0;u<r.snapshots.length;u++){var c=r.snapshots[u],f=e.lookup(c.selector),d=w(c.data,f.data),p={data:d,isMissingData:f.isMissingData,missingClientEdges:f.missingClientEdges,missingLiveResolverFields:f.missingLiveResolverFields,seenRecords:f.seenRecords,selector:f.selector,missingRequiredFields:f.missingRequiredFields,relayResolverErrors:f.relayResolverErrors,errorResponseFields:f.errorResponseFields};d!==c.data&&(o=!0),l.push(p)}return l.length!==r.snapshots.length&&s(!1,"Expected same number of snapshots"),[o,{kind:"plural",snapshots:l,epoch:n}]}function q(e,r,n,t,i){var o=x(r,n),u=(0,a.default)((0,a.default)({},o),{},{id:t.clientEdgeDestinationID}),s=E(t.request,u,null==i?void 0:i.networkCacheConfig);return[l(e).prepare(s,g(e,s),null==i?void 0:i.fetchPolicy),b(e,s.request)]}function I(e,r){return null==r?{kind:"bailout"}:"PluralReaderSelector"===r.kind?{kind:"plural",snapshots:r.selectors.map((function(r){return e.lookup(r)})),epoch:e.getStore().getEpoch()}:{kind:"singular",snapshot:e.lookup(r),epoch:e.getStore().getEpoch()}}e.exports=function(e,r,n,t){var a,c,m=p((function(){return k(e,r)}),[e,r]),y=!0===(null==e||null===(a=e.metadata)||void 0===a?void 0:a.plural);y?null==r||Array.isArray(r)||s(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",e.name,typeof r,e.name):Array.isArray(r)&&s(!1,"Relay: Expected fragment pointer%s for fragment `%s` not to be an array, instead got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array.",e.name,typeof r,e.name),null==r||y&&Array.isArray(r)&&0===r.length||null!=m||s(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",e.name,e.name,n,e.name,n);var g=u(),b=h((function(){return I(g,m)})),E=b[0],x=b[1],w=E,D=h(w),N=D[0],Q=D[1],A=N,T=h(m),O=T[0],L=T[1],M=h(g),U=M[0],j=M[1];if(!_(m,O)||g!==U){L(m),j(g);var V=I(g,m);x(V),Q(V),w=V,A=V}var W=v(!1);if(d((function(){W.current=m}),[m]),!0===(null===(c=e.metadata)||void 0===c?void 0:c.hasClientEdges)){var B=p((function(){var n,a=function(e){if("bailout"===e.kind)return null;var r;if("singular"===e.kind)return null!==(r=e.snapshot.missingClientEdges)&&void 0!==r?r:null;var n,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(n=a.n()).done;){var o=n.value;if(o.missingClientEdges){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingClientEdges);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(w),o=[];if(null!=a&&a.length){n=[];var l,u=(0,i.default)(a);try{for(u.s();!(l=u.n()).done;){var s=l.value,c=q(g,e,r,s,t),f=c[0],d=c[1];n.push(f),null!=d&&o.push(d)}}catch(e){u.e(e)}finally{u.f()}}return[n,o]}),[w,g,e,r,t]),K=B[0],G=B[1];if(G.length)throw Promise.all(G);d((function(){var e=l(g);if(null!=K&&K.length){var r,n=[],t=(0,i.default)(K);try{for(t.s();!(r=t.n()).done;){var a=r.value;n.push(e.retain(a))}}catch(e){t.e(e)}finally{t.f()}return function(){var e,r=(0,i.default)(n);try{for(r.s();!(e=r.n()).done;)e.value.dispose()}catch(e){r.e(e)}finally{r.f()}}}}),[g,K])}if(function(e){return"bailout"!==e.kind&&("singular"===e.kind?e.snapshot.isMissingData:e.snapshots.some((function(e){return e.isMissingData})))}(w)){var H=function(e){if("bailout"===e.kind)return null;var r;if("singular"===e.kind)return null!==(r=e.snapshot.missingLiveResolverFields)&&void 0!==r?r:null;var n,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(n=a.n()).done;){var o=n.value;if(o.missingLiveResolverFields){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingLiveResolverFields);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(w);if(null!=H&&H.length>0)throw Promise.all(H.map((function(e){var r=e.liveStateID;return g.getStore().getLiveResolverPromise(r)})));if(R.ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE||g!==U||!W.current||!_(W.current,m)){null==m&&s(!1,"refinement, see invariants above");var Y="PluralReaderSelector"===m.kind?m.selectors[0].owner:m.owner,z=P(g,e,Y);if(z)throw z.promise}}!function(e,r){var n,t;if("singular"===r.kind)C(e,r.snapshot.missingRequiredFields,r.snapshot.relayResolverErrors,r.snapshot.errorResponseFields,null!==(n=null===(t=r.snapshot.selector.node.metadata)||void 0===t?void 0:t.throwOnFieldError)&&void 0!==n&&n);else if("plural"===r.kind){var a,o=(0,i.default)(r.snapshots);try{for(o.s();!(a=o.n()).done;){var l,u,s=a.value;C(e,s.missingRequiredFields,s.relayResolverErrors,s.errorResponseFields,null!==(l=null===(u=s.selector.node.metadata)||void 0===u?void 0:u.throwOnFieldError)&&void 0!==l&&l)}}catch(e){o.e(e)}finally{o.f()}}}(g,w);var X,J=v(!1);if(d((function(){var e=A,r=F(g,A);if(null!==r){var n=r[0],t=r[1];n&&x(t),e=t}return function(e,r,n,t){if("bailout"===r.kind)return function(){};if("singular"===r.kind){var a=e.subscribe(r.snapshot,(function(r){n((function(n){if("singular"!==n.kind||n.snapshot.selector!==r.selector){var a=F(e,n);if(null!=a){var i=a[0],o=a[1];return e.__log({name:"useFragment.subscription.missedUpdates",hasDataChanges:i}),t.current=i,i?o:n}return n}return t.current=!0,{kind:"singular",snapshot:r,epoch:e.getStore().getEpoch()}}))}));return function(){a.dispose()}}var l=r.snapshots.map((function(r,a){return e.subscribe(r,(function(r){n((function(n){var i;if("plural"!==n.kind||(null===(i=n.snapshots[a])||void 0===i?void 0:i.selector)!==r.selector){var l=F(e,n);if(null!=l){var u=l[0],s=l[1];return e.__log({name:"useFragment.subscription.missedUpdates",hasDataChanges:u}),t.current=t.current||u,u?s:n}return n}var c=(0,o.default)(n.snapshots);return c[a]=r,t.current=!0,{kind:"plural",snapshots:c,epoch:e.getStore().getEpoch()}}))}))}));return function(){var e,r=(0,i.default)(l);try{for(r.s();!(e=r.n()).done;)e.value.dispose()}catch(e){r.e(e)}finally{r.f()}}}(g,e,x,J)}),[g,A]),J.current){var Z=F(g,w);if(null!=Z){var $=Z[0],ee=Z[1];$&&(x(ee),w=ee)}J.current=!1}if(y){var re=null==r;X=p((function(){return"bailout"===w.kind?re?null:[]:("plural"!==w.kind&&s(!1,"Expected state to be plural because fragment is plural"),w.snapshots.map((function(e){return e.data})))}),[w,re])}else"bailout"===w.kind?X=null:("singular"!==w.kind&&s(!1,"Expected state to be singular because fragment is singular"),X=w.snapshot.data);return R.LOG_MISSING_RECORDS_IN_PROD,null!=r&&(void 0===X||Array.isArray(X)&&X.length>0&&X.every((function(e){return void 0===e})))&&S(!1,"Relay: Expected to have been able to read non-null data for fragment `%s` declared in `%s`, since fragment reference was non-null. Make sure that that `%s`'s parent isn't holding on to and/or passing a fragment reference for data that has been deleted.",e.name,n,n),f({fragment:e.name,data:X}),X}},743:(e,r,n)=>{var t=n(156),a=t.useEffect,i=t.useRef;e.exports=function(){var e=i(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},233:(e,r,n)=>{var t=n(750),a=n(56),i=n(156),o=n(658),l=o.__internal.getObservableForActiveRequest,u=o.getSelector,s=i.useEffect,c=i.useState,f=i.useMemo;e.exports=function(e,r){var n=t(),i=f((function(){var t=u(e,r);return null==t?null:("SingularReaderSelector"!==t.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),l(n,t.owner))}),[n,e,r]),o=c(null!=i),d=o[0],p=o[1];return s((function(){var e;if(p(null!=i),null!=i){var r=function(){p(!1)};e=i.subscribe({complete:r,error:r})}return function(){e&&e.unsubscribe()}}),[i]),d}},899:(e,r,n)=>{var t=n(428).useTrackLoadQueryInRender,a=n(734),i=n(61),o=n(750),l=n(658).__internal.fetchQuery;e.exports=function(e,r,n){t();var u=o(),s=i(e,r,n&&n.networkCacheConfig?n.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==n?void 0:n.fetchKey,fetchObservable:l(u,s),fetchPolicy:null==n?void 0:n.fetchPolicy,query:s,renderPolicy:null==n?void 0:n.UNSTABLE_renderPolicy})}},734:(e,r,n)=>{var t=n(187),a=n(269),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,l=n(863),u=n(337),s=n(750),c=n(156),f=c.useContext,d=c.useEffect,p=c.useState,v=c.useRef;e.exports=function(e){var r=e.query,n=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,h=e.fetchKey,m=e.renderPolicy,y=s(),g=f(t),b=o(y),R=p(0),_=R[0],E=R[1],P=l(),k=P.startFetch,x=P.completeFetch,C="".concat(_,"-").concat(null!=h?h:""),w=i(y,r,c,m,C),S=g.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(w,r,a,c,m,{start:k,complete:x,error:x},g)})),F=v(!1);d((function(){return function(){F.current=!0}}),[]),d((function(){if(!0===F.current)return F.current=!1,void E((function(e){return e+1}));var e=b.retain(S,g);return function(){e.dispose()}}),[y,w]),d((function(){b.releaseTemporaryRetain(S)}));var q=S.fragmentNode,I=S.fragmentRef;return u(q,I,n)}},601:(e,r,n)=>{var t=(0,n(275).default)(n(175)),a=n(863),i=n(743),o=n(233),l=n(750),u=n(56),s=n(156),c=s.useCallback,f=s.useEffect,d=s.useState,p=n(658),v=p.__internal.fetchQuery,h=p.ConnectionInterface,m=p.createOperationDescriptor,y=p.getPaginationVariables,g=p.getRefetchMetadata,b=p.getSelector,R=p.getValueAtPath,_=n(446);e.exports=function(e){var r=e.direction,n=e.fragmentNode,s=e.fragmentRef,p=e.fragmentIdentifier,E=e.fragmentData,P=e.connectionPathInFragmentData,k=e.paginationRequest,x=e.paginationMetadata,C=e.componentDisplayName,w=e.observer,S=e.onReset,F=l(),q=a(),I=q.isFetchingRef,D=q.startFetch,N=q.disposeFetch,Q=q.completeFetch,A=g(n,C).identifierInfo,T=null!=(null==A?void 0:A.identifierField)&&null!=E&&"object"==typeof E?E[A.identifierField]:null,O=i(),L=d(F),M=L[0],U=L[1],j=d(p),V=j[0],W=j[1],B=o(n,s);(F!==M||p!==V)&&(N(),S(),U(F),W(p));var K=function(e,r,n,t){var a,i,o=h.get(),l=o.EDGES,s=o.PAGE_INFO,c=o.HAS_NEXT_PAGE,f=o.HAS_PREV_PAGE,d=o.END_CURSOR,p=o.START_CURSOR,v=R(n,t);if(null==v)return{cursor:null,hasMore:!1};"object"!=typeof v&&u(!1,"Relay: Expected connection in fragment `%s` to have been `null`, or a plain object with %s and %s properties. Instead got `%s`.",r.name,l,s,v);var m=v[l],y=v[s];if(null==m||null==y)return{cursor:null,hasMore:!1};Array.isArray(m)||u(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",r.name,l,m),"object"!=typeof y&&u(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",r.name,s,y);var g="forward"===e?null!==(a=y[d])&&void 0!==a?a:null:null!==(i=y[p])&&void 0!==i?i:null;return null!==g&&"string"!=typeof g&&u(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",r.name,p,g),{cursor:g,hasMore:"forward"===e?null!=g&&!0===y[c]:null!=g&&!0===y[f]}}(r,n,E,P),G=K.cursor,H=K.hasMore;return f((function(){return function(){N()}}),[N]),[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==O.current)return _(!1,"Relay: Unexpected fetch on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",n.name,C),{dispose:function(){}};var o=b(n,s);if(!0===I.current||null==E||B)return null==o&&_(!1,"Relay: Unexpected fetch while using a null fragment ref for fragment `%s` in `%s`. When fetching more items, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before paginating.",n.name,C,C),i&&i(null),{dispose:function(){}};(null==o||"PluralReaderSelector"===o.kind)&&u(!1,"Relay: Expected to be able to find a non-plural fragment owner for fragment `%s` when using `%s`. If you're seeing this, this is likely a bug in Relay.",n.name,C);var l=o.owner.variables,c=o.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,t.default)((0,t.default)({},l),c),p=y(r,e,G,d,(0,t.default)({},f),x);null!=A&&("string"!=typeof T&&_(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",A.identifierField,T),p[A.identifierQueryVariableName]=T);var h=m(k,p,{force:!0});return v(F,h).subscribe((0,t.default)((0,t.default)({},w),{},{start:function(e){D(e),w.start&&w.start(e)},complete:function(){Q(),w.complete&&w.complete(),i&&i(null)},error:function(e){Q(),w.error&&w.error(e),i&&i(e)}})),{dispose:N}}),[F,T,r,G,D,N,Q,I,B,E,n.name,s,C]),H,N]}},61:(e,r,n)=>{var t=n(925),a=n(156),i=n(658),o=i.createOperationDescriptor,l=i.getRequest,u=a.useMemo;e.exports=function(e,r,n){var a=t(r),i=t(n||{});return u((function(){return o(l(e),a,i)}),[e,a,i])}},925:(e,r,n)=>{var t=n(125),a=n(156).useState;e.exports=function(e){var r=a(e),n=r[0],i=r[1];return t(e,n)?n:(i(e),e)}},115:(e,r,n)=>{var t=(0,n(275).default)(n(175)),a=n(743),i=n(750),o=n(156),l=n(658).commitMutation,u=o.useState,s=o.useEffect,c=o.useRef,f=o.useCallback;e.exports=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l,n=i(),o=a(),d=c(n),p=c(e),v=c(new Set),h=u(!1),m=h[0],y=h[1],g=f((function(r){d.current===n&&p.current===e&&(v.current.delete(r),o.current&&y(v.current.size>0))}),[n,o,e]);return s((function(){d.current===n&&p.current===e||(v.current=new Set,o.current&&y(!1),d.current=n,p.current=e)}),[n,o,e]),[f((function(a){o.current&&y(!0);var i=r(n,(0,t.default)((0,t.default)({},a),{},{mutation:e,onCompleted:function(e,r){var n;g(i),null===(n=a.onCompleted)||void 0===n||n.call(a,e,r)},onError:function(e){var r;g(i),null===(r=a.onError)||void 0===r||r.call(a,e)},onUnsubscribe:function(){var e;g(i),null===(e=a.onUnsubscribe)||void 0===e||e.call(a)},onNext:function(){var e;null===(e=a.onNext)||void 0===e||e.call(a)}}));return v.current.add(i),i}),[g,r,n,o,e]),m]}},951:(e,r,n)=>{var t=(0,n(275).default)(n(175)),a=n(601),i=n(915),o=n(750),l=n(224),u=n(156),s=u.useCallback,c=u.useDebugValue,f=u.useState,d=n(658),p=d.getFragment,v=d.getFragmentIdentifier,h=d.getPaginationMetadata;function m(e){var r=o(),n=f(!1),i=n[0],l=n[1],u=function(e){var n,t=null===(n=r.getScheduler())||void 0===n?void 0:n.schedule;t?t((function(){l(e)})):l(e)},s={start:function(){return u(!0)},complete:function(){return u(!1)},error:function(){return u(!1)}},c=a((0,t.default)((0,t.default)({},e),{},{observer:s,onReset:function(){return u(!1)}}));return[c[0],c[1],i,c[2]]}e.exports=function(e,r){var n=p(e);l(n,"first argument of usePaginationFragment()");var a="usePaginationFragment()",o=h(n,a),u=o.connectionPathInFragmentData,f=o.paginationRequest,d=o.paginationMetadata,y=i(n,r,a),g=y.fragmentData,b=y.fragmentRef,R=y.refetch,_=v(n,b),E=m({componentDisplayName:a,connectionPathInFragmentData:u,direction:"backward",fragmentData:g,fragmentIdentifier:_,fragmentNode:n,fragmentRef:b,paginationMetadata:d,paginationRequest:f}),P=E[0],k=E[1],x=E[2],C=E[3],w=m({componentDisplayName:a,connectionPathInFragmentData:u,direction:"forward",fragmentData:g,fragmentIdentifier:_,fragmentNode:n,fragmentRef:b,paginationMetadata:d,paginationRequest:f}),S=w[0],F=w[1],q=w[2],I=w[3],D=s((function(e,r){return I(),C(),R(e,(0,t.default)((0,t.default)({},r),{},{__environment:void 0}))}),[I,C,R]);return c({fragment:n.name,data:g,hasNext:F,isLoadingNext:q,hasPrevious:k,isLoadingPrevious:x}),{data:g,loadNext:S,loadPrevious:P,hasNext:F,hasPrevious:k,isLoadingNext:q,isLoadingPrevious:x,refetch:D}}},617:(e,r,n)=>{var t=n(428).useTrackLoadQueryInRender,a=n(734),i=n(61),o=n(750),l=n(56),u=n(156).useDebugValue,s=n(658).__internal,c=s.fetchQueryDeduped,f=s.fetchQuery,d=n(446);e.exports=function(e,r,n){t();var s,p=o(),v=r.fetchKey,h=r.fetchPolicy,m=r.source,y=r.variables,g=r.networkCacheConfig,b=i(e,y,g);if("PreloadedQuery_DEPRECATED"===r.kind)b.request.node.params.name!==r.name&&l(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",b.request.node.params.name,r.name),s={componentDisplayName:"usePreloadedQuery()",fetchKey:v,fetchObservable:c(p,b.request.identifier,(function(){return p===r.environment&&null!=m?p.executeWithSource({operation:b,source:m}):p.execute({operation:b})})),fetchPolicy:h,query:b,renderPolicy:null==n?void 0:n.UNSTABLE_renderPolicy};else{d(!1===r.isDisposed,"usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. This is because disposing the query marks it for future garbage collection, and as such query results may no longer be present in the Relay store. In the future, this will become a hard error.");var R,_=f(p,b);null!=m&&p===r.environment?R=m.ifEmpty(_):p!==r.environment?(d(!1,"usePreloadedQuery(): usePreloadedQuery was passed a preloaded query that was created with a different environment than the one that is currently in context. In the future, this will become a hard error."),R=_):R=_,s={componentDisplayName:"usePreloadedQuery()",fetchObservable:R,fetchKey:v,fetchPolicy:h,query:b,renderPolicy:null==n?void 0:n.UNSTABLE_renderPolicy}}var E=a(s);return u({query:r.name,variables:r.variables,data:E,fetchKey:v,fetchPolicy:h,renderPolicy:null==n?void 0:n.UNSTABLE_renderPolicy}),E}},876:(e,r,n)=>{var t=(0,n(275).default)(n(765)),a=n(428),i=a.loadQuery,o=a.useTrackLoadQueryInRender,l=n(743),u=n(750),s=n(156),c=s.useCallback,f=s.useEffect,d=s.useRef,p=s.useState,v=n(658).getRequest,h={kind:"NullQueryReference"};function m(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==v(e).params.metadata.live}e.exports=function(e,r){var n=null!=r?r:h,a=u();o();var s=l(),v=d(new Set([n])),y=p((function(){return n})),g=y[0],b=y[1],R=p((function(){return n})),_=R[0],E=R[1];n!==_&&(v.current.add(n),E(n),b(n));var P=c((function(){s.current&&(v.current.add(h),b(h))}),[s]),k=c((function(r,n){var t=null!=n&&n.hasOwnProperty("__environment")?{fetchPolicy:n.fetchPolicy,networkCacheConfig:n.networkCacheConfig,__nameForWarning:n.__nameForWarning}:n;if(s.current){var o,l=i(null!==(o=null==n?void 0:n.__environment)&&void 0!==o?o:a,e,r,t);v.current.add(l),b(l)}}),[a,e,b,s]),x=d(!1);return f((function(){return function(){x.current=!0}}),[]),f((function(){if(!0===x.current)return x.current=!1,void("NullQueryReference"!==g.kind&&k(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var r=v.current;if(s.current){var n,a=(0,t.default)(r);try{for(a.s();!(n=a.n()).done;){var i=n.value;if(i===g)break;r.delete(i),"NullQueryReference"!==i.kind&&(m(e)?i.dispose&&i.dispose():i.releaseQuery&&i.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[g,s,k,e]),f((function(){return function(){var r,n=(0,t.default)(v.current);try{for(n.s();!(r=n.n()).done;){var a=r.value;"NullQueryReference"!==a.kind&&(m(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){n.e(e)}finally{n.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,k,P]}},874:(e,r,n)=>{var t=n(915),a=n(224),i=n(156).useDebugValue,o=n(658).getFragment;e.exports=function(e,r){var n=o(e);a(n,"first argument of useRefetchableFragment()");var l=t(n,r,"useRefetchableFragment()"),u=l.fragmentData,s=l.refetch;return i({fragment:n.name,data:u}),[u,s]}},915:(e,r,n)=>{var t,a=(0,n(275).default)(n(175)),i=n(187),o=n(269).getQueryResourceForEnvironment,l=n(74),u=n(337),s=n(743),c=n(876),f=n(750),d=n(56),p=n(156),v=p.useCallback,h=p.useContext,m=p.useReducer,y=n(658),g=y.__internal.fetchQuery,b=y.createOperationDescriptor,R=y.getFragmentIdentifier,_=y.getRefetchMetadata,E=y.getSelector,P=y.getValueAtPath,k=n(446);function x(e,r){switch(r.type){case"refetch":var n;return(0,a.default)((0,a.default)({},e),{},{fetchPolicy:r.fetchPolicy,mirroredEnvironment:null!==(n=r.refetchEnvironment)&&void 0!==n?n:e.mirroredEnvironment,onComplete:r.onComplete,refetchEnvironment:r.refetchEnvironment,refetchQuery:r.refetchQuery,renderPolicy:r.renderPolicy});case"reset":return{fetchPolicy:void 0,mirroredEnvironment:r.environment,mirroredFragmentIdentifier:r.fragmentIdentifier,onComplete:void 0,refetchQuery:null,renderPolicy:void 0};default:throw r.type,new Error("useRefetchableFragmentNode: Unexpected action type")}}t={getInitialIDAndType:function(e,r,t,a){var i=n(658).Record,o=null==e?void 0:e[null!=t?t:"id"];if(1!==r.length||"node"!==r[0]||null==o)return null;var l=a.getStore().getSource().get(o),u=null==l?null:i.getType(l);return null==u?null:{id:o,typename:u}},checkSameTypeAfterRefetch:function(e,r,t,a){var i=n(658).Record;if(e){var o=r.getStore().getSource().get(e.id),l=o&&i.getType(o);l!==e.typename&&k(!1,"Relay: Call to `refetch` returned data with a different __typename: was `%s`, now `%s`, on `%s` in `%s`. Please make sure the server correctly implementsunique id requirement.",e.typename,l,t.name,a)}},checkSameIDAfterRefetch:function(e,r,t,a){if(null!=e){var i=r[n(658).ID_KEY];null!=i&&i!==e.id&&k(!1,"Relay: Call to `refetch` returned a different id, expected `%s`, got `%s`, on `%s` in `%s`. Please make sure the server correctly implements unique id requirement.",i,e.id,t.name,a)}}},e.exports=function(e,r,n){var p=f(),y=_(e,n),C=y.refetchableRequest,w=y.fragmentRefPathInResponse,S=y.identifierInfo,F=R(e,r),q=m(x,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:F,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),I=q[0],D=q[1],N=I.fetchPolicy,Q=I.mirroredEnvironment,A=I.mirroredFragmentIdentifier,T=I.onComplete,O=I.refetchEnvironment,L=I.refetchQuery,M=I.renderPolicy,U=null!=O?O:p,j=o(U),V=h(i),W=U!==Q||F!==A,B=c(C),K=B[0],G=B[1],H=B[2],Y=r;if(W)D({type:"reset",environment:U,fragmentIdentifier:F}),H();else if(null!=L&&null!=K){var z;z=t.getInitialIDAndType(L.request.variables,w,null==S?void 0:S.identifierQueryVariableName,U);var X=function(e){T&&T(null!=e?e:null)},J=null!=K.source?K.source:g(U,L),Z=V.wrapPrepareQueryResource((function(){return j.prepare(L,J,N,M,{error:X,complete:function(){t.checkSameTypeAfterRefetch(z,U,e,n),X()}},K.fetchKey,V)})),$=l(U,Z.fragmentNode,Z.fragmentRef,n).data;null==$&&d(!1,"Relay: Expected to be able to read refetch query response. If you're seeing this, this is likely a bug in Relay."),Y=P($,w),t.checkSameIDAfterRefetch(z,Y,e,n)}var ee=u(e,Y,n),re=function(e,r,n,t,i,o,l,u,c,f,d){var p=s(),h=null!=(null==u?void 0:u.identifierField)&&null!=t&&"object"==typeof t?t[u.identifierField]:null;return v((function(t,i){if(!0!==p.current)return k(!1,"Relay: Unexpected call to `refetch` on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",o.name,e),{dispose:function(){}};null==f&&k(!1,"Relay: Unexpected call to `refetch` while using a null fragment ref for fragment `%s` in `%s`. When calling `refetch`, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before calling `refetch`, or make sure you pass all required variables to `refetch`.",o.name,e,e);var l,s,v=null==i?void 0:i.__environment,m=null==i?void 0:i.fetchPolicy,y=null==i?void 0:i.UNSTABLE_renderPolicy,g=null==i?void 0:i.onComplete,R=E(o,f);if(null==R)l={},s={};else if("PluralReaderSelector"===R.kind){var _,P,x,C;l=null!==(_=null===(P=R.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==_?_:{},s=null!==(x=null===(C=R.selectors[0])||void 0===C?void 0:C.variables)&&void 0!==x?x:{}}else l=R.owner.variables,s=R.variables;var w=(0,a.default)((0,a.default)((0,a.default)({},l),s),t);null==u||t.hasOwnProperty(u.identifierQueryVariableName)||("string"!=typeof h&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",u.identifierField,h),w[u.identifierQueryVariableName]=h);var S=b(d,w,{force:!0});return c(S.request.variables,{fetchPolicy:m,__environment:v,__nameForWarning:"refetch"}),r({type:"refetch",fetchPolicy:m,onComplete:g,refetchEnvironment:v,refetchQuery:S,renderPolicy:y}),{dispose:n}}),[i,r,n,h,c])}(n,D,H,ee,F,e,0,S,G,r,C);return{fragmentData:ee,fragmentRef:Y,refetch:re}}},750:(e,r,n)=>{var t=n(888),a=n(56),i=n(156).useContext;e.exports=function(){var e=i(t);return null==e&&a(!1,"useRelayEnvironment: Expected to have found a Relay environment provided by a `RelayEnvironmentProvider` component. This usually means that useRelayEnvironment was used in a component that is not a descendant of a `RelayEnvironmentProvider`. Please make sure a `RelayEnvironmentProvider` has been rendered somewhere as a parent or ancestor of your component."),e.environment}},224:(e,r,n)=>{var t=n(813),a=n(446);e.exports=function(e,r){var n=t(e.name);a(n.current===e.name,"Relay: The %s has to remain the same over the lifetime of a component. Changing it is not supported and will result in unexpected behavior.",r)}},50:(e,r,n)=>{var t=n(750),a=n(156),i=a.useEffect,o=a.useRef;e.exports=function(e,r){var n=t(),a=o(null),l=Array.from(e).sort().join("");return i((function(){var t=n.getStore(),i=t.lookupInvalidationState(e),o=t.subscribeToInvalidationState(i,r);return a.current=o,function(){return o.dispose()}}),[l,r,n]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},746:(e,r,n)=>{var t=n(750),a=n(156).useEffect,i=n(658).requestSubscription;e.exports=function(e,r){var n=null!=r?r:i,o=t();a((function(){return n(o,e).dispose}),[o,e,n])}},813:(e,r,n)=>{var t=n(156).useMemo;e.exports=function(e){return t((function(){return{current:e}}),[])}},765:r=>{r.exports=e},311:e=>{e.exports=r},275:e=>{e.exports=n},175:e=>{e.exports=t},642:e=>{e.exports=a},125:e=>{e.exports=i},446:e=>{e.exports=o},56:e=>{e.exports=l},156:e=>{e.exports=u},658:e=>{e.exports=s}},f={};return function e(r){var n=f[r];if(void 0!==n)return n.exports;var t=f[r]={exports:{}};return c[r](t,t.exports,e),t.exports}(651)})()));
4
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("fbjs/lib/warning"),require("invariant"),require("react"),require("relay-runtime")):"function"==typeof define&&define.amd?define(["@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/interopRequireDefault","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual","fbjs/lib/warning","invariant","react","relay-runtime"],n):"object"==typeof exports?exports.ReactRelayHooks=n(require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("fbjs/lib/warning"),require("invariant"),require("react"),require("relay-runtime")):e.ReactRelayHooks=n(e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/defineProperty"],e["@babel/runtime/helpers/interopRequireDefault"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"],e["fbjs/lib/warning"],e.invariant,e.react,e["relay-runtime"])}(self,((e,n,r,t,a,i,o,l,u,s)=>(()=>{"use strict";var c={888:(e,n,r)=>{var t=r(156),a=r(658).__internal.createRelayContext;e.exports=a(t)},651:(e,n,r)=>{var t=r(158),a=r(828),i=r(428).loadQuery,o=r(187),l=r(696),u=r(529),s=r(242),c=r(899),f=r(115),d=r(951),p=r(617),v=r(876),m=r(874),h=r(750),g=r(50),y=r(746),b=r(658);e.exports={ConnectionHandler:b.ConnectionHandler,applyOptimisticMutation:b.applyOptimisticMutation,commitLocalUpdate:b.commitLocalUpdate,commitMutation:b.commitMutation,graphql:b.graphql,readInlineData:b.readInlineData,requestSubscription:b.requestSubscription,EntryPointContainer:t,RelayEnvironmentProvider:l,ProfilerContext:o,fetchQuery:b.fetchQuery,loadQuery:i,loadEntryPoint:a,useFragment:s,useLazyLoadQuery:c,useEntryPointLoader:u,useQueryLoader:v,useMutation:f,usePaginationFragment:d,usePreloadedQuery:p,useRefetchableFragment:m,useRelayEnvironment:h,useSubscribeToInvalidationState:g,useSubscription:y}},158:(e,n,r)=>{var t=r(187),a=r(750),i=r(156),o=r(156),l=o.useContext,u=o.useEffect,s=r(446);e.exports=function(e){var n=e.entryPointReference,r=e.props;s(!1===n.isDisposed,"<EntryPointContainer>: Expected entryPointReference to not be disposed yet. This is because disposing the entrypoint marks it for future garbage collection, and as such may no longer be present in the Relay store. In the future, this will become a hard error.");var o=n.getComponent,c=n.queries,f=n.entryPoints,d=n.extraProps,p=n.rootModuleID,v=o(),m=l(t),h=a();return u((function(){h.__log({name:"entrypoint.root.consume",profilerContext:m,rootModuleID:p})}),[h,m,p]),i.createElement(v,{entryPoints:f,extraProps:d,props:r,queries:c})}},93:(e,n,r)=>{var t=r(56),a=function(){function e(e){this._capacity=e,this._capacity>0||t(!1,"LRUCache: Unable to create instance of cache with zero or negative capacity."),this._map=new Map}var n=e.prototype;return n.set=function(e,n){if(this._map.delete(e),this._map.set(e,n),this._map.size>this._capacity){var r=this._map.keys().next();r.done||this._map.delete(r.value)}},n.get=function(e){var n=this._map.get(e);return null!=n&&(this._map.delete(e),this._map.set(e,n)),n},n.has=function(e){return this._map.has(e)},n.delete=function(e){this._map.delete(e)},n.size=function(){return this._map.size},n.capacity=function(){return this._capacity-this._map.size},n.clear=function(){this._map.clear()},e}();e.exports={create:function(e){return new a(e)}}},187:(e,n,r)=>{var t=r(156).createContext({wrapPrepareQueryResource:function(e){return e()}});e.exports=t},269:(e,n,r)=>{var t=r(275).default,a=t(r(175)),i=t(r(311)),o=r(93),l=r(637),u=r(56),s=r(658).isPromise,c=r(446),f="store-or-network",d="store-and-network",p="function"==typeof WeakMap;function v(e){return void 0!==e.request.node.params.metadata.live}function m(e,n,r,t,a){var i=null!=r?r:v(n)?d:f,o=null!=t?t:e.UNSTABLE_getDefaultRenderPolicy(),l="".concat(i,"-").concat(o,"-").concat(n.request.identifier);return null!=a?"".concat(l,"-").concat(a):l}function h(e,n){var r={__id:e.fragment.dataID,__fragments:(0,i.default)({},e.fragment.node.name,e.request.variables),__fragmentOwner:e.request};return{cacheIdentifier:n,fragmentNode:e.request.node.fragment,fragmentRef:r,operation:e}}var g=2e5;function y(e,n,r,t,a,i){var o=v(n),u=t,s=a,c=new l((function(e){var r=e.retain(n);return{dispose:function(){o&&null!=s&&s.unsubscribe(),r.dispose(),i(f)}}})),f={cacheIdentifier:e,id:g++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return u},setValue:function(e){u=e},setNetworkSubscription:function(e){o&&null!=s&&s.unsubscribe(),s=e},temporaryRetain:function(e){return c.temporaryRetain(e)},permanentRetain:function(e){return c.permanentRetain(e)},releaseTemporaryRetain:function(){c.releaseTemporaryRetain()}};return f}var b=function(){function e(e){var n=this;(0,i.default)(this,"_clearCacheEntry",(function(e){n._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=o.create(1e3)}var n=e.prototype;return n.prepare=function(e,n,r,t,a,i,o){var l=m(this._environment,e,r,t,i);return this.prepareWithIdentifier(l,e,n,r,t,a,o)},n.prepareWithIdentifier=function(e,n,r,t,i,o,l){var u=this._environment,c=null!=t?t:v(n)?d:f,p=null!=i?i:u.UNSTABLE_getDefaultRenderPolicy(),m=this._cache.get(e),h=null,g=null!=m;null==m&&(m=this._fetchAndSaveQuery(e,n,r,c,p,l,(0,a.default)((0,a.default)({},o),{},{unsubscribe:function(e){null!=h&&h.dispose();var n=null==o?void 0:o.unsubscribe;n&&n(e)}}))),h=m.temporaryRetain(u);var y=m.getValue();if(s(y))throw u.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:g,operation:n,queryAvailability:m.operationAvailability,renderPolicy:p}),y;if(y instanceof Error)throw y;return y},n.retain=function(e,n){var r=this._environment,t=e.cacheIdentifier,a=e.operation,i=this._getOrCreateCacheEntry(t,a,null,e,null),o=i.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:n,resourceID:i.id}),{dispose:function(){o.dispose()}}},n.releaseTemporaryRetain=function(e){var n=this._cache.get(e.cacheIdentifier);null!=n&&n.releaseTemporaryRetain()},n.TESTS_ONLY__getCacheEntry=function(e,n,r,t){var a=m(this._environment,e,n,r,t);return this._cache.get(a)},n._getOrCreateCacheEntry=function(e,n,r,t,a){var i=this._cache.get(e);return null==i&&(i=y(e,n,r,t,a,this._clearCacheEntry),this._cache.set(e,i)),i},n._fetchAndSaveQuery=function(e,n,r,t,i,o,l){var s,f,d=this,p=this._environment,m=p.check(n),g=m.status,b="available"===g,R=b||"partial"===i&&"stale"!==g,E=function(){};switch(t){case"store-only":s=!1,f=!0;break;case"store-or-network":s=!b,f=R;break;case"store-and-network":s=!0,f=R;break;default:s=!0,f=!1}if(f){var k=h(n,e),_=y(e,n,m,k,null,this._clearCacheEntry);this._cache.set(e,_)}if(s){var P,C=h(n,e);r.subscribe({start:function(r){P=r;var t=d._cache.get(e);t&&t.setNetworkSubscription(P);var i=null==l?void 0:l.start;i&&i((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){v(n)&&r.unsubscribe()}}))},next:function(){var r=d._getOrCreateCacheEntry(e,n,m,C,P);r.processedPayloadsCount+=1,r.setValue(C),E();var t=null==l?void 0:l.next;null!=t&&t(p.lookup(n.fragment))},error:function(r){var t=d._getOrCreateCacheEntry(e,n,m,r,P);0===t.processedPayloadsCount?t.setValue(r):c(!1,"QueryResource: An incremental payload for query `%s` returned an error: `%s`.",n.fragment.node.name,String(r.message)),E(),P=null,t.setNetworkSubscription(null);var a=null==l?void 0:l.error;a&&a(r)},complete:function(){E(),P=null;var n=d._cache.get(e);n&&n.setNetworkSubscription(null);var r=null==l?void 0:l.complete;r&&r()},unsubscribe:null==l?void 0:l.unsubscribe});var x=this._cache.get(e);if(!x){var w=new Promise((function(e){E=e}));w.displayName="Relay("+n.fragment.node.name+")",x=y(e,n,m,w,P,this._clearCacheEntry),this._cache.set(e,x)}}else{var S=null==l?void 0:l.complete;S&&S()}var F=this._cache.get(e);return null==F&&u(!1,"Relay: Expected to have cached a result when attempting to fetch query.If you're seeing this, this is likely a bug in Relay."),p.__log({name:"queryresource.fetch",resourceID:F.id,operation:n,profilerContext:o,fetchPolicy:t,renderPolicy:i,queryAvailability:m,shouldFetch:s}),F},e}();function R(e){return new b(e)}var E=p?new WeakMap:new Map;e.exports={createQueryResource:R,getQueryResourceForEnvironment:function(e){var n=E.get(e);if(n)return n;var r=R(e);return E.set(e,r),r},getQueryCacheIdentifier:m}},696:(e,n,r)=>{var t=r(888),a=r(156),i=a.useMemo;e.exports=function(e){var n=e.children,r=e.environment,o=e.getEnvironmentForActor,l=i((function(){return{environment:r,getEnvironmentForActor:o}}),[r,o]);return a.createElement(t.Provider,{value:l},n)}},637:(e,n,r)=>{var t=(0,r(275).default)(r(311)),a=r(446),i=function(){function e(e){var n=this;(0,t.default)(this,"_retainCount",0),(0,t.default)(this,"_retainDisposable",null),(0,t.default)(this,"_releaseTemporaryRetain",null),this._retain=function(r){return n._retainCount++,1===n._retainCount&&(n._retainDisposable=e(r)),{dispose:function(){n._retainCount=Math.max(0,n._retainCount-1),0===n._retainCount&&(null!=n._retainDisposable?(n._retainDisposable.dispose(),n._retainDisposable=null):a(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."))}}}}var n=e.prototype;return n.temporaryRetain=function(e){var n,r=this;if(e.isServer())return{dispose:function(){}};var t=this._retain(e),a=null,i=function(){clearTimeout(a),a=null,r._releaseTemporaryRetain=null,t.dispose()};return a=setTimeout(i,3e5),null===(n=this._releaseTemporaryRetain)||void 0===n||n.call(this),this._releaseTemporaryRetain=i,{dispose:function(){var e;null===(e=r._releaseTemporaryRetain)||void 0===e||e.call(r)}}},n.permanentRetain=function(e){var n=this._retain(e);return this.releaseTemporaryRetain(),n},n.releaseTemporaryRetain=function(){var e;null===(e=this._releaseTemporaryRetain)||void 0===e||e.call(this),this._releaseTemporaryRetain=null},n.getRetainCount=function(){return this._retainCount},e}();e.exports=i},62:(e,n,r)=>{var t=r(56),a=r(658),i=a.ConnectionInterface,o=a.getValueAtPath;e.exports=function(e,n,r,a){var l,u,s=i.get(),c=s.EDGES,f=s.PAGE_INFO,d=s.HAS_NEXT_PAGE,p=s.HAS_PREV_PAGE,v=s.END_CURSOR,m=s.START_CURSOR,h=o(r,a);if(null==h)return{cursor:null,hasMore:!1};"object"!=typeof h&&t(!1,"Relay: Expected connection in fragment `%s` to have been `null`, or a plain object with %s and %s properties. Instead got `%s`.",n.name,c,f,h);var g=h[c],y=h[f];if(null==g||null==y)return{cursor:null,hasMore:!1};Array.isArray(g)||t(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",n.name,c,g),"object"!=typeof y&&t(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",n.name,f,y);var b="forward"===e?null!==(l=y[v])&&void 0!==l?l:null:null!==(u=y[m])&&void 0!==u?u:null;return null!==b&&"string"!=typeof b&&t(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",n.name,m,b),{cursor:b,hasMore:"forward"===e?null!=b&&!0===y[d]:null!=b&&!0===y[p]}}},828:(e,n,r)=>{var t=r(428).loadQuery;e.exports=function e(n,r,a){var i=null;null==r.root.getModuleIfRequired()&&(i=r.root.load());var o=r.getPreloadProps(a),l=o.queries,u=o.entryPoints,s=o.extraProps,c={},f={};null!=l&&Object.keys(l).forEach((function(e){var r=l[e];if(null!=r){var a=r.environmentProviderOptions,i=r.options,o=r.parameters,u=r.variables,s=n.getEnvironment(a);c[e]=t(s,o,u,{fetchPolicy:null==i?void 0:i.fetchPolicy,networkCacheConfig:null==i?void 0:i.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)}})),null!=u&&Object.keys(u).forEach((function(r){var t=u[r];if(null!=t){var a=t.entryPoint,i=t.entryPointParams;f[r]=e(n,a,i)}}));var d=!1;return{dispose:function(){d||(null!=c&&Object.values(c).forEach((function(e){(0,e.dispose)()})),null!=f&&Object.values(f).forEach((function(e){(0,e.dispose)()})),d=!0)},entryPoints:f,extraProps:null!=s?s:null,getComponent:function(){var e,n=r.root.getModuleIfRequired();if(null==n)throw i=null!==(e=i)&&void 0!==e?e:r.root.load();return null!=n.default?n.default:n},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},428:(e,n,r)=>{var t=(0,r(275).default)(r(175)),a=r(56),i=r(658),o=i.__internal.fetchQueryDeduped,l=i.Observable,u=i.PreloadableQueryRegistry,s=i.RelayFeatureFlags,c=i.ReplaySubject,f=i.createOperationDescriptor,d=i.getRequest,p=i.getRequestIdentifier,v=100001;e.exports={loadQuery:function(e,n,r,i,m){var h;v++;var g,y,b,R,E,k,_=null!==(h=null==i?void 0:i.fetchPolicy)&&void 0!==h?h:"store-or-network",P=(0,t.default)((0,t.default)({},null==i?void 0:i.networkCacheConfig),{},{force:!0}),C=!1,x=function(n,r){return C=!0,e.executeWithSource({operation:n,source:r})},w=new c,S=l.create((function(e){return w.subscribe(e)})),F=null,I=!1,D=function(n){var t;I=!0;var a=new c;if(!0===s.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var i="raw-network-request-"+p(n,r);t=o(e,i,(function(){return e.getNetwork().execute(n,r,P)}))}else t=e.getNetwork().execute(n,r,P);var u=t.subscribe({error:function(e){F=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return y=u,l.create((function(e){var n=a.subscribe(e);return function(){n.unsubscribe(),y()}}))},q=function(n,r){!0===s.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(I=!0);var t=o(e,n.request.identifier,r).subscribe({error:function(e){w.error(e)},next:function(e){w.next(e)},complete:function(){w.complete()}});b=t.unsubscribe},A=function(n){var t=f(n,r,P);g=e.retain(t),"store-only"!==_&&("store-or-network"!==_||"available"!==e.check(t).status)&&q(t,(function(){var e=D(n.params);return x(t,e)}))};if("PreloadableConcreteRequest"===n.kind){null===(k=(R=n.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",R.name);var N=u.get(k);if(null!=N)A(N);else{var Q="store-only"===_?null:D(R),T=u.onLoad(k,(function(n){E();var t=f(n,r,P);g=e.retain(t),null!=Q&&q(t,(function(){return x(t,Q)}))}));E=T.dispose}}else{var O=d(n);k=null!=(R=O.params).cacheID?R.cacheID:R.id,A(O)}var M=!1,L=!1,U=!1,j=function(){L||(g&&g.dispose(),L=!0)},V=function(){U||(C?b&&b():y&&y(),E&&E(),U=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:m,dispose:function(){M||(j(),V(),M=!0)},releaseQuery:j,cancelNetworkRequest:V,fetchKey:v,id:k,get isDisposed(){return M||L},get networkError(){return F},name:R.name,networkCacheConfig:P,fetchPolicy:_,source:I?S:void 0,variables:r}}}},74:(e,n,r)=>{var t=r(275).default,a=t(r(175)),i=t(r(765)),o=r(269).getQueryResourceForEnvironment,l=r(56),u=r(658),s=u.__internal.fetchQuery,c=u.RelayFeatureFlags,f=u.createOperationDescriptor,d=u.getPendingOperationsForFragment,p=u.getSelector,v=u.getVariablesFromFragment,m=u.handlePotentialSnapshotErrors,h=r(446);function g(e,n,r,t,i){var l=v(n,r),u=(0,a.default)((0,a.default)({},l),{},{id:t.clientEdgeDestinationID}),c=f(t.request,u,null==i?void 0:i.networkCacheConfig);return o(e).prepare(c,s(e,c),null==i?void 0:i.fetchPolicy)}e.exports=function(e,n,r,t,a,o){var u,s,f=p(n,r),v=!0===(null==n||null===(u=n.metadata)||void 0===u?void 0:u.plural);v?null==r||Array.isArray(r)||l(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",null!=o?" for key `".concat(o,"`"):"",n.name,typeof r,n.name):Array.isArray(r)&&l(!1,"Relay: Expected fragment pointer%s for fragment `%s` not to be an array, instead got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array.",null!=o?" for key `".concat(o,"`"):"",n.name,typeof r,n.name),null==r||v&&Array.isArray(r)&&0===r.length||null!=f||l(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",n.name,n.name,t,n.name,null==o?"a fragment reference":"the `".concat(o,"`"),t);var y,b=function(e,n){return null==n?{kind:"bailout"}:"PluralReaderSelector"===n.kind?0===n.selectors.length?{kind:"bailout"}:{kind:"plural",snapshots:n.selectors.map((function(n){return e.lookup(n)})),epoch:e.getStore().getEpoch()}:{kind:"singular",snapshot:e.lookup(n),epoch:e.getStore().getEpoch()}}(e,f),R=null;if(!0===(null===(s=n.metadata)||void 0===s?void 0:s.hasClientEdges)){var E=function(e){if("bailout"===e.kind)return null;var n;if("singular"===e.kind)return null!==(n=e.snapshot.missingClientEdges)&&void 0!==n?n:null;var r,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.missingClientEdges){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingClientEdges);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(b);if(null!=E&&E.length){R=[];var k,_=(0,i.default)(E);try{for(_.s();!(k=_.n()).done;){var P=k.value;R.push(g(e,n,r,P,a))}}catch(e){_.e(e)}finally{_.f()}}}if(function(e){return"bailout"!==e.kind&&("singular"===e.kind?e.snapshot.isMissingData:e.snapshots.some((function(e){return e.isMissingData})))}(b)){null==f&&l(!1,"refinement, see invariants above");var C="PluralReaderSelector"===f.kind?f.selectors[0].owner:f.owner,x=d(e,n,C);if(x)throw x.promise;!function(e,n){if("singular"===n.kind)m(e,n.snapshot.errorResponseFields);else if("plural"===n.kind){var r,t=(0,i.default)(n.snapshots);try{for(t.s();!(r=t.n()).done;){var a=r.value;m(e,a.errorResponseFields)}}catch(e){t.e(e)}finally{t.f()}}}(e,b)}return y="bailout"===b.kind?v?[]:null:"singular"===b.kind?b.snapshot.data:b.snapshots.map((function(e){return e.data})),c.LOG_MISSING_RECORDS_IN_PROD,null!=r&&(void 0===y||Array.isArray(y)&&y.length>0&&y.every((function(e){return void 0===e})))&&h(!1,"Relay: Expected to have been able to read non-null data for fragment `%s` declared in `%s`, since fragment reference was non-null. Make sure that that `%s`'s parent isn't holding on to and/or passing a fragment reference for data that has been deleted.",n.name,t,t),{data:y,clientEdgeQueries:R}}},529:(e,n,r)=>{var t=(0,r(275).default)(r(765)),a=r(828),i=r(743),o=r(156),l=o.useCallback,u=o.useEffect,s=o.useRef,c=o.useState,f={kind:"NullEntryPointReference"};e.exports=function(e,n,r){var o,d,p,v,m=null!==(o=null==r||null===(d=r.TEST_ONLY__initialEntryPointData)||void 0===d?void 0:d.entryPointReference)&&void 0!==o?o:f,h=null!==(p=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==p?p:null,g=i(),y=s(new Set([m])),b=c(m),R=b[0],E=b[1],k=c(h),_=k[0],P=k[1],C=l((function(){if(g.current){var e={kind:"NullEntryPointReference"};y.current.add(e),E(e)}}),[E,g]),x=l((function(r){if(g.current){var t=a(e,n,r);y.current.add(t),E(t),P(r)}}),[e,n,E,g]),w=s(!1);return u((function(){return function(){w.current=!0}}),[]),u((function(){if(!0===w.current)return w.current=!1,void("NullEntryPointReference"!==R.kind&&null!=_&&x(_));var e=y.current;if(g.current){var n,r=(0,t.default)(e);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(a===R)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[R,_,x,g]),u((function(){return function(){var e,n=(0,t.default)(y.current);try{for(n.s();!(e=n.n()).done;){var r=e.value;"NullEntryPointReference"!==r.kind&&r.dispose()}}catch(e){n.e(e)}finally{n.f()}}}),[]),["NullEntryPointReference"===R.kind?null:R,x,C]}},863:(e,n,r)=>{var t=r(813),a=r(156),i=a.useCallback,o=a.useEffect;e.exports=function(){var e=t(null),n=t(!1),r=i((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),n.current=!1}),[]),a=i((function(r){e.current=r,n.current=!0}),[]),l=i((function(){e.current=null,n.current=!1}),[]);return o((function(){return r}),[r]),{isFetchingRef:n,startFetch:a,disposeFetch:r,completeFetch:l}}},242:(e,n,r)=>{var t=r(337),a=r(224),i=r(156).useDebugValue,o=r(658).getFragment;e.exports=function(e,n){var r=o(e);a(r,"first argument of useFragment()");var l=t(r,n,"useFragment()");return i({fragment:r.name,data:l}),l}},337:(e,n,r)=>{var t=r(275).default,a=t(r(179)),i=t(r(931)),o=r(658);e.exports=function(e,n,r,t){return o.RelayFeatureFlags.ENABLE_ACTIVITY_COMPATIBILITY?(0,i.default)(e,n,r,t):(0,a.default)(e,n,r,t)}},179:(e,n,r)=>{var t=r(275).default,a=t(r(175)),i=t(r(765)),o=t(r(642)),l=r(269).getQueryResourceForEnvironment,u=r(750),s=r(56),c=r(156),f=c.useDebugValue,d=c.useEffect,p=c.useMemo,v=c.useRef,m=c.useState,h=r(658),g=h.__internal,y=g.fetchQuery,b=g.getPromiseForActiveRequest,R=h.RelayFeatureFlags,E=h.areEqualSelectors,k=h.createOperationDescriptor,_=h.getPendingOperationsForFragment,P=h.getSelector,C=h.getVariablesFromFragment,x=h.handlePotentialSnapshotErrors,w=h.recycleNodesInto,S=r(446);function F(e,n){if("bailout"===n.kind)return null;var r=e.getStore().getEpoch();if(r===n.epoch)return null;if("singular"===n.kind){var t=e.lookup(n.snapshot.selector),a=w(n.snapshot.data,t.data),i={data:a,isMissingData:t.isMissingData,missingClientEdges:t.missingClientEdges,missingLiveResolverFields:t.missingLiveResolverFields,seenRecords:t.seenRecords,selector:t.selector,errorResponseFields:t.errorResponseFields};return[a!==n.snapshot.data,{kind:"singular",snapshot:i,epoch:r}]}for(var o=!1,l=[],u=0;u<n.snapshots.length;u++){var c=n.snapshots[u],f=e.lookup(c.selector),d=w(c.data,f.data),p={data:d,isMissingData:f.isMissingData,missingClientEdges:f.missingClientEdges,missingLiveResolverFields:f.missingLiveResolverFields,seenRecords:f.seenRecords,selector:f.selector,errorResponseFields:f.errorResponseFields};d!==c.data&&(o=!0),l.push(p)}return l.length!==n.snapshots.length&&s(!1,"Expected same number of snapshots"),[o,{kind:"plural",snapshots:l,epoch:r}]}function I(e,n,r,t,i){var o=C(n,r),u=(0,a.default)((0,a.default)({},o),{},{id:t.clientEdgeDestinationID}),s=k(t.request,u,null==i?void 0:i.networkCacheConfig);return[l(e).prepare(s,y(e,s),null==i?void 0:i.fetchPolicy),b(e,s.request)]}function D(e,n){return null==n?{kind:"bailout"}:"PluralReaderSelector"===n.kind?{kind:"plural",snapshots:n.selectors.map((function(n){return e.lookup(n)})),epoch:e.getStore().getEpoch()}:{kind:"singular",snapshot:e.lookup(n),epoch:e.getStore().getEpoch()}}e.exports=function(e,n,r,t){var a,c,h=p((function(){return P(e,n)}),[e,n]),g=!0===(null==e||null===(a=e.metadata)||void 0===a?void 0:a.plural);g?null==n||Array.isArray(n)||s(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",e.name,typeof n,e.name):Array.isArray(n)&&s(!1,"Relay: Expected fragment pointer%s for fragment `%s` not to be an array, instead got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array.",e.name,typeof n,e.name),null==n||g&&Array.isArray(n)&&0===n.length||null!=h||s(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",e.name,e.name,r,e.name,r);var y=u(),b=m((function(){return D(y,h)})),k=b[0],C=b[1],w=k,q=m(w),A=q[0],N=q[1],Q=A,T=m(h),O=T[0],M=T[1],L=m(y),U=L[0],j=L[1];if(!E(h,O)||y!==U){M(h),j(y);var V=D(y,h);C(V),N(V),w=V,Q=V}var B=v(!1);if(d((function(){B.current=h}),[h]),!0===(null===(c=e.metadata)||void 0===c?void 0:c.hasClientEdges)){var W=p((function(){var r,a=function(e){if("bailout"===e.kind)return null;var n;if("singular"===e.kind)return null!==(n=e.snapshot.missingClientEdges)&&void 0!==n?n:null;var r,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.missingClientEdges){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingClientEdges);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(w),o=[];if(null!=a&&a.length){r=[];var l,u=(0,i.default)(a);try{for(u.s();!(l=u.n()).done;){var s=l.value,c=I(y,e,n,s,t),f=c[0],d=c[1];r.push(f),null!=d&&o.push(d)}}catch(e){u.e(e)}finally{u.f()}}return[r,o]}),[w,y,e,n,t]),Y=W[0],G=W[1];if(G.length)throw Promise.all(G);d((function(){var e=l(y);if(null!=Y&&Y.length){var n,r=[],t=(0,i.default)(Y);try{for(t.s();!(n=t.n()).done;){var a=n.value;r.push(e.retain(a))}}catch(e){t.e(e)}finally{t.f()}return function(){for(var e=0,n=r;e<n.length;e++)n[e].dispose()}}}),[y,Y])}if(function(e){return"bailout"!==e.kind&&("singular"===e.kind?e.snapshot.isMissingData:e.snapshots.some((function(e){return e.isMissingData})))}(w)){var K=function(e){if("bailout"===e.kind)return null;var n;if("singular"===e.kind)return null!==(n=e.snapshot.missingLiveResolverFields)&&void 0!==n?n:null;var r,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.missingLiveResolverFields){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingLiveResolverFields);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(w);if(null!=K&&K.length>0)throw Promise.all(K.map((function(e){var n=e.liveStateID;return y.getStore().getLiveResolverPromise(n)})));if(R.ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE||y!==U||!B.current||!E(B.current,h)){null==h&&s(!1,"refinement, see invariants above");var H="PluralReaderSelector"===h.kind?h.selectors[0].owner:h.owner,z=_(y,e,H);if(z)throw z.promise}}!function(e,n){if("singular"===n.kind)x(e,n.snapshot.errorResponseFields);else if("plural"===n.kind){var r,t=(0,i.default)(n.snapshots);try{for(t.s();!(r=t.n()).done;){var a=r.value;x(e,a.errorResponseFields)}}catch(e){t.e(e)}finally{t.f()}}}(y,w);var X,J=v(!1);if(d((function(){var e=Q,n=F(y,Q);if(null!==n){var r=n[0],t=n[1];r&&C(t),e=t}return function(e,n,r,t){if("bailout"===n.kind)return function(){};if("singular"===n.kind){var a=e.subscribe(n.snapshot,(function(n){r((function(r){if("singular"!==r.kind||r.snapshot.selector!==n.selector){var a=F(e,r);if(null!=a){var i=a[0],o=a[1];return e.__log({name:"useFragment.subscription.missedUpdates",hasDataChanges:i}),t.current=i,i?o:r}return r}return t.current=!0,{kind:"singular",snapshot:n,epoch:e.getStore().getEpoch()}}))}));return function(){a.dispose()}}var l=n.snapshots.map((function(n,a){return e.subscribe(n,(function(n){r((function(r){var i;if("plural"!==r.kind||(null===(i=r.snapshots[a])||void 0===i?void 0:i.selector)!==n.selector){var l=F(e,r);if(null!=l){var u=l[0],s=l[1];return e.__log({name:"useFragment.subscription.missedUpdates",hasDataChanges:u}),t.current=t.current||u,u?s:r}return r}var c=(0,o.default)(r.snapshots);return c[a]=n,t.current=!0,{kind:"plural",snapshots:c,epoch:e.getStore().getEpoch()}}))}))}));return function(){var e,n=(0,i.default)(l);try{for(n.s();!(e=n.n()).done;)e.value.dispose()}catch(e){n.e(e)}finally{n.f()}}}(y,e,C,J)}),[y,Q]),J.current){var Z=F(y,w);if(null!=Z){var $=Z[0],ee=Z[1];$&&(C(ee),w=ee)}J.current=!1}if(g){var ne=null==n;X=p((function(){return"bailout"===w.kind?ne?null:[]:("plural"!==w.kind&&s(!1,"Expected state to be plural because fragment is plural"),w.snapshots.map((function(e){return e.data})))}),[w,ne])}else"bailout"===w.kind?X=null:("singular"!==w.kind&&s(!1,"Expected state to be singular because fragment is singular"),X=w.snapshot.data);return R.LOG_MISSING_RECORDS_IN_PROD,null!=n&&(void 0===X||Array.isArray(X)&&X.length>0&&X.every((function(e){return void 0===e})))&&S(!1,"Relay: Expected to have been able to read non-null data for fragment `%s` declared in `%s`, since fragment reference was non-null. Make sure that that `%s`'s parent isn't holding on to and/or passing a fragment reference for data that has been deleted.",e.name,r,r),f({fragment:e.name,data:X}),X}},931:(e,n,r)=>{var t=r(275).default,a=t(r(175)),i=t(r(765)),o=t(r(642)),l=r(269).getQueryResourceForEnvironment,u=r(750),s=r(56),c=r(156),f=c.useDebugValue,d=c.useEffect,p=c.useMemo,v=c.useRef,m=c.useState,h=r(658),g=h.__internal,y=g.fetchQuery,b=g.getPromiseForActiveRequest,R=h.RelayFeatureFlags,E=h.areEqualSelectors,k=h.createOperationDescriptor,_=h.getPendingOperationsForFragment,P=h.getSelector,C=h.getVariablesFromFragment,x=h.handlePotentialSnapshotErrors,w=h.recycleNodesInto,S=r(446);function F(e,n){if("bailout"===n.kind)return null;var r=e.getStore().getEpoch();if(r===n.epoch)return null;if("singular"===n.kind){var t=e.lookup(n.snapshot.selector),a=w(n.snapshot.data,t.data),i={data:a,isMissingData:t.isMissingData,missingClientEdges:t.missingClientEdges,missingLiveResolverFields:t.missingLiveResolverFields,seenRecords:t.seenRecords,selector:t.selector,errorResponseFields:t.errorResponseFields};return[a!==n.snapshot.data,{kind:"singular",snapshot:i,epoch:r,selector:n.selector,environment:n.environment}]}for(var o=!1,l=[],u=0;u<n.snapshots.length;u++){var c=n.snapshots[u],f=e.lookup(c.selector),d=w(c.data,f.data),p={data:d,isMissingData:f.isMissingData,missingClientEdges:f.missingClientEdges,missingLiveResolverFields:f.missingLiveResolverFields,seenRecords:f.seenRecords,selector:f.selector,errorResponseFields:f.errorResponseFields};d!==c.data&&(o=!0),l.push(p)}return l.length!==n.snapshots.length&&s(!1,"Expected same number of snapshots"),[o,{kind:"plural",snapshots:l,epoch:r,selector:n.selector,environment:n.environment}]}function I(e,n,r,t,i){var o=C(n,r),u=(0,a.default)((0,a.default)({},o),{},{id:t.clientEdgeDestinationID}),s=k(t.request,u,null==i?void 0:i.networkCacheConfig);return[l(e).prepare(s,y(e,s),null==i?void 0:i.fetchPolicy),b(e,s.request)]}function D(e,n,r){if("bailout"===n.kind)return function(){};if("singular"===n.kind){var t=e.subscribe(n.snapshot,(function(t){r((function(r){var a=null;if("singular"!==r.kind||r.snapshot.selector!==t.selector||r.environment!==e){var i=F(r.environment,r);if(null!=i){var o=i[0],l=i[1];e.__log({name:"useFragment.subscription.missedUpdates",hasDataChanges:o}),a=o?l:r}else a=r}else a={kind:"singular",snapshot:t,epoch:e.getStore().getEpoch(),selector:n.selector,environment:n.environment};return a}))}));return function(){t.dispose()}}var a=n.snapshots.map((function(t,a){return e.subscribe(t,(function(t){r((function(r){var i,l=null;if("plural"!==r.kind||(null===(i=r.snapshots[a])||void 0===i?void 0:i.selector)!==t.selector||r.environment!==e){var u=F(r.environment,r);if(null!=u){var s=u[0],c=u[1];e.__log({name:"useFragment.subscription.missedUpdates",hasDataChanges:s}),l=s?c:r}else l=r}else{var f=(0,o.default)(r.snapshots);f[a]=t,l={kind:"plural",snapshots:f,epoch:e.getStore().getEpoch(),selector:n.selector,environment:n.environment}}return l}))}))}));return function(){var e,n=(0,i.default)(a);try{for(n.s();!(e=n.n()).done;)e.value.dispose()}catch(e){n.e(e)}finally{n.f()}}}function q(e,n){return null==n?{kind:"bailout",environment:e}:"PluralReaderSelector"===n.kind?{kind:"plural",snapshots:n.selectors.map((function(n){return e.lookup(n)})),epoch:e.getStore().getEpoch(),selector:n,environment:e}:{kind:"singular",snapshot:e.lookup(n),epoch:e.getStore().getEpoch(),selector:n,environment:e}}e.exports=function(e,n,r,t){var a,o,c=p((function(){return P(e,n)}),[e,n]),h=!0===(null==e||null===(a=e.metadata)||void 0===a?void 0:a.plural);h?null==n||Array.isArray(n)||s(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",e.name,typeof n,e.name):Array.isArray(n)&&s(!1,"Relay: Expected fragment pointer%s for fragment `%s` not to be an array, instead got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array.",e.name,typeof n,e.name),null==n||h&&Array.isArray(n)&&0===n.length||null!=c||s(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",e.name,e.name,r,e.name,r);var g=u(),y=m((function(){return q(g,c)})),b=y[0],k=y[1],C=b,w=C.environment;if(!E(c,C.selector)||g!==C.environment){var A=q(g,c);k(A),C=A}var N=v(!1);if(d((function(){N.current=c}),[c]),!0===(null===(o=e.metadata)||void 0===o?void 0:o.hasClientEdges)){var Q=p((function(){var r,a=function(e){if("bailout"===e.kind)return null;var n;if("singular"===e.kind)return null!==(n=e.snapshot.missingClientEdges)&&void 0!==n?n:null;var r,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.missingClientEdges){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingClientEdges);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(C),o=[];if(null!=a&&a.length){r=[];var l,u=(0,i.default)(a);try{for(u.s();!(l=u.n()).done;){var s=l.value,c=I(g,e,n,s,t),f=c[0],d=c[1];r.push(f),null!=d&&o.push(d)}}catch(e){u.e(e)}finally{u.f()}}return[r,o]}),[C,g,e,n,t]),T=Q[0],O=Q[1];if(O.length)throw Promise.all(O);d((function(){var e=l(g);if(null!=T&&T.length){var n,r=[],t=(0,i.default)(T);try{for(t.s();!(n=t.n()).done;){var a=n.value;r.push(e.retain(a))}}catch(e){t.e(e)}finally{t.f()}return function(){for(var e=0,n=r;e<n.length;e++)n[e].dispose()}}}),[g,T])}if(function(e){return"bailout"!==e.kind&&("singular"===e.kind?e.snapshot.isMissingData:e.snapshots.some((function(e){return e.isMissingData})))}(C)){var M=function(e){if("bailout"===e.kind)return null;var n;if("singular"===e.kind)return null!==(n=e.snapshot.missingLiveResolverFields)&&void 0!==n?n:null;var r,t=null,a=(0,i.default)(e.snapshots);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.missingLiveResolverFields){var l;t=null!==(l=t)&&void 0!==l?l:[];var u,s=(0,i.default)(o.missingLiveResolverFields);try{for(s.s();!(u=s.n()).done;){var c=u.value;t.push(c)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){a.e(e)}finally{a.f()}return t}(C);if(null!=M&&M.length>0)throw Promise.all(M.map((function(e){var n=e.liveStateID;return g.getStore().getLiveResolverPromise(n)})));if(R.ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE||g!==w||!N.current||!E(N.current,c)){null==c&&s(!1,"refinement, see invariants above");var L="PluralReaderSelector"===c.kind?c.selectors[0].owner:c.owner,U=_(g,e,L);if(U)throw U.promise}}!function(e,n){if("singular"===n.kind)x(e,n.snapshot.errorResponseFields);else if("plural"===n.kind){var r,t=(0,i.default)(n.snapshots);try{for(t.s();!(r=t.n()).done;){var a=r.value;x(e,a.errorResponseFields)}}catch(e){t.e(e)}finally{t.f()}}}(g,C);var j,V=v(null);if(d((function(){var e=V.current;if(null!=e){if(C.environment===e.environment&&C.selector===e.selector)return;e.dispose()}if("bailout"!==C.kind){var n=C,r=F(C.environment,C);if(null!==r){var t=r[0],a=r[1];if(t)return void k(a);n=a}var i=D(C.environment,n,k);V.current={dispose:i,selector:C.selector,environment:C.environment}}}),[C]),d((function(){if(null==V.current&&"bailout"!==C.kind){var e=D(C.environment,C,k);V.current={dispose:e,selector:C.selector,environment:C.environment}}return function(){var e;null===(e=V.current)||void 0===e||e.dispose(),V.current=null}}),[]),h){var B=null==n;j=p((function(){return"bailout"===C.kind?B?null:[]:("plural"!==C.kind&&s(!1,"Expected state to be plural because fragment is plural"),C.snapshots.map((function(e){return e.data})))}),[C,B])}else"bailout"===C.kind?j=null:("singular"!==C.kind&&s(!1,"Expected state to be singular because fragment is singular"),j=C.snapshot.data);return R.LOG_MISSING_RECORDS_IN_PROD,null!=n&&(void 0===j||Array.isArray(j)&&j.length>0&&j.every((function(e){return void 0===e})))&&S(!1,"Relay: Expected to have been able to read non-null data for fragment `%s` declared in `%s`, since fragment reference was non-null. Make sure that that `%s`'s parent isn't holding on to and/or passing a fragment reference for data that has been deleted.",e.name,r,r),f({fragment:e.name,data:j}),j}},743:(e,n,r)=>{var t=r(156),a=t.useEffect,i=t.useRef;e.exports=function(){var e=i(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},233:(e,n,r)=>{var t=r(750),a=r(56),i=r(156),o=r(658),l=o.__internal.getObservableForActiveRequest,u=o.getSelector,s=i.useEffect,c=i.useState,f=i.useMemo;e.exports=function(e,n){var r=t(),i=f((function(){var t=u(e,n);return null==t?null:("SingularReaderSelector"!==t.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),l(r,t.owner))}),[r,e,n]),o=c(null!=i),d=o[0],p=o[1];return s((function(){var e;if(p(null!=i),null!=i){var n=function(){p(!1)};e=i.subscribe({complete:n,error:n})}return function(){e&&e.unsubscribe()}}),[i]),d}},899:(e,n,r)=>{var t=r(734),a=r(61),i=r(750),o=r(658).__internal.fetchQuery;e.exports=function(e,n,r){var l=i(),u=a(e,n,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return t({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:o(l,u),fetchPolicy:null==r?void 0:r.fetchPolicy,query:u,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},734:(e,n,r)=>{var t=r(187),a=r(269),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,l=r(863),u=r(337),s=r(750),c=r(156),f=c.useContext,d=c.useEffect,p=c.useState,v=c.useRef;e.exports=function(e){var n=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,m=e.fetchKey,h=e.renderPolicy,g=s(),y=f(t),b=o(g),R=p(0),E=R[0],k=R[1],_=l(),P=_.startFetch,C=_.completeFetch,x="".concat(E,"-").concat(null!=m?m:""),w=i(g,n,c,h,x),S=y.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(w,n,a,c,h,{start:P,complete:C,error:C},y)})),F=v(!1);d((function(){return function(){F.current=!0}}),[]),d((function(){if(!0===F.current)return F.current=!1,void k((function(e){return e+1}));var e=b.retain(S,y);return function(){e.dispose()}}),[g,w]),d((function(){b.releaseTemporaryRetain(S)}));var I=S.fragmentNode,D=S.fragmentRef;return u(I,D,r)}},601:(e,n,r)=>{var t=(0,r(275).default)(r(175)),a=r(62),i=r(863),o=r(743),l=r(233),u=r(607),s=r(750),c=r(56),f=r(156),d=f.useCallback,p=f.useEffect,v=f.useState,m=r(658),h=m.__internal.fetchQuery,g=m.RelayFeatureFlags,y=m.createOperationDescriptor,b=m.getPaginationVariables,R=m.getRefetchMetadata,E=m.getSelector,k=r(446);e.exports=function(e){return g.ENABLE_ACTIVITY_COMPATIBILITY?u(e):function(e){var n=e.direction,r=e.fragmentNode,u=e.fragmentRef,f=e.fragmentIdentifier,m=e.fragmentData,g=e.connectionPathInFragmentData,_=e.paginationRequest,P=e.paginationMetadata,C=e.componentDisplayName,x=e.observer,w=e.onReset,S=s(),F=i(),I=F.isFetchingRef,D=F.startFetch,q=F.disposeFetch,A=F.completeFetch,N=R(r,C).identifierInfo,Q=null!=(null==N?void 0:N.identifierField)&&null!=m&&"object"==typeof m?m[N.identifierField]:null,T=o(),O=v(S),M=O[0],L=O[1],U=v(f),j=U[0],V=U[1],B=l(r,u);S===M&&f===j||(q(),w(),L(S),V(f));var W=a(n,r,m,g),Y=W.cursor,G=W.hasMore;return p((function(){return function(){q()}}),[q]),[d((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==T.current)return k(!1,"Relay: Unexpected fetch on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",r.name,C),{dispose:function(){}};var o=E(r,u);if(!0===I.current||null==m||B)return null==o&&k(!1,"Relay: Unexpected fetch while using a null fragment ref for fragment `%s` in `%s`. When fetching more items, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before paginating.",r.name,C,C),i&&i(null),{dispose:function(){}};(null==o||"PluralReaderSelector"===o.kind)&&c(!1,"Relay: Expected to be able to find a non-plural fragment owner for fragment `%s` when using `%s`. If you're seeing this, this is likely a bug in Relay.",r.name,C);var l=o.owner.variables,s=o.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,t.default)((0,t.default)({},l),s),p=b(n,e,Y,d,(0,t.default)({},f),P);null!=N&&("string"!=typeof Q&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",N.identifierField,Q),p[N.identifierQueryVariableName]=Q);var v=y(_,p,{force:!0});return h(S,v).subscribe((0,t.default)((0,t.default)({},x),{},{start:function(e){D(e),x.start&&x.start(e)},complete:function(){A(),x.complete&&x.complete(),i&&i(null)},error:function(e){A(),x.error&&x.error(e),i&&i(e)}})),{dispose:q}}),[S,Q,n,Y,D,q,A,I,B,m,r.name,u,C]),G,q]}(e)}},607:(e,n,r)=>{var t=(0,r(275).default)(r(175)),a=r(62),i=r(743),o=r(233),l=r(750),u=r(56),s=r(156),c=s.useCallback,f=s.useRef,d=s.useState,p=r(658),v=p.__internal.fetchQuery,m=p.createOperationDescriptor,h=p.getPaginationVariables,g=p.getRefetchMetadata,y=p.getSelector,b=r(446);e.exports=function(e){var n=e.direction,r=e.fragmentNode,s=e.fragmentRef,p=e.fragmentIdentifier,R=e.fragmentData,E=e.connectionPathInFragmentData,k=e.paginationRequest,_=e.paginationMetadata,P=e.componentDisplayName,C=e.observer,x=e.onReset,w=l(),S=g(r,P).identifierInfo,F=null!=(null==S?void 0:S.identifierField)&&null!=R&&"object"==typeof R?R[S.identifierField]:null,I=f({kind:"none"}),D=d(w),q=D[0],A=D[1],N=d(p),Q=N[0],T=N[1],O=o(r,s),M=c((function(){"fetching"===I.current.kind&&I.current.subscription.unsubscribe(),I.current={kind:"none"}}),[]);(w!==q||p!==Q)&&(M(),x(),A(w),T(p));var L=a(n,r,R,E),U=L.cursor,j=L.hasMore,V=i();return[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==V.current)return b(!1,"Relay: Unexpected fetch on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",r.name,P),{dispose:function(){}};var o=y(r,s);if("fetching"===I.current.kind||null==R||O)return null==o&&b(!1,"Relay: Unexpected fetch while using a null fragment ref for fragment `%s` in `%s`. When fetching more items, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before paginating.",r.name,P,P),i&&i(null),{dispose:function(){}};(null==o||"PluralReaderSelector"===o.kind)&&u(!1,"Relay: Expected to be able to find a non-plural fragment owner for fragment `%s` when using `%s`. If you're seeing this, this is likely a bug in Relay.",r.name,P);var l=o.owner.variables,c=o.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,t.default)((0,t.default)({},l),c),p=h(n,e,U,d,(0,t.default)({},f),_);null!=S&&("string"!=typeof F&&b(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",S.identifierField,F),p[S.identifierQueryVariableName]=F);var g=m(k,p,{force:!0});return v(w,g).subscribe((0,t.default)((0,t.default)({},C),{},{start:function(e){I.current={kind:"fetching",subscription:e},C.start&&C.start(e)},complete:function(){I.current={kind:"none"},C.complete&&C.complete(),i&&i(null)},error:function(e){I.current={kind:"none"},C.complete&&C.complete(),i&&i(e)}})),{dispose:function(){}}}),[w,F,n,U,O,R,r.name,s,P]),j,M]}},61:(e,n,r)=>{var t=r(925),a=r(156),i=r(658),o=i.createOperationDescriptor,l=i.getRequest,u=a.useMemo;e.exports=function(e,n,r){var a=t(n),i=t(r||{});return u((function(){return o(l(e),a,i)}),[e,a,i])}},925:(e,n,r)=>{var t=r(125),a=r(156).useState;e.exports=function(e){var n=a(e),r=n[0],i=n[1];return t(e,r)?r:(i(e),e)}},115:(e,n,r)=>{var t=(0,r(275).default)(r(175)),a=r(743),i=r(750),o=r(156),l=r(658).commitMutation,u=o.useState,s=o.useEffect,c=o.useRef,f=o.useCallback;e.exports=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l,r=i(),o=a(),d=c(r),p=c(e),v=c(new Set),m=u(!1),h=m[0],g=m[1],y=f((function(n){d.current===r&&p.current===e&&(v.current.delete(n),o.current&&g(v.current.size>0))}),[r,o,e]);return s((function(){d.current===r&&p.current===e||(v.current=new Set,o.current&&g(!1),d.current=r,p.current=e)}),[r,o,e]),[f((function(a){o.current&&g(!0);var i=n(r,(0,t.default)((0,t.default)({},a),{},{mutation:e,onCompleted:function(e,n){var r;y(i),null===(r=a.onCompleted)||void 0===r||r.call(a,e,n)},onError:function(e){var n;y(i),null===(n=a.onError)||void 0===n||n.call(a,e)},onUnsubscribe:function(){var e;y(i),null===(e=a.onUnsubscribe)||void 0===e||e.call(a)},onNext:function(){var e;null===(e=a.onNext)||void 0===e||e.call(a)}}));return v.current.add(i),i}),[y,n,r,o,e]),h]}},951:(e,n,r)=>{var t=(0,r(275).default)(r(175)),a=r(601),i=r(915),o=r(750),l=r(224),u=r(156),s=u.useCallback,c=u.useDebugValue,f=u.useState,d=r(658),p=d.getFragment,v=d.getFragmentIdentifier,m=d.getPaginationMetadata;function h(e){var n=o(),r=f(!1),i=r[0],l=r[1],u=function(e){var r,t=null===(r=n.getScheduler())||void 0===r?void 0:r.schedule;t?t((function(){l(e)})):l(e)},s={start:function(){return u(!0)},complete:function(){return u(!1)},error:function(){return u(!1)}},c=a((0,t.default)((0,t.default)({},e),{},{observer:s,onReset:function(){return u(!1)}}));return[c[0],c[1],i,c[2]]}e.exports=function(e,n){var r=p(e);l(r,"first argument of usePaginationFragment()");var a="usePaginationFragment()",o=m(r,a),u=o.connectionPathInFragmentData,f=o.paginationRequest,d=o.paginationMetadata,g=i(r,n,a),y=g.fragmentData,b=g.fragmentRef,R=g.refetch,E=v(r,b),k=h({componentDisplayName:a,connectionPathInFragmentData:u,direction:"backward",fragmentData:y,fragmentIdentifier:E,fragmentNode:r,fragmentRef:b,paginationMetadata:d,paginationRequest:f}),_=k[0],P=k[1],C=k[2],x=k[3],w=h({componentDisplayName:a,connectionPathInFragmentData:u,direction:"forward",fragmentData:y,fragmentIdentifier:E,fragmentNode:r,fragmentRef:b,paginationMetadata:d,paginationRequest:f}),S=w[0],F=w[1],I=w[2],D=w[3],q=s((function(e,n){return D(),x(),R(e,(0,t.default)((0,t.default)({},n),{},{__environment:void 0}))}),[D,x,R]);return c({fragment:r.name,data:y,hasNext:F,isLoadingNext:I,hasPrevious:P,isLoadingPrevious:C}),{data:y,loadNext:S,loadPrevious:_,hasNext:F,hasPrevious:P,isLoadingNext:I,isLoadingPrevious:C,refetch:q}}},617:(e,n,r)=>{var t=r(734),a=r(61),i=r(750),o=r(56),l=r(156).useDebugValue,u=r(658).__internal,s=u.fetchQueryDeduped,c=u.fetchQuery,f=r(446);e.exports=function(e,n,r){var u,d=i(),p=n.fetchKey,v=n.fetchPolicy,m=n.source,h=n.variables,g=n.networkCacheConfig,y=a(e,h,g);if("PreloadedQuery_DEPRECATED"===n.kind)y.request.node.params.name!==n.name&&o(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",y.request.node.params.name,n.name),u={componentDisplayName:"usePreloadedQuery()",fetchKey:p,fetchObservable:s(d,y.request.identifier,(function(){return d===n.environment&&null!=m?d.executeWithSource({operation:y,source:m}):d.execute({operation:y})})),fetchPolicy:v,query:y,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{f(!1===n.isDisposed,"usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. This is because disposing the query marks it for future garbage collection, and as such query results may no longer be present in the Relay store. In the future, this will become a hard error.");var b,R=c(d,y);null!=m&&d===n.environment?b=m.ifEmpty(R):d!==n.environment?(f(!1,"usePreloadedQuery(): usePreloadedQuery was passed a preloaded query that was created with a different environment than the one that is currently in context. In the future, this will become a hard error."),b=R):b=R,u={componentDisplayName:"usePreloadedQuery()",fetchObservable:b,fetchKey:p,fetchPolicy:v,query:y,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var E=t(u);return l({query:n.name,variables:n.variables,data:E,fetchKey:p,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),E}},876:(e,n,r)=>{var t=(0,r(275).default)(r(765)),a=r(428).loadQuery,i=r(743),o=r(657),l=r(750),u=r(156),s=u.useCallback,c=u.useEffect,f=u.useRef,d=u.useState,p=r(658),v=p.RelayFeatureFlags,m=p.getRequest,h={kind:"NullQueryReference"};function g(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==m(e).params.metadata.live}e.exports=function(e,n){return v.ENABLE_ACTIVITY_COMPATIBILITY?o(e,n):function(e,n){var r=null!=n?n:h,o=l(),u=i(),p=f(new Set([r])),v=d((function(){return r})),m=v[0],y=v[1],b=d((function(){return r})),R=b[0],E=b[1];r!==R&&(p.current.add(r),E(r),y(r));var k=s((function(){u.current&&(p.current.add(h),y(h))}),[u]),_=s((function(n,r){var t=null!=r&&r.hasOwnProperty("__environment")?{fetchPolicy:r.fetchPolicy,networkCacheConfig:r.networkCacheConfig,__nameForWarning:r.__nameForWarning}:r;if(u.current){var i,l=a(null!==(i=null==r?void 0:r.__environment)&&void 0!==i?i:o,e,n,t);p.current.add(l),y(l)}}),[o,e,y,u]),P=f(!1);return c((function(){return function(){P.current=!0}}),[]),c((function(){if(!0===P.current)return P.current=!1,void("NullQueryReference"!==m.kind&&_(m.variables,{fetchPolicy:m.fetchPolicy,networkCacheConfig:m.networkCacheConfig}));var n=p.current;if(u.current){var r,a=(0,t.default)(n);try{for(a.s();!(r=a.n()).done;){var i=r.value;if(i===m)break;n.delete(i),"NullQueryReference"!==i.kind&&(g(e)?i.dispose&&i.dispose():i.releaseQuery&&i.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[m,u,_,e]),c((function(){return function(){var n,r=(0,t.default)(p.current);try{for(r.s();!(n=r.n()).done;){var a=n.value;"NullQueryReference"!==a.kind&&(g(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===m.kind?null:m,_,k]}(e,n)}},657:(e,n,r)=>{var t=(0,r(275).default)(r(765)),a=r(428).loadQuery,i=r(743),o=r(750),l=r(156),u=l.useCallback,s=l.useEffect,c=l.useInsertionEffect,f=l.useRef,d=l.useState,p=r(658).getRequest,v={kind:"NullQueryReference"};function m(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==p(e).params.metadata.live}e.exports=function(e,n){var r=null!=n?n:v,l=o(),p=i(),h=f(null);null==h.current&&(h.current=new Set([r]));var g,y=d((function(){return r})),b=y[0],R=y[1],E=d((function(){return r})),k=E[0],_=E[1];r!==k&&(null===(g=h.current)||void 0===g||g.add(r),_(r),R(r));var P=u((function(){var e;p.current&&(null===(e=h.current)||void 0===e||e.add(v),R(v))}),[p]),C=u((function(n,r){var t,i;if(p.current){var o=null!=r&&r.hasOwnProperty("__environment")?{fetchPolicy:r.fetchPolicy,networkCacheConfig:r.networkCacheConfig,__nameForWarning:r.__nameForWarning}:r,u=a(null!==(t=null==r?void 0:r.__environment)&&void 0!==t?t:l,e,n,o);null===(i=h.current)||void 0===i||i.add(u),R(u)}}),[l,e,R,p]),x=u((function(e,n){var r,a,i=null!==(r=h.current)&&void 0!==r?r:new Set,o=(0,t.default)(i);try{for(o.s();!(a=o.n()).done;){var l=a.value;l!==n&&"NullQueryReference"!==l.kind&&(m(e)?l.dispose&&l.dispose():l.releaseQuery&&l.releaseQuery())}}catch(e){o.e(e)}finally{o.f()}}),[]),w=f(null);return s((function(){return x(e,b),null!=w.current&&(clearTimeout(w.current),w.current=null),function(){w.current=setTimeout((function(){x(e,null)}),3e5)}}),[e,b]),c((function(){return function(){w.current&&clearTimeout(w.current),w.current=null,x(e,null)}}),[e]),["NullQueryReference"===b.kind?null:b,C,P]}},874:(e,n,r)=>{var t=r(915),a=r(224),i=r(156).useDebugValue,o=r(658).getFragment;e.exports=function(e,n){var r=o(e);a(r,"first argument of useRefetchableFragment()");var l=t(r,n,"useRefetchableFragment()"),u=l.fragmentData,s=l.refetch;return i({fragment:r.name,data:u}),[u,s]}},915:(e,n,r)=>{var t,a=(0,r(275).default)(r(175)),i=r(187),o=r(269).getQueryResourceForEnvironment,l=r(74),u=r(337),s=r(743),c=r(876),f=r(750),d=r(56),p=r(156),v=p.useCallback,m=p.useContext,h=p.useReducer,g=r(658),y=g.__internal.fetchQuery,b=g.createOperationDescriptor,R=g.getFragmentIdentifier,E=g.getRefetchMetadata,k=g.getSelector,_=g.getValueAtPath,P=r(446);function C(e,n){switch(n.type){case"refetch":var r;return(0,a.default)((0,a.default)({},e),{},{fetchPolicy:n.fetchPolicy,mirroredEnvironment:null!==(r=n.refetchEnvironment)&&void 0!==r?r:e.mirroredEnvironment,onComplete:n.onComplete,refetchEnvironment:n.refetchEnvironment,refetchQuery:n.refetchQuery,renderPolicy:n.renderPolicy});case"reset":return{fetchPolicy:void 0,mirroredEnvironment:n.environment,mirroredFragmentIdentifier:n.fragmentIdentifier,onComplete:void 0,refetchQuery:null,renderPolicy:void 0};default:throw n.type,new Error("useRefetchableFragmentNode: Unexpected action type")}}t={getInitialIDAndType:function(e,n,t,a){var i=r(658).Record,o=null==e?void 0:e[null!=t?t:"id"];if(1!==n.length||"node"!==n[0]||null==o)return null;var l=a.getStore().getSource().get(o),u=null==l?null:i.getType(l);return null==u?null:{id:o,typename:u}},checkSameTypeAfterRefetch:function(e,n,t,a){var i=r(658).Record;if(e){var o=n.getStore().getSource().get(e.id),l=o&&i.getType(o);l!==e.typename&&P(!1,"Relay: Call to `refetch` returned data with a different __typename: was `%s`, now `%s`, on `%s` in `%s`. Please make sure the server correctly implementsunique id requirement.",e.typename,l,t.name,a)}},checkSameIDAfterRefetch:function(e,n,t,a){if(null!=e){var i=n[r(658).ID_KEY];null!=i&&i!==e.id&&P(!1,"Relay: Call to `refetch` returned a different id, expected `%s`, got `%s`, on `%s` in `%s`. Please make sure the server correctly implements unique id requirement.",i,e.id,t.name,a)}}},e.exports=function(e,n,r){var p=f(),g=E(e,r),x=g.refetchableRequest,w=g.fragmentRefPathInResponse,S=g.identifierInfo,F=R(e,n),I=h(C,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:F,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=I[0],q=I[1],A=D.fetchPolicy,N=D.mirroredEnvironment,Q=D.mirroredFragmentIdentifier,T=D.onComplete,O=D.refetchEnvironment,M=D.refetchQuery,L=D.renderPolicy,U=null!=O?O:p,j=o(U),V=m(i),B=U!==N||F!==Q,W=c(x),Y=W[0],G=W[1],K=W[2],H=n;if(B)q({type:"reset",environment:U,fragmentIdentifier:F}),K();else if(null!=M&&null!=Y){var z;z=t.getInitialIDAndType(M.request.variables,w,null==S?void 0:S.identifierQueryVariableName,U);var X=function(e){T&&T(null!=e?e:null)},J=null!=Y.source?Y.source:y(U,M),Z=V.wrapPrepareQueryResource((function(){return j.prepare(M,J,A,L,{error:X,complete:function(){t.checkSameTypeAfterRefetch(z,U,e,r),X()}},Y.fetchKey,V)})),$=l(U,Z.fragmentNode,Z.fragmentRef,r).data;null==$&&d(!1,"Relay: Expected to be able to read refetch query response. If you're seeing this, this is likely a bug in Relay."),H=_($,w),t.checkSameIDAfterRefetch(z,H,e,r)}var ee=u(e,H,r),ne=function(e,n,r,t,i,o,l,u,c,f,d){var p=s(),m=null!=(null==u?void 0:u.identifierField)&&null!=t&&"object"==typeof t?t[u.identifierField]:null;return v((function(t,i){if(!0!==p.current)return P(!1,"Relay: Unexpected call to `refetch` on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",o.name,e),{dispose:function(){}};null==f&&P(!1,"Relay: Unexpected call to `refetch` while using a null fragment ref for fragment `%s` in `%s`. When calling `refetch`, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before calling `refetch`, or make sure you pass all required variables to `refetch`.",o.name,e,e);var l,s,v=null==i?void 0:i.__environment,h=null==i?void 0:i.fetchPolicy,g=null==i?void 0:i.UNSTABLE_renderPolicy,y=null==i?void 0:i.onComplete,R=k(o,f);if(null==R)l={},s={};else if("PluralReaderSelector"===R.kind){var E,_,C,x;l=null!==(E=null===(_=R.selectors[0])||void 0===_?void 0:_.owner.variables)&&void 0!==E?E:{},s=null!==(C=null===(x=R.selectors[0])||void 0===x?void 0:x.variables)&&void 0!==C?C:{}}else l=R.owner.variables,s=R.variables;var w=(0,a.default)((0,a.default)((0,a.default)({},l),s),t);null==u||t.hasOwnProperty(u.identifierQueryVariableName)||("string"!=typeof m&&P(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",u.identifierField,m),w[u.identifierQueryVariableName]=m);var S=b(d,w,{force:!0});return c(S.request.variables,{fetchPolicy:h,__environment:v,__nameForWarning:"refetch"}),n({type:"refetch",fetchPolicy:h,onComplete:y,refetchEnvironment:v,refetchQuery:S,renderPolicy:g}),{dispose:r}}),[i,n,r,m,c])}(r,q,K,ee,F,e,0,S,G,n,x);return{fragmentData:ee,fragmentRef:H,refetch:ne}}},750:(e,n,r)=>{var t=r(888),a=r(56),i=r(156).useContext;e.exports=function(){var e=i(t);return null==e&&a(!1,"useRelayEnvironment: Expected to have found a Relay environment provided by a `RelayEnvironmentProvider` component. This usually means that useRelayEnvironment was used in a component that is not a descendant of a `RelayEnvironmentProvider`. Please make sure a `RelayEnvironmentProvider` has been rendered somewhere as a parent or ancestor of your component."),e.environment}},224:(e,n,r)=>{var t=r(813),a=r(446);e.exports=function(e,n){var r=t(e.name);a(r.current===e.name,"Relay: The %s has to remain the same over the lifetime of a component. Changing it is not supported and will result in unexpected behavior.",n)}},50:(e,n,r)=>{var t=r(750),a=r(156),i=a.useEffect,o=a.useRef;e.exports=function(e,n){var r=t(),a=o(null),l=Array.from(e).sort().join("");return i((function(){var t=r.getStore(),i=t.lookupInvalidationState(e),o=t.subscribeToInvalidationState(i,n);return a.current=o,function(){return o.dispose()}}),[l,n,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},746:(e,n,r)=>{var t=r(750),a=r(156).useEffect,i=r(658).requestSubscription;e.exports=function(e,n){var r=null!=n?n:i,o=t();a((function(){return r(o,e).dispose}),[o,e,r])}},813:(e,n,r)=>{var t=r(156).useMemo;e.exports=function(e){return t((function(){return{current:e}}),[])}},765:n=>{n.exports=e},311:e=>{e.exports=n},275:e=>{e.exports=r},175:e=>{e.exports=t},642:e=>{e.exports=a},125:e=>{e.exports=i},446:e=>{e.exports=o},56:e=>{e.exports=l},156:e=>{e.exports=u},658:e=>{e.exports=s}},f={};return function e(n){var r=f[n];if(void 0!==r)return r.exports;var t=f[n]={exports:{}};return c[n](t,t.exports,e),t.exports}(651)})()));