react-relay 0.0.0-main-383cbeb3 → 0.0.0-main-bd656a76
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.
- package/ReactRelayContext.js +1 -1
- package/hooks.js +1 -1
- package/index.js +1 -1
- package/legacy.js +1 -1
- package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +69 -40
- package/package.json +2 -2
- package/react-relay-hooks.js +1 -1
- package/react-relay-hooks.min.js +1 -1
- package/react-relay-legacy.js +1 -1
- package/react-relay-legacy.min.js +1 -1
- package/react-relay.js +1 -1
- package/react-relay.min.js +1 -1
- package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +68 -33
package/ReactRelayContext.js
CHANGED
package/hooks.js
CHANGED
package/index.js
CHANGED
package/legacy.js
CHANGED
|
@@ -121,17 +121,22 @@ function handlePotentialSnapshotErrorsForState(environment, state) {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Check for updates to the store that occurred concurrently with rendering the given `state` value,
|
|
126
|
+
* returning a new (updated) state if there were updates or null if there were no changes.
|
|
127
|
+
*/
|
|
124
128
|
|
|
125
|
-
|
|
129
|
+
|
|
130
|
+
function handleMissedUpdates(environment, state) {
|
|
126
131
|
if (state.kind === 'bailout') {
|
|
127
|
-
return;
|
|
132
|
+
return null;
|
|
128
133
|
} // FIXME this is invalid if we've just switched environments.
|
|
129
134
|
|
|
130
135
|
|
|
131
136
|
var currentEpoch = environment.getStore().getEpoch();
|
|
132
137
|
|
|
133
138
|
if (currentEpoch === state.epoch) {
|
|
134
|
-
return;
|
|
139
|
+
return null;
|
|
135
140
|
} // The store has updated since we rendered (without us being subscribed yet),
|
|
136
141
|
// so check for any updates to the data we're rendering:
|
|
137
142
|
|
|
@@ -139,16 +144,24 @@ function handleMissedUpdates(environment, state, setState) {
|
|
|
139
144
|
if (state.kind === 'singular') {
|
|
140
145
|
var currentSnapshot = environment.lookup(state.snapshot.selector);
|
|
141
146
|
var updatedData = recycleNodesInto(state.snapshot.data, currentSnapshot.data);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
var updatedCurrentSnapshot = {
|
|
148
|
+
data: updatedData,
|
|
149
|
+
isMissingData: currentSnapshot.isMissingData,
|
|
150
|
+
missingClientEdges: currentSnapshot.missingClientEdges,
|
|
151
|
+
missingLiveResolverFields: currentSnapshot.missingLiveResolverFields,
|
|
152
|
+
seenRecords: currentSnapshot.seenRecords,
|
|
153
|
+
selector: currentSnapshot.selector,
|
|
154
|
+
missingRequiredFields: currentSnapshot.missingRequiredFields,
|
|
155
|
+
relayResolverErrors: currentSnapshot.relayResolverErrors
|
|
156
|
+
};
|
|
157
|
+
return [updatedData !== state.snapshot.data, {
|
|
158
|
+
kind: 'singular',
|
|
159
|
+
snapshot: updatedCurrentSnapshot,
|
|
160
|
+
epoch: currentEpoch
|
|
161
|
+
}];
|
|
150
162
|
} else {
|
|
151
|
-
var
|
|
163
|
+
var didMissUpdates = false;
|
|
164
|
+
var currentSnapshots = [];
|
|
152
165
|
|
|
153
166
|
for (var index = 0; index < state.snapshots.length; index++) {
|
|
154
167
|
var snapshot = state.snapshots[index];
|
|
@@ -157,34 +170,30 @@ function handleMissedUpdates(environment, state, setState) {
|
|
|
157
170
|
|
|
158
171
|
var _updatedData = recycleNodesInto(snapshot.data, _currentSnapshot.data);
|
|
159
172
|
|
|
173
|
+
var _updatedCurrentSnapshot = {
|
|
174
|
+
data: _updatedData,
|
|
175
|
+
isMissingData: _currentSnapshot.isMissingData,
|
|
176
|
+
missingClientEdges: _currentSnapshot.missingClientEdges,
|
|
177
|
+
missingLiveResolverFields: _currentSnapshot.missingLiveResolverFields,
|
|
178
|
+
seenRecords: _currentSnapshot.seenRecords,
|
|
179
|
+
selector: _currentSnapshot.selector,
|
|
180
|
+
missingRequiredFields: _currentSnapshot.missingRequiredFields,
|
|
181
|
+
relayResolverErrors: _currentSnapshot.relayResolverErrors
|
|
182
|
+
};
|
|
183
|
+
|
|
160
184
|
if (_updatedData !== snapshot.data) {
|
|
161
|
-
|
|
162
|
-
updates[index] = snapshot;
|
|
185
|
+
didMissUpdates = true;
|
|
163
186
|
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
if (updates !== null) {
|
|
167
|
-
var theUpdates = updates; // preserve flow refinement.
|
|
168
|
-
|
|
169
|
-
setState(function (existing) {
|
|
170
|
-
!(existing.kind === 'plural') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot go from singular to plural or from bailout to plural.') : invariant(false) : void 0;
|
|
171
|
-
var updated = (0, _toConsumableArray2["default"])(existing.snapshots);
|
|
172
187
|
|
|
173
|
-
|
|
174
|
-
var updatedSnapshot = theUpdates[_index];
|
|
175
|
-
|
|
176
|
-
if (updatedSnapshot) {
|
|
177
|
-
updated[_index] = updatedSnapshot;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return {
|
|
182
|
-
kind: 'plural',
|
|
183
|
-
snapshots: updated,
|
|
184
|
-
epoch: currentEpoch
|
|
185
|
-
};
|
|
186
|
-
});
|
|
188
|
+
currentSnapshots.push(_updatedCurrentSnapshot);
|
|
187
189
|
}
|
|
190
|
+
|
|
191
|
+
!(currentSnapshots.length === state.snapshots.length) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected same number of snapshots') : invariant(false) : void 0;
|
|
192
|
+
return [didMissUpdates, {
|
|
193
|
+
kind: 'plural',
|
|
194
|
+
snapshots: currentSnapshots,
|
|
195
|
+
epoch: currentEpoch
|
|
196
|
+
}];
|
|
188
197
|
}
|
|
189
198
|
}
|
|
190
199
|
|
|
@@ -435,12 +444,32 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
435
444
|
}
|
|
436
445
|
|
|
437
446
|
useEffect(function () {
|
|
438
|
-
|
|
439
|
-
|
|
447
|
+
// Check for updates since the state was rendered
|
|
448
|
+
var currentState = subscribedState;
|
|
449
|
+
var updates = handleMissedUpdates(environment, subscribedState);
|
|
450
|
+
|
|
451
|
+
if (updates !== null) {
|
|
452
|
+
var didMissUpdates = updates[0],
|
|
453
|
+
updatedState = updates[1]; // TODO: didMissUpdates only checks for changes to snapshot data, but it's possible
|
|
454
|
+
// that other snapshot properties may have changed that should also trigger a re-render,
|
|
455
|
+
// such as changed missing resolver fields, missing client edges, etc.
|
|
456
|
+
// A potential alternative is for handleMissedUpdates() to recycle the entire state
|
|
457
|
+
// value, and return the new (recycled) state only if there was some change. In that
|
|
458
|
+
// case the code would always setState if something in the snapshot changed, in addition
|
|
459
|
+
// to using the latest snapshot to subscribe.
|
|
460
|
+
|
|
461
|
+
if (didMissUpdates) {
|
|
462
|
+
setState(updatedState);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
currentState = updatedState;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
return subscribeToSnapshot(environment, currentState, function (updater) {
|
|
440
469
|
setState(function (latestState) {
|
|
441
|
-
var _latestState$snapshot,
|
|
470
|
+
var _latestState$snapshot, _currentState$snapsho;
|
|
442
471
|
|
|
443
|
-
if (((_latestState$snapshot = latestState.snapshot) === null || _latestState$snapshot === void 0 ? void 0 : _latestState$snapshot.selector) !== ((
|
|
472
|
+
if (((_latestState$snapshot = latestState.snapshot) === null || _latestState$snapshot === void 0 ? void 0 : _latestState$snapshot.selector) !== ((_currentState$snapsho = currentState.snapshot) === null || _currentState$snapsho === void 0 ? void 0 : _currentState$snapsho.selector)) {
|
|
444
473
|
// Ignore updates to the subscription if it's for a previous fragment selector
|
|
445
474
|
// than the latest one to be rendered. This can happen if the store is updated
|
|
446
475
|
// after we re-render with a new fragmentRef prop but before the effect fires
|
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-
|
|
4
|
+
"version": "0.0.0-main-bd656a76",
|
|
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-
|
|
23
|
+
"relay-runtime": "0.0.0-main-bd656a76"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"react": "^16.9.0 || ^17 || ^18"
|
package/react-relay-hooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay v0.0.0-main-
|
|
2
|
+
* Relay v0.0.0-main-bd656a76
|
|
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=26)}([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(15);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,I,q=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})},Q=new c,N=u.create((function(e){return Q.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){Q.error(e)},next:function(e){Q.next(e)},complete:function(){Q.complete()}});x=n.unsubscribe},U=function(t){var n=d(t,r,D);(k=e.retain(n),"store-only"!==q)&&(("store-or-network"!==q||"available"!==e.check(n).status)&&L(n,(function(){var e=M(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(S=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",S.name);var j=s.get(I);if(null!=j)U(j);else{var W="store-only"===q?null:M(S),B=s.onLoad(I,(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);I=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:I,get isDisposed(){return V||H},get networkError(){return T},name:S.name,networkCacheConfig:D,fetchPolicy:q,source:O?N: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(5),a=null;e.exports={inject:function(e){n(null!==a,"Relay HooksImplementation was injected twice."),a=e},get:function(){return a}}},function(e,t,r){"use strict";var n=r(18).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(12)),o=r(19),u=r(20),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 I=this._cache.get(e);return null==I&&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:I.id,operation:t,profilerContext:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:l}),I},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(12)),o=n(r(31)),u=r(19),s=r(13).getQueryResourceForEnvironment,l=r(20),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 I=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}(),q=function(){function e(e){this._environment=e,this._cache=u.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new I(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,p=this,h=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var m=h.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:m};var y=this._cache.get(r);if(null!=y){var g;if("pending"===y.kind&&E(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===(g=S(y.result.snapshot))||void 0===g?void 0:g.length))return this._handlePotentialSnapshotErrorsInSnapshot(y.result.snapshot),y.result}var _=b(e,t);null==_&&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 R="PluralReaderSelector"===_.kind?_.selectors.map((function(e){return h.lookup(e)})):h.lookup(_),P=w(r,R,m);if(!P.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(R),this._cache.set(r,{kind:"done",result:P}),P;var k=null;if(d.ENABLE_CLIENT_EDGES&&!0===(null===(u=e.metadata)||void 0===u?void 0:u.hasClientEdges)&&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}(R)){k=[];var x=s(this._environment),I=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(R,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,i=r.clientEdgeDestinationID,o=p._performClientEdgeQuery(x,e,t,a,i),u=o.queryResult,s=o.requestDescriptor;I.push(u),null===(n=k)||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,I)}var q=[];d.ENABLE_CLIENT_EDGES&&k&&(q=k.map((function(e){return v(p._environment,e)})).filter(Boolean));var D="PluralReaderSelector"===_.kind?_.selectors[0].owner:_.owner,F=this._getAndSavePromiseForFragmentRequestInFlight(r,e,D,P),A=null==F?void 0:F.promise,Q=null!==(l=null===(f=S(R))||void 0===f?void 0:f.map((function(e){var t=e.liveStateID;return h.getStore().getLiveResolverPromise(t)})))&&void 0!==l?l:[];if(q.length||Q.length||E(A)){var N,T;h.__log({name:"suspense.fragment",data:P.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:P.isMissingData,pendingOperations:[].concat((0,o.default)(null!==(N=null==F?void 0:F.pendingOperations)&&void 0!==N?N:[]),(0,o.default)(null!==(T=k)&&void 0!==T?T:[]))});var O=[];if(q.length>0&&(O=O.concat(q)),Q.length>0&&(O=O.concat(Q)),O.length>0)throw A&&O.push(A),Promise.all(O);if(A)throw A}return this._handlePotentialSnapshotErrorsInSnapshot(R),w(r,R,m)},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 q(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(12)),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(13),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(22),s=r(11),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)})),I=h(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.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 q=w.fragmentNode,D=w.fragmentRef;return s(q,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(33),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(18).getFragmentResourceForEnvironment,o=r(9),u=r(13).getQueryResourceForEnvironment,s=r(11),l=r(8),c=r(25),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,I=_(e,t),q=m(C,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=q[0],F=q[1],A=D.fetchPolicy,Q=D.mirroredEnvironment,N=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!==Q||I!==N,V=c(x),H=V[0],G=V[1],z=V[2],Y=t;if(K)F({type:"reset",environment:U,fragmentIdentifier:I}),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,I,e,0,w,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(4)(r(17)),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(27),a=r(16),i=r(6).loadQuery,o=r(28),u=r(29),s=r(30),l=r(32),c=r(35),f=r(36),d=r(39),p=r(25),h=r(40),v=r(2),m=r(41),y=r(42),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(15),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(17)),a=r(16),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(10),a=r(6).useTrackLoadQueryInRender,i=r(11),o=r(14),u=r(0).useDebugValue,s=r(1).getFragment;e.exports=function(e,t){var r=n.get();return r?r.useFragment(e,t):function(e,t){a();var r=s(e);o(r,"first argument of useFragment()");var n=i(r,t,"useFragment()").data;return u({fragment:r.name,data:n}),n}(e,t)}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(10),a=r(6).useTrackLoadQueryInRender,i=r(21),o=r(23),u=r(2),s=r(1).__internal.fetchQuery;e.exports=function(e,t,r){var l=n.get();return l?l.useLazyLoadQuery(e,t,r):function(e,t,r){a();var n=u(),l=o(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return i({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:s(n,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}(e,t,r)}},function(e,t,r){"use strict";var n=r(34),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(37),i=r(24),o=r(14),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],I=S[1],q=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:I,isLoadingNext:q,hasPrevious:k,isLoadingPrevious:C}),{data:g,loadNext:w,loadPrevious:P,hasNext:I,hasPrevious:k,isLoadingNext:q,isLoadingPrevious:C,refetch:F}}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(22),i=r(8),o=r(38),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,I=u(),q=a(),D=q.isFetchingRef,F=q.startFetch,A=q.disposeFetch,Q=q.completeFetch,N=null!=w&&null!=R&&"object"==typeof R?R[w]:null,T=i(),O=d(I),M=O[0],L=O[1],U=d(p),j=U[0],W=U[1],B=o(r,l);(I!==M||p!==j)&&(A(),S(),L(I),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 N&&_(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",w,N),p.id=N);var h=m(P,p,{force:!0});return v(I,h).subscribe((0,n.default)((0,n.default)({},x),{},{start:function(e){F(e),x.start&&x.start(e)},complete:function(){Q(),x.complete&&x.complete(),i&&i(null)},error:function(e){Q(),x.error&&x.error(e),i&&i(e)}})),{dispose:A}}),[I,N,t,V,F,A,Q,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(10),a=r(6).useTrackLoadQueryInRender,i=r(21),o=r(23),u=r(2),s=r(3),l=r(0).useDebugValue,c=r(1).__internal,f=c.fetchQueryDeduped,d=c.fetchQuery,p=r(5);e.exports=function(e,t,r){var c=n.get();return c?c.usePreloadedQuery(e,t,r):function(e,t,r){a();var n,c=u(),h=t.fetchKey,v=t.fetchPolicy,m=t.source,y=t.variables,g=t.networkCacheConfig,b=o(e,y,g);if("PreloadedQuery_DEPRECATED"===t.kind)b.request.node.params.name!==t.name&&s(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",b.request.node.params.name,t.name),n={componentDisplayName:"usePreloadedQuery()",fetchKey:h,fetchObservable:f(c,b.request.identifier,(function(){return c===t.environment&&null!=m?c.executeWithSource({operation:b,source:m}):c.execute({operation:b})})),fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{p(!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=d(c,b);null!=m&&c===t.environment?_=m.ifEmpty(R):c!==t.environment?(p(!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,n={componentDisplayName:"usePreloadedQuery()",fetchObservable:_,fetchKey:h,fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var E=i(n);return l({query:t.name,variables:t.variables,data:E,fetchKey:h,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),E}(e,t,r)}},function(e,t,r){"use strict";var n=r(24),a=r(14),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])}}])}));
|
package/react-relay-hooks.min.js
CHANGED
package/react-relay-legacy.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay v0.0.0-main-
|
|
2
|
+
* Relay v0.0.0-main-bd656a76
|
|
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)}))}}}])}));
|
package/react-relay.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay v0.0.0-main-
|
|
2
|
+
* Relay v0.0.0-main-bd656a76
|
|
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=38)}([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(27);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,F,q,I,D=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"!==D)&&(("store-or-network"!==D||"available"!==e.check(n).status)&&U(n,(function(){var e=M(t.params);return O(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(F=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",F.name);var j=u.get(I);if(null!=j)L(j);else{var V="store-only"===D?null:M(F),W=u.onLoad(I,(function(t){q();var n=d(t,r,k);E=e.retain(n),null!=V&&U(n,(function(){return O(n,V)}))}));q=W.dispose}}else{var B=h(t);I=null!=(F=B.params).cacheID?F.cacheID:F.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(),q&&q(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){H||(z(),Y(),H=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:m,id:I,get isDisposed(){return H||K},get networkError(){return Q},name:F.name,networkCacheConfig:k,fetchPolicy:D,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(40),o=r(14),i=o.getComponentName,s=o.getContainerName,u=r(9),l=r(18),c=r(41),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(42),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(6),a=null;e.exports={inject:function(e){n(null!==a,"Relay HooksImplementation was injected twice."),a=e},get:function(){return a}}},function(e,t,r){"use strict";var n=r(30).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(31),s=r(32),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 F=new Promise((function(e){R=e}));F.displayName="Relay("+t.fragment.node.name+")",x=y(e,t,m,F,E,this._clearCacheEntry),this._cache.set(e,x)}}else{var q=null==s?void 0:s.complete;q&&q()}var I=this._cache.get(e);return null==I&&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:I.id,operation:t,profilerContext:i,fetchPolicy:n,renderPolicy:o,queryAvailability:m,shouldFetch:l}),I},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(51)),s=r(31),u=r(24).getQueryResourceForEnvironment,l=r(32),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 F(e){return Array.isArray(e)?e.map((function(e){return e.missingLiveResolverFields})).filter(Boolean).flat():e.missingLiveResolverFields}function q(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 I=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}(),D=function(){function e(e){this._environment=e,this._cache=s.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new I(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,h=this,p=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var y=p.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:y};var m=this._cache.get(r);if(null!=m){var g;if("pending"===m.kind&&C(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===(g=F(m.result.snapshot))||void 0===g?void 0:g.length))return this._handlePotentialSnapshotErrorsInSnapshot(m.result.snapshot),m.result}var b=_(e,t);null==b&&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 R="PluralReaderSelector"===b.kind?b.selectors.map((function(e){return p.lookup(e)})):p.lookup(b),P=q(r,R,y);if(!P.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(R),this._cache.set(r,{kind:"done",result:P}),P;var E=null;if(d.ENABLE_CLIENT_EDGES&&!0===(null===(s=e.metadata)||void 0===s?void 0:s.hasClientEdges)&&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}(R)){E=[];var x=u(this._environment),I=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(R,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,o=r.clientEdgeDestinationID,i=h._performClientEdgeQuery(x,e,t,a,o),s=i.queryResult,u=i.requestDescriptor;I.push(s),null===(n=E)||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,I)}var D=[];d.ENABLE_CLIENT_EDGES&&E&&(D=E.map((function(e){return v(h._environment,e)})).filter(Boolean));var k="PluralReaderSelector"===b.kind?b.selectors[0].owner:b.owner,w=this._getAndSavePromiseForFragmentRequestInFlight(r,e,k,P),O=null==w?void 0:w.promise,A=null!==(l=null===(f=F(R))||void 0===f?void 0:f.map((function(e){var t=e.liveStateID;return p.getStore().getLiveResolverPromise(t)})))&&void 0!==l?l:[];if(D.length||A.length||C(O)){var N,Q;p.__log({name:"suspense.fragment",data:P.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:P.isMissingData,pendingOperations:[].concat((0,i.default)(null!==(N=null==w?void 0:w.pendingOperations)&&void 0!==N?N:[]),(0,i.default)(null!==(Q=E)&&void 0!==Q?Q:[]))});var T=[];if(D.length>0&&(T=T.concat(D)),A.length>0&&(T=T.concat(A)),T.length>0)throw O&&T.push(O),Promise.all(T);if(O)throw O}return this._handlePotentialSnapshotErrorsInSnapshot(R),q(r,R,y)},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:q(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:q(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:q(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:q(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 D(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(24),o=a.getQueryCacheIdentifier,i=a.getQueryResourceForEnvironment,s=r(34),u=r(23),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:""),F=o(m,t,c,y,x),q=g.wrapPrepareQueryResource((function(){return _.prepareWithIdentifier(F,t,a,c,y,{start:E,complete:S,error:S},g)})),I=p(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.current=!1,void C((function(e){return e+1}));var e=_.retain(q,g);return function(){e.dispose()}}),[m,F]),d((function(){_.releaseTemporaryRetain(q)}));var D=q.fragmentNode,k=q.fragmentRef;return u(D,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(53),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(30).getFragmentResourceForEnvironment,i=r(21),s=r(24).getQueryResourceForEnvironment,u=r(23),l=r(11),c=r(37),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,F=m.fragmentRefPathInResponse,q=m.identifierField,I=b(e,t),D=y(S,{fetchPolicy:void 0,mirroredEnvironment:h,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),k=D[0],w=D[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||I!==N,H=c(x),K=H[0],G=H[1],z=H[2],Y=t;if(B)w({type:"reset",environment:L,fragmentIdentifier:I}),z();else if(null!=M&&null!=K){var X;X=n.getInitialIDAndType(M.request.variables,F,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,F),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 F=(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),F.id=v);var q=_(d,F,{force:!0});return c(q.request.variables,{fetchPolicy:y,__environment:p,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:y,onComplete:g,refetchEnvironment:p,refetchQuery:q,renderPolicy:m}),{dispose:r}}),[o,t,r,v,c])}(r,w,z,re,I,e,0,q,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(2)(r(29)),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(39),o=r(43),i=r(44),s=r(45),u=r(46),l=r(47),c=r(28),f=r(8).loadQuery,d=r(48),h=r(49),p=r(50),v=r(52),y=r(54),m=r(55),g=r(58),_=r(37),b=r(59),R=r(4),C=r(60),P=r(61),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(26),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,F=R.getDataIDsFromObject,q=R.getRequest,I=R.getVariablesFromObject,D=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=F(t,this.props),s=F(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)&&!D(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=I(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=q(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(26),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 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,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:F(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:F(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(27),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(29)),a=r(28),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]),F=u((function(r){if(g.current){var n=a(e,t,r);_.current.add(n),C(n),S(r)}}),[e,t,C,g]),q=c(!1);return l((function(){return function(){q.current=!0}}),[]),l((function(){if(!0===q.current)return q.current=!1,void("NullEntryPointReference"!==R.kind&&null!=E&&F(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,F,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,F,x]}},function(e,t,r){"use strict";var n=r(22),a=r(8).useTrackLoadQueryInRender,o=r(23),i=r(25),s=r(0).useDebugValue,u=r(1).getFragment;e.exports=function(e,t){var r=n.get();return r?r.useFragment(e,t):function(e,t){a();var r=u(e);i(r,"first argument of useFragment()");var n=o(r,t,"useFragment()").data;return s({fragment:r.name,data:n}),n}(e,t)}},function(e,t){e.exports=p},function(e,t,r){"use strict";var n=r(22),a=r(8).useTrackLoadQueryInRender,o=r(33),i=r(35),s=r(4),u=r(1).__internal.fetchQuery;e.exports=function(e,t,r){var l=n.get();return l?l.useLazyLoadQuery(e,t,r):function(e,t,r){a();var n=s(),l=i(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return o({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:u(n,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}(e,t,r)}},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(56),o=r(36),i=r(25),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],F=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:s,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:_,identifierField:y,paginationMetadata:f,paginationRequest:c}),q=F[0],I=F[1],D=F[2],k=F[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:I,isLoadingNext:D,hasPrevious:E,isLoadingPrevious:S}),{data:g,loadNext:q,loadPrevious:P,hasNext:I,hasPrevious:E,isLoadingNext:D,isLoadingPrevious:S,refetch:w}}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(34),o=r(11),i=r(57),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,F=e.onReset,q=e.identifierField,I=s(),D=a(),k=D.isFetchingRef,w=D.startFetch,O=D.disposeFetch,A=D.completeFetch,N=null!=q&&null!=R&&"object"==typeof R?R[q]:null,Q=o(),T=d(I),M=T[0],U=T[1],L=d(h),j=L[0],V=L[1],W=i(r,l);(I!==M||h!==j)&&(O(),F(),U(I),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!=q&&("string"!=typeof N&&b(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",q,N),h.id=N);var p=y(P,h,{force:!0});return v(I,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}}),[I,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(22),a=r(8).useTrackLoadQueryInRender,o=r(33),i=r(35),s=r(4),u=r(3),l=r(0).useDebugValue,c=r(1).__internal,f=c.fetchQueryDeduped,d=c.fetchQuery,h=r(6);e.exports=function(e,t,r){var c=n.get();return c?c.usePreloadedQuery(e,t,r):function(e,t,r){a();var n,c=s(),p=t.fetchKey,v=t.fetchPolicy,y=t.source,m=t.variables,g=t.networkCacheConfig,_=i(e,m,g);if("PreloadedQuery_DEPRECATED"===t.kind)_.request.node.params.name!==t.name&&u(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",_.request.node.params.name,t.name),n={componentDisplayName:"usePreloadedQuery()",fetchKey:p,fetchObservable:f(c,_.request.identifier,(function(){return c===t.environment&&null!=y?c.executeWithSource({operation:_,source:y}):c.execute({operation:_})})),fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{h(!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=d(c,_);null!=y&&c===t.environment?b=y.ifEmpty(R):c!==t.environment?(h(!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,n={componentDisplayName:"usePreloadedQuery()",fetchObservable:b,fetchKey:p,fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var C=o(n);return l({query:t.name,variables:t.variables,data:C,fetchKey:p,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),C}(e,t,r)}},function(e,t,r){"use strict";var n=r(36),a=r(25),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])}}])}));
|
package/react-relay.min.js
CHANGED
|
@@ -105,18 +105,21 @@ function handlePotentialSnapshotErrorsForState(
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
/**
|
|
109
|
+
* Check for updates to the store that occurred concurrently with rendering the given `state` value,
|
|
110
|
+
* returning a new (updated) state if there were updates or null if there were no changes.
|
|
111
|
+
*/
|
|
108
112
|
function handleMissedUpdates(
|
|
109
113
|
environment: IEnvironment,
|
|
110
114
|
state: FragmentState,
|
|
111
|
-
|
|
112
|
-
): void {
|
|
115
|
+
): null | [/* has data changed */ boolean, FragmentState] {
|
|
113
116
|
if (state.kind === 'bailout') {
|
|
114
|
-
return;
|
|
117
|
+
return null;
|
|
115
118
|
}
|
|
116
119
|
// FIXME this is invalid if we've just switched environments.
|
|
117
120
|
const currentEpoch = environment.getStore().getEpoch();
|
|
118
121
|
if (currentEpoch === state.epoch) {
|
|
119
|
-
return;
|
|
122
|
+
return null;
|
|
120
123
|
}
|
|
121
124
|
// The store has updated since we rendered (without us being subscribed yet),
|
|
122
125
|
// so check for any updates to the data we're rendering:
|
|
@@ -126,42 +129,58 @@ function handleMissedUpdates(
|
|
|
126
129
|
state.snapshot.data,
|
|
127
130
|
currentSnapshot.data,
|
|
128
131
|
);
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
const updatedCurrentSnapshot: Snapshot = {
|
|
133
|
+
data: updatedData,
|
|
134
|
+
isMissingData: currentSnapshot.isMissingData,
|
|
135
|
+
missingClientEdges: currentSnapshot.missingClientEdges,
|
|
136
|
+
missingLiveResolverFields: currentSnapshot.missingLiveResolverFields,
|
|
137
|
+
seenRecords: currentSnapshot.seenRecords,
|
|
138
|
+
selector: currentSnapshot.selector,
|
|
139
|
+
missingRequiredFields: currentSnapshot.missingRequiredFields,
|
|
140
|
+
relayResolverErrors: currentSnapshot.relayResolverErrors,
|
|
141
|
+
};
|
|
142
|
+
return [
|
|
143
|
+
updatedData !== state.snapshot.data,
|
|
144
|
+
{
|
|
131
145
|
kind: 'singular',
|
|
132
|
-
snapshot:
|
|
146
|
+
snapshot: updatedCurrentSnapshot,
|
|
133
147
|
epoch: currentEpoch,
|
|
134
|
-
}
|
|
135
|
-
|
|
148
|
+
},
|
|
149
|
+
];
|
|
136
150
|
} else {
|
|
137
|
-
let
|
|
151
|
+
let didMissUpdates = false;
|
|
152
|
+
const currentSnapshots = [];
|
|
138
153
|
for (let index = 0; index < state.snapshots.length; index++) {
|
|
139
154
|
const snapshot = state.snapshots[index];
|
|
140
155
|
const currentSnapshot = environment.lookup(snapshot.selector);
|
|
141
156
|
const updatedData = recycleNodesInto(snapshot.data, currentSnapshot.data);
|
|
157
|
+
const updatedCurrentSnapshot: Snapshot = {
|
|
158
|
+
data: updatedData,
|
|
159
|
+
isMissingData: currentSnapshot.isMissingData,
|
|
160
|
+
missingClientEdges: currentSnapshot.missingClientEdges,
|
|
161
|
+
missingLiveResolverFields: currentSnapshot.missingLiveResolverFields,
|
|
162
|
+
seenRecords: currentSnapshot.seenRecords,
|
|
163
|
+
selector: currentSnapshot.selector,
|
|
164
|
+
missingRequiredFields: currentSnapshot.missingRequiredFields,
|
|
165
|
+
relayResolverErrors: currentSnapshot.relayResolverErrors,
|
|
166
|
+
};
|
|
142
167
|
if (updatedData !== snapshot.data) {
|
|
143
|
-
|
|
144
|
-
updates === null ? new Array(state.snapshots.length) : updates;
|
|
145
|
-
updates[index] = snapshot;
|
|
168
|
+
didMissUpdates = true;
|
|
146
169
|
}
|
|
170
|
+
currentSnapshots.push(updatedCurrentSnapshot);
|
|
147
171
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return {kind: 'plural', snapshots: updated, epoch: currentEpoch};
|
|
163
|
-
});
|
|
164
|
-
}
|
|
172
|
+
invariant(
|
|
173
|
+
currentSnapshots.length === state.snapshots.length,
|
|
174
|
+
'Expected same number of snapshots',
|
|
175
|
+
);
|
|
176
|
+
return [
|
|
177
|
+
didMissUpdates,
|
|
178
|
+
{
|
|
179
|
+
kind: 'plural',
|
|
180
|
+
snapshots: currentSnapshots,
|
|
181
|
+
epoch: currentEpoch,
|
|
182
|
+
},
|
|
183
|
+
];
|
|
165
184
|
}
|
|
166
185
|
}
|
|
167
186
|
|
|
@@ -431,11 +450,27 @@ function useFragmentInternal_REACT_CACHE(
|
|
|
431
450
|
}
|
|
432
451
|
|
|
433
452
|
useEffect(() => {
|
|
434
|
-
|
|
435
|
-
|
|
453
|
+
// Check for updates since the state was rendered
|
|
454
|
+
let currentState = subscribedState;
|
|
455
|
+
const updates = handleMissedUpdates(environment, subscribedState);
|
|
456
|
+
if (updates !== null) {
|
|
457
|
+
const [didMissUpdates, updatedState] = updates;
|
|
458
|
+
// TODO: didMissUpdates only checks for changes to snapshot data, but it's possible
|
|
459
|
+
// that other snapshot properties may have changed that should also trigger a re-render,
|
|
460
|
+
// such as changed missing resolver fields, missing client edges, etc.
|
|
461
|
+
// A potential alternative is for handleMissedUpdates() to recycle the entire state
|
|
462
|
+
// value, and return the new (recycled) state only if there was some change. In that
|
|
463
|
+
// case the code would always setState if something in the snapshot changed, in addition
|
|
464
|
+
// to using the latest snapshot to subscribe.
|
|
465
|
+
if (didMissUpdates) {
|
|
466
|
+
setState(updatedState);
|
|
467
|
+
}
|
|
468
|
+
currentState = updatedState;
|
|
469
|
+
}
|
|
470
|
+
return subscribeToSnapshot(environment, currentState, updater => {
|
|
436
471
|
setState(latestState => {
|
|
437
472
|
if (
|
|
438
|
-
latestState.snapshot?.selector !==
|
|
473
|
+
latestState.snapshot?.selector !== currentState.snapshot?.selector
|
|
439
474
|
) {
|
|
440
475
|
// Ignore updates to the subscription if it's for a previous fragment selector
|
|
441
476
|
// than the latest one to be rendered. This can happen if the store is updated
|