react-relay 0.0.0-main-b73f35ea → 0.0.0-main-6bdab0d6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/legacy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -33,8 +33,56 @@ var warning = require("fbjs/lib/warning");
33
33
 
34
34
  var DEFAULT_FETCH_POLICY = 'store-or-network';
35
35
 
36
+ var QueryCache = /*#__PURE__*/function () {
37
+ function QueryCache() {
38
+ this._map = new Map();
39
+ }
40
+
41
+ var _proto = QueryCache.prototype;
42
+
43
+ _proto.get = function get(environment, key) {
44
+ var forEnv = this._map.get(environment);
45
+
46
+ if (!forEnv) {
47
+ forEnv = new Map();
48
+
49
+ this._map.set(environment, forEnv);
50
+ }
51
+
52
+ return forEnv.get(key);
53
+ };
54
+
55
+ _proto.set = function set(environment, key, value) {
56
+ var forEnv = this._map.get(environment);
57
+
58
+ if (!forEnv) {
59
+ forEnv = new Map();
60
+
61
+ this._map.set(environment, forEnv);
62
+ }
63
+
64
+ forEnv.set(key, value);
65
+ };
66
+
67
+ _proto["delete"] = function _delete(environment, key) {
68
+ var forEnv = this._map.get(environment);
69
+
70
+ if (!forEnv) {
71
+ return;
72
+ }
73
+
74
+ forEnv["delete"](key);
75
+
76
+ if (forEnv.size === 0) {
77
+ this._map["delete"](environment);
78
+ }
79
+ };
80
+
81
+ return QueryCache;
82
+ }();
83
+
36
84
  function createQueryCache() {
37
- return new Map();
85
+ return new QueryCache();
38
86
  }
39
87
 
40
88
  var noopOnCommit = function noopOnCommit() {
@@ -46,8 +94,7 @@ var noopOnCommit = function noopOnCommit() {
46
94
  var noopPromise = new Promise(function () {});
47
95
 
48
96
  function getQueryCacheKey(operation, fetchPolicy, renderPolicy, fetchKey) {
49
- var cacheIdentifier = "".concat(fetchPolicy, "-").concat(renderPolicy, "-").concat(operation.request.identifier, "-").concat(fetchKey !== null && fetchKey !== void 0 ? fetchKey : '');
50
- return cacheIdentifier;
97
+ return "".concat(fetchPolicy, "-").concat(renderPolicy, "-").concat(operation.request.identifier, "-").concat(fetchKey !== null && fetchKey !== void 0 ? fetchKey : '');
51
98
  }
52
99
 
53
100
  function constructQueryResult(operation) {
@@ -78,20 +125,20 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
78
125
  var renderPolicy = (_options$renderPolicy = options === null || options === void 0 ? void 0 : options.renderPolicy) !== null && _options$renderPolicy !== void 0 ? _options$renderPolicy : environment.UNSTABLE_getDefaultRenderPolicy();
79
126
  var cache = getCacheForType(createQueryCache);
80
127
  var cacheKey = getQueryCacheKey(queryOperationDescriptor, fetchPolicy, renderPolicy, options === null || options === void 0 ? void 0 : options.fetchKey);
81
- var initialEntry = cache.get(cacheKey);
128
+ var initialEntry = cache.get(environment, cacheKey);
82
129
 
83
130
  function updateCache(updater) {
84
- var currentEntry = cache.get(cacheKey);
131
+ var currentEntry = cache.get(environment, cacheKey);
85
132
 
86
133
  if (!currentEntry) {
87
134
  currentEntry = makeInitialCacheEntry();
88
- cache.set(cacheKey, currentEntry);
135
+ cache.set(environment, cacheKey, currentEntry);
89
136
  } // $FlowExpectedError[prop-missing] Extra properties are passed in -- this is fine
90
137
 
91
138
 
92
139
  var newStatus = updater(currentEntry); // $FlowExpectedError[cannot-spread-inexact] Flow cannot understand that this is valid...
93
140
 
94
- cache.set(cacheKey, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, currentEntry), newStatus)); // ... but we can because QueryCacheEntry spreads QueryCacheEntryStatus, so spreading
141
+ cache.set(environment, cacheKey, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, currentEntry), newStatus)); // ... but we can because QueryCacheEntry spreads QueryCacheEntryStatus, so spreading
95
142
  // a QueryCacheEntryStatus into a QueryCacheEntry will result in a valid QueryCacheEntry.
96
143
  } // Initiate a query to fetch the data if needed:
97
144
 
@@ -101,7 +148,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
101
148
 
102
149
  if (initialEntry === undefined) {
103
150
  onCacheMiss(environment, queryOperationDescriptor, fetchPolicy, renderPolicy, updateCache, options === null || options === void 0 ? void 0 : options.fetchObservable);
104
- var createdEntry = cache.get(cacheKey);
151
+ var createdEntry = cache.get(environment, cacheKey);
105
152
  !(createdEntry !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, 'An entry should have been created by onCacheMiss. This is a bug in Relay.') : invariant(false) : void 0;
106
153
  _entry = createdEntry;
107
154
  } else {
@@ -114,7 +161,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
114
161
  return {
115
162
  dispose: function dispose() {
116
163
  retention.dispose();
117
- cache["delete"](cacheKey);
164
+ cache["delete"](environment, cacheKey);
118
165
  }
119
166
  };
120
167
  });
@@ -145,7 +192,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
145
192
 
146
193
  var dispose = function dispose() {
147
194
  retention.dispose();
148
- cache["delete"](cacheKey);
195
+ cache["delete"](environment, cacheKey);
149
196
  };
150
197
 
151
198
  var abortSignal = getCacheSignal();
@@ -155,7 +202,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
155
202
  }
156
203
  }
157
204
 
158
- var entry = cache.get(cacheKey); // could be a different entry now if synchronously resolved
205
+ var entry = cache.get(environment, cacheKey); // could be a different entry now if synchronously resolved
159
206
 
160
207
  !(entry !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, 'An entry should have been created by onCacheMiss. This is a bug in Relay.') : invariant(false) : void 0;
161
208
 
@@ -423,40 +423,26 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
423
423
 
424
424
 
425
425
  handlePotentialSnapshotErrorsForState(environment, state);
426
- } // Subscriptions:
427
-
428
-
429
- var isListeningForUpdatesRef = useRef(true);
430
-
431
- function enableStoreUpdates() {
432
- isListeningForUpdatesRef.current = true;
433
- handleMissedUpdates(environment, state, setState);
434
- }
435
-
436
- function disableStoreUpdates() {
437
- isListeningForUpdatesRef.current = false;
438
426
  }
439
427
 
440
428
  useEffect(function () {
441
429
  handleMissedUpdates(environment, subscribedState, setState);
442
430
  return subscribeToSnapshot(environment, subscribedState, function (updater) {
443
- if (isListeningForUpdatesRef.current) {
444
- setState(function (latestState) {
445
- var _latestState$snapshot, _subscribedState$snap;
446
-
447
- if (((_latestState$snapshot = latestState.snapshot) === null || _latestState$snapshot === void 0 ? void 0 : _latestState$snapshot.selector) !== ((_subscribedState$snap = subscribedState.snapshot) === null || _subscribedState$snap === void 0 ? void 0 : _subscribedState$snap.selector)) {
448
- // Ignore updates to the subscription if it's for a previous fragment selector
449
- // than the latest one to be rendered. This can happen if the store is updated
450
- // after we re-render with a new fragmentRef prop but before the effect fires
451
- // in which we unsubscribe to the old one and subscribe to the new one.
452
- // (NB: it's safe to compare the selectors by reference because the selector
453
- // is recycled into new snapshots.)
454
- return latestState;
455
- } else {
456
- return updater(latestState);
457
- }
458
- });
459
- }
431
+ setState(function (latestState) {
432
+ var _latestState$snapshot, _subscribedState$snap;
433
+
434
+ if (((_latestState$snapshot = latestState.snapshot) === null || _latestState$snapshot === void 0 ? void 0 : _latestState$snapshot.selector) !== ((_subscribedState$snap = subscribedState.snapshot) === null || _subscribedState$snap === void 0 ? void 0 : _subscribedState$snap.selector)) {
435
+ // Ignore updates to the subscription if it's for a previous fragment selector
436
+ // than the latest one to be rendered. This can happen if the store is updated
437
+ // after we re-render with a new fragmentRef prop but before the effect fires
438
+ // in which we unsubscribe to the old one and subscribe to the new one.
439
+ // (NB: it's safe to compare the selectors by reference because the selector
440
+ // is recycled into new snapshots.)
441
+ return latestState;
442
+ } else {
443
+ return updater(latestState);
444
+ }
445
+ });
460
446
  });
461
447
  }, [environment, subscribedState]);
462
448
  var data = useMemo(function () {
@@ -481,11 +467,7 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
481
467
  });
482
468
  }
483
469
 
484
- return {
485
- data: data,
486
- disableStoreUpdates: disableStoreUpdates,
487
- enableStoreUpdates: enableStoreUpdates
488
- };
470
+ return data;
489
471
  }
490
472
 
491
473
  module.exports = useFragmentInternal_REACT_CACHE;
@@ -29,10 +29,13 @@ function useFragment(fragment, key) {
29
29
  // loadQuery was called during render
30
30
  useTrackLoadQueryInRender();
31
31
  var fragmentNode = getFragment(fragment);
32
- useStaticFragmentNodeWarning(fragmentNode, 'first argument of useFragment()');
33
32
 
34
- var _useFragmentInternal = useFragmentInternal(fragmentNode, key, 'useFragment()'),
35
- data = _useFragmentInternal.data;
33
+ if (process.env.NODE_ENV !== "production") {
34
+ // eslint-disable-next-line react-hooks/rules-of-hooks
35
+ useStaticFragmentNodeWarning(fragmentNode, 'first argument of useFragment()');
36
+ }
37
+
38
+ var data = useFragmentInternal(fragmentNode, key, 'useFragment()');
36
39
 
37
40
  if (process.env.NODE_ENV !== "production") {
38
41
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -49,7 +49,7 @@ function useLazyLoadQuery_REACT_CACHE(gqlQuery, variables, options) {
49
49
  return useFragmentInternal(fragmentNode, fragmentRef, 'useLazyLoadQuery()', {
50
50
  fetchPolicy: options === null || options === void 0 ? void 0 : options.fetchPolicy,
51
51
  networkCacheConfig: options === null || options === void 0 ? void 0 : options.networkCacheConfig
52
- }).data;
52
+ });
53
53
  }
54
54
 
55
55
  module.exports = useLazyLoadQuery_REACT_CACHE;
@@ -102,11 +102,10 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
102
102
  var fragmentNode = queryResult.fragmentNode,
103
103
  fragmentRef = queryResult.fragmentRef; // $FlowExpectedError[incompatible-return] Is this a fixable incompatible-return?
104
104
 
105
- var _useFragmentInternal = useFragmentInternal(fragmentNode, fragmentRef, 'usePreloadedQuery()', {
105
+ var data = useFragmentInternal(fragmentNode, fragmentRef, 'usePreloadedQuery()', {
106
106
  fetchPolicy: fetchPolicy,
107
107
  networkCacheConfig: networkCacheConfig
108
- }),
109
- data = _useFragmentInternal.data;
108
+ });
110
109
 
111
110
  if (process.env.NODE_ENV !== "production") {
112
111
  // eslint-disable-next-line react-hooks/rules-of-hooks
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": "0.0.0-main-b73f35ea",
4
+ "version": "0.0.0-main-6bdab0d6",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay",
@@ -20,7 +20,7 @@
20
20
  "fbjs": "^3.0.2",
21
21
  "invariant": "^2.2.4",
22
22
  "nullthrows": "^1.1.1",
23
- "relay-runtime": "0.0.0-main-b73f35ea"
23
+ "relay-runtime": "0.0.0-main-6bdab0d6"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^16.9.0 || ^17 || ^18"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  */
4
4
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("relay-runtime"),require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual")):"function"==typeof define&&define.amd?define(["react","relay-runtime","invariant","@babel/runtime/helpers/interopRequireDefault","fbjs/lib/warning","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/defineProperty","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual"],t):"object"==typeof exports?exports.ReactRelayHooks=t(require("react"),require("relay-runtime"),require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual")):e.ReactRelayHooks=t(e.react,e["relay-runtime"],e.invariant,e["@babel/runtime/helpers/interopRequireDefault"],e["fbjs/lib/warning"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/defineProperty"],e["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"])}(window,(function(e,t,r,n,a,i,o,u,s,l,c){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=25)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t,r){"use strict";var n=r(3),a=r(0).useContext,i=r(14);e.exports=function(){var e=a(i);return null==e&&n(!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}},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(3),i=r(0),o=r(1),u=o.Observable,s=o.PreloadableQueryRegistry,l=o.RelayFeatureFlags,c=o.ReplaySubject,f=o.__internal.fetchQueryDeduped,d=o.createOperationDescriptor,p=o.getRequest,h=o.getRequestIdentifier,v=r(5),m=null,y=100001;e.exports={loadQuery:function(e,t,r,o,g){var b,_,R,E,P=null===(b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===b||null===(_=b.ReactCurrentDispatcher)||void 0===_?void 0:_.current;v(null==m||P!==m,"Relay: `%s` should not be called inside a React render function.",null!==(R=null==o?void 0:o.__nameForWarning)&&void 0!==R?R:"loadQuery"),y++;var k,C,x,S,w,q,I=null!==(E=null==o?void 0:o.fetchPolicy)&&void 0!==E?E:"store-or-network",D=(0,n.default)((0,n.default)({},null==o?void 0:o.networkCacheConfig),{},{force:!0}),F=!1,A=function(t,r){return F=!0,e.executeWithSource({operation:t,source:r})},N=new c,Q=u.create((function(e){return N.subscribe(e)})),T=null,O=!1,M=function(t){var n;O=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var i="raw-network-request-"+h(t,r);n=f(e,i,(function(){return e.getNetwork().execute(t,r,D)}))}else{n=e.getNetwork().execute(t,r,D)}var o=n.subscribe({error:function(e){T=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return C=o,u.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),C()}}))},L=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(O=!0);var n=f(e,t.request.identifier,r).subscribe({error:function(e){N.error(e)},next:function(e){N.next(e)},complete:function(){N.complete()}});x=n.unsubscribe},U=function(t){var n=d(t,r,D);(k=e.retain(n),"store-only"!==I)&&(("store-or-network"!==I||"available"!==e.check(n).status)&&L(n,(function(){var e=M(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(q=(S=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",S.name);var j=s.get(q);if(null!=j)U(j);else{var W="store-only"===I?null:M(S),B=s.onLoad(q,(function(t){w();var n=d(t,r,D);k=e.retain(n),null!=W&&L(n,(function(){return A(n,W)}))}));w=B.dispose}}else{var K=p(t);q=null!=(S=K.params).cacheID?S.cacheID:S.id,U(K)}var V=!1,H=!1,G=!1,z=function(){H||(k&&k.dispose(),H=!0)},Y=function(){G||(F?x&&x():C&&C(),w&&w(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){V||(z(),Y(),V=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:y,id:q,get isDisposed(){return V||H},get networkError(){return T},name:S.name,networkCacheConfig:D,fetchPolicy:I,source:O?Q:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===m&&(m=null===(e=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===e||null===(t=e.ReactCurrentDispatcher)||void 0===t?void 0:t.current)}}},function(e,t){e.exports=i},function(e,t,r){"use strict";var n=r(0),a=n.useEffect,i=n.useRef;e.exports=function(){var e=i(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},function(e,t,r){"use strict";var n=r(0).createContext({wrapPrepareQueryResource:function(e){return e()}});e.exports=n},function(e,t,r){"use strict";var n=r(17).getFragmentResourceForEnvironment,a=r(2),i=r(0),o=i.useEffect,u=i.useRef,s=i.useState,l=r(1).getFragmentIdentifier,c=r(5);e.exports=function(e,t,r){var i=a(),f=n(i),d=u(!1),p=s(0)[1],h=l(e,t),v=f.readWithIdentifier(e,t,h,r),m=u(!0);function y(){!1!==d.current&&!1!==m.current&&p((function(e){return e+1}))}return o((function(){d.current=!0;var e=f.subscribe(v,y);return function(){d.current=!1,e.dispose()}}),[i,h]),null!=t&&(void 0===v.data||Array.isArray(v.data)&&v.data.length>0&&v.data.every((function(e){return void 0===e})))&&c(!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),{data:v.data,disableStoreUpdates:function(){m.current=!1},enableStoreUpdates:function(){m.current=!0,f.checkMissedUpdates(v)[0]&&y()}}}},function(e,t){e.exports=o},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(11)),o=r(18),u=r(19),s=r(3),l=r(1).isPromise,c=r(5),f="function"==typeof WeakMap;function d(e){return void 0!==e.request.node.params.metadata.live}function p(e,t,r,n,a){var i=null!=r?r:"store-or-network",o=null!=n?n:e.UNSTABLE_getDefaultRenderPolicy(),u="".concat(i,"-").concat(o,"-").concat(t.request.identifier);return null!=a?"".concat(u,"-").concat(a):u}function h(e,t){var r={__id:e.fragment.dataID,__fragments:(0,i.default)({},e.fragment.node.name,e.request.variables),__fragmentOwner:e.request};return{cacheIdentifier:t,fragmentNode:e.request.node.fragment,fragmentRef:r,operation:e}}var v=2e5;function m(e,t,r,n,a,i){var o=d(t),s=n,l=a,c=new u((function(e){var r=e.retain(t);return{dispose:function(){o&&null!=l&&l.unsubscribe(),r.dispose(),i(f)}}})),f={cacheIdentifier:e,id:v++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return s},setValue:function(e){s=e},setNetworkSubscription:function(e){o&&null!=l&&l.unsubscribe(),l=e},temporaryRetain:function(e){return c.temporaryRetain(e)},permanentRetain:function(e){return c.permanentRetain(e)},releaseTemporaryRetain:function(){c.releaseTemporaryRetain()}};return f}var y=function(){function e(e){var t=this;(0,i.default)(this,"_clearCacheEntry",(function(e){t._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=o.create(1e3)}var t=e.prototype;return t.prepare=function(e,t,r,n,a,i,o){var u=p(this._environment,e,r,n,i);return this.prepareWithIdentifier(u,e,t,r,n,a,o)},t.prepareWithIdentifier=function(e,t,r,n,i,o,u){var s=this._environment,c=null!=n?n:"store-or-network",f=null!=i?i:s.UNSTABLE_getDefaultRenderPolicy(),d=this._cache.get(e),p=null,h=null!=d;null==d&&(d=this._fetchAndSaveQuery(e,t,r,c,f,u,(0,a.default)((0,a.default)({},o),{},{unsubscribe:function(e){null!=p&&p.dispose();var t=null==o?void 0:o.unsubscribe;t&&t(e)}}))),p=d.temporaryRetain(s);var v=d.getValue();if(l(v))throw s.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:h,operation:t,queryAvailability:d.operationAvailability,renderPolicy:f}),v;if(v instanceof Error)throw v;return v},t.retain=function(e,t){var r=this._environment,n=e.cacheIdentifier,a=e.operation,i=this._getOrCreateCacheEntry(n,a,null,e,null),o=i.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:t,resourceID:i.id}),{dispose:function(){o.dispose()}}},t.releaseTemporaryRetain=function(e){var t=this._cache.get(e.cacheIdentifier);null!=t&&t.releaseTemporaryRetain()},t.TESTS_ONLY__getCacheEntry=function(e,t,r,n){var a=p(this._environment,e,t,r,n);return this._cache.get(a)},t._getOrCreateCacheEntry=function(e,t,r,n,a){var i=this._cache.get(e);return null==i&&(i=m(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,i)),i},t._fetchAndSaveQuery=function(e,t,r,n,i,o,u){var l,f,p=this,v=this._environment,y=v.check(t),g=y.status,b="available"===g,_=b||"partial"===i&&"stale"!==g,R=function(){};switch(n){case"store-only":l=!1,f=!0;break;case"store-or-network":l=!b,f=_;break;case"store-and-network":l=!0,f=_;break;case"network-only":default:l=!0,f=!1}if(f){var E=h(t,e),P=m(e,t,y,E,null,this._clearCacheEntry);this._cache.set(e,P)}if(l){var k,C=h(t,e);r.subscribe({start:function(r){k=r;var n=p._cache.get(e);n&&n.setNetworkSubscription(k);var i=null==u?void 0:u.start;i&&i((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){d(t)&&r.unsubscribe()}}))},next:function(){var r=p._getOrCreateCacheEntry(e,t,y,C,k);r.processedPayloadsCount+=1,r.setValue(C),R();var n=null==u?void 0:u.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=p._getOrCreateCacheEntry(e,t,y,r,k);0===n.processedPayloadsCount?n.setValue(r):c(!1,"QueryResource: An incremental payload for query `%s` returned an error: `%s`.",t.fragment.node.name,String(r.message)),R(),k=null,n.setNetworkSubscription(null);var a=null==u?void 0:u.error;a&&a(r)},complete:function(){R(),k=null;var t=p._cache.get(e);t&&t.setNetworkSubscription(null);var r=null==u?void 0:u.complete;r&&r()},unsubscribe:null==u?void 0:u.unsubscribe});var x=this._cache.get(e);if(!x){var S=new Promise((function(e){R=e}));S.displayName="Relay("+t.fragment.node.name+")",x=m(e,t,y,S,k,this._clearCacheEntry),this._cache.set(e,x)}}else{var w=null==u?void 0:u.complete;w&&w()}var q=this._cache.get(e);return null==q&&s(!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."),v.__log({name:"queryresource.fetch",resourceID:q.id,operation:t,profilerContext:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:l}),q},e}();function g(e){return new y(e)}var b=f?new WeakMap:new Map;e.exports={createQueryResource:g,getQueryResourceForEnvironment:function(e){var t=b.get(e);if(t)return t;var r=g(e);return b.set(e,r),r},getQueryCacheIdentifier:p}},function(e,t,r){"use strict";var n=r(0).useRef,a=r(5);e.exports=function(e,t){var r=n(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.",t)}},function(e,t){e.exports=u},function(e,t,r){"use strict";var n=r(6).loadQuery;e.exports=function e(t,r,a){var i=null;null==r.root.getModuleIfRequired()&&(i=r.root.load());var o=r.getPreloadProps(a),u=o.queries,s=o.entryPoints,l=o.extraProps,c={},f={};null!=u&&Object.keys(u).forEach((function(e){var r=u[e],a=r.environmentProviderOptions,i=r.options,o=r.parameters,s=r.variables,l=t.getEnvironment(a);c[e]=n(l,o,s,{fetchPolicy:null==i?void 0:i.fetchPolicy,networkCacheConfig:null==i?void 0:i.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)})),null!=s&&Object.keys(s).forEach((function(r){var n=s[r];if(null!=n){var a=n.entryPoint,i=n.entryPointParams;f[r]=e(t,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!=l?l:null,getComponent:function(){var e,t=r.root.getModuleIfRequired();if(null==t)throw i=null!==(e=i)&&void 0!==e?e:r.root.load();return null!=t.default?t.default:t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=s},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(11)),o=n(r(30)),u=r(18),s=r(12).getQueryResourceForEnvironment,l=r(19),c=r(3),f=r(1),d=f.RelayFeatureFlags,p=f.__internal,h=p.fetchQuery,v=p.getPromiseForActiveRequest,m=f.createOperationDescriptor,y=f.getFragmentIdentifier,g=f.getPendingOperationsForFragment,b=f.getSelector,_=f.getVariablesFromFragment,R=f.handlePotentialSnapshotErrors,E=f.isPromise,P=f.recycleNodesInto,k="function"==typeof WeakMap,C=Object.freeze([]);function x(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function S(e){return Array.isArray(e)?e.map((function(e){return e.missingLiveResolverFields})).filter(Boolean).flat():e.missingLiveResolverFields}function w(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:x(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:x(t),storeEpoch:r}}var q=function(){function e(e){(0,i.default)(this,"_cache",new Map),(0,i.default)(this,"_retainCounts",new Map),this._environment=e}var t=e.prototype;return t.get=function(e){var t,r;return null!==(t=null===(r=this._cache.get(e))||void 0===r?void 0:r[0])&&void 0!==t?t:void 0},t.recordQueryResults=function(e,t){var r=this,n=this._cache.get(e);if(n){var a=n[0],i=n[1];t.forEach((function(e){a.push(e)})),i.temporaryRetain(this._environment)}else{var o=new l((function(){return r._retain(e)}));this._cache.set(e,[t,o]),o.temporaryRetain(this._environment)}},t._retain=function(e){var t,r=this,n=(null!==(t=this._retainCounts.get(e))&&void 0!==t?t:0)+1;return this._retainCounts.set(e,n),{dispose:function(){var t,n=(null!==(t=r._retainCounts.get(e))&&void 0!==t?t:0)-1;n>0?r._retainCounts.set(e,n):(r._retainCounts.delete(e),r._cache.delete(e))}}},e}(),I=function(){function e(e){this._environment=e,this._cache=u.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new q(e))}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,y(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var i,u,l,f=this,p=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var h=p.getStore().getEpoch();if(!0===(null==e||null===(i=e.metadata)||void 0===i?void 0:i.plural)&&(Array.isArray(t)||c(!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!=a?" for key `".concat(a,"`"):"",e.name,typeof t,e.name),0===t.length))return{cacheKey:r,data:C,isMissingData:!1,snapshot:C,storeEpoch:h};var m=this._cache.get(r);if(null!=m){var y;if("pending"===m.kind&&E(m.promise))throw p.__log({name:"suspense.fragment",data:m.result.data,fragment:e,isRelayHooks:!0,isMissingData:m.result.isMissingData,isPromiseCached:!0,pendingOperations:m.pendingOperations}),m.promise;if("done"===m.kind&&m.result.snapshot&&!(null===(y=S(m.result.snapshot))||void 0===y?void 0:y.length))return this._handlePotentialSnapshotErrorsInSnapshot(m.result.snapshot),m.result}var g=b(e,t);null==g&&c(!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,null==a?"a fragment reference":"the `".concat(a,"`"),n);var _="PluralReaderSelector"===g.kind?g.selectors.map((function(e){return p.lookup(e)})):p.lookup(g),R=w(r,_,h);if(!R.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(_),this._cache.set(r,{kind:"done",result:R}),R;var P=null;if(d.ENABLE_CLIENT_EDGES&&function(e){var t,r;return Array.isArray(e)?e.some((function(e){var t,r;return(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0})):(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0}(_)){P=[];var k=s(this._environment),x=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(_,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,i=r.clientEdgeDestinationID,o=f._performClientEdgeQuery(k,e,t,a,i),u=o.queryResult,s=o.requestDescriptor;x.push(u),null===(n=P)||void 0===n||n.push(s)}))})),null==this._clientEdgeQueryResultsCache&&c(!1,"Client edge query result cache should exist when ENABLE_CLIENT_EDGES is on."),this._clientEdgeQueryResultsCache.recordQueryResults(r,x)}var q=[];d.ENABLE_CLIENT_EDGES&&P&&(q=P.map((function(e){return v(f._environment,e)})).filter(Boolean));var I="PluralReaderSelector"===g.kind?g.selectors[0].owner:g.owner,D=this._getAndSavePromiseForFragmentRequestInFlight(r,e,I,R),F=null==D?void 0:D.promise,A=null!==(u=null===(l=S(_))||void 0===l?void 0:l.map((function(e){var t=e.liveStateID;return p.getStore().getLiveResolverPromise(t)})))&&void 0!==u?u:[];if(q.length||A.length||E(F)){var N,Q;p.__log({name:"suspense.fragment",data:R.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:R.isMissingData,pendingOperations:[].concat((0,o.default)(null!==(N=null==D?void 0:D.pendingOperations)&&void 0!==N?N:[]),(0,o.default)(null!==(Q=P)&&void 0!==Q?Q:[]))});var T=[];if(q.length>0&&(T=T.concat(q)),A.length>0&&(T=T.concat(A)),T.length>0)throw F&&T.push(F),Promise.all(T);if(F)throw F}return this._handlePotentialSnapshotErrorsInSnapshot(_),w(r,_,h)},t._performClientEdgeQuery=function(e,t,r,n,i){var o=_(t,r),u=(0,a.default)((0,a.default)({},o),{},{id:i}),s=m(n,u,{}),l=h(this._environment,s),c=e.prepare(s,l);return{requestDescriptor:s.request,queryResult:c}},t._handlePotentialSnapshotErrorsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){R(t._environment,e.missingRequiredFields,e.relayResolverErrors)})):R(this._environment,e.missingRequiredFields,e.relayResolverErrors)},t.readSpec=function(e,t,r){var n={};for(var a in e)n[a]=this.read(e[a],t[a],r,a);return n},t.subscribe=function(e,t){var r=this,n=this._environment,a=e.cacheKey,i=e.snapshot;if(!i)return{dispose:function(){}};var o=this.checkMissedUpdates(e),u=o[0],l=o[1];u&&t();var f=[];if(Array.isArray(i)?(Array.isArray(l)||c(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,i){f.push(n.subscribe(e,(function(e){var o=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,i,o),t()})))}))):((null==l||Array.isArray(l))&&c(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),f.push(n.subscribe(l,(function(e){var i=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:w(a,e,i)}),t()})))),d.ENABLE_CLIENT_EDGES){var p,h,v=null!==(p=null===(h=this._clientEdgeQueryResultsCache)||void 0===h?void 0:h.get(a))&&void 0!==p?p:void 0;if(null==v?void 0:v.length){var m=s(this._environment);v.forEach((function(e){f.push(m.retain(e))}))}}return{dispose:function(){f.forEach((function(e){return e.dispose()})),r._cache.delete(a)}}},t.subscribeSpec=function(e,t){var r=this,n=Object.keys(e).map((function(n){return r.subscribe(e[n],t)}));return{dispose:function(){n.forEach((function(e){e.dispose()}))}}},t.checkMissedUpdates=function(e){var t=this._environment,r=e.snapshot;if(!r)return[!1,null];var n;if(n=t.getStore().getEpoch(),e.storeEpoch===n)return[!1,e.snapshot];var i=e.cacheKey;if(Array.isArray(r)){var o=!1,u=[];return r.forEach((function(e,r){var n=t.lookup(e.selector),i=e.data,s=n.data,l=P(i,s);l!==i&&(n=(0,a.default)((0,a.default)({},n),{},{data:l}),o=!0),u[r]=n})),o&&this._cache.set(i,{kind:"done",result:w(i,u,n)}),[o,u]}var s=t.lookup(r.selector),l=r.data,c=s.data,f=P(l,c),d={data:f,isMissingData:s.isMissingData,missingClientEdges:s.missingClientEdges,missingLiveResolverFields:s.missingLiveResolverFields,seenRecords:s.seenRecords,selector:s.selector,missingRequiredFields:s.missingRequiredFields,relayResolverErrors:s.relayResolverErrors};return f!==l&&this._cache.set(i,{kind:"done",result:w(i,d,n)}),[f!==l,d]},t.checkMissedUpdatesSpec=function(e){var t=this;return Object.keys(e).some((function(r){return t.checkMissedUpdates(e[r])[0]}))},t._getAndSavePromiseForFragmentRequestInFlight=function(e,t,r,n){var a=this,i=g(this._environment,t,r);if(null==i)return null;var o=i.promise,u=i.pendingOperations,s=o.then((function(){a._cache.delete(e)})).catch((function(t){a._cache.delete(e)}));return s.displayName=o.displayName,this._cache.set(e,{kind:"pending",pendingOperations:u,promise:s,result:n}),{promise:s,pendingOperations:u}},t._updatePluralSnapshot=function(e,t,r,n,a){var i,u=this._cache.get(e);if(E(u))D(r.selector.node.name);else{var s=null==u||null===(i=u.result)||void 0===i?void 0:i.snapshot;if(!s||Array.isArray(s)){var l=s?(0,o.default)(s):(0,o.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:w(e,l,a)})}else D(r.selector.node.name)}},e}();function D(e){c(!1,"Relay: Expected to find cached data for plural fragment `%s` when receiving a subscription. If you're seeing this, this is likely a bug in Relay.",e)}function F(e){return new I(e)}var A=k?new WeakMap:new Map;e.exports={createFragmentResource:F,getFragmentResourceForEnvironment:function(e){var t=A.get(e);if(t)return t;var r=F(e);return A.set(e,r),r}}},function(e,t,r){"use strict";var n=r(3),a=function(){function e(e){this._capacity=e,this._capacity>0||n(!1,"LRUCache: Unable to create instance of cache with zero or negative capacity."),this._map=new Map}var t=e.prototype;return t.set=function(e,t){if(this._map.delete(e),this._map.set(e,t),this._map.size>this._capacity){var r=this._map.keys().next();r.done||this._map.delete(r.value)}},t.get=function(e){var t=this._map.get(e);return null!=t&&(this._map.delete(e),this._map.set(e,t)),t},t.has=function(e){return this._map.has(e)},t.delete=function(e){this._map.delete(e)},t.size=function(){return this._map.size},t.capacity=function(){return this._capacity-this._map.size},t.clear=function(){this._map.clear()},e}();e.exports={create:function(e){return new a(e)}}},function(e,t,r){"use strict";var n=r(4)(r(11)),a=r(3),i=function(){function e(e){var t=this;(0,n.default)(this,"_retainCount",0),(0,n.default)(this,"_retainDisposable",null),(0,n.default)(this,"_releaseTemporaryRetain",null),this._retain=function(r){return t._retainCount++,1===t._retainCount&&(t._retainDisposable=e(r)),{dispose:function(){t._retainCount=Math.max(0,t._retainCount-1),0===t._retainCount&&(null==t._retainDisposable&&a(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),t._retainDisposable.dispose(),t._retainDisposable=null)}}}}var t=e.prototype;return t.temporaryRetain=function(e){var t,r=this;if(e.isServer())return{dispose:function(){}};var n=this._retain(e),a=null,i=function(){clearTimeout(a),a=null,r._releaseTemporaryRetain=null,n.dispose()};return a=setTimeout(i,3e5),null===(t=this._releaseTemporaryRetain)||void 0===t||t.call(this),this._releaseTemporaryRetain=i,{dispose:function(){var e;null===(e=r._releaseTemporaryRetain)||void 0===e||e.call(r)}}},t.permanentRetain=function(e){var t=this._retain(e);return this.releaseTemporaryRetain(),t},t.releaseTemporaryRetain=function(){var e;null===(e=this._releaseTemporaryRetain)||void 0===e||e.call(this),this._releaseTemporaryRetain=null},t.getRetainCount=function(){return this._retainCount},e}();e.exports=i},function(e,t,r){"use strict";var n=r(9),a=r(12),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(21),s=r(10),l=r(2),c=r(0),f=c.useContext,d=c.useEffect,p=c.useState,h=c.useRef;e.exports=function(e){var t=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,v=e.fetchKey,m=e.renderPolicy,y=l(),g=f(n),b=o(y),_=p(0),R=_[0],E=_[1],P=u(),k=P.startFetch,C=P.completeFetch,x="".concat(R,"-").concat(null!=v?v:""),S=i(y,t,c,m,x),w=g.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(S,t,a,c,m,{start:k,complete:C,error:C},g)})),q=h(!1);d((function(){return function(){q.current=!0}}),[]),d((function(){if(!0===q.current)return q.current=!1,void E((function(e){return e+1}));var e=b.retain(w,g);return function(){e.dispose()}}),[y,S]),d((function(){b.releaseTemporaryRetain(w)}));var I=w.fragmentNode,D=w.fragmentRef;return s(I,D,r).data}},function(e,t,r){"use strict";var n=r(0),a=n.useCallback,i=n.useEffect,o=n.useRef;e.exports=function(){var e=o(null),t=o(!1),r=a((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),t.current=!1}),[]),n=a((function(r){e.current=r,t.current=!0}),[]),u=a((function(){e.current=null,t.current=!1}),[]);return i((function(){return r}),[r]),{isFetchingRef:t,startFetch:n,disposeFetch:r,completeFetch:u}}},function(e,t,r){"use strict";var n=r(32),a=r(0),i=r(1),o=i.createOperationDescriptor,u=i.getRequest,s=a.useMemo;e.exports=function(e,t,r){var a=n(t)[0],i=n(r||{})[0];return s((function(){return o(u(e),a,i)}),[e,a,i])}},function(e,t,r){"use strict";var n,a=r(4)(r(7)),i=r(17).getFragmentResourceForEnvironment,o=r(9),u=r(12).getQueryResourceForEnvironment,s=r(10),l=r(8),c=r(24),f=r(2),d=r(3),p=r(0),h=p.useCallback,v=p.useContext,m=p.useReducer,y=r(1),g=y.__internal.fetchQuery,b=y.createOperationDescriptor,_=y.getFragmentIdentifier,R=y.getRefetchMetadata,E=y.getSelector,P=y.getValueAtPath,k=r(5);function C(e,t){switch(t.type){case"refetch":var r;return(0,a.default)((0,a.default)({},e),{},{fetchPolicy:t.fetchPolicy,mirroredEnvironment:null!==(r=t.refetchEnvironment)&&void 0!==r?r:e.mirroredEnvironment,onComplete:t.onComplete,refetchEnvironment:t.refetchEnvironment,refetchQuery:t.refetchQuery,renderPolicy:t.renderPolicy});case"reset":return{fetchPolicy:void 0,mirroredEnvironment:t.environment,mirroredFragmentIdentifier:t.fragmentIdentifier,onComplete:void 0,refetchQuery:null,renderPolicy:void 0};default:throw t.type,new Error("useRefetchableFragmentNode: Unexpected action type")}}n={getInitialIDAndType:function(e,t,n){var a=r(1).Record,i=null==e?void 0:e.id;if(1!==t.length||"node"!==t[0]||null==i)return null;var o=n.getStore().getSource().get(i),u=o&&a.getType(o);return null==u?null:{id:i,typename:u}},checkSameTypeAfterRefetch:function(e,t,n,a){var i=r(1).Record;if(e){var o=t.getStore().getSource().get(e.id),u=o&&i.getType(o);u!==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,u,n.name,a)}},checkSameIDAfterRefetch:function(e,t,n,a){if(null!=e){var i=t[r(1).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,n.name,a)}}},e.exports=function(e,t,r){var p=f(),y=R(e,r),x=y.refetchableRequest,S=y.fragmentRefPathInResponse,w=y.identifierField,q=_(e,t),I=m(C,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:q,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=I[0],F=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=u(U),W=i(U),B=v(o),K=U!==N||q!==Q,V=c(x),H=V[0],G=V[1],z=V[2],Y=t;if(K)F({type:"reset",environment:U,fragmentIdentifier:q}),z();else if(null!=M&&null!=H){var X;X=n.getInitialIDAndType(M.request.variables,S,U);var J=function(e){T&&T(null!=e?e:null)},Z=null!=H.source?H.source:g(U,M),$=B.wrapPrepareQueryResource((function(){return j.prepare(M,Z,A,L,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,U,e,r),J()}},H.fetchKey,B)})),ee=W.read($.fragmentNode,$.fragmentRef,r).data;null==ee&&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(ee,S),n.checkSameIDAfterRefetch(X,Y,e,r)}var te=s(e,Y,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:Y,refetch:function(e,t,r,n,i,o,u,s,c,f,d){var p=l(),v=null!=s&&null!=n&&"object"==typeof n?n[s]:null;return h((function(n,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 u,l,h=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,_=E(o,f);if(null==_)u={},l={};else if("PluralReaderSelector"===_.kind){var R,P,C,x;u=null!==(R=null===(P=_.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(C=null===(x=_.selectors[0])||void 0===x?void 0:x.variables)&&void 0!==C?C:{}}else u=_.owner.variables,l=_.variables;var S=(0,a.default)((0,a.default)((0,a.default)({},u),l),n);null==s||n.hasOwnProperty("id")||("string"!=typeof v&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",s,v),S.id=v);var w=b(d,S,{force:!0});return c(w.request.variables,{fetchPolicy:m,__environment:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:m,onComplete:g,refetchEnvironment:h,refetchQuery:w,renderPolicy:y}),{dispose:r}}),[i,t,r,v,c])}(r,F,z,re,q,e,0,w,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(4)(r(16)),a=r(6),i=a.loadQuery,o=a.useTrackLoadQueryInRender,u=r(8),s=r(2),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,p=l.useState,h=r(1).getRequest,v={kind:"NullQueryReference"};function m(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==h(e).params.metadata.live}e.exports=function(e,t){var r=null!=t?t:v,a=s();o();var l=u(),h=d(new Set([r])),y=p((function(){return r})),g=y[0],b=y[1],_=p((function(){return r})),R=_[0],E=_[1];r!==R&&(h.current.add(r),E(r),b(r));var P=c((function(){l.current&&(h.current.add(v),b(v))}),[l]),k=c((function(t,r){var n=null!=r&&r.hasOwnProperty("__environment")?{fetchPolicy:r.fetchPolicy,networkCacheConfig:r.networkCacheConfig,__nameForWarning:r.__nameForWarning}:r;if(l.current){var o,u=i(null!==(o=null==r?void 0:r.__environment)&&void 0!==o?o:a,e,t,n);h.current.add(u),b(u)}}),[a,e,b,l]),C=d(!1);return f((function(){return function(){C.current=!0}}),[]),f((function(){if(!0===C.current)return C.current=!1,void("NullQueryReference"!==g.kind&&k(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var t=h.current;if(l.current){var r,a=(0,n.default)(t);try{for(a.s();!(r=a.n()).done;){var i=r.value;if(i===g)break;t.delete(i),"NullQueryReference"!==i.kind&&(m(e)?i.dispose&&i.dispose():i.releaseQuery&&i.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[g,l,k,e]),f((function(){return function(){var t,r=(0,n.default)(h.current);try{for(r.s();!(t=r.n()).done;){var a=t.value;"NullQueryReference"!==a.kind&&(m(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,k,P]}},function(e,t,r){"use strict";var n=r(26),a=r(15),i=r(6).loadQuery,o=r(27),u=r(28),s=r(29),l=r(31),c=r(34),f=r(35),d=r(38),p=r(24),h=r(39),v=r(2),m=r(40),y=r(41),g=r(1);e.exports={ConnectionHandler:g.ConnectionHandler,applyOptimisticMutation:g.applyOptimisticMutation,commitLocalUpdate:g.commitLocalUpdate,commitMutation:g.commitMutation,graphql:g.graphql,readInlineData:g.readInlineData,requestSubscription:g.requestSubscription,EntryPointContainer:n,RelayEnvironmentProvider:o,fetchQuery:g.fetchQuery,loadQuery:i,loadEntryPoint:a,useFragment:s,useLazyLoadQuery:l,useEntryPointLoader:u,useQueryLoader:p,useMutation:c,usePaginationFragment:f,usePreloadedQuery:d,useRefetchableFragment:h,useRelayEnvironment:v,useSubscribeToInvalidationState:m,useSubscription:y}},function(e,t,r){"use strict";var n=r(9),a=r(2),i=r(0),o=r(0),u=o.useContext,s=o.useEffect,l=r(5);e.exports=function(e){var t=e.entryPointReference,r=e.props;l(!1===t.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=t.getComponent,c=t.queries,f=t.entryPoints,d=t.extraProps,p=t.rootModuleID,h=o(),v=u(n),m=a();return s((function(){m.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:p})}),[m,v,p]),i.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(14),i=n.useMemo;e.exports=function(e){var t=e.children,r=e.environment,o=e.getEnvironmentForActor,u=i((function(){return{environment:r,getEnvironmentForActor:o}}),[r,o]);return n.createElement(a.Provider,{value:u},t)}},function(e,t,r){"use strict";var n=r(4)(r(16)),a=r(15),i=r(6).useTrackLoadQueryInRender,o=r(8),u=r(0),s=u.useCallback,l=u.useEffect,c=u.useRef,f=u.useState,d={kind:"NullEntryPointReference"};e.exports=function(e,t,r){var u,p,h,v;i();var m=null!==(u=null==r||null===(p=r.TEST_ONLY__initialEntryPointData)||void 0===p?void 0:p.entryPointReference)&&void 0!==u?u:d,y=null!==(h=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==h?h:null,g=o(),b=c(new Set([m])),_=f(m),R=_[0],E=_[1],P=f(y),k=P[0],C=P[1],x=s((function(){if(g.current){var e={kind:"NullEntryPointReference"};b.current.add(e),E(e)}}),[E,g]),S=s((function(r){if(g.current){var n=a(e,t,r);b.current.add(n),E(n),C(r)}}),[e,t,E,g]),w=c(!1);return l((function(){return function(){w.current=!0}}),[]),l((function(){if(!0===w.current)return w.current=!1,void("NullEntryPointReference"!==R.kind&&null!=k&&S(k));var e=b.current;if(g.current){var t,r=(0,n.default)(e);try{for(r.s();!(t=r.n()).done;){var a=t.value;if(a===R)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[R,k,S,g]),l((function(){return function(){var e,t=(0,n.default)(b.current);try{for(t.s();!(e=t.n()).done;){var r=e.value;"NullEntryPointReference"!==r.kind&&r.dispose()}}catch(e){t.e(e)}finally{t.f()}}}),[]),["NullEntryPointReference"===R.kind?null:R,S,x]}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(10),i=r(13),o=r(0).useDebugValue,u=r(1).getFragment;e.exports=function(e,t){n();var r=u(e);i(r,"first argument of useFragment()");var s=a(r,t,"useFragment()").data;return o({fragment:r.name,data:s}),s}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(20),i=r(22),o=r(2),u=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var s=o(),l=i(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:u(s,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},function(e,t,r){"use strict";var n=r(33),a=r(0),i=a.useMemo,o=a.useRef,u=a.useState;e.exports=function(e){var t,r,a=o(0),s=u(e),l=s[0],c=s[1];return n(e,l)||(a.current=(null!==(r=a.current)&&void 0!==r?r:0)+1,c(e)),[i((function(){return e}),[a.current]),null!==(t=a.current)&&void 0!==t?t:0]}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(8),i=r(2),o=r(0),u=r(1).commitMutation,s=o.useState,l=o.useEffect,c=o.useRef,f=o.useCallback;e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=i(),o=a(),d=c(r),p=c(e),h=c(new Set),v=s(!1),m=v[0],y=v[1],g=f((function(t){d.current===r&&p.current===e&&(h.current.delete(t),o.current&&y(h.current.size>0))}),[r,o,e]);l((function(){d.current===r&&p.current===e||(h.current=new Set,o.current&&y(!1),d.current=r,p.current=e)}),[r,o,e]);var b=f((function(a){o.current&&y(!0);var i=t(r,(0,n.default)((0,n.default)({},a),{},{mutation:e,onCompleted:function(e,t){var r;g(i),null===(r=a.onCompleted)||void 0===r||r.call(a,e,t)},onError:function(e){var t;g(i),null===(t=a.onError)||void 0===t||t.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 h.current.add(i),i}),[g,t,r,o,e]);return[b,m]}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(36),i=r(23),o=r(13),u=r(0),s=u.useCallback,l=u.useDebugValue,c=u.useState,f=r(1),d=f.getFragment,p=f.getFragmentIdentifier,h=f.getPaginationMetadata;function v(e){var t=c(!1),r=t[0],i=t[1],o={start:function(){return i(!0)},complete:function(){return i(!1)},error:function(){return i(!1)}},u=a((0,n.default)((0,n.default)({},e),{},{observer:o,onReset:function(){return i(!1)}}));return[u[0],u[1],r,u[2]]}e.exports=function(e,t){var r=d(e);o(r,"first argument of usePaginationFragment()");var a=h(r,"usePaginationFragment()"),u=a.connectionPathInFragmentData,c=a.paginationRequest,f=a.paginationMetadata,m=a.identifierField,y=i(r,t,"usePaginationFragment()"),g=y.fragmentData,b=y.fragmentRef,_=y.refetch,R=p(r,b),E=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"backward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:m,paginationMetadata:f,paginationRequest:c}),P=E[0],k=E[1],C=E[2],x=E[3],S=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:m,paginationMetadata:f,paginationRequest:c}),w=S[0],q=S[1],I=S[2],D=S[3],F=s((function(e,t){return D(),x(),_(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[D,x,_]);return l({fragment:r.name,data:g,hasNext:q,isLoadingNext:I,hasPrevious:k,isLoadingPrevious:C}),{data:g,loadNext:w,loadPrevious:P,hasNext:q,hasPrevious:k,isLoadingNext:I,isLoadingPrevious:C,refetch:F}}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(21),i=r(8),o=r(37),u=r(2),s=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,v=p.__internal.fetchQuery,m=p.createOperationDescriptor,y=p.getPaginationVariables,g=p.getSelector,b=p.getValueAtPath,_=r(5);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,R=e.fragmentData,E=e.connectionPathInFragmentData,P=e.paginationRequest,k=e.paginationMetadata,C=e.componentDisplayName,x=e.observer,S=e.onReset,w=e.identifierField,q=u(),I=a(),D=I.isFetchingRef,F=I.startFetch,A=I.disposeFetch,N=I.completeFetch,Q=null!=w&&null!=R&&"object"==typeof R?R[w]:null,T=i(),O=d(q),M=O[0],L=O[1],U=d(p),j=U[0],W=U[1],B=o(r,l);(q!==M||p!==j)&&(A(),S(),L(q),W(p));var K=function(e,t,r,n){var a,i,o=h.get(),u=o.EDGES,l=o.PAGE_INFO,c=o.HAS_NEXT_PAGE,f=o.HAS_PREV_PAGE,d=o.END_CURSOR,p=o.START_CURSOR,v=b(r,n);if(null==v)return{cursor:null,hasMore:!1};"object"!=typeof v&&s(!1,"Relay: Expected connection in fragment `%s` to have been `null`, or a plain object with %s and %s properties. Instead got `%s`.",t.name,u,l,v);var m=v[u],y=v[l];if(null==m||null==y)return{cursor:null,hasMore:!1};Array.isArray(m)||s(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,u,m),"object"!=typeof y&&s(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",t.name,l,y);var g,_="forward"===e?null!==(a=y[d])&&void 0!==a?a:null:null!==(i=y[p])&&void 0!==i?i:null;null!==_&&"string"!=typeof _&&s(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,p,_),g="forward"===e?null!=_&&!0===y[c]:null!=_&&!0===y[f];return{cursor:_,hasMore:g}}(t,r,R,E),V=K.cursor,H=K.hasMore;return f((function(){return function(){A()}}),[A]),[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==T.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.",r.name,C),{dispose:function(){}};var o=g(r,l);if(!0===D.current||null==R||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.",r.name,C,C),i&&i(null),{dispose:function(){}};(null==o||"PluralReaderSelector"===o.kind)&&s(!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 u=o.owner.variables,c=o.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,n.default)((0,n.default)({},u),c),p=y(t,e,V,d,(0,n.default)({},f),k);null!=w&&("string"!=typeof Q&&_(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",w,Q),p.id=Q);var h=m(P,p,{force:!0});return v(q,h).subscribe((0,n.default)((0,n.default)({},x),{},{start:function(e){F(e),x.start&&x.start(e)},complete:function(){N(),x.complete&&x.complete(),i&&i(null)},error:function(e){N(),x.error&&x.error(e),i&&i(e)}})),{dispose:A}}),[q,Q,t,V,F,A,N,D,B,R,r.name,l,C]),H,A]}},function(e,t,r){"use strict";var n=r(2),a=r(3),i=r(0),o=r(1),u=o.__internal.getObservableForActiveRequest,s=o.getSelector,l=i.useEffect,c=i.useState,f=i.useMemo;e.exports=function(e,t){var r=n(),i=f((function(){var n=s(e,t);return null==n?null:("SingularReaderSelector"!==n.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),u(r,n.owner))}),[r,e,t]),o=c(null!=i),d=o[0],p=o[1];return l((function(){var e;if(p(null!=i),null!=i){var t=function(){p(!1)};e=i.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[i]),d}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(20),i=r(22),o=r(2),u=r(3),s=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(5);e.exports=function(e,t,r){n();var l,p=o(),h=t.fetchKey,v=t.fetchPolicy,m=t.source,y=t.variables,g=t.networkCacheConfig,b=i(e,y,g);if("PreloadedQuery_DEPRECATED"===t.kind)b.request.node.params.name!==t.name&&u(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",b.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:h,fetchObservable:c(p,b.request.identifier,(function(){return p===t.environment&&null!=m?p.executeWithSource({operation:b,source:m}):p.execute({operation:b})})),fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{d(!1===t.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===t.environment?_=m.ifEmpty(R):p!==t.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,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:_,fetchKey:h,fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var E=a(l);return s({query:t.name,variables:t.variables,data:E,fetchKey:h,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),E}},function(e,t,r){"use strict";var n=r(23),a=r(13),i=r(0).useDebugValue,o=r(1).getFragment;e.exports=function(e,t){var r=o(e);a(r,"first argument of useRefetchableFragment()");var u=n(r,t,"useRefetchableFragment()"),s=u.fragmentData,l=u.refetch;return i({fragment:r.name,data:s}),[s,l]}},function(e,t,r){"use strict";var n=r(2),a=r(0),i=a.useEffect,o=a.useRef;e.exports=function(e,t){var r=n(),a=o(null),u=Array.from(e).sort().join("");return i((function(){var n=r.getStore(),i=n.lookupInvalidationState(e),o=n.subscribeToInvalidationState(i,t);return a.current=o,function(){return o.dispose()}}),[u,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(2),a=r(0).useEffect,i=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:i,o=n();a((function(){return r(o,e).dispose}),[o,e,r])}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  */
4
4
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("relay-runtime"),require("react"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("invariant"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("fbjs/lib/warning")):"function"==typeof define&&define.amd?define(["relay-runtime","react","@babel/runtime/helpers/interopRequireDefault","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/defineProperty","invariant","fbjs/lib/areEqual","@babel/runtime/helpers/assertThisInitialized","@babel/runtime/helpers/inheritsLoose","@babel/runtime/helpers/objectWithoutPropertiesLoose","@babel/runtime/helpers/extends","fbjs/lib/warning"],t):"object"==typeof exports?exports.ReactRelayLegacy=t(require("relay-runtime"),require("react"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("invariant"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("fbjs/lib/warning")):e.ReactRelayLegacy=t(e["relay-runtime"],e.react,e["@babel/runtime/helpers/interopRequireDefault"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/defineProperty"],e.invariant,e["fbjs/lib/areEqual"],e["@babel/runtime/helpers/assertThisInitialized"],e["@babel/runtime/helpers/inheritsLoose"],e["@babel/runtime/helpers/objectWithoutPropertiesLoose"],e["@babel/runtime/helpers/extends"],e["fbjs/lib/warning"])}(window,(function(e,t,r,n,o,a,s,i,u,l,c,h){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=19)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t,r){"use strict";var n=r(1),o=r(0).__internal.createRelayContext;e.exports=o(n)},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=a},function(e,t){e.exports=s},function(e,t){e.exports=i},function(e,t){e.exports=u},function(e,t,r){"use strict";function n(e){return e.displayName||e.name||"Component"}e.exports={getComponentName:n,getContainerName:function(e){return"Relay("+n(e)+")"}}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(2)(r(13)),o=r(21),a=r(10),s=a.getComponentName,i=a.getContainerName,u=r(3),l=r(14),c=r(22),h=r(6),f=r(1),p=r(0).getFragment;e.exports=function(e,t,r){var a=i(e);o(s(e),t);var d={};for(var v in t)d[v]=p(t[v]);var _=r(e,d);function y(e,t){var r,o=c(u);null==o&&h(!1,"`%s` tried to render a context that was not valid this means that `%s` was rendered outside of a query renderer.",a,a);var s=c(l);return f.createElement(_,(0,n.default)({},e,{__relayContext:o,__rootIsQueryRenderer:null!==(r=null==s?void 0:s.rootIsQueryRenderer)&&void 0!==r&&r,componentRef:e.componentRef||t}))}_.displayName=a,y.displayName=a;var b=f.forwardRef(y);return b.__ComponentClass=e,b.displayName=a,b}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=r(1);e.exports=n.createContext({rootIsQueryRenderer:!1})},function(e,t,r){"use strict";var n=r(23),o=r(6);function a(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&n(e.environment)}e.exports={assertRelayContext:function(e){return a(e)||o(!1,"RelayContext: Expected `context.relay` to be an object conforming to the `RelayContext` interface, got `%s`.",e),e},isRelayContext:a}},function(e,t,r){"use strict";var n=r(2)(r(5)),o=r(6),a=r(0),s=a.__internal.fetchQuery,i=a.createOperationDescriptor,u=a.isRelayModernEnvironment,l=function(){function e(e){(0,n.default)(this,"_selectionReferences",[]),(0,n.default)(this,"_callOnDataChangeWhenSet",!1),null!=e&&(this._cacheSelectionReference=e.cacheSelectionReference,this._selectionReferences=e.selectionReferences)}var t=e.prototype;return t.getSelectionReferences=function(){return{cacheSelectionReference:this._cacheSelectionReference,selectionReferences:this._selectionReferences}},t.lookupInStore=function(e,t,r){return"store-and-network"!==r&&"store-or-network"!==r||"available"!==e.check(t).status?null:(this._retainCachedOperation(e,t),e.lookup(t.fragment))},t.execute=function(e){var t=this,r=e.environment,n=e.operation,o=e.preservePreviousReferences,a=void 0!==o&&o,i=r.retain(n),l=function(){t._selectionReferences=t._selectionReferences.concat(i)},c=function(){a||t.disposeSelectionReferences(),t._selectionReferences=t._selectionReferences.concat(i)},h=function(){t._selectionReferences=t._selectionReferences.concat(i)};return u(r)?s(r,n).do({error:l,complete:c,unsubscribe:h}):r.execute({operation:n}).do({error:l,complete:c,unsubscribe:h})},t.setOnDataChange=function(e){this._fetchOptions||o(!1,"ReactRelayQueryFetcher: `setOnDataChange` should have been called after having called `fetch`"),"function"==typeof e&&(this._fetchOptions.onDataChangeCallbacks=this._fetchOptions.onDataChangeCallbacks||[],this._fetchOptions.onDataChangeCallbacks.push(e),this._callOnDataChangeWhenSet&&(null!=this._error?e({error:this._error}):null!=this._snapshot&&e({snapshot:this._snapshot})))},t.fetch=function(e,t){var r,n=this,o=e.environment,a=e.operation,s=e.onDataChange,u=!1;this.disposeRequest();var l=this._fetchOptions&&this._fetchOptions.onDataChangeCallbacks;this._fetchOptions={environment:o,onDataChangeCallbacks:l||[],operation:a},s&&-1===this._fetchOptions.onDataChangeCallbacks.indexOf(s)&&this._fetchOptions.onDataChangeCallbacks.push(s);var c=t?i(a.request.node,a.request.variables,t):a,h=this.execute({environment:o,operation:c}).finally((function(){n._pendingRequest=null})).subscribe({next:function(){n._callOnDataChangeWhenSet=!0,n._error=null,n._onQueryDataAvailable({notifyFirstResult:u})},error:function(e){n._callOnDataChangeWhenSet=!0,n._error=e,n._snapshot=null;var t=n._fetchOptions&&n._fetchOptions.onDataChangeCallbacks;u?t&&t.forEach((function(t){t({error:e})})):r=e}});if(this._pendingRequest={dispose:function(){h.unsubscribe()}},u=!0,r)throw r;return this._snapshot},t.retry=function(e){return this._fetchOptions||o(!1,"ReactRelayQueryFetcher: `retry` should be called after having called `fetch`"),this.fetch({environment:this._fetchOptions.environment,operation:this._fetchOptions.operation,onDataChange:null},e)},t.dispose=function(){this.disposeRequest(),this.disposeSelectionReferences()},t.disposeRequest=function(){this._error=null,this._snapshot=null,this._pendingRequest&&this._pendingRequest.dispose(),this._rootSubscription&&(this._rootSubscription.dispose(),this._rootSubscription=null)},t._retainCachedOperation=function(e,t){this._disposeCacheSelectionReference(),this._cacheSelectionReference=e.retain(t)},t._disposeCacheSelectionReference=function(){this._cacheSelectionReference&&this._cacheSelectionReference.dispose(),this._cacheSelectionReference=null},t.disposeSelectionReferences=function(){this._disposeCacheSelectionReference(),this._selectionReferences.forEach((function(e){return e.dispose()})),this._selectionReferences=[]},t._onQueryDataAvailable=function(e){var t=this,r=e.notifyFirstResult;this._fetchOptions||o(!1,"ReactRelayQueryFetcher: `_onQueryDataAvailable` should have been called after having called `fetch`");var n=this._fetchOptions,a=n.environment,s=n.onDataChangeCallbacks,i=n.operation;if(!this._snapshot&&(this._snapshot=a.lookup(i.fragment),this._rootSubscription=a.subscribe(this._snapshot,(function(e){if(null!=t._fetchOptions){var r=t._fetchOptions.onDataChangeCallbacks;Array.isArray(r)&&r.forEach((function(t){return t({snapshot:e})}))}})),this._snapshot&&r&&Array.isArray(s))){var u=this._snapshot;s.forEach((function(e){return e({snapshot:u})}))}},e}();e.exports=l},function(e,t,r){"use strict";var n=r(2)(r(4)),o=r(0).getSelector;e.exports=function(e,t){var r={};return Object.keys(e).forEach((function(a){var s,i,u,l=e[a],c=t[a],h=o(l,c),f=null!=h&&"PluralReaderSelector"===h.kind?null!==(s=null===(i=h.selectors[0])||void 0===i?void 0:i.owner.variables)&&void 0!==s?s:{}:null!==(u=null==h?void 0:h.owner.variables)&&void 0!==u?u:{};r=(0,n.default)((0,n.default)({},r),f)})),r}},function(e,t){e.exports=h},function(e,t,r){"use strict";var n=r(3),o=r(20),a=r(24),s=r(25),i=r(26),u=r(27),l=r(0);e.exports={ConnectionHandler:l.ConnectionHandler,QueryRenderer:i,LocalQueryRenderer:a,MutationTypes:l.MutationTypes,RangeOperations:l.RangeOperations,ReactRelayContext:n,applyOptimisticMutation:l.applyOptimisticMutation,commitLocalUpdate:l.commitLocalUpdate,commitMutation:l.commitMutation,createFragmentContainer:o.createContainer,createPaginationContainer:s.createContainer,createRefetchContainer:u.createContainer,fetchQuery_DEPRECATED:l.fetchQuery_DEPRECATED,graphql:l.graphql,readInlineData:l.readInlineData,requestSubscription:l.requestSubscription}},function(e,t,r){"use strict";var n=r(2),o=n(r(4)),a=n(r(11)),s=n(r(8)),i=n(r(9)),u=n(r(5)),l=r(12),c=r(10).getContainerName,h=r(15).assertRelayContext,f=r(7),p=r(1),d=r(0),v=d.createFragmentSpecResolver,_=d.getDataIDsFromObject,y=d.isScalarAndEqual;function b(e,t){var r,n,l=c(e);return n=r=function(r){function n(e){var n,o;o=r.call(this,e)||this,(0,u.default)((0,s.default)(o),"_handleFragmentDataUpdate",(function(){var e=o.state.resolver;o.setState((function(t){return e===t.resolver?{data:t.resolver.resolve(),relayProp:m(t.relayProp.environment)}:null}))}));var a=h(e.__relayContext),i=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,c=v(a,l,t,e,i);return o.state={data:c.resolve(),prevProps:e,prevPropsContext:a,relayProp:m(a.environment),resolver:c},o}(0,i.default)(n,r),n.getDerivedStateFromProps=function(e,r){var n,o=r.prevProps,a=h(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,i=_(t,o),u=_(t,e),c=r.resolver;if(r.prevPropsContext.environment!==a.environment||!f(i,u))return{data:(c=v(a,l,t,e,s)).resolve(),prevPropsContext:a,prevProps:e,relayProp:m(a.environment),resolver:c};c.setProps(e);var p=c.resolve();return p!==r.data?{data:p,prevProps:e,prevPropsContext:a,relayProp:m(a.environment)}:null};var c=n.prototype;return c.componentDidMount=function(){this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},c.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.componentWillUnmount=function(){this.state.resolver.dispose()},c.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(r.prevPropsContext.environment!==this.state.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!y(e[a],this.props[a]))return!0}return!1},c._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},c._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},c.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return p.createElement(e,(0,o.default)((0,o.default)((0,o.default)({},n),this.state.data),{},{ref:r,relay:this.state.relayProp}))},n}(p.Component),(0,u.default)(r,"displayName",l),n}function m(e){return{environment:e}}e.exports={createContainer:function(e,t){return l(e,t,b)}}},function(e,t,r){"use strict";var n=r(6);e.exports=function(e,t){for(var r in t&&"object"==typeof t||n(!1,"Could not create Relay Container for `%s`. Expected a set of GraphQL fragments, got `%s` instead.",e,t),t)if(t.hasOwnProperty(r)){var o=t[r];(!o||"object"!=typeof o&&"function"!=typeof o)&&n(!1,"Could not create Relay Container for `%s`. The value of fragment `%s` was expected to be a fragment, got `%s` instead.",e,r,o)}}},function(e,t,r){"use strict";var n=r(1).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,o=n.ReactCurrentDispatcher,a=n.ReactCurrentOwner;e.exports=function(e){return(null!=o?o.current:a.currentDispatcher).readContext(e)}},function(e,t,r){"use strict";e.exports=function(e){return"object"==typeof e&&null!==e&&"function"==typeof e.check&&"function"==typeof e.lookup&&"function"==typeof e.retain&&"function"==typeof e.execute&&"function"==typeof e.subscribe}},function(e,t,r){"use strict";var n=r(3),o=r(14),a=r(7),s=r(1),i=r(0),u=i.createOperationDescriptor,l=i.deepFreeze,c=i.getRequest,h=s.useLayoutEffect,f=s.useState,p=s.useRef,d=s.useMemo,v={rootIsQueryRenderer:!0};e.exports=function(e){var t,r,i=e.environment,_=e.query,y=e.variables,b=e.render,m=(t=y,r=s.useRef(t),a(r.current,t)||(l(t),r.current=t),r.current),C=d((function(){var e=c(_);return u(e,m)}),[_,m]),R=d((function(){return{environment:i}}),[i]),g=p(null),x=f(null)[1],S=p(null),P=d((function(){i.check(C);var e=i.lookup(C.fragment);g.current=e.data;var t=i.retain(C),r=i.subscribe(e,(function(e){g.current=e.data,x(g.current)})),n=!1;return S.current&&S.current(),S.current=function(){n||(n=!0,S.current=null,t.dispose(),r.dispose())},e}),[i,C]);return h((function(){var e=S.current;return function(){e&&e()}}),[P]),s.createElement(n.Provider,{value:R},s.createElement(o.Provider,{value:v},b({props:g.current})))}},function(e,t,r){"use strict";var n=r(2),o=n(r(13)),a=n(r(11)),s=n(r(8)),i=n(r(9)),u=n(r(5)),l=n(r(4)),c=r(12),h=r(17),f=r(10),p=f.getComponentName,d=f.getContainerName,v=r(3),_=r(16),y=r(15).assertRelayContext,b=r(7),m=r(6),C=r(1),R=r(0),g=R.ConnectionInterface,x=R.Observable,S=R.RelayFeatureFlags,P=R.createFragmentSpecResolver,q=R.createOperationDescriptor,F=R.getDataIDsFromObject,O=R.getRequest,D=R.getVariablesFromObject,E=R.isScalarAndEqual,I=r(18);function A(e){return"function"==typeof e?{error:e,complete:e,unsubscribe:function(t){"function"==typeof e&&e()}}:e||{}}function N(e,t,r){var n,c,f=p(e),R=d(e),N=function(e){var t=null,r=!1;for(var n in e){var o=e[n],a=o.metadata&&o.metadata.connection;void 0!==o.metadata&&(r=!0),a&&(1!==a.length&&m(!1,"ReactRelayPaginationContainer: Only a single @connection is supported, `%s` has %s.",n,a.length),t&&m(!1,"ReactRelayPaginationContainer: Only a single fragment with @connection is supported."),t=(0,l.default)((0,l.default)({},a[0]),{},{fragmentName:n}))}return r&&null===t&&m(!1,"ReactRelayPaginationContainer: A @connection directive must be present."),t||{}}(t),j=r.getConnectionFromProps||function(e){var t=e.path;return t||m(!1,"ReactRelayPaginationContainer: Unable to synthesize a getConnectionFromProps function."),function(r){for(var n=r[e.fragmentName],o=0;o<t.length;o++){if(!n||"object"!=typeof n)return null;n=n[t[o]]}return n}}(N),w=r.direction||N.direction;w||m(!1,"ReactRelayPaginationContainer: Unable to infer direction of the connection, possibly because both first and last are provided.");var U=r.getFragmentVariables||function(e){var t=e.count;return t||m(!1,"ReactRelayPaginationContainer: Unable to synthesize a getFragmentVariables function."),function(e,r){return(0,l.default)((0,l.default)({},e),{},(0,u.default)({},t,r))}}(N);return c=n=function(n){function c(e){var r,o;o=n.call(this,e)||this,(0,u.default)((0,s.default)(o),"_handleFragmentDataUpdate",(function(){o.setState({data:o._resolver.resolve()})})),(0,u.default)((0,s.default)(o),"_hasMore",(function(){var e=o._getConnectionData();return!!(e&&e.hasMore&&e.cursor)})),(0,u.default)((0,s.default)(o),"_isLoading",(function(){return!!o._refetchSubscription})),(0,u.default)((0,s.default)(o),"_refetchConnection",(function(e,t,r){if(!o._canFetchPage("refetchConnection"))return{dispose:function(){}};o._refetchVariables=r;var n={count:e,cursor:null,totalCount:e};return{dispose:o._fetchPage(n,A(t),{force:!0}).unsubscribe}})),(0,u.default)((0,s.default)(o),"_loadMore",(function(e,t,r){if(!o._canFetchPage("loadMore"))return{dispose:function(){}};var n=A(t),a=o._getConnectionData();if(!a)return x.create((function(e){return e.complete()})).subscribe(n),null;var s=a.edgeCount+e;if(r&&r.force)return o._refetchConnection(s,t);var i=g.get(),u=i.END_CURSOR,l=i.START_CURSOR,c=a.cursor;I(null!=c&&""!==c,"ReactRelayPaginationContainer: Cannot `loadMore` without valid `%s` (got `%s`)","forward"===w?u:l,c);var h={count:e,cursor:c,totalCount:s};return{dispose:o._fetchPage(h,n,r).unsubscribe}}));var a=y(e.__relayContext),i=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r;return o._isARequestInFlight=!1,o._refetchSubscription=null,o._refetchVariables=null,!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?o._resolver=P(a,R,t,e,i):o._resolver=P(a,R,t,e,i,o._handleFragmentDataUpdate),o.state={data:o._resolver.resolve(),prevContext:a,contextForChildren:a,relayProp:o._buildRelayProp(a),resolverGeneration:0},o._isUnmounted=!1,o._hasFetched=!1,o}(0,i.default)(c,n);var p=c.prototype;return p.componentDidMount=function(){this._isUnmounted=!1,!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},p.componentDidUpdate=function(e,t){!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&(t.resolverGeneration!==this.state.resolverGeneration?this._subscribeToNewResolverAndRerenderIfStoreHasChanged():this._rerenderIfStoreHasChanged())},p.UNSAFE_componentWillReceiveProps=function(e){var r,n=this,o=y(e.__relayContext),a=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r,s=F(t,this.props),i=F(t,e),u=h(t,this.props),l=h(t,e);o.environment===this.state.prevContext.environment&&b(u,l)&&b(s,i)?this._hasFetched||this._resolver.setProps(e):(this._cleanup(),!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?this._resolver=P(o,R,t,e,a):this._resolver=P(o,R,t,e,a,this._handleFragmentDataUpdate),this.setState((function(e){return{prevContext:o,contextForChildren:o,relayProp:n._buildRelayProp(o),resolverGeneration:e.resolverGeneration+1}})));var c=this._resolver.resolve();c!==this.state.data&&this.setState({data:c})},p.componentWillUnmount=function(){this._isUnmounted=!0,this._cleanup()},p.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp||r.resolverGeneration!==this.state.resolverGeneration)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(r.prevContext.environment!==this.state.prevContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!E(e[a],this.props[a]))return!0}return!1},p._buildRelayProp=function(e){return{hasMore:this._hasMore,isLoading:this._isLoading,loadMore:this._loadMore,refetchConnection:this._refetchConnection,environment:e.environment}},p._rerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();e!==t&&this.setState({data:t})},p._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();this._resolver.setCallback(this.props,this._handleFragmentDataUpdate),e!==t&&this.setState({data:t})},p._getConnectionData=function(){var e=this.props,t=(e.componentRef,(0,a.default)(e,["componentRef"])),r=(0,l.default)((0,l.default)({},t),this.state.data),n=j(r);if(null==n)return null;var o=g.get(),s=o.EDGES,i=o.PAGE_INFO,u=o.HAS_NEXT_PAGE,c=o.HAS_PREV_PAGE,h=o.END_CURSOR,p=o.START_CURSOR;"object"!=typeof n&&m(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return `null` or a plain object with %s and %s properties, got `%s`.",f,s,i,n);var d=n[s],v=n[i];if(null==d||null==v)return null;Array.isArray(d)||m(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Array, got `%s`.",f,s,d),"object"!=typeof v&&m(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Object, got `%s`.",f,i,v);var _="forward"===w?v[u]:v[c],y="forward"===w?v[h]:v[p];return"boolean"!=typeof _||0!==d.length&&void 0===y?(I(!1,"ReactRelayPaginationContainer: Cannot paginate without %s fields in `%s`. Be sure to fetch %s (got `%s`) and %s (got `%s`).",i,f,"forward"===w?u:c,_,"forward"===w?h:p,y),null):{cursor:y,edgeCount:d.length,hasMore:_}},p._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new _),this._queryFetcher},p._canFetchPage=function(e){return!this._isUnmounted||(I(!1,"ReactRelayPaginationContainer: Unexpected call of `%s` on unmounted container `%s`. It looks like some instances of your container still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `%s` call.",e,R,e),!1)},p._fetchPage=function(e,n,o){var s,i=this,u=y(this.props.__relayContext).environment,c=this.props,p=(c.componentRef,c.__relayContext,c.__rootIsQueryRenderer,(0,a.default)(c,["componentRef","__relayContext","__rootIsQueryRenderer"])),d=(0,l.default)((0,l.default)({},p),this.state.data),v=h(t,p);s=D(t,p),s=(0,l.default)((0,l.default)((0,l.default)({},v),s),this._refetchVariables);var _=r.getVariables(d,{count:e.count,cursor:e.cursor},s);("object"!=typeof _||null===_)&&m(!1,"ReactRelayPaginationContainer: Expected `getVariables()` to return an object, got `%s` in `%s`.",_,f),_=(0,l.default)((0,l.default)({},_),this._refetchVariables),s=(0,l.default)((0,l.default)({},_),s);var C=o?{force:!!o.force}:void 0;null!=C&&null!=(null==o?void 0:o.metadata)&&(C.metadata=null==o?void 0:o.metadata);var R=O(r.query),g=q(R,_,C),S=null;this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._hasFetched=!0;var P=function(){i._refetchSubscription===S&&(i._refetchSubscription=null,i._isARequestInFlight=!1)};return this._isARequestInFlight=!0,S=this._getQueryFetcher().execute({environment:u,operation:g,preservePreviousReferences:!0}).mergeMap((function(t){return x.create((function(t){!function(t,r){var n=i._resolver.resolve();i._resolver.setVariables(U(s,e.totalCount),g.request.node);var o=i._resolver.resolve();b(n,o)?r():i.setState({data:o,contextForChildren:{environment:i.props.__relayContext.environment}},r)}(0,(function(){t.next(),t.complete()}))}))})).do({error:P,complete:P,unsubscribe:P}).subscribe(n||{}),this._refetchSubscription=this._isARequestInFlight?S:null,S},p._cleanup=function(){this._resolver.dispose(),this._refetchVariables=null,this._hasFetched=!1,this._refetchSubscription&&(this._refetchSubscription.unsubscribe(),this._refetchSubscription=null,this._isARequestInFlight=!1),this._queryFetcher&&this._queryFetcher.dispose()},p.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return C.createElement(v.Provider,{value:this.state.contextForChildren},C.createElement(e,(0,o.default)({},n,this.state.data,{ref:r,relay:this.state.relayProp})))},c}(C.Component),(0,u.default)(n,"displayName",R),c}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return N(e,t,r)}))}}},function(e,t,r){"use strict";var n=r(2),o=n(r(4)),a=n(r(8)),s=n(r(9)),i=n(r(5)),u=r(3),l=r(16),c=r(14),h=r(7),f=r(1),p=r(0),d=p.createOperationDescriptor,v=p.deepFreeze,_=p.getRequest,y={},b={rootIsQueryRenderer:!0},m=function(e){function t(t){var r;r=e.call(this,t)||this,(0,i.default)((0,a.default)(r),"_handleDataChange",(function(e){var t=null==e.error?null:e.error,n=null==e.snapshot?null:e.snapshot;r.setState((function(e){var r=e.requestCacheKey;return r&&delete y[r],n===e.snapshot&&t===e.error?null:{renderProps:C(t,n,e.queryFetcher,e.retryCallbacks),snapshot:n,requestCacheKey:null}}))}));var n,s,u={handleDataChange:null,handleRetryAfterError:null};if(t.query){var c=t.query;s=R(_(c).params,t.variables),n=y[s]?y[s].queryFetcher:new l}else n=new l;return r._maybeHiddenOrFastRefresh=!1,r.state=(0,o.default)({prevPropsEnvironment:t.environment,prevPropsVariables:t.variables,prevQuery:t.query,queryFetcher:n,retryCallbacks:u},x(t,n,u,s)),r}(0,s.default)(t,e),t.getDerivedStateFromProps=function(e,t){return t.prevQuery===e.query&&t.prevPropsEnvironment===e.environment&&h(t.prevPropsVariables,e.variables)?null:g(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return g(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,o=t.requestCacheKey;o&&delete y[o],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete y[t],{renderProps:{error:null,props:null,retry:null},requestCacheKey:null}}))},this.props.query&&n.setOnDataChange(this._handleDataChange)},r.componentDidUpdate=function(e,t){var r=this.state,n=r.queryFetcher,o=r.requestCacheKey;o&&(delete y[o],delete this.state.requestCacheKey),this.props.query&&n!==t.queryFetcher&&n.setOnDataChange(this._handleDataChange)},r.componentWillUnmount=function(){this.state.queryFetcher.dispose(),this._maybeHiddenOrFastRefresh=!0},r.shouldComponentUpdate=function(e,t){return e.render!==this.props.render||t.renderProps!==this.state.renderProps},r.render=function(){var e=this.state,t=e.renderProps,r=e.relayContext;return v(t),f.createElement(u.Provider,{value:r},f.createElement(c.Provider,{value:b},this.props.render(t)))},t}(f.Component);function C(e,t,r,n){return{error:e||null,props:t?t.data:null,retry:function(t){var o=r.retry(t);o&&"function"==typeof n.handleDataChange?n.handleDataChange({snapshot:o}):e&&"function"==typeof n.handleRetryAfterError&&n.handleRetryAfterError(e)}}}function R(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function g(e,t){var r,n=e.query,a=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var s=R(_(n).params,e.variables);r=y[s]?y[s].queryFetcher:new l(a)}else r=new l(a);return(0,o.default)({prevQuery:e.query,prevPropsEnvironment:e.environment,prevPropsVariables:e.variables,queryFetcher:r},x(e,r,t.retryCallbacks))}function x(e,t,r,n){var o=e.environment,a=e.query,s=e.variables,i=e.cacheConfig,u=o;if(!a)return t.dispose(),{error:null,relayContext:{environment:u},renderProps:{error:null,props:{},retry:null},requestCacheKey:null};var l=_(a),c=d(l,s,i),h={environment:u};if("string"==typeof n&&y[n]){var f=y[n].snapshot;return f?{error:null,relayContext:h,renderProps:C(null,f,t,r),snapshot:f,requestCacheKey:n}:{error:null,relayContext:h,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}try{var p=t.lookupInStore(u,c,e.fetchPolicy),v=t.fetch({environment:u,onDataChange:null,operation:c})||p;return n=n||R(l.params,e.variables),y[n]={queryFetcher:t,snapshot:v},v?{error:null,relayContext:h,renderProps:C(null,v,t,r),snapshot:v,requestCacheKey:n}:{error:null,relayContext:h,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}catch(e){return{error:e,relayContext:h,renderProps:C(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=m},function(e,t,r){"use strict";var n=r(2),o=n(r(13)),a=n(r(11)),s=n(r(4)),i=n(r(8)),u=n(r(9)),l=n(r(5)),c=r(12),h=r(17),f=r(10).getContainerName,p=r(3),d=r(16),v=r(15).assertRelayContext,_=r(7),y=r(1),b=r(0),m=b.Observable,C=b.createFragmentSpecResolver,R=b.createOperationDescriptor,g=b.getDataIDsFromObject,x=b.getRequest,S=b.getVariablesFromObject,P=b.isScalarAndEqual,q=r(18);function F(e,t){return{environment:e,refetch:t}}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return function(e,t,r){var n,c,b=f(e);return c=n=function(n){function c(e){var o,a;a=n.call(this,e)||this,(0,l.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){var e=a.state.resolver;a.setState((function(t){return e===t.resolver?{data:t.resolver.resolve()}:null}))})),(0,l.default)((0,i.default)(a),"_refetch",(function(e,n,o,i){if(a._isUnmounted)return q(!1,"ReactRelayRefetchContainer: Unexpected call of `refetch` on unmounted container `%s`. It looks like some instances of your container still trying to refetch the data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `refetch`.",b),{dispose:function(){}};var u=v(a.props.__relayContext).environment,l=h(t,a.props),c="function"==typeof e?e(a._getFragmentVariables()):e;c=(0,s.default)((0,s.default)({},l),c);var f=n?(0,s.default)((0,s.default)({},c),n):c,p=i?{force:!!i.force}:void 0;null!=p&&null!=(null==i?void 0:i.metadata)&&(p.metadata=null==i?void 0:i.metadata);var d,_="function"==typeof o?{next:o,error:o}:o||{},y=x(r),C=R(y,c,p);return a.state.localVariables=c,a._refetchSubscription&&a._refetchSubscription.unsubscribe(),null!=a._getQueryFetcher().lookupInStore(u,C,null==i?void 0:i.fetchPolicy)?(a.state.resolver.setVariables(f,C.request.node),a.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:a.props.__relayContext.environment}}}),(function(){_.next&&_.next(),_.complete&&_.complete()})),{dispose:function(){}}):(a._getQueryFetcher().execute({environment:u,operation:C,preservePreviousReferences:!0}).mergeMap((function(e){return a.state.resolver.setVariables(f,C.request.node),m.create((function(e){return a.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:a.props.__relayContext.environment}}}),(function(){e.next(),e.complete()}))}))})).finally((function(){a._refetchSubscription===d&&(a._refetchSubscription=null)})).subscribe((0,s.default)((0,s.default)({},_),{},{start:function(e){a._refetchSubscription=d=e,_.start&&_.start(e)}})),{dispose:function(){d&&d.unsubscribe()}})}));var u=v(e.__relayContext),c=null!==(o=e.__rootIsQueryRenderer)&&void 0!==o&&o;a._refetchSubscription=null;var f=C(u,b,t,e,c);return a.state={data:f.resolve(),localVariables:null,prevProps:e,prevPropsContext:u,contextForChildren:u,relayProp:F(u.environment,a._refetch),resolver:f},a._isUnmounted=!1,a}(0,u.default)(c,n);var f=c.prototype;return f.componentDidMount=function(){this._isUnmounted=!1,this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},f.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.getDerivedStateFromProps=function(e,r){var n,o=r.prevProps,a=v(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,i=g(t,o),u=g(t,e),l=h(t,o),c=h(t,e),f=r.resolver;if(r.prevPropsContext.environment!==a.environment||!_(l,c)||!_(i,u))return{data:(f=C(a,b,t,e,s)).resolve(),localVariables:null,prevProps:e,prevPropsContext:a,contextForChildren:a,relayProp:F(a.environment,r.relayProp.refetch),resolver:f};r.localVariables||f.setProps(e);var p=f.resolve();return p!==r.data?{data:p,prevProps:e}:null},f.componentWillUnmount=function(){this._isUnmounted=!0,this.state.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe()},f.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(this.state.prevPropsContext.environment!==r.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!P(e[a],this.props[a]))return!0}return!1},f._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},f._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},f._getFragmentVariables=function(){return S(t,this.props)},f._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new d),this._queryFetcher},f.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"])),s=this.state,i=s.relayProp,u=s.contextForChildren;return y.createElement(p.Provider,{value:u},y.createElement(e,(0,o.default)({},n,this.state.data,{ref:r,relay:i})))},c}(y.Component),(0,l.default)(n,"displayName",b),c}(e,t,r)}))}}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/react-relay.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  */
4
4
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("relay-runtime"),require("@babel/runtime/helpers/interopRequireDefault"),require("invariant"),require("@babel/runtime/helpers/objectSpread2"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/defineProperty"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray")):"function"==typeof define&&define.amd?define(["react","relay-runtime","@babel/runtime/helpers/interopRequireDefault","invariant","@babel/runtime/helpers/objectSpread2","fbjs/lib/warning","@babel/runtime/helpers/defineProperty","fbjs/lib/areEqual","@babel/runtime/helpers/assertThisInitialized","@babel/runtime/helpers/inheritsLoose","@babel/runtime/helpers/objectWithoutPropertiesLoose","@babel/runtime/helpers/extends","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray"],t):"object"==typeof exports?exports.ReactRelay=t(require("react"),require("relay-runtime"),require("@babel/runtime/helpers/interopRequireDefault"),require("invariant"),require("@babel/runtime/helpers/objectSpread2"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/defineProperty"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray")):e.ReactRelay=t(e.react,e["relay-runtime"],e["@babel/runtime/helpers/interopRequireDefault"],e.invariant,e["@babel/runtime/helpers/objectSpread2"],e["fbjs/lib/warning"],e["@babel/runtime/helpers/defineProperty"],e["fbjs/lib/areEqual"],e["@babel/runtime/helpers/assertThisInitialized"],e["@babel/runtime/helpers/inheritsLoose"],e["@babel/runtime/helpers/objectWithoutPropertiesLoose"],e["@babel/runtime/helpers/extends"],e["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"])}(window,(function(e,t,r,n,a,o,i,s,u,l,c,f,d,h,p){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=37)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t,r){"use strict";var n=r(3),a=r(0).useContext,o=r(26);e.exports=function(){var e=a(o);return null==e&&n(!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}},function(e,t){e.exports=a},function(e,t){e.exports=o},function(e,t){e.exports=i},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(3),o=r(0),i=r(1),s=i.Observable,u=i.PreloadableQueryRegistry,l=i.RelayFeatureFlags,c=i.ReplaySubject,f=i.__internal.fetchQueryDeduped,d=i.createOperationDescriptor,h=i.getRequest,p=i.getRequestIdentifier,v=r(6),y=null,m=100001;e.exports={loadQuery:function(e,t,r,i,g){var _,b,R,C,P=null===(_=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===_||null===(b=_.ReactCurrentDispatcher)||void 0===b?void 0:b.current;v(null==y||P!==y,"Relay: `%s` should not be called inside a React render function.",null!==(R=null==i?void 0:i.__nameForWarning)&&void 0!==R?R:"loadQuery"),m++;var E,S,x,q,F,D,I=null!==(C=null==i?void 0:i.fetchPolicy)&&void 0!==C?C:"store-or-network",k=(0,n.default)((0,n.default)({},null==i?void 0:i.networkCacheConfig),{},{force:!0}),w=!1,O=function(t,r){return w=!0,e.executeWithSource({operation:t,source:r})},A=new c,N=s.create((function(e){return A.subscribe(e)})),Q=null,T=!1,M=function(t){var n;T=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var o="raw-network-request-"+p(t,r);n=f(e,o,(function(){return e.getNetwork().execute(t,r,k)}))}else{n=e.getNetwork().execute(t,r,k)}var i=n.subscribe({error:function(e){Q=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return S=i,s.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),S()}}))},U=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(T=!0);var n=f(e,t.request.identifier,r).subscribe({error:function(e){A.error(e)},next:function(e){A.next(e)},complete:function(){A.complete()}});x=n.unsubscribe},L=function(t){var n=d(t,r,k);(E=e.retain(n),"store-only"!==I)&&(("store-or-network"!==I||"available"!==e.check(n).status)&&U(n,(function(){var e=M(t.params);return O(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(D=(q=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",q.name);var j=u.get(D);if(null!=j)L(j);else{var V="store-only"===I?null:M(q),W=u.onLoad(D,(function(t){F();var n=d(t,r,k);E=e.retain(n),null!=V&&U(n,(function(){return O(n,V)}))}));F=W.dispose}}else{var B=h(t);D=null!=(q=B.params).cacheID?q.cacheID:q.id,L(B)}var H=!1,K=!1,G=!1,z=function(){K||(E&&E.dispose(),K=!0)},Y=function(){G||(w?x&&x():S&&S(),F&&F(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){H||(z(),Y(),H=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:m,id:D,get isDisposed(){return H||K},get networkError(){return Q},name:q.name,networkCacheConfig:k,fetchPolicy:I,source:T?N:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===y&&(y=null===(e=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===e||null===(t=e.ReactCurrentDispatcher)||void 0===t?void 0:t.current)}}},function(e,t,r){"use strict";var n=r(0),a=r(1).__internal.createRelayContext;e.exports=a(n)},function(e,t){e.exports=s},function(e,t,r){"use strict";var n=r(0),a=n.useEffect,o=n.useRef;e.exports=function(){var e=o(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},function(e,t){e.exports=u},function(e,t){e.exports=l},function(e,t,r){"use strict";function n(e){return e.displayName||e.name||"Component"}e.exports={getComponentName:n,getContainerName:function(e){return"Relay("+n(e)+")"}}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=r(2)(r(17)),a=r(39),o=r(14),i=o.getComponentName,s=o.getContainerName,u=r(9),l=r(18),c=r(40),f=r(3),d=r(0),h=r(1).getFragment;e.exports=function(e,t,r){var o=s(e);a(i(e),t);var p={};for(var v in t)p[v]=h(t[v]);var y=r(e,p);function m(e,t){var r,a=c(u);null==a&&f(!1,"`%s` tried to render a context that was not valid this means that `%s` was rendered outside of a query renderer.",o,o);var i=c(l);return d.createElement(y,(0,n.default)({},e,{__relayContext:a,__rootIsQueryRenderer:null!==(r=null==i?void 0:i.rootIsQueryRenderer)&&void 0!==r&&r,componentRef:e.componentRef||t}))}y.displayName=o,m.displayName=o;var g=d.forwardRef(m);return g.__ComponentClass=e,g.displayName=o,g}},function(e,t){e.exports=f},function(e,t,r){"use strict";var n=r(0);e.exports=n.createContext({rootIsQueryRenderer:!1})},function(e,t,r){"use strict";var n=r(41),a=r(3);function o(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&n(e.environment)}e.exports={assertRelayContext:function(e){return o(e)||a(!1,"RelayContext: Expected `context.relay` to be an object conforming to the `RelayContext` interface, got `%s`.",e),e},isRelayContext:o}},function(e,t,r){"use strict";var n=r(2)(r(7)),a=r(3),o=r(1),i=o.__internal.fetchQuery,s=o.createOperationDescriptor,u=o.isRelayModernEnvironment,l=function(){function e(e){(0,n.default)(this,"_selectionReferences",[]),(0,n.default)(this,"_callOnDataChangeWhenSet",!1),null!=e&&(this._cacheSelectionReference=e.cacheSelectionReference,this._selectionReferences=e.selectionReferences)}var t=e.prototype;return t.getSelectionReferences=function(){return{cacheSelectionReference:this._cacheSelectionReference,selectionReferences:this._selectionReferences}},t.lookupInStore=function(e,t,r){return"store-and-network"!==r&&"store-or-network"!==r||"available"!==e.check(t).status?null:(this._retainCachedOperation(e,t),e.lookup(t.fragment))},t.execute=function(e){var t=this,r=e.environment,n=e.operation,a=e.preservePreviousReferences,o=void 0!==a&&a,s=r.retain(n),l=function(){t._selectionReferences=t._selectionReferences.concat(s)},c=function(){o||t.disposeSelectionReferences(),t._selectionReferences=t._selectionReferences.concat(s)},f=function(){t._selectionReferences=t._selectionReferences.concat(s)};return u(r)?i(r,n).do({error:l,complete:c,unsubscribe:f}):r.execute({operation:n}).do({error:l,complete:c,unsubscribe:f})},t.setOnDataChange=function(e){this._fetchOptions||a(!1,"ReactRelayQueryFetcher: `setOnDataChange` should have been called after having called `fetch`"),"function"==typeof e&&(this._fetchOptions.onDataChangeCallbacks=this._fetchOptions.onDataChangeCallbacks||[],this._fetchOptions.onDataChangeCallbacks.push(e),this._callOnDataChangeWhenSet&&(null!=this._error?e({error:this._error}):null!=this._snapshot&&e({snapshot:this._snapshot})))},t.fetch=function(e,t){var r,n=this,a=e.environment,o=e.operation,i=e.onDataChange,u=!1;this.disposeRequest();var l=this._fetchOptions&&this._fetchOptions.onDataChangeCallbacks;this._fetchOptions={environment:a,onDataChangeCallbacks:l||[],operation:o},i&&-1===this._fetchOptions.onDataChangeCallbacks.indexOf(i)&&this._fetchOptions.onDataChangeCallbacks.push(i);var c=t?s(o.request.node,o.request.variables,t):o,f=this.execute({environment:a,operation:c}).finally((function(){n._pendingRequest=null})).subscribe({next:function(){n._callOnDataChangeWhenSet=!0,n._error=null,n._onQueryDataAvailable({notifyFirstResult:u})},error:function(e){n._callOnDataChangeWhenSet=!0,n._error=e,n._snapshot=null;var t=n._fetchOptions&&n._fetchOptions.onDataChangeCallbacks;u?t&&t.forEach((function(t){t({error:e})})):r=e}});if(this._pendingRequest={dispose:function(){f.unsubscribe()}},u=!0,r)throw r;return this._snapshot},t.retry=function(e){return this._fetchOptions||a(!1,"ReactRelayQueryFetcher: `retry` should be called after having called `fetch`"),this.fetch({environment:this._fetchOptions.environment,operation:this._fetchOptions.operation,onDataChange:null},e)},t.dispose=function(){this.disposeRequest(),this.disposeSelectionReferences()},t.disposeRequest=function(){this._error=null,this._snapshot=null,this._pendingRequest&&this._pendingRequest.dispose(),this._rootSubscription&&(this._rootSubscription.dispose(),this._rootSubscription=null)},t._retainCachedOperation=function(e,t){this._disposeCacheSelectionReference(),this._cacheSelectionReference=e.retain(t)},t._disposeCacheSelectionReference=function(){this._cacheSelectionReference&&this._cacheSelectionReference.dispose(),this._cacheSelectionReference=null},t.disposeSelectionReferences=function(){this._disposeCacheSelectionReference(),this._selectionReferences.forEach((function(e){return e.dispose()})),this._selectionReferences=[]},t._onQueryDataAvailable=function(e){var t=this,r=e.notifyFirstResult;this._fetchOptions||a(!1,"ReactRelayQueryFetcher: `_onQueryDataAvailable` should have been called after having called `fetch`");var n=this._fetchOptions,o=n.environment,i=n.onDataChangeCallbacks,s=n.operation;if(!this._snapshot&&(this._snapshot=o.lookup(s.fragment),this._rootSubscription=o.subscribe(this._snapshot,(function(e){if(null!=t._fetchOptions){var r=t._fetchOptions.onDataChangeCallbacks;Array.isArray(r)&&r.forEach((function(t){return t({snapshot:e})}))}})),this._snapshot&&r&&Array.isArray(i))){var u=this._snapshot;i.forEach((function(e){return e({snapshot:u})}))}},e}();e.exports=l},function(e,t,r){"use strict";var n=r(0).createContext({wrapPrepareQueryResource:function(e){return e()}});e.exports=n},function(e,t,r){"use strict";var n=r(29).getFragmentResourceForEnvironment,a=r(4),o=r(0),i=o.useEffect,s=o.useRef,u=o.useState,l=r(1).getFragmentIdentifier,c=r(6);e.exports=function(e,t,r){var o=a(),f=n(o),d=s(!1),h=u(0)[1],p=l(e,t),v=f.readWithIdentifier(e,t,p,r),y=s(!0);function m(){!1!==d.current&&!1!==y.current&&h((function(e){return e+1}))}return i((function(){d.current=!0;var e=f.subscribe(v,m);return function(){d.current=!1,e.dispose()}}),[o,p]),null!=t&&(void 0===v.data||Array.isArray(v.data)&&v.data.length>0&&v.data.every((function(e){return void 0===e})))&&c(!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),{data:v.data,disableStoreUpdates:function(){y.current=!1},enableStoreUpdates:function(){y.current=!0,f.checkMissedUpdates(v)[0]&&m()}}}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(7)),i=r(30),s=r(31),u=r(3),l=r(1).isPromise,c=r(6),f="function"==typeof WeakMap;function d(e){return void 0!==e.request.node.params.metadata.live}function h(e,t,r,n,a){var o=null!=r?r:"store-or-network",i=null!=n?n:e.UNSTABLE_getDefaultRenderPolicy(),s="".concat(o,"-").concat(i,"-").concat(t.request.identifier);return null!=a?"".concat(s,"-").concat(a):s}function p(e,t){var r={__id:e.fragment.dataID,__fragments:(0,o.default)({},e.fragment.node.name,e.request.variables),__fragmentOwner:e.request};return{cacheIdentifier:t,fragmentNode:e.request.node.fragment,fragmentRef:r,operation:e}}var v=2e5;function y(e,t,r,n,a,o){var i=d(t),u=n,l=a,c=new s((function(e){var r=e.retain(t);return{dispose:function(){i&&null!=l&&l.unsubscribe(),r.dispose(),o(f)}}})),f={cacheIdentifier:e,id:v++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return u},setValue:function(e){u=e},setNetworkSubscription:function(e){i&&null!=l&&l.unsubscribe(),l=e},temporaryRetain:function(e){return c.temporaryRetain(e)},permanentRetain:function(e){return c.permanentRetain(e)},releaseTemporaryRetain:function(){c.releaseTemporaryRetain()}};return f}var m=function(){function e(e){var t=this;(0,o.default)(this,"_clearCacheEntry",(function(e){t._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=i.create(1e3)}var t=e.prototype;return t.prepare=function(e,t,r,n,a,o,i){var s=h(this._environment,e,r,n,o);return this.prepareWithIdentifier(s,e,t,r,n,a,i)},t.prepareWithIdentifier=function(e,t,r,n,o,i,s){var u=this._environment,c=null!=n?n:"store-or-network",f=null!=o?o:u.UNSTABLE_getDefaultRenderPolicy(),d=this._cache.get(e),h=null,p=null!=d;null==d&&(d=this._fetchAndSaveQuery(e,t,r,c,f,s,(0,a.default)((0,a.default)({},i),{},{unsubscribe:function(e){null!=h&&h.dispose();var t=null==i?void 0:i.unsubscribe;t&&t(e)}}))),h=d.temporaryRetain(u);var v=d.getValue();if(l(v))throw u.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:p,operation:t,queryAvailability:d.operationAvailability,renderPolicy:f}),v;if(v instanceof Error)throw v;return v},t.retain=function(e,t){var r=this._environment,n=e.cacheIdentifier,a=e.operation,o=this._getOrCreateCacheEntry(n,a,null,e,null),i=o.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:t,resourceID:o.id}),{dispose:function(){i.dispose()}}},t.releaseTemporaryRetain=function(e){var t=this._cache.get(e.cacheIdentifier);null!=t&&t.releaseTemporaryRetain()},t.TESTS_ONLY__getCacheEntry=function(e,t,r,n){var a=h(this._environment,e,t,r,n);return this._cache.get(a)},t._getOrCreateCacheEntry=function(e,t,r,n,a){var o=this._cache.get(e);return null==o&&(o=y(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,o)),o},t._fetchAndSaveQuery=function(e,t,r,n,o,i,s){var l,f,h=this,v=this._environment,m=v.check(t),g=m.status,_="available"===g,b=_||"partial"===o&&"stale"!==g,R=function(){};switch(n){case"store-only":l=!1,f=!0;break;case"store-or-network":l=!_,f=b;break;case"store-and-network":l=!0,f=b;break;case"network-only":default:l=!0,f=!1}if(f){var C=p(t,e),P=y(e,t,m,C,null,this._clearCacheEntry);this._cache.set(e,P)}if(l){var E,S=p(t,e);r.subscribe({start:function(r){E=r;var n=h._cache.get(e);n&&n.setNetworkSubscription(E);var o=null==s?void 0:s.start;o&&o((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){d(t)&&r.unsubscribe()}}))},next:function(){var r=h._getOrCreateCacheEntry(e,t,m,S,E);r.processedPayloadsCount+=1,r.setValue(S),R();var n=null==s?void 0:s.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=h._getOrCreateCacheEntry(e,t,m,r,E);0===n.processedPayloadsCount?n.setValue(r):c(!1,"QueryResource: An incremental payload for query `%s` returned an error: `%s`.",t.fragment.node.name,String(r.message)),R(),E=null,n.setNetworkSubscription(null);var a=null==s?void 0:s.error;a&&a(r)},complete:function(){R(),E=null;var t=h._cache.get(e);t&&t.setNetworkSubscription(null);var r=null==s?void 0:s.complete;r&&r()},unsubscribe:null==s?void 0:s.unsubscribe});var x=this._cache.get(e);if(!x){var q=new Promise((function(e){R=e}));q.displayName="Relay("+t.fragment.node.name+")",x=y(e,t,m,q,E,this._clearCacheEntry),this._cache.set(e,x)}}else{var F=null==s?void 0:s.complete;F&&F()}var D=this._cache.get(e);return null==D&&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."),v.__log({name:"queryresource.fetch",resourceID:D.id,operation:t,profilerContext:i,fetchPolicy:n,renderPolicy:o,queryAvailability:m,shouldFetch:l}),D},e}();function g(e){return new m(e)}var _=f?new WeakMap:new Map;e.exports={createQueryResource:g,getQueryResourceForEnvironment:function(e){var t=_.get(e);if(t)return t;var r=g(e);return _.set(e,r),r},getQueryCacheIdentifier:h}},function(e,t,r){"use strict";var n=r(0).useRef,a=r(6);e.exports=function(e,t){var r=n(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.",t)}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(1).getSelector;e.exports=function(e,t){var r={};return Object.keys(e).forEach((function(o){var i,s,u,l=e[o],c=t[o],f=a(l,c),d=null!=f&&"PluralReaderSelector"===f.kind?null!==(i=null===(s=f.selectors[0])||void 0===s?void 0:s.owner.variables)&&void 0!==i?i:{}:null!==(u=null==f?void 0:f.owner.variables)&&void 0!==u?u:{};r=(0,n.default)((0,n.default)({},r),d)})),r}},function(e,t){e.exports=d},function(e,t,r){"use strict";var n=r(8).loadQuery;e.exports=function e(t,r,a){var o=null;null==r.root.getModuleIfRequired()&&(o=r.root.load());var i=r.getPreloadProps(a),s=i.queries,u=i.entryPoints,l=i.extraProps,c={},f={};null!=s&&Object.keys(s).forEach((function(e){var r=s[e],a=r.environmentProviderOptions,o=r.options,i=r.parameters,u=r.variables,l=t.getEnvironment(a);c[e]=n(l,i,u,{fetchPolicy:null==o?void 0:o.fetchPolicy,networkCacheConfig:null==o?void 0:o.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)})),null!=u&&Object.keys(u).forEach((function(r){var n=u[r];if(null!=n){var a=n.entryPoint,o=n.entryPointParams;f[r]=e(t,a,o)}}));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!=l?l:null,getComponent:function(){var e,t=r.root.getModuleIfRequired();if(null==t)throw o=null!==(e=o)&&void 0!==e?e:r.root.load();return null!=t.default?t.default:t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=h},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(7)),i=n(r(50)),s=r(30),u=r(23).getQueryResourceForEnvironment,l=r(31),c=r(3),f=r(1),d=f.RelayFeatureFlags,h=f.__internal,p=h.fetchQuery,v=h.getPromiseForActiveRequest,y=f.createOperationDescriptor,m=f.getFragmentIdentifier,g=f.getPendingOperationsForFragment,_=f.getSelector,b=f.getVariablesFromFragment,R=f.handlePotentialSnapshotErrors,C=f.isPromise,P=f.recycleNodesInto,E="function"==typeof WeakMap,S=Object.freeze([]);function x(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function q(e){return Array.isArray(e)?e.map((function(e){return e.missingLiveResolverFields})).filter(Boolean).flat():e.missingLiveResolverFields}function F(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:x(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:x(t),storeEpoch:r}}var D=function(){function e(e){(0,o.default)(this,"_cache",new Map),(0,o.default)(this,"_retainCounts",new Map),this._environment=e}var t=e.prototype;return t.get=function(e){var t,r;return null!==(t=null===(r=this._cache.get(e))||void 0===r?void 0:r[0])&&void 0!==t?t:void 0},t.recordQueryResults=function(e,t){var r=this,n=this._cache.get(e);if(n){var a=n[0],o=n[1];t.forEach((function(e){a.push(e)})),o.temporaryRetain(this._environment)}else{var i=new l((function(){return r._retain(e)}));this._cache.set(e,[t,i]),i.temporaryRetain(this._environment)}},t._retain=function(e){var t,r=this,n=(null!==(t=this._retainCounts.get(e))&&void 0!==t?t:0)+1;return this._retainCounts.set(e,n),{dispose:function(){var t,n=(null!==(t=r._retainCounts.get(e))&&void 0!==t?t:0)-1;n>0?r._retainCounts.set(e,n):(r._retainCounts.delete(e),r._cache.delete(e))}}},e}(),I=function(){function e(e){this._environment=e,this._cache=s.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new D(e))}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,m(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var o,s,l,f=this,h=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var p=h.getStore().getEpoch();if(!0===(null==e||null===(o=e.metadata)||void 0===o?void 0:o.plural)&&(Array.isArray(t)||c(!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!=a?" for key `".concat(a,"`"):"",e.name,typeof t,e.name),0===t.length))return{cacheKey:r,data:S,isMissingData:!1,snapshot:S,storeEpoch:p};var y=this._cache.get(r);if(null!=y){var m;if("pending"===y.kind&&C(y.promise))throw h.__log({name:"suspense.fragment",data:y.result.data,fragment:e,isRelayHooks:!0,isMissingData:y.result.isMissingData,isPromiseCached:!0,pendingOperations:y.pendingOperations}),y.promise;if("done"===y.kind&&y.result.snapshot&&!(null===(m=q(y.result.snapshot))||void 0===m?void 0:m.length))return this._handlePotentialSnapshotErrorsInSnapshot(y.result.snapshot),y.result}var g=_(e,t);null==g&&c(!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,null==a?"a fragment reference":"the `".concat(a,"`"),n);var b="PluralReaderSelector"===g.kind?g.selectors.map((function(e){return h.lookup(e)})):h.lookup(g),R=F(r,b,p);if(!R.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(b),this._cache.set(r,{kind:"done",result:R}),R;var P=null;if(d.ENABLE_CLIENT_EDGES&&function(e){var t,r;return Array.isArray(e)?e.some((function(e){var t,r;return(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0})):(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0}(b)){P=[];var E=u(this._environment),x=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(b,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,o=r.clientEdgeDestinationID,i=f._performClientEdgeQuery(E,e,t,a,o),s=i.queryResult,u=i.requestDescriptor;x.push(s),null===(n=P)||void 0===n||n.push(u)}))})),null==this._clientEdgeQueryResultsCache&&c(!1,"Client edge query result cache should exist when ENABLE_CLIENT_EDGES is on."),this._clientEdgeQueryResultsCache.recordQueryResults(r,x)}var D=[];d.ENABLE_CLIENT_EDGES&&P&&(D=P.map((function(e){return v(f._environment,e)})).filter(Boolean));var I="PluralReaderSelector"===g.kind?g.selectors[0].owner:g.owner,k=this._getAndSavePromiseForFragmentRequestInFlight(r,e,I,R),w=null==k?void 0:k.promise,O=null!==(s=null===(l=q(b))||void 0===l?void 0:l.map((function(e){var t=e.liveStateID;return h.getStore().getLiveResolverPromise(t)})))&&void 0!==s?s:[];if(D.length||O.length||C(w)){var A,N;h.__log({name:"suspense.fragment",data:R.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:R.isMissingData,pendingOperations:[].concat((0,i.default)(null!==(A=null==k?void 0:k.pendingOperations)&&void 0!==A?A:[]),(0,i.default)(null!==(N=P)&&void 0!==N?N:[]))});var Q=[];if(D.length>0&&(Q=Q.concat(D)),O.length>0&&(Q=Q.concat(O)),Q.length>0)throw w&&Q.push(w),Promise.all(Q);if(w)throw w}return this._handlePotentialSnapshotErrorsInSnapshot(b),F(r,b,p)},t._performClientEdgeQuery=function(e,t,r,n,o){var i=b(t,r),s=(0,a.default)((0,a.default)({},i),{},{id:o}),u=y(n,s,{}),l=p(this._environment,u),c=e.prepare(u,l);return{requestDescriptor:u.request,queryResult:c}},t._handlePotentialSnapshotErrorsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){R(t._environment,e.missingRequiredFields,e.relayResolverErrors)})):R(this._environment,e.missingRequiredFields,e.relayResolverErrors)},t.readSpec=function(e,t,r){var n={};for(var a in e)n[a]=this.read(e[a],t[a],r,a);return n},t.subscribe=function(e,t){var r=this,n=this._environment,a=e.cacheKey,o=e.snapshot;if(!o)return{dispose:function(){}};var i=this.checkMissedUpdates(e),s=i[0],l=i[1];s&&t();var f=[];if(Array.isArray(o)?(Array.isArray(l)||c(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,o){f.push(n.subscribe(e,(function(e){var i=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,o,i),t()})))}))):((null==l||Array.isArray(l))&&c(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),f.push(n.subscribe(l,(function(e){var o=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:F(a,e,o)}),t()})))),d.ENABLE_CLIENT_EDGES){var h,p,v=null!==(h=null===(p=this._clientEdgeQueryResultsCache)||void 0===p?void 0:p.get(a))&&void 0!==h?h:void 0;if(null==v?void 0:v.length){var y=u(this._environment);v.forEach((function(e){f.push(y.retain(e))}))}}return{dispose:function(){f.forEach((function(e){return e.dispose()})),r._cache.delete(a)}}},t.subscribeSpec=function(e,t){var r=this,n=Object.keys(e).map((function(n){return r.subscribe(e[n],t)}));return{dispose:function(){n.forEach((function(e){e.dispose()}))}}},t.checkMissedUpdates=function(e){var t=this._environment,r=e.snapshot;if(!r)return[!1,null];var n;if(n=t.getStore().getEpoch(),e.storeEpoch===n)return[!1,e.snapshot];var o=e.cacheKey;if(Array.isArray(r)){var i=!1,s=[];return r.forEach((function(e,r){var n=t.lookup(e.selector),o=e.data,u=n.data,l=P(o,u);l!==o&&(n=(0,a.default)((0,a.default)({},n),{},{data:l}),i=!0),s[r]=n})),i&&this._cache.set(o,{kind:"done",result:F(o,s,n)}),[i,s]}var u=t.lookup(r.selector),l=r.data,c=u.data,f=P(l,c),d={data:f,isMissingData:u.isMissingData,missingClientEdges:u.missingClientEdges,missingLiveResolverFields:u.missingLiveResolverFields,seenRecords:u.seenRecords,selector:u.selector,missingRequiredFields:u.missingRequiredFields,relayResolverErrors:u.relayResolverErrors};return f!==l&&this._cache.set(o,{kind:"done",result:F(o,d,n)}),[f!==l,d]},t.checkMissedUpdatesSpec=function(e){var t=this;return Object.keys(e).some((function(r){return t.checkMissedUpdates(e[r])[0]}))},t._getAndSavePromiseForFragmentRequestInFlight=function(e,t,r,n){var a=this,o=g(this._environment,t,r);if(null==o)return null;var i=o.promise,s=o.pendingOperations,u=i.then((function(){a._cache.delete(e)})).catch((function(t){a._cache.delete(e)}));return u.displayName=i.displayName,this._cache.set(e,{kind:"pending",pendingOperations:s,promise:u,result:n}),{promise:u,pendingOperations:s}},t._updatePluralSnapshot=function(e,t,r,n,a){var o,s=this._cache.get(e);if(C(s))k(r.selector.node.name);else{var u=null==s||null===(o=s.result)||void 0===o?void 0:o.snapshot;if(!u||Array.isArray(u)){var l=u?(0,i.default)(u):(0,i.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:F(e,l,a)})}else k(r.selector.node.name)}},e}();function k(e){c(!1,"Relay: Expected to find cached data for plural fragment `%s` when receiving a subscription. If you're seeing this, this is likely a bug in Relay.",e)}function w(e){return new I(e)}var O=E?new WeakMap:new Map;e.exports={createFragmentResource:w,getFragmentResourceForEnvironment:function(e){var t=O.get(e);if(t)return t;var r=w(e);return O.set(e,r),r}}},function(e,t,r){"use strict";var n=r(3),a=function(){function e(e){this._capacity=e,this._capacity>0||n(!1,"LRUCache: Unable to create instance of cache with zero or negative capacity."),this._map=new Map}var t=e.prototype;return t.set=function(e,t){if(this._map.delete(e),this._map.set(e,t),this._map.size>this._capacity){var r=this._map.keys().next();r.done||this._map.delete(r.value)}},t.get=function(e){var t=this._map.get(e);return null!=t&&(this._map.delete(e),this._map.set(e,t)),t},t.has=function(e){return this._map.has(e)},t.delete=function(e){this._map.delete(e)},t.size=function(){return this._map.size},t.capacity=function(){return this._capacity-this._map.size},t.clear=function(){this._map.clear()},e}();e.exports={create:function(e){return new a(e)}}},function(e,t,r){"use strict";var n=r(2)(r(7)),a=r(3),o=function(){function e(e){var t=this;(0,n.default)(this,"_retainCount",0),(0,n.default)(this,"_retainDisposable",null),(0,n.default)(this,"_releaseTemporaryRetain",null),this._retain=function(r){return t._retainCount++,1===t._retainCount&&(t._retainDisposable=e(r)),{dispose:function(){t._retainCount=Math.max(0,t._retainCount-1),0===t._retainCount&&(null==t._retainDisposable&&a(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),t._retainDisposable.dispose(),t._retainDisposable=null)}}}}var t=e.prototype;return t.temporaryRetain=function(e){var t,r=this;if(e.isServer())return{dispose:function(){}};var n=this._retain(e),a=null,o=function(){clearTimeout(a),a=null,r._releaseTemporaryRetain=null,n.dispose()};return a=setTimeout(o,3e5),null===(t=this._releaseTemporaryRetain)||void 0===t||t.call(this),this._releaseTemporaryRetain=o,{dispose:function(){var e;null===(e=r._releaseTemporaryRetain)||void 0===e||e.call(r)}}},t.permanentRetain=function(e){var t=this._retain(e);return this.releaseTemporaryRetain(),t},t.releaseTemporaryRetain=function(){var e;null===(e=this._releaseTemporaryRetain)||void 0===e||e.call(this),this._releaseTemporaryRetain=null},t.getRetainCount=function(){return this._retainCount},e}();e.exports=o},function(e,t,r){"use strict";var n=r(21),a=r(23),o=a.getQueryCacheIdentifier,i=a.getQueryResourceForEnvironment,s=r(33),u=r(22),l=r(4),c=r(0),f=c.useContext,d=c.useEffect,h=c.useState,p=c.useRef;e.exports=function(e){var t=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,v=e.fetchKey,y=e.renderPolicy,m=l(),g=f(n),_=i(m),b=h(0),R=b[0],C=b[1],P=s(),E=P.startFetch,S=P.completeFetch,x="".concat(R,"-").concat(null!=v?v:""),q=o(m,t,c,y,x),F=g.wrapPrepareQueryResource((function(){return _.prepareWithIdentifier(q,t,a,c,y,{start:E,complete:S,error:S},g)})),D=p(!1);d((function(){return function(){D.current=!0}}),[]),d((function(){if(!0===D.current)return D.current=!1,void C((function(e){return e+1}));var e=_.retain(F,g);return function(){e.dispose()}}),[m,q]),d((function(){_.releaseTemporaryRetain(F)}));var I=F.fragmentNode,k=F.fragmentRef;return u(I,k,r).data}},function(e,t,r){"use strict";var n=r(0),a=n.useCallback,o=n.useEffect,i=n.useRef;e.exports=function(){var e=i(null),t=i(!1),r=a((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),t.current=!1}),[]),n=a((function(r){e.current=r,t.current=!0}),[]),s=a((function(){e.current=null,t.current=!1}),[]);return o((function(){return r}),[r]),{isFetchingRef:t,startFetch:n,disposeFetch:r,completeFetch:s}}},function(e,t,r){"use strict";var n=r(52),a=r(0),o=r(1),i=o.createOperationDescriptor,s=o.getRequest,u=a.useMemo;e.exports=function(e,t,r){var a=n(t)[0],o=n(r||{})[0];return u((function(){return i(s(e),a,o)}),[e,a,o])}},function(e,t,r){"use strict";var n,a=r(2)(r(5)),o=r(29).getFragmentResourceForEnvironment,i=r(21),s=r(23).getQueryResourceForEnvironment,u=r(22),l=r(11),c=r(36),f=r(4),d=r(3),h=r(0),p=h.useCallback,v=h.useContext,y=h.useReducer,m=r(1),g=m.__internal.fetchQuery,_=m.createOperationDescriptor,b=m.getFragmentIdentifier,R=m.getRefetchMetadata,C=m.getSelector,P=m.getValueAtPath,E=r(6);function S(e,t){switch(t.type){case"refetch":var r;return(0,a.default)((0,a.default)({},e),{},{fetchPolicy:t.fetchPolicy,mirroredEnvironment:null!==(r=t.refetchEnvironment)&&void 0!==r?r:e.mirroredEnvironment,onComplete:t.onComplete,refetchEnvironment:t.refetchEnvironment,refetchQuery:t.refetchQuery,renderPolicy:t.renderPolicy});case"reset":return{fetchPolicy:void 0,mirroredEnvironment:t.environment,mirroredFragmentIdentifier:t.fragmentIdentifier,onComplete:void 0,refetchQuery:null,renderPolicy:void 0};default:throw t.type,new Error("useRefetchableFragmentNode: Unexpected action type")}}n={getInitialIDAndType:function(e,t,n){var a=r(1).Record,o=null==e?void 0:e.id;if(1!==t.length||"node"!==t[0]||null==o)return null;var i=n.getStore().getSource().get(o),s=i&&a.getType(i);return null==s?null:{id:o,typename:s}},checkSameTypeAfterRefetch:function(e,t,n,a){var o=r(1).Record;if(e){var i=t.getStore().getSource().get(e.id),s=i&&o.getType(i);s!==e.typename&&E(!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,s,n.name,a)}},checkSameIDAfterRefetch:function(e,t,n,a){if(null!=e){var o=t[r(1).ID_KEY];null!=o&&o!==e.id&&E(!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.",o,e.id,n.name,a)}}},e.exports=function(e,t,r){var h=f(),m=R(e,r),x=m.refetchableRequest,q=m.fragmentRefPathInResponse,F=m.identifierField,D=b(e,t),I=y(S,{fetchPolicy:void 0,mirroredEnvironment:h,mirroredFragmentIdentifier:D,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),k=I[0],w=I[1],O=k.fetchPolicy,A=k.mirroredEnvironment,N=k.mirroredFragmentIdentifier,Q=k.onComplete,T=k.refetchEnvironment,M=k.refetchQuery,U=k.renderPolicy,L=null!=T?T:h,j=s(L),V=o(L),W=v(i),B=L!==A||D!==N,H=c(x),K=H[0],G=H[1],z=H[2],Y=t;if(B)w({type:"reset",environment:L,fragmentIdentifier:D}),z();else if(null!=M&&null!=K){var X;X=n.getInitialIDAndType(M.request.variables,q,L);var J=function(e){Q&&Q(null!=e?e:null)},Z=null!=K.source?K.source:g(L,M),$=W.wrapPrepareQueryResource((function(){return j.prepare(M,Z,O,U,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,L,e,r),J()}},K.fetchKey,W)})),ee=V.read($.fragmentNode,$.fragmentRef,r).data;null==ee&&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(ee,q),n.checkSameIDAfterRefetch(X,Y,e,r)}var te=u(e,Y,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:Y,refetch:function(e,t,r,n,o,i,s,u,c,f,d){var h=l(),v=null!=u&&null!=n&&"object"==typeof n?n[u]:null;return p((function(n,o){if(!0!==h.current)return E(!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.",i.name,e),{dispose:function(){}};null==f&&E(!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`.",i.name,e,e);var s,l,p=null==o?void 0:o.__environment,y=null==o?void 0:o.fetchPolicy,m=null==o?void 0:o.UNSTABLE_renderPolicy,g=null==o?void 0:o.onComplete,b=C(i,f);if(null==b)s={},l={};else if("PluralReaderSelector"===b.kind){var R,P,S,x;s=null!==(R=null===(P=b.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(S=null===(x=b.selectors[0])||void 0===x?void 0:x.variables)&&void 0!==S?S:{}}else s=b.owner.variables,l=b.variables;var q=(0,a.default)((0,a.default)((0,a.default)({},s),l),n);null==u||n.hasOwnProperty("id")||("string"!=typeof v&&E(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",u,v),q.id=v);var F=_(d,q,{force:!0});return c(F.request.variables,{fetchPolicy:y,__environment:p,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:y,onComplete:g,refetchEnvironment:p,refetchQuery:F,renderPolicy:m}),{dispose:r}}),[o,t,r,v,c])}(r,w,z,re,D,e,0,F,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(2)(r(28)),a=r(8),o=a.loadQuery,i=a.useTrackLoadQueryInRender,s=r(11),u=r(4),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,h=l.useState,p=r(1).getRequest,v={kind:"NullQueryReference"};function y(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==p(e).params.metadata.live}e.exports=function(e,t){var r=null!=t?t:v,a=u();i();var l=s(),p=d(new Set([r])),m=h((function(){return r})),g=m[0],_=m[1],b=h((function(){return r})),R=b[0],C=b[1];r!==R&&(p.current.add(r),C(r),_(r));var P=c((function(){l.current&&(p.current.add(v),_(v))}),[l]),E=c((function(t,r){var n=null!=r&&r.hasOwnProperty("__environment")?{fetchPolicy:r.fetchPolicy,networkCacheConfig:r.networkCacheConfig,__nameForWarning:r.__nameForWarning}:r;if(l.current){var i,s=o(null!==(i=null==r?void 0:r.__environment)&&void 0!==i?i:a,e,t,n);p.current.add(s),_(s)}}),[a,e,_,l]),S=d(!1);return f((function(){return function(){S.current=!0}}),[]),f((function(){if(!0===S.current)return S.current=!1,void("NullQueryReference"!==g.kind&&E(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var t=p.current;if(l.current){var r,a=(0,n.default)(t);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o===g)break;t.delete(o),"NullQueryReference"!==o.kind&&(y(e)?o.dispose&&o.dispose():o.releaseQuery&&o.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[g,l,E,e]),f((function(){return function(){var t,r=(0,n.default)(p.current);try{for(r.s();!(t=r.n()).done;){var a=t.value;"NullQueryReference"!==a.kind&&(y(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,E,P]}},function(e,t,r){"use strict";var n=r(9),a=r(38),o=r(42),i=r(43),s=r(44),u=r(45),l=r(46),c=r(27),f=r(8).loadQuery,d=r(47),h=r(48),p=r(49),v=r(51),y=r(53),m=r(54),g=r(57),_=r(36),b=r(58),R=r(4),C=r(59),P=r(60),E=r(1);e.exports={ConnectionHandler:E.ConnectionHandler,QueryRenderer:s,LocalQueryRenderer:o,MutationTypes:E.MutationTypes,RangeOperations:E.RangeOperations,ReactRelayContext:n,applyOptimisticMutation:E.applyOptimisticMutation,commitLocalUpdate:E.commitLocalUpdate,commitMutation:E.commitMutation,createFragmentContainer:a.createContainer,createPaginationContainer:i.createContainer,createRefetchContainer:u.createContainer,fetchQuery_DEPRECATED:E.fetchQuery_DEPRECATED,graphql:E.graphql,readInlineData:E.readInlineData,requestSubscription:E.requestSubscription,EntryPointContainer:l,RelayEnvironmentProvider:d,fetchQuery:E.fetchQuery,loadQuery:f,loadEntryPoint:c,useFragment:p,useLazyLoadQuery:v,useEntryPointLoader:h,useQueryLoader:_,useMutation:y,usePaginationFragment:m,usePreloadedQuery:g,useRefetchableFragment:b,useRelayEnvironment:R,useSubscribeToInvalidationState:C,useSubscription:P}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(15)),i=n(r(12)),s=n(r(13)),u=n(r(7)),l=r(16),c=r(14).getContainerName,f=r(19).assertRelayContext,d=r(10),h=r(0),p=r(1),v=p.createFragmentSpecResolver,y=p.getDataIDsFromObject,m=p.isScalarAndEqual;function g(e,t){var r,n,l=c(e);return n=r=function(r){function n(e){var n,a;a=r.call(this,e)||this,(0,u.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){var e=a.state.resolver;a.setState((function(t){return e===t.resolver?{data:t.resolver.resolve(),relayProp:_(t.relayProp.environment)}:null}))}));var o=f(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,c=v(o,l,t,e,s);return a.state={data:c.resolve(),prevProps:e,prevPropsContext:o,relayProp:_(o.environment),resolver:c},a}(0,s.default)(n,r),n.getDerivedStateFromProps=function(e,r){var n,a=r.prevProps,o=f(e.__relayContext),i=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,s=y(t,a),u=y(t,e),c=r.resolver;if(r.prevPropsContext.environment!==o.environment||!d(s,u))return{data:(c=v(o,l,t,e,i)).resolve(),prevPropsContext:o,prevProps:e,relayProp:_(o.environment),resolver:c};c.setProps(e);var h=c.resolve();return h!==r.data?{data:h,prevProps:e,prevPropsContext:o,relayProp:_(o.environment)}:null};var c=n.prototype;return c.componentDidMount=function(){this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},c.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.componentWillUnmount=function(){this.state.resolver.dispose()},c.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data)return!0;for(var n=Object.keys(e),a=0;a<n.length;a++){var o=n[a];if("__relayContext"===o){if(r.prevPropsContext.environment!==this.state.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(o)&&!m(e[o],this.props[o]))return!0}return!1},c._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},c._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},c.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,o.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return h.createElement(e,(0,a.default)((0,a.default)((0,a.default)({},n),this.state.data),{},{ref:r,relay:this.state.relayProp}))},n}(h.Component),(0,u.default)(r,"displayName",l),n}function _(e){return{environment:e}}e.exports={createContainer:function(e,t){return l(e,t,g)}}},function(e,t,r){"use strict";var n=r(3);e.exports=function(e,t){for(var r in t&&"object"==typeof t||n(!1,"Could not create Relay Container for `%s`. Expected a set of GraphQL fragments, got `%s` instead.",e,t),t)if(t.hasOwnProperty(r)){var a=t[r];(!a||"object"!=typeof a&&"function"!=typeof a)&&n(!1,"Could not create Relay Container for `%s`. The value of fragment `%s` was expected to be a fragment, got `%s` instead.",e,r,a)}}},function(e,t,r){"use strict";var n=r(0).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,a=n.ReactCurrentDispatcher,o=n.ReactCurrentOwner;e.exports=function(e){return(null!=a?a.current:o.currentDispatcher).readContext(e)}},function(e,t,r){"use strict";e.exports=function(e){return"object"==typeof e&&null!==e&&"function"==typeof e.check&&"function"==typeof e.lookup&&"function"==typeof e.retain&&"function"==typeof e.execute&&"function"==typeof e.subscribe}},function(e,t,r){"use strict";var n=r(9),a=r(18),o=r(10),i=r(0),s=r(1),u=s.createOperationDescriptor,l=s.deepFreeze,c=s.getRequest,f=i.useLayoutEffect,d=i.useState,h=i.useRef,p=i.useMemo,v={rootIsQueryRenderer:!0};e.exports=function(e){var t,r,s=e.environment,y=e.query,m=e.variables,g=e.render,_=(t=m,r=i.useRef(t),o(r.current,t)||(l(t),r.current=t),r.current),b=p((function(){var e=c(y);return u(e,_)}),[y,_]),R=p((function(){return{environment:s}}),[s]),C=h(null),P=d(null)[1],E=h(null),S=p((function(){s.check(b);var e=s.lookup(b.fragment);C.current=e.data;var t=s.retain(b),r=s.subscribe(e,(function(e){C.current=e.data,P(C.current)})),n=!1;return E.current&&E.current(),E.current=function(){n||(n=!0,E.current=null,t.dispose(),r.dispose())},e}),[s,b]);return f((function(){var e=E.current;return function(){e&&e()}}),[S]),i.createElement(n.Provider,{value:R},i.createElement(a.Provider,{value:v},g({props:C.current})))}},function(e,t,r){"use strict";var n=r(2),a=n(r(17)),o=n(r(15)),i=n(r(12)),s=n(r(13)),u=n(r(7)),l=n(r(5)),c=r(16),f=r(25),d=r(14),h=d.getComponentName,p=d.getContainerName,v=r(9),y=r(20),m=r(19).assertRelayContext,g=r(10),_=r(3),b=r(0),R=r(1),C=R.ConnectionInterface,P=R.Observable,E=R.RelayFeatureFlags,S=R.createFragmentSpecResolver,x=R.createOperationDescriptor,q=R.getDataIDsFromObject,F=R.getRequest,D=R.getVariablesFromObject,I=R.isScalarAndEqual,k=r(6);function w(e){return"function"==typeof e?{error:e,complete:e,unsubscribe:function(t){"function"==typeof e&&e()}}:e||{}}function O(e,t,r){var n,c,d=h(e),R=p(e),O=function(e){var t=null,r=!1;for(var n in e){var a=e[n],o=a.metadata&&a.metadata.connection;void 0!==a.metadata&&(r=!0),o&&(1!==o.length&&_(!1,"ReactRelayPaginationContainer: Only a single @connection is supported, `%s` has %s.",n,o.length),t&&_(!1,"ReactRelayPaginationContainer: Only a single fragment with @connection is supported."),t=(0,l.default)((0,l.default)({},o[0]),{},{fragmentName:n}))}return r&&null===t&&_(!1,"ReactRelayPaginationContainer: A @connection directive must be present."),t||{}}(t),A=r.getConnectionFromProps||function(e){var t=e.path;return t||_(!1,"ReactRelayPaginationContainer: Unable to synthesize a getConnectionFromProps function."),function(r){for(var n=r[e.fragmentName],a=0;a<t.length;a++){if(!n||"object"!=typeof n)return null;n=n[t[a]]}return n}}(O),N=r.direction||O.direction;N||_(!1,"ReactRelayPaginationContainer: Unable to infer direction of the connection, possibly because both first and last are provided.");var Q=r.getFragmentVariables||function(e){var t=e.count;return t||_(!1,"ReactRelayPaginationContainer: Unable to synthesize a getFragmentVariables function."),function(e,r){return(0,l.default)((0,l.default)({},e),{},(0,u.default)({},t,r))}}(O);return c=n=function(n){function c(e){var r,a;a=n.call(this,e)||this,(0,u.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){a.setState({data:a._resolver.resolve()})})),(0,u.default)((0,i.default)(a),"_hasMore",(function(){var e=a._getConnectionData();return!!(e&&e.hasMore&&e.cursor)})),(0,u.default)((0,i.default)(a),"_isLoading",(function(){return!!a._refetchSubscription})),(0,u.default)((0,i.default)(a),"_refetchConnection",(function(e,t,r){if(!a._canFetchPage("refetchConnection"))return{dispose:function(){}};a._refetchVariables=r;var n={count:e,cursor:null,totalCount:e};return{dispose:a._fetchPage(n,w(t),{force:!0}).unsubscribe}})),(0,u.default)((0,i.default)(a),"_loadMore",(function(e,t,r){if(!a._canFetchPage("loadMore"))return{dispose:function(){}};var n=w(t),o=a._getConnectionData();if(!o)return P.create((function(e){return e.complete()})).subscribe(n),null;var i=o.edgeCount+e;if(r&&r.force)return a._refetchConnection(i,t);var s=C.get(),u=s.END_CURSOR,l=s.START_CURSOR,c=o.cursor;k(null!=c&&""!==c,"ReactRelayPaginationContainer: Cannot `loadMore` without valid `%s` (got `%s`)","forward"===N?u:l,c);var f={count:e,cursor:c,totalCount:i};return{dispose:a._fetchPage(f,n,r).unsubscribe}}));var o=m(e.__relayContext),s=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r;return a._isARequestInFlight=!1,a._refetchSubscription=null,a._refetchVariables=null,!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?a._resolver=S(o,R,t,e,s):a._resolver=S(o,R,t,e,s,a._handleFragmentDataUpdate),a.state={data:a._resolver.resolve(),prevContext:o,contextForChildren:o,relayProp:a._buildRelayProp(o),resolverGeneration:0},a._isUnmounted=!1,a._hasFetched=!1,a}(0,s.default)(c,n);var h=c.prototype;return h.componentDidMount=function(){this._isUnmounted=!1,!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},h.componentDidUpdate=function(e,t){!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&(t.resolverGeneration!==this.state.resolverGeneration?this._subscribeToNewResolverAndRerenderIfStoreHasChanged():this._rerenderIfStoreHasChanged())},h.UNSAFE_componentWillReceiveProps=function(e){var r,n=this,a=m(e.__relayContext),o=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r,i=q(t,this.props),s=q(t,e),u=f(t,this.props),l=f(t,e);a.environment===this.state.prevContext.environment&&g(u,l)&&g(i,s)?this._hasFetched||this._resolver.setProps(e):(this._cleanup(),!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?this._resolver=S(a,R,t,e,o):this._resolver=S(a,R,t,e,o,this._handleFragmentDataUpdate),this.setState((function(e){return{prevContext:a,contextForChildren:a,relayProp:n._buildRelayProp(a),resolverGeneration:e.resolverGeneration+1}})));var c=this._resolver.resolve();c!==this.state.data&&this.setState({data:c})},h.componentWillUnmount=function(){this._isUnmounted=!0,this._cleanup()},h.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp||r.resolverGeneration!==this.state.resolverGeneration)return!0;for(var n=Object.keys(e),a=0;a<n.length;a++){var o=n[a];if("__relayContext"===o){if(r.prevContext.environment!==this.state.prevContext.environment)return!0}else if(!t.hasOwnProperty(o)&&!I(e[o],this.props[o]))return!0}return!1},h._buildRelayProp=function(e){return{hasMore:this._hasMore,isLoading:this._isLoading,loadMore:this._loadMore,refetchConnection:this._refetchConnection,environment:e.environment}},h._rerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();e!==t&&this.setState({data:t})},h._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();this._resolver.setCallback(this.props,this._handleFragmentDataUpdate),e!==t&&this.setState({data:t})},h._getConnectionData=function(){var e=this.props,t=(e.componentRef,(0,o.default)(e,["componentRef"])),r=(0,l.default)((0,l.default)({},t),this.state.data),n=A(r);if(null==n)return null;var a=C.get(),i=a.EDGES,s=a.PAGE_INFO,u=a.HAS_NEXT_PAGE,c=a.HAS_PREV_PAGE,f=a.END_CURSOR,h=a.START_CURSOR;"object"!=typeof n&&_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return `null` or a plain object with %s and %s properties, got `%s`.",d,i,s,n);var p=n[i],v=n[s];if(null==p||null==v)return null;Array.isArray(p)||_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Array, got `%s`.",d,i,p),"object"!=typeof v&&_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Object, got `%s`.",d,s,v);var y="forward"===N?v[u]:v[c],m="forward"===N?v[f]:v[h];return"boolean"!=typeof y||0!==p.length&&void 0===m?(k(!1,"ReactRelayPaginationContainer: Cannot paginate without %s fields in `%s`. Be sure to fetch %s (got `%s`) and %s (got `%s`).",s,d,"forward"===N?u:c,y,"forward"===N?f:h,m),null):{cursor:m,edgeCount:p.length,hasMore:y}},h._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new y),this._queryFetcher},h._canFetchPage=function(e){return!this._isUnmounted||(k(!1,"ReactRelayPaginationContainer: Unexpected call of `%s` on unmounted container `%s`. It looks like some instances of your container still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `%s` call.",e,R,e),!1)},h._fetchPage=function(e,n,a){var i,s=this,u=m(this.props.__relayContext).environment,c=this.props,h=(c.componentRef,c.__relayContext,c.__rootIsQueryRenderer,(0,o.default)(c,["componentRef","__relayContext","__rootIsQueryRenderer"])),p=(0,l.default)((0,l.default)({},h),this.state.data),v=f(t,h);i=D(t,h),i=(0,l.default)((0,l.default)((0,l.default)({},v),i),this._refetchVariables);var y=r.getVariables(p,{count:e.count,cursor:e.cursor},i);("object"!=typeof y||null===y)&&_(!1,"ReactRelayPaginationContainer: Expected `getVariables()` to return an object, got `%s` in `%s`.",y,d),y=(0,l.default)((0,l.default)({},y),this._refetchVariables),i=(0,l.default)((0,l.default)({},y),i);var b=a?{force:!!a.force}:void 0;null!=b&&null!=(null==a?void 0:a.metadata)&&(b.metadata=null==a?void 0:a.metadata);var R=F(r.query),C=x(R,y,b),E=null;this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._hasFetched=!0;var S=function(){s._refetchSubscription===E&&(s._refetchSubscription=null,s._isARequestInFlight=!1)};return this._isARequestInFlight=!0,E=this._getQueryFetcher().execute({environment:u,operation:C,preservePreviousReferences:!0}).mergeMap((function(t){return P.create((function(t){!function(t,r){var n=s._resolver.resolve();s._resolver.setVariables(Q(i,e.totalCount),C.request.node);var a=s._resolver.resolve();g(n,a)?r():s.setState({data:a,contextForChildren:{environment:s.props.__relayContext.environment}},r)}(0,(function(){t.next(),t.complete()}))}))})).do({error:S,complete:S,unsubscribe:S}).subscribe(n||{}),this._refetchSubscription=this._isARequestInFlight?E:null,E},h._cleanup=function(){this._resolver.dispose(),this._refetchVariables=null,this._hasFetched=!1,this._refetchSubscription&&(this._refetchSubscription.unsubscribe(),this._refetchSubscription=null,this._isARequestInFlight=!1),this._queryFetcher&&this._queryFetcher.dispose()},h.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,o.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return b.createElement(v.Provider,{value:this.state.contextForChildren},b.createElement(e,(0,a.default)({},n,this.state.data,{ref:r,relay:this.state.relayProp})))},c}(b.Component),(0,u.default)(n,"displayName",R),c}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return O(e,t,r)}))}}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(12)),i=n(r(13)),s=n(r(7)),u=r(9),l=r(20),c=r(18),f=r(10),d=r(0),h=r(1),p=h.createOperationDescriptor,v=h.deepFreeze,y=h.getRequest,m={},g={rootIsQueryRenderer:!0},_=function(e){function t(t){var r;r=e.call(this,t)||this,(0,s.default)((0,o.default)(r),"_handleDataChange",(function(e){var t=null==e.error?null:e.error,n=null==e.snapshot?null:e.snapshot;r.setState((function(e){var r=e.requestCacheKey;return r&&delete m[r],n===e.snapshot&&t===e.error?null:{renderProps:b(t,n,e.queryFetcher,e.retryCallbacks),snapshot:n,requestCacheKey:null}}))}));var n,i,u={handleDataChange:null,handleRetryAfterError:null};if(t.query){var c=t.query;i=R(y(c).params,t.variables),n=m[i]?m[i].queryFetcher:new l}else n=new l;return r._maybeHiddenOrFastRefresh=!1,r.state=(0,a.default)({prevPropsEnvironment:t.environment,prevPropsVariables:t.variables,prevQuery:t.query,queryFetcher:n,retryCallbacks:u},P(t,n,u,i)),r}(0,i.default)(t,e),t.getDerivedStateFromProps=function(e,t){return t.prevQuery===e.query&&t.prevPropsEnvironment===e.environment&&f(t.prevPropsVariables,e.variables)?null:C(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return C(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,a=t.requestCacheKey;a&&delete m[a],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete m[t],{renderProps:{error:null,props:null,retry:null},requestCacheKey:null}}))},this.props.query&&n.setOnDataChange(this._handleDataChange)},r.componentDidUpdate=function(e,t){var r=this.state,n=r.queryFetcher,a=r.requestCacheKey;a&&(delete m[a],delete this.state.requestCacheKey),this.props.query&&n!==t.queryFetcher&&n.setOnDataChange(this._handleDataChange)},r.componentWillUnmount=function(){this.state.queryFetcher.dispose(),this._maybeHiddenOrFastRefresh=!0},r.shouldComponentUpdate=function(e,t){return e.render!==this.props.render||t.renderProps!==this.state.renderProps},r.render=function(){var e=this.state,t=e.renderProps,r=e.relayContext;return v(t),d.createElement(u.Provider,{value:r},d.createElement(c.Provider,{value:g},this.props.render(t)))},t}(d.Component);function b(e,t,r,n){return{error:e||null,props:t?t.data:null,retry:function(t){var a=r.retry(t);a&&"function"==typeof n.handleDataChange?n.handleDataChange({snapshot:a}):e&&"function"==typeof n.handleRetryAfterError&&n.handleRetryAfterError(e)}}}function R(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function C(e,t){var r,n=e.query,o=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var i=R(y(n).params,e.variables);r=m[i]?m[i].queryFetcher:new l(o)}else r=new l(o);return(0,a.default)({prevQuery:e.query,prevPropsEnvironment:e.environment,prevPropsVariables:e.variables,queryFetcher:r},P(e,r,t.retryCallbacks))}function P(e,t,r,n){var a=e.environment,o=e.query,i=e.variables,s=e.cacheConfig,u=a;if(!o)return t.dispose(),{error:null,relayContext:{environment:u},renderProps:{error:null,props:{},retry:null},requestCacheKey:null};var l=y(o),c=p(l,i,s),f={environment:u};if("string"==typeof n&&m[n]){var d=m[n].snapshot;return d?{error:null,relayContext:f,renderProps:b(null,d,t,r),snapshot:d,requestCacheKey:n}:{error:null,relayContext:f,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}try{var h=t.lookupInStore(u,c,e.fetchPolicy),v=t.fetch({environment:u,onDataChange:null,operation:c})||h;return n=n||R(l.params,e.variables),m[n]={queryFetcher:t,snapshot:v},v?{error:null,relayContext:f,renderProps:b(null,v,t,r),snapshot:v,requestCacheKey:n}:{error:null,relayContext:f,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}catch(e){return{error:e,relayContext:f,renderProps:b(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=_},function(e,t,r){"use strict";var n=r(2),a=n(r(17)),o=n(r(15)),i=n(r(5)),s=n(r(12)),u=n(r(13)),l=n(r(7)),c=r(16),f=r(25),d=r(14).getContainerName,h=r(9),p=r(20),v=r(19).assertRelayContext,y=r(10),m=r(0),g=r(1),_=g.Observable,b=g.createFragmentSpecResolver,R=g.createOperationDescriptor,C=g.getDataIDsFromObject,P=g.getRequest,E=g.getVariablesFromObject,S=g.isScalarAndEqual,x=r(6);function q(e,t){return{environment:e,refetch:t}}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return function(e,t,r){var n,c,g=d(e);return c=n=function(n){function c(e){var a,o;o=n.call(this,e)||this,(0,l.default)((0,s.default)(o),"_handleFragmentDataUpdate",(function(){var e=o.state.resolver;o.setState((function(t){return e===t.resolver?{data:t.resolver.resolve()}:null}))})),(0,l.default)((0,s.default)(o),"_refetch",(function(e,n,a,s){if(o._isUnmounted)return x(!1,"ReactRelayRefetchContainer: Unexpected call of `refetch` on unmounted container `%s`. It looks like some instances of your container still trying to refetch the data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `refetch`.",g),{dispose:function(){}};var u=v(o.props.__relayContext).environment,l=f(t,o.props),c="function"==typeof e?e(o._getFragmentVariables()):e;c=(0,i.default)((0,i.default)({},l),c);var d=n?(0,i.default)((0,i.default)({},c),n):c,h=s?{force:!!s.force}:void 0;null!=h&&null!=(null==s?void 0:s.metadata)&&(h.metadata=null==s?void 0:s.metadata);var p,y="function"==typeof a?{next:a,error:a}:a||{},m=P(r),b=R(m,c,h);return o.state.localVariables=c,o._refetchSubscription&&o._refetchSubscription.unsubscribe(),null!=o._getQueryFetcher().lookupInStore(u,b,null==s?void 0:s.fetchPolicy)?(o.state.resolver.setVariables(d,b.request.node),o.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:o.props.__relayContext.environment}}}),(function(){y.next&&y.next(),y.complete&&y.complete()})),{dispose:function(){}}):(o._getQueryFetcher().execute({environment:u,operation:b,preservePreviousReferences:!0}).mergeMap((function(e){return o.state.resolver.setVariables(d,b.request.node),_.create((function(e){return o.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:o.props.__relayContext.environment}}}),(function(){e.next(),e.complete()}))}))})).finally((function(){o._refetchSubscription===p&&(o._refetchSubscription=null)})).subscribe((0,i.default)((0,i.default)({},y),{},{start:function(e){o._refetchSubscription=p=e,y.start&&y.start(e)}})),{dispose:function(){p&&p.unsubscribe()}})}));var u=v(e.__relayContext),c=null!==(a=e.__rootIsQueryRenderer)&&void 0!==a&&a;o._refetchSubscription=null;var d=b(u,g,t,e,c);return o.state={data:d.resolve(),localVariables:null,prevProps:e,prevPropsContext:u,contextForChildren:u,relayProp:q(u.environment,o._refetch),resolver:d},o._isUnmounted=!1,o}(0,u.default)(c,n);var d=c.prototype;return d.componentDidMount=function(){this._isUnmounted=!1,this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},d.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.getDerivedStateFromProps=function(e,r){var n,a=r.prevProps,o=v(e.__relayContext),i=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,s=C(t,a),u=C(t,e),l=f(t,a),c=f(t,e),d=r.resolver;if(r.prevPropsContext.environment!==o.environment||!y(l,c)||!y(s,u))return{data:(d=b(o,g,t,e,i)).resolve(),localVariables:null,prevProps:e,prevPropsContext:o,contextForChildren:o,relayProp:q(o.environment,r.relayProp.refetch),resolver:d};r.localVariables||d.setProps(e);var h=d.resolve();return h!==r.data?{data:h,prevProps:e}:null},d.componentWillUnmount=function(){this._isUnmounted=!0,this.state.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe()},d.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp)return!0;for(var n=Object.keys(e),a=0;a<n.length;a++){var o=n[a];if("__relayContext"===o){if(this.state.prevPropsContext.environment!==r.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(o)&&!S(e[o],this.props[o]))return!0}return!1},d._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},d._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},d._getFragmentVariables=function(){return E(t,this.props)},d._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new p),this._queryFetcher},d.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,o.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"])),i=this.state,s=i.relayProp,u=i.contextForChildren;return m.createElement(h.Provider,{value:u},m.createElement(e,(0,a.default)({},n,this.state.data,{ref:r,relay:s})))},c}(m.Component),(0,l.default)(n,"displayName",g),c}(e,t,r)}))}}},function(e,t,r){"use strict";var n=r(21),a=r(4),o=r(0),i=r(0),s=i.useContext,u=i.useEffect,l=r(6);e.exports=function(e){var t=e.entryPointReference,r=e.props;l(!1===t.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 i=t.getComponent,c=t.queries,f=t.entryPoints,d=t.extraProps,h=t.rootModuleID,p=i(),v=s(n),y=a();return u((function(){y.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:h})}),[y,v,h]),o.createElement(p,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(26),o=n.useMemo;e.exports=function(e){var t=e.children,r=e.environment,i=e.getEnvironmentForActor,s=o((function(){return{environment:r,getEnvironmentForActor:i}}),[r,i]);return n.createElement(a.Provider,{value:s},t)}},function(e,t,r){"use strict";var n=r(2)(r(28)),a=r(27),o=r(8).useTrackLoadQueryInRender,i=r(11),s=r(0),u=s.useCallback,l=s.useEffect,c=s.useRef,f=s.useState,d={kind:"NullEntryPointReference"};e.exports=function(e,t,r){var s,h,p,v;o();var y=null!==(s=null==r||null===(h=r.TEST_ONLY__initialEntryPointData)||void 0===h?void 0:h.entryPointReference)&&void 0!==s?s:d,m=null!==(p=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==p?p:null,g=i(),_=c(new Set([y])),b=f(y),R=b[0],C=b[1],P=f(m),E=P[0],S=P[1],x=u((function(){if(g.current){var e={kind:"NullEntryPointReference"};_.current.add(e),C(e)}}),[C,g]),q=u((function(r){if(g.current){var n=a(e,t,r);_.current.add(n),C(n),S(r)}}),[e,t,C,g]),F=c(!1);return l((function(){return function(){F.current=!0}}),[]),l((function(){if(!0===F.current)return F.current=!1,void("NullEntryPointReference"!==R.kind&&null!=E&&q(E));var e=_.current;if(g.current){var t,r=(0,n.default)(e);try{for(r.s();!(t=r.n()).done;){var a=t.value;if(a===R)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[R,E,q,g]),l((function(){return function(){var e,t=(0,n.default)(_.current);try{for(t.s();!(e=t.n()).done;){var r=e.value;"NullEntryPointReference"!==r.kind&&r.dispose()}}catch(e){t.e(e)}finally{t.f()}}}),[]),["NullEntryPointReference"===R.kind?null:R,q,x]}},function(e,t,r){"use strict";var n=r(8).useTrackLoadQueryInRender,a=r(22),o=r(24),i=r(0).useDebugValue,s=r(1).getFragment;e.exports=function(e,t){n();var r=s(e);o(r,"first argument of useFragment()");var u=a(r,t,"useFragment()").data;return i({fragment:r.name,data:u}),u}},function(e,t){e.exports=p},function(e,t,r){"use strict";var n=r(8).useTrackLoadQueryInRender,a=r(32),o=r(34),i=r(4),s=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var u=i(),l=o(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:s(u,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},function(e,t,r){"use strict";var n=r(10),a=r(0),o=a.useMemo,i=a.useRef,s=a.useState;e.exports=function(e){var t,r,a=i(0),u=s(e),l=u[0],c=u[1];return n(e,l)||(a.current=(null!==(r=a.current)&&void 0!==r?r:0)+1,c(e)),[o((function(){return e}),[a.current]),null!==(t=a.current)&&void 0!==t?t:0]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(11),o=r(4),i=r(0),s=r(1).commitMutation,u=i.useState,l=i.useEffect,c=i.useRef,f=i.useCallback;e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s,r=o(),i=a(),d=c(r),h=c(e),p=c(new Set),v=u(!1),y=v[0],m=v[1],g=f((function(t){d.current===r&&h.current===e&&(p.current.delete(t),i.current&&m(p.current.size>0))}),[r,i,e]);l((function(){d.current===r&&h.current===e||(p.current=new Set,i.current&&m(!1),d.current=r,h.current=e)}),[r,i,e]);var _=f((function(a){i.current&&m(!0);var o=t(r,(0,n.default)((0,n.default)({},a),{},{mutation:e,onCompleted:function(e,t){var r;g(o),null===(r=a.onCompleted)||void 0===r||r.call(a,e,t)},onError:function(e){var t;g(o),null===(t=a.onError)||void 0===t||t.call(a,e)},onUnsubscribe:function(){var e;g(o),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 p.current.add(o),o}),[g,t,r,i,e]);return[_,y]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(55),o=r(35),i=r(24),s=r(0),u=s.useCallback,l=s.useDebugValue,c=s.useState,f=r(1),d=f.getFragment,h=f.getFragmentIdentifier,p=f.getPaginationMetadata;function v(e){var t=c(!1),r=t[0],o=t[1],i={start:function(){return o(!0)},complete:function(){return o(!1)},error:function(){return o(!1)}},s=a((0,n.default)((0,n.default)({},e),{},{observer:i,onReset:function(){return o(!1)}}));return[s[0],s[1],r,s[2]]}e.exports=function(e,t){var r=d(e);i(r,"first argument of usePaginationFragment()");var a=p(r,"usePaginationFragment()"),s=a.connectionPathInFragmentData,c=a.paginationRequest,f=a.paginationMetadata,y=a.identifierField,m=o(r,t,"usePaginationFragment()"),g=m.fragmentData,_=m.fragmentRef,b=m.refetch,R=h(r,_),C=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:s,direction:"backward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:_,identifierField:y,paginationMetadata:f,paginationRequest:c}),P=C[0],E=C[1],S=C[2],x=C[3],q=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:s,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:_,identifierField:y,paginationMetadata:f,paginationRequest:c}),F=q[0],D=q[1],I=q[2],k=q[3],w=u((function(e,t){return k(),x(),b(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[k,x,b]);return l({fragment:r.name,data:g,hasNext:D,isLoadingNext:I,hasPrevious:E,isLoadingPrevious:S}),{data:g,loadNext:F,loadPrevious:P,hasNext:D,hasPrevious:E,isLoadingNext:I,isLoadingPrevious:S,refetch:w}}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(33),o=r(11),i=r(56),s=r(4),u=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,h=r(1),p=h.ConnectionInterface,v=h.__internal.fetchQuery,y=h.createOperationDescriptor,m=h.getPaginationVariables,g=h.getSelector,_=h.getValueAtPath,b=r(6);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,h=e.fragmentIdentifier,R=e.fragmentData,C=e.connectionPathInFragmentData,P=e.paginationRequest,E=e.paginationMetadata,S=e.componentDisplayName,x=e.observer,q=e.onReset,F=e.identifierField,D=s(),I=a(),k=I.isFetchingRef,w=I.startFetch,O=I.disposeFetch,A=I.completeFetch,N=null!=F&&null!=R&&"object"==typeof R?R[F]:null,Q=o(),T=d(D),M=T[0],U=T[1],L=d(h),j=L[0],V=L[1],W=i(r,l);(D!==M||h!==j)&&(O(),q(),U(D),V(h));var B=function(e,t,r,n){var a,o,i=p.get(),s=i.EDGES,l=i.PAGE_INFO,c=i.HAS_NEXT_PAGE,f=i.HAS_PREV_PAGE,d=i.END_CURSOR,h=i.START_CURSOR,v=_(r,n);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`.",t.name,s,l,v);var y=v[s],m=v[l];if(null==y||null==m)return{cursor:null,hasMore:!1};Array.isArray(y)||u(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,s,y),"object"!=typeof m&&u(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",t.name,l,m);var g,b="forward"===e?null!==(a=m[d])&&void 0!==a?a:null:null!==(o=m[h])&&void 0!==o?o:null;null!==b&&"string"!=typeof b&&u(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,h,b),g="forward"===e?null!=b&&!0===m[c]:null!=b&&!0===m[f];return{cursor:b,hasMore:g}}(t,r,R,C),H=B.cursor,K=B.hasMore;return f((function(){return function(){O()}}),[O]),[c((function(e,a){var o=null==a?void 0:a.onComplete;if(!0!==Q.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,S),{dispose:function(){}};var i=g(r,l);if(!0===k.current||null==R||W)return null==i&&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,S,S),o&&o(null),{dispose:function(){}};(null==i||"PluralReaderSelector"===i.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,S);var s=i.owner.variables,c=i.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,n.default)((0,n.default)({},s),c),h=m(t,e,H,d,(0,n.default)({},f),E);null!=F&&("string"!=typeof N&&b(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",F,N),h.id=N);var p=y(P,h,{force:!0});return v(D,p).subscribe((0,n.default)((0,n.default)({},x),{},{start:function(e){w(e),x.start&&x.start(e)},complete:function(){A(),x.complete&&x.complete(),o&&o(null)},error:function(e){A(),x.error&&x.error(e),o&&o(e)}})),{dispose:O}}),[D,N,t,H,w,O,A,k,W,R,r.name,l,S]),K,O]}},function(e,t,r){"use strict";var n=r(4),a=r(3),o=r(0),i=r(1),s=i.__internal.getObservableForActiveRequest,u=i.getSelector,l=o.useEffect,c=o.useState,f=o.useMemo;e.exports=function(e,t){var r=n(),o=f((function(){var n=u(e,t);return null==n?null:("SingularReaderSelector"!==n.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),s(r,n.owner))}),[r,e,t]),i=c(null!=o),d=i[0],h=i[1];return l((function(){var e;if(h(null!=o),null!=o){var t=function(){h(!1)};e=o.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[o]),d}},function(e,t,r){"use strict";var n=r(8).useTrackLoadQueryInRender,a=r(32),o=r(34),i=r(4),s=r(3),u=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(6);e.exports=function(e,t,r){n();var l,h=i(),p=t.fetchKey,v=t.fetchPolicy,y=t.source,m=t.variables,g=t.networkCacheConfig,_=o(e,m,g);if("PreloadedQuery_DEPRECATED"===t.kind)_.request.node.params.name!==t.name&&s(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",_.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:p,fetchObservable:c(h,_.request.identifier,(function(){return h===t.environment&&null!=y?h.executeWithSource({operation:_,source:y}):h.execute({operation:_})})),fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{d(!1===t.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=f(h,_);null!=y&&h===t.environment?b=y.ifEmpty(R):h!==t.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."),b=R):b=R,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:b,fetchKey:p,fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var C=a(l);return u({query:t.name,variables:t.variables,data:C,fetchKey:p,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),C}},function(e,t,r){"use strict";var n=r(35),a=r(24),o=r(0).useDebugValue,i=r(1).getFragment;e.exports=function(e,t){var r=i(e);a(r,"first argument of useRefetchableFragment()");var s=n(r,t,"useRefetchableFragment()"),u=s.fragmentData,l=s.refetch;return o({fragment:r.name,data:u}),[u,l]}},function(e,t,r){"use strict";var n=r(4),a=r(0),o=a.useEffect,i=a.useRef;e.exports=function(e,t){var r=n(),a=i(null),s=Array.from(e).sort().join("");return o((function(){var n=r.getStore(),o=n.lookupInvalidationState(e),i=n.subscribeToInvalidationState(o,t);return a.current=i,function(){return i.dispose()}}),[s,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(4),a=r(0).useEffect,o=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:o,i=n();a((function(){return r(i,e).dispose}),[i,e,r])}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-b73f35ea
2
+ * Relay v0.0.0-main-6bdab0d6
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -68,12 +68,53 @@ type QueryCacheEntry = {|
68
68
  suspenseResource: SuspenseResource | null,
69
69
  |};
70
70
 
71
- type QueryCache = Map<string, QueryCacheEntry>;
72
-
73
71
  const DEFAULT_FETCH_POLICY = 'store-or-network';
74
72
 
73
+ type QueryCacheKey = string;
74
+
75
+ class QueryCache {
76
+ _map: Map<IEnvironment, Map<QueryCacheKey, QueryCacheEntry>>;
77
+
78
+ constructor() {
79
+ this._map = new Map();
80
+ }
81
+
82
+ get(environment: IEnvironment, key: QueryCacheKey): QueryCacheEntry | void {
83
+ let forEnv = this._map.get(environment);
84
+ if (!forEnv) {
85
+ forEnv = new Map();
86
+ this._map.set(environment, forEnv);
87
+ }
88
+ return forEnv.get(key);
89
+ }
90
+
91
+ set(
92
+ environment: IEnvironment,
93
+ key: QueryCacheKey,
94
+ value: QueryCacheEntry,
95
+ ): void {
96
+ let forEnv = this._map.get(environment);
97
+ if (!forEnv) {
98
+ forEnv = new Map();
99
+ this._map.set(environment, forEnv);
100
+ }
101
+ forEnv.set(key, value);
102
+ }
103
+
104
+ delete(environment: IEnvironment, key: QueryCacheKey): void {
105
+ const forEnv = this._map.get(environment);
106
+ if (!forEnv) {
107
+ return;
108
+ }
109
+ forEnv.delete(key);
110
+ if (forEnv.size === 0) {
111
+ this._map.delete(environment);
112
+ }
113
+ }
114
+ }
115
+
75
116
  function createQueryCache(): QueryCache {
76
- return new Map();
117
+ return new QueryCache();
77
118
  }
78
119
 
79
120
  const noopOnCommit = () => {
@@ -87,11 +128,10 @@ function getQueryCacheKey(
87
128
  fetchPolicy: FetchPolicy,
88
129
  renderPolicy: RenderPolicy,
89
130
  fetchKey?: ?string | ?number,
90
- ): string {
91
- const cacheIdentifier = `${fetchPolicy}-${renderPolicy}-${
92
- operation.request.identifier
93
- }-${fetchKey ?? ''}`;
94
- return cacheIdentifier;
131
+ ): QueryCacheKey {
132
+ return `${fetchPolicy}-${renderPolicy}-${operation.request.identifier}-${
133
+ fetchKey ?? ''
134
+ }`;
95
135
  }
96
136
 
97
137
  function constructQueryResult(operation: OperationDescriptor): QueryResult {
@@ -140,18 +180,18 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
140
180
  options?.fetchKey,
141
181
  );
142
182
 
143
- const initialEntry = cache.get(cacheKey);
183
+ const initialEntry = cache.get(environment, cacheKey);
144
184
 
145
185
  function updateCache(updater) {
146
- let currentEntry = cache.get(cacheKey);
186
+ let currentEntry = cache.get(environment, cacheKey);
147
187
  if (!currentEntry) {
148
188
  currentEntry = makeInitialCacheEntry();
149
- cache.set(cacheKey, currentEntry);
189
+ cache.set(environment, cacheKey, currentEntry);
150
190
  }
151
191
  // $FlowExpectedError[prop-missing] Extra properties are passed in -- this is fine
152
192
  const newStatus: {...} = updater(currentEntry);
153
193
  // $FlowExpectedError[cannot-spread-inexact] Flow cannot understand that this is valid...
154
- cache.set(cacheKey, {...currentEntry, ...newStatus});
194
+ cache.set(environment, cacheKey, {...currentEntry, ...newStatus});
155
195
  // ... but we can because QueryCacheEntry spreads QueryCacheEntryStatus, so spreading
156
196
  // a QueryCacheEntryStatus into a QueryCacheEntry will result in a valid QueryCacheEntry.
157
197
  }
@@ -168,7 +208,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
168
208
  updateCache,
169
209
  options?.fetchObservable,
170
210
  );
171
- const createdEntry = cache.get(cacheKey);
211
+ const createdEntry = cache.get(environment, cacheKey);
172
212
  invariant(
173
213
  createdEntry !== undefined,
174
214
  'An entry should have been created by onCacheMiss. This is a bug in Relay.',
@@ -183,7 +223,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
183
223
  return {
184
224
  dispose: () => {
185
225
  retention.dispose();
186
- cache.delete(cacheKey);
226
+ cache.delete(environment, cacheKey);
187
227
  },
188
228
  };
189
229
  });
@@ -221,14 +261,14 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
221
261
 
222
262
  const dispose = () => {
223
263
  retention.dispose();
224
- cache.delete(cacheKey);
264
+ cache.delete(environment, cacheKey);
225
265
  };
226
266
  const abortSignal = getCacheSignal();
227
267
  abortSignal.addEventListener('abort', dispose, {once: true});
228
268
  }
229
269
  }
230
270
 
231
- const entry = cache.get(cacheKey); // could be a different entry now if synchronously resolved
271
+ const entry = cache.get(environment, cacheKey); // could be a different entry now if synchronously resolved
232
272
  invariant(
233
273
  entry !== undefined,
234
274
  'An entry should have been created by onCacheMiss. This is a bug in Relay.',
@@ -272,11 +272,7 @@ function useFragmentInternal_REACT_CACHE(
272
272
  hookDisplayName: string,
273
273
  queryOptions?: FragmentQueryOptions,
274
274
  fragmentKey?: string,
275
- ): {|
276
- data: ?SelectorData | Array<?SelectorData>,
277
- disableStoreUpdates: () => void,
278
- enableStoreUpdates: () => void,
279
- |} {
275
+ ): ?SelectorData | Array<?SelectorData> {
280
276
  const fragmentSelector = getSelector(fragmentNode, fragmentRef);
281
277
 
282
278
  const isPlural = fragmentNode?.metadata?.plural === true;
@@ -419,37 +415,24 @@ function useFragmentInternal_REACT_CACHE(
419
415
  handlePotentialSnapshotErrorsForState(environment, state);
420
416
  }
421
417
 
422
- // Subscriptions:
423
- const isListeningForUpdatesRef = useRef(true);
424
- function enableStoreUpdates() {
425
- isListeningForUpdatesRef.current = true;
426
- handleMissedUpdates(environment, state, setState);
427
- }
428
- function disableStoreUpdates() {
429
- isListeningForUpdatesRef.current = false;
430
- }
431
-
432
418
  useEffect(() => {
433
419
  handleMissedUpdates(environment, subscribedState, setState);
434
420
  return subscribeToSnapshot(environment, subscribedState, updater => {
435
- if (isListeningForUpdatesRef.current) {
436
- setState(latestState => {
437
- if (
438
- latestState.snapshot?.selector !==
439
- subscribedState.snapshot?.selector
440
- ) {
441
- // Ignore updates to the subscription if it's for a previous fragment selector
442
- // than the latest one to be rendered. This can happen if the store is updated
443
- // after we re-render with a new fragmentRef prop but before the effect fires
444
- // in which we unsubscribe to the old one and subscribe to the new one.
445
- // (NB: it's safe to compare the selectors by reference because the selector
446
- // is recycled into new snapshots.)
447
- return latestState;
448
- } else {
449
- return updater(latestState);
450
- }
451
- });
452
- }
421
+ setState(latestState => {
422
+ if (
423
+ latestState.snapshot?.selector !== subscribedState.snapshot?.selector
424
+ ) {
425
+ // Ignore updates to the subscription if it's for a previous fragment selector
426
+ // than the latest one to be rendered. This can happen if the store is updated
427
+ // after we re-render with a new fragmentRef prop but before the effect fires
428
+ // in which we unsubscribe to the old one and subscribe to the new one.
429
+ // (NB: it's safe to compare the selectors by reference because the selector
430
+ // is recycled into new snapshots.)
431
+ return latestState;
432
+ } else {
433
+ return updater(latestState);
434
+ }
435
+ });
453
436
  });
454
437
  }, [environment, subscribedState]);
455
438
 
@@ -493,11 +476,7 @@ function useFragmentInternal_REACT_CACHE(
493
476
  useDebugValue({fragment: fragmentNode.name, data});
494
477
  }
495
478
 
496
- return {
497
- data,
498
- disableStoreUpdates,
499
- enableStoreUpdates,
500
- };
479
+ return data;
501
480
  }
502
481
 
503
482
  module.exports = useFragmentInternal_REACT_CACHE;
@@ -56,8 +56,14 @@ function useFragment(fragment: GraphQLTaggedNode, key: mixed): mixed {
56
56
  useTrackLoadQueryInRender();
57
57
 
58
58
  const fragmentNode = getFragment(fragment);
59
- useStaticFragmentNodeWarning(fragmentNode, 'first argument of useFragment()');
60
- const {data} = useFragmentInternal(fragmentNode, key, 'useFragment()');
59
+ if (__DEV__) {
60
+ // eslint-disable-next-line react-hooks/rules-of-hooks
61
+ useStaticFragmentNodeWarning(
62
+ fragmentNode,
63
+ 'first argument of useFragment()',
64
+ );
65
+ }
66
+ const data = useFragmentInternal(fragmentNode, key, 'useFragment()');
61
67
  if (__DEV__) {
62
68
  // eslint-disable-next-line react-hooks/rules-of-hooks
63
69
  useDebugValue({fragment: fragmentNode.name, data});
@@ -65,7 +65,7 @@ function useLazyLoadQuery_REACT_CACHE<TVariables: Variables, TData>(
65
65
  return useFragmentInternal(fragmentNode, fragmentRef, 'useLazyLoadQuery()', {
66
66
  fetchPolicy: options?.fetchPolicy,
67
67
  networkCacheConfig: options?.networkCacheConfig,
68
- }).data;
68
+ });
69
69
  }
70
70
 
71
71
  module.exports = useLazyLoadQuery_REACT_CACHE;
@@ -125,7 +125,7 @@ function usePreloadedQuery_REACT_CACHE<TQuery: OperationType>(
125
125
  // Read the query's root fragment -- this may suspend.
126
126
  const {fragmentNode, fragmentRef} = queryResult;
127
127
  // $FlowExpectedError[incompatible-return] Is this a fixable incompatible-return?
128
- const {data} = useFragmentInternal(
128
+ const data = useFragmentInternal(
129
129
  fragmentNode,
130
130
  fragmentRef,
131
131
  'usePreloadedQuery()',