react-relay 0.0.0-main-9262f2ac → 0.0.0-main-668c9f2e

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. package/ReactRelayContext.js +1 -1
  2. package/ReactRelayFragmentContainer.js.flow +2 -6
  3. package/ReactRelayPaginationContainer.js.flow +2 -6
  4. package/ReactRelayQueryFetcher.js.flow +2 -2
  5. package/ReactRelayQueryRenderer.js.flow +2 -1
  6. package/ReactRelayRefetchContainer.js.flow +2 -6
  7. package/hooks.js +1 -1
  8. package/index.js +1 -1
  9. package/jest-react/enqueueTask.js.flow +1 -1
  10. package/legacy.js +1 -1
  11. package/package.json +2 -2
  12. package/react-relay-hooks.js +1 -1
  13. package/react-relay-hooks.min.js +1 -1
  14. package/react-relay-legacy.js +1 -1
  15. package/react-relay-legacy.min.js +1 -1
  16. package/react-relay.js +1 -1
  17. package/react-relay.min.js +1 -1
  18. package/relay-hooks/EntryPointContainer.react.js.flow +2 -7
  19. package/relay-hooks/EntryPointTypes.flow.js.flow +8 -10
  20. package/relay-hooks/FragmentResource.js.flow +10 -10
  21. package/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js.flow +21 -27
  22. package/relay-hooks/RelayEnvironmentProvider.js.flow +4 -4
  23. package/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js.flow +2 -1
  24. package/relay-hooks/loadEntryPoint.js.flow +4 -10
  25. package/relay-hooks/loadQuery.js.flow +4 -2
  26. package/relay-hooks/preloadQuery_DEPRECATED.js.flow +2 -1
  27. package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +4 -10
  28. package/relay-hooks/useEntryPointLoader.js.flow +2 -4
  29. package/relay-hooks/useFragmentNode.js.flow +2 -3
  30. package/relay-hooks/useLoadMoreFunction.js.flow +4 -9
  31. package/relay-hooks/useMemoVariables.js.flow +4 -3
  32. package/relay-hooks/usePaginationFragment.js.flow +26 -34
  33. package/relay-hooks/usePreloadedQuery.js.flow +2 -7
  34. package/relay-hooks/useQueryLoader.js.flow +4 -6
  35. package/relay-hooks/useRefetchableFragmentNode.js.flow +4 -8
  36. package/relay-hooks/useSubscribeToInvalidationState.js.flow +1 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
@@ -235,12 +235,8 @@ function createContainerWithFragments<
235
235
  }
236
236
 
237
237
  render() {
238
- const {
239
- componentRef,
240
- __relayContext,
241
- __rootIsQueryRenderer,
242
- ...props
243
- } = this.props;
238
+ const {componentRef, __relayContext, __rootIsQueryRenderer, ...props} =
239
+ this.props;
244
240
  return React.createElement(Component, {
245
241
  ...props,
246
242
  ...this.state.data,
@@ -900,12 +900,8 @@ function createContainerWithFragments<
900
900
  }
901
901
 
902
902
  render() {
903
- const {
904
- componentRef,
905
- __relayContext,
906
- __rootIsQueryRenderer,
907
- ...props
908
- } = this.props;
903
+ const {componentRef, __relayContext, __rootIsQueryRenderer, ...props} =
904
+ this.props;
909
905
  return (
910
906
  <ReactRelayContext.Provider value={this.state.contextForChildren}>
911
907
  <Component
@@ -340,8 +340,8 @@ class ReactRelayQueryFetcher {
340
340
  this._rootSubscription = environment.subscribe(this._snapshot, snapshot => {
341
341
  // Read from this._fetchOptions in case onDataChange() was lazily added.
342
342
  if (this._fetchOptions != null) {
343
- const maybeNewOnDataChangeCallbacks = this._fetchOptions
344
- .onDataChangeCallbacks;
343
+ const maybeNewOnDataChangeCallbacks =
344
+ this._fetchOptions.onDataChangeCallbacks;
345
345
  if (Array.isArray(maybeNewOnDataChangeCallbacks)) {
346
346
  maybeNewOnDataChangeCallbacks.forEach(onDataChange =>
347
347
  onDataChange({snapshot}),
@@ -339,7 +339,8 @@ function resetQueryStateForUpdate(
339
339
  ): $Shape<State> {
340
340
  const {query} = props;
341
341
 
342
- const prevSelectionReferences = prevState.queryFetcher.getSelectionReferences();
342
+ const prevSelectionReferences =
343
+ prevState.queryFetcher.getSelectionReferences();
343
344
  prevState.queryFetcher.disposeRequest();
344
345
 
345
346
  let queryFetcher;
@@ -448,12 +448,8 @@ function createContainerWithFragments<
448
448
  };
449
449
 
450
450
  render() {
451
- const {
452
- componentRef,
453
- __relayContext,
454
- __rootIsQueryRenderer,
455
- ...props
456
- } = this.props;
451
+ const {componentRef, __relayContext, __rootIsQueryRenderer, ...props} =
452
+ this.props;
457
453
  const {relayProp, contextForChildren} = this.state;
458
454
  return (
459
455
  <ReactRelayContext.Provider value={contextForChildren}>
package/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
@@ -29,7 +29,7 @@ function enqueueTask(task: () => void) {
29
29
  // we're in a browser
30
30
  // we can't use regular timers because they may still be faked
31
31
  // so we try MessageChannel+postMessage instead
32
- enqueueTaskImpl = function(callback: () => void) {
32
+ enqueueTaskImpl = function (callback: () => void) {
33
33
  if (__DEV__) {
34
34
  if (didWarnAboutMessageChannel === false) {
35
35
  didWarnAboutMessageChannel = true;
package/legacy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
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-9262f2ac",
4
+ "version": "0.0.0-main-668c9f2e",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay",
@@ -16,7 +16,7 @@
16
16
  "fbjs": "^3.0.0",
17
17
  "invariant": "^2.2.4",
18
18
  "nullthrows": "^1.1.1",
19
- "relay-runtime": "0.0.0-main-9262f2ac"
19
+ "relay-runtime": "0.0.0-main-668c9f2e"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "react": "^16.9.0 || ^17"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
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("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("@babel/runtime/helpers/defineProperty"),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","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray","@babel/runtime/helpers/defineProperty","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("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("@babel/runtime/helpers/defineProperty"),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["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"],e["@babel/runtime/helpers/defineProperty"],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=23)}([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(12);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,m=r(5),v=null,y=100001;e.exports={loadQuery:function(e,t,r,o,g){var b,R,_,P,E=null===(b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===b||null===(R=b.ReactCurrentDispatcher)||void 0===R?void 0:R.current;m(null==v||E!==v,"Relay: `%s` should not be called inside a React render function.",null!==(_=null==o?void 0:o.__nameForWarning)&&void 0!==_?_:"loadQuery"),y++;var k,x,S,q,w,I,C=null!==(P=null==o?void 0:o.fetchPolicy)&&void 0!==P?P:"store-or-network",F=(0,n.default)((0,n.default)({},null==o?void 0:o.networkCacheConfig),{},{force:!0}),D=!1,A=function(t,r){return D=!0,e.executeWithSource({operation:t,source:r})},N=new c,Q=u.create((function(e){return N.subscribe(e)})),O=null,M=!1,T=function(t){var n;M=!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,F)}))}else{n=e.getNetwork().execute(t,r,F)}var o=n.subscribe({error:function(e){O=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return x=o,u.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),x()}}))},U=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(M=!0);var n=f(e,t.request.identifier,r).subscribe({error:function(e){N.error(e)},next:function(e){N.next(e)},complete:function(){N.complete()}});S=n.unsubscribe},L=function(t){var n=d(t,r,F);(k=e.retain(n),"store-only"!==C)&&(("store-or-network"!==C||"available"!==e.check(n).status)&&U(n,(function(){var e=T(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(q=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",q.name);var j=s.get(I);if(null!=j)L(j);else{var W="store-only"===C?null:T(q),K=s.onLoad(I,(function(t){w();var n=d(t,r,F);k=e.retain(n),null!=W&&U(n,(function(){return A(n,W)}))}));w=K.dispose}}else{var V=p(t);I=null!=(q=V.params).cacheID?q.cacheID:q.id,L(V)}var B=!1,H=!1,z=!1,Y=function(){H||(k&&k.dispose(),H=!0)},G=function(){z||(D?S&&S():x&&x(),w&&w(),z=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){B||(Y(),G(),B=!0)},releaseQuery:Y,cancelNetworkRequest:G,fetchKey:y,id:I,get isDisposed(){return B||H},get networkError(){return O},name:q.name,networkCacheConfig:F,fetchPolicy:C,source:M?Q:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===v&&(v=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(15).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),m=f.readWithIdentifier(e,t,h,r),v=u(!0);function y(){!1!==d.current&&!1!==v.current&&p((function(e){return e+1}))}return o((function(){d.current=!0;var e=f.subscribe(m,y);return function(){d.current=!1,e.dispose()}}),[i,h]),null!=t&&(void 0===m.data||Array.isArray(m.data)&&m.data.length>0&&m.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:m.data,disableStoreUpdates:function(){v.current=!1},enableStoreUpdates:function(){v.current=!0,f.checkMissedUpdates(m)[0]&&y()}}}},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=o},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 t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=u},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(28)),o=r(16),u=r(3),s=r(1),l=s.getFragmentIdentifier,c=s.getPendingOperationsForFragment,f=s.getSelector,d=s.isPromise,p=s.recycleNodesInto,h=s.reportMissingRequiredFields,m="function"==typeof WeakMap,v=Object.freeze([]);function y(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function g(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:y(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:y(t),storeEpoch:r}}var b=function(){function e(e){this._environment=e,this._cache=o.create(1e6)}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,l(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var i,o=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var s=o.getStore().getEpoch();if(!0===(null==e||null===(i=e.metadata)||void 0===i?void 0:i.plural)&&(Array.isArray(t)||u(!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:v,isMissingData:!1,snapshot:v,storeEpoch:s};var l=this._cache.get(r);if(null!=l){if("pending"===l.kind&&d(l.promise))throw o.__log({name:"suspense.fragment",data:l.result.data,fragment:e,isRelayHooks:!0,isMissingData:l.result.isMissingData,isPromiseCached:!0,pendingOperations:l.pendingOperations}),l.promise;if("done"===l.kind&&l.result.snapshot)return this._reportMissingRequiredFieldsInSnapshot(l.result.snapshot),l.result}var c=f(e,t);null==c&&u(!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 p="PluralReaderSelector"===c.kind?c.selectors.map((function(e){return o.lookup(e)})):o.lookup(c),h=g(r,p,s);if(!h.isMissingData)return this._reportMissingRequiredFieldsInSnapshot(p),this._cache.set(r,{kind:"done",result:h}),h;var m="PluralReaderSelector"===c.kind?c.selectors[0].owner:c.owner,y=this._getAndSavePromiseForFragmentRequestInFlight(r,e,m,h);if(null!=y&&d(y.promise))throw o.__log({name:"suspense.fragment",data:h.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:h.isMissingData,pendingOperations:y.pendingOperations}),y.promise;return this._reportMissingRequiredFieldsInSnapshot(p),g(r,p,s)},t._reportMissingRequiredFieldsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){null!=e.missingRequiredFields&&h(t._environment,e.missingRequiredFields)})):null!=e.missingRequiredFields&&h(this._environment,e.missingRequiredFields)},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),s=o[0],l=o[1];s&&t();var c=[];return Array.isArray(i)?(Array.isArray(l)||u(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,i){c.push(n.subscribe(e,(function(e){var o=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,i,o),t()})))}))):((null==l||Array.isArray(l))&&u(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),c.push(n.subscribe(l,(function(e){var i=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:g(a,e,i)}),t()})))),{dispose:function(){c.map((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:g(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,seenRecords:s.seenRecords,selector:s.selector,missingRequiredFields:s.missingRequiredFields};return f!==l&&this._cache.set(i,{kind:"done",result:g(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=c(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 o,u=this._cache.get(e);if(d(u))R(r.selector.node.name);else{var s=null==u||null===(o=u.result)||void 0===o?void 0:o.snapshot;if(!s||Array.isArray(s)){var l=s?(0,i.default)(s):(0,i.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:g(e,l,a)})}else R(r.selector.node.name)}},e}();function R(e){u(!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 _(e){return new b(e)}var P=m?new WeakMap:new Map;e.exports={createFragmentResource:_,getFragmentResourceForEnvironment:function(e){var t=P.get(e);if(t)return t;var r=_(e);return P.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(9),a=r(18),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(19),s=r(10),l=r(2),c=r(0),f=c.useContext,d=c.useEffect,p=c.useState,h=c.useRef;e.exports=function(e){var t=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,m=e.fetchKey,v=e.renderPolicy,y=l(),g=f(n),b=o(y),R=p(0),_=R[0],P=R[1],E=u(),k=E.startFetch,x=E.completeFetch,S="".concat(_,"-").concat(null!=m?m:""),q=i(y,t,c,v,S),w=g.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(q,t,a,c,v,{start:k,complete:x,error:x},g)})),I=h(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.current=!1,void P((function(e){return e+1}));var e=b.retain(w,g);return function(){e.dispose()}}),[y,q]),d((function(){b.releaseTemporaryRetain(w)}));var C=w.fragmentNode,F=w.fragmentRef;return s(C,F,r).data}},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(30)),o=r(16),u=r(3),s=r(1).isPromise,l=r(5),c="function"==typeof WeakMap;function f(e){return void 0!==e.request.node.params.metadata.live}function d(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 p(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 h=2e5;function m(e,t,r,n,a,i){var o=f(t),s=n,l=0,c=null,d=null,p=a,m=function(e){return 1===++l&&(c=e.retain(t)),{dispose:function(){0===(l=Math.max(0,l-1))&&(null==c&&u(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),c.dispose(),c=null),i(v)}}},v={cacheIdentifier:e,id:h++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return s},setValue:function(e){s=e},getRetainCount:function(){return l},getNetworkSubscription:function(){return p},setNetworkSubscription:function(e){o&&null!=p&&p.unsubscribe(),p=e},temporaryRetain:function(e){if(e.isServer())return{dispose:function(){}};var t=m(e),r=null,n=function(){clearTimeout(r),r=null,d=null,t.dispose(),o&&l<=0&&null!=p&&p.unsubscribe()};return r=setTimeout(n,3e5),null!=d&&d(),d=n,{dispose:function(){d&&d()}}},permanentRetain:function(e){var t=m(e);return null!=d&&(d(),d=null),{dispose:function(){t.dispose(),o&&l<=0&&null!=p&&p.unsubscribe()}}},releaseTemporaryRetain:function(){null!=d&&(d(),d=null)}};return v}var v=function(){function e(e){var t=this;(0,i.default)(this,"_clearCacheEntry",(function(e){e.getRetainCount()<=0&&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=d(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 l=this._environment,c=null!=n?n:"store-or-network",f=null!=i?i:l.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(l);var m=d.getValue();if(s(m))throw l.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:h,operation:t,queryAvailability:d.operationAvailability,renderPolicy:f}),m;if(m instanceof Error)throw m;return m},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=d(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,s){var c,d,h=this,v=this._environment,y=v.check(t),g=y.status,b="available"===g,R=b||"partial"===i&&"stale"!==g,_=function(){};switch(n){case"store-only":c=!1,d=!0;break;case"store-or-network":c=!b,d=R;break;case"store-and-network":c=!0,d=R;break;case"network-only":default:c=!0,d=!1}if(d){var P=p(t,e),E=m(e,t,y,P,null,this._clearCacheEntry);this._cache.set(e,E)}if(c){var k,x=p(t,e);r.subscribe({start:function(r){k=r;var n=h._cache.get(e);n&&n.setNetworkSubscription(k);var i=null==s?void 0:s.start;i&&i((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){f(t)&&r.unsubscribe()}}))},next:function(){var r=h._getOrCreateCacheEntry(e,t,y,x,k);r.processedPayloadsCount+=1,r.setValue(x),_();var n=null==s?void 0:s.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=h._getOrCreateCacheEntry(e,t,y,r,k);0===n.processedPayloadsCount?n.setValue(r):l(!1,"QueryResource: An incremental payload for query `%` returned an error: `%`:`%`.",t.fragment.node.name,r.message,r.stack),_(),k=null,n.setNetworkSubscription(null);var a=null==s?void 0:s.error;a&&a(r)},complete:function(){_(),k=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 S=this._cache.get(e);if(!S){var q=new Promise((function(e){_=e}));q.displayName="Relay("+t.fragment.node.name+")",S=m(e,t,y,q,k,this._clearCacheEntry),this._cache.set(e,S)}}else{var w=null==s?void 0:s.complete;w&&w()}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:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:c}),I},e}();function y(e){return new v(e)}var g=c?new WeakMap:new Map;e.exports={createQueryResource:y,getQueryResourceForEnvironment:function(e){var t=g.get(e);if(t)return t;var r=y(e);return g.set(e,r),r},getQueryCacheIdentifier:d}},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(31),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(15).getFragmentResourceForEnvironment,o=r(9),u=r(18).getQueryResourceForEnvironment,s=r(10),l=r(8),c=r(22),f=r(2),d=r(3),p=r(0),h=p.useCallback,m=p.useContext,v=p.useReducer,y=r(1),g=y.__internal.fetchQuery,b=y.createOperationDescriptor,R=y.getFragmentIdentifier,_=y.getRefetchMetadata,P=y.getSelector,E=y.getValueAtPath,k=r(5);function x(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=_(e,r),S=y.refetchableRequest,q=y.fragmentRefPathInResponse,w=y.identifierField,I=R(e,t),C=v(x,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),F=C[0],D=C[1],A=F.fetchPolicy,N=F.mirroredEnvironment,Q=F.mirroredFragmentIdentifier,O=F.onComplete,M=F.refetchEnvironment,T=F.refetchQuery,U=F.renderPolicy,L=null!=M?M:p,j=u(L),W=i(L),K=m(o),V=L!==N||I!==Q,B=c(S),H=B[0],z=B[1],Y=B[2],G=t;if(V)D({type:"reset",environment:L,fragmentIdentifier:I}),Y();else if(null!=T&&null!=H){var X;X=n.getInitialIDAndType(T.request.variables,q,L);var J=function(e){O&&O(null!=e?e:null)},Z=null!=H.source?H.source:g(L,T),$=K.wrapPrepareQueryResource((function(){return j.prepare(T,Z,A,U,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,L,e,r),J()}},H.fetchKey,K)})),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."),G=E(ee,q),n.checkSameIDAfterRefetch(X,G,e,r)}var te=s(e,G,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:G,refetch:function(e,t,r,n,i,o,u,s,c,f,d){var p=l(),m=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,v=null==i?void 0:i.fetchPolicy,y=null==i?void 0:i.UNSTABLE_renderPolicy,g=null==i?void 0:i.onComplete,R=P(o,f);if(null==R)u={},l={};else if("PluralReaderSelector"===R.kind){var _,E,x,S;u=null!==(_=null===(E=R.selectors[0])||void 0===E?void 0:E.owner.variables)&&void 0!==_?_:{},l=null!==(x=null===(S=R.selectors[0])||void 0===S?void 0:S.variables)&&void 0!==x?x:{}}else u=R.owner.variables,l=R.variables;var q=(0,a.default)((0,a.default)((0,a.default)({},u),l),n);null==s||n.hasOwnProperty("id")||("string"!=typeof m&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",s,m),q.id=m);var w=b(d,q,{force:!0});return c(w.request.variables,{fetchPolicy:v,__environment:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:v,onComplete:g,refetchEnvironment:h,refetchQuery:w,renderPolicy:y}),{dispose:r}}),[i,t,r,m,c])}(r,D,Y,re,I,e,0,w,z,t,S),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(4)(r(14)),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,m={kind:"NullQueryReference"};function v(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:m,a=s();o();var l=u(),h=d(new Set([r])),y=p((function(){return r})),g=y[0],b=y[1],R=p((function(){return r})),_=R[0],P=R[1];r!==_&&(h.current.add(r),P(r),b(r));var E=c((function(){l.current&&(h.current.add(m),b(m))}),[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]),x=d(!1);return f((function(){return function(){x.current=!0}}),[]),f((function(){if(!0===x.current)return x.current=!1,void("NullQueryReference"!==g.kind&&k(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var 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&&(v(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&&(v(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,k,E]}},function(e,t,r){"use strict";var n=r(24),a=r(13),i=r(6).loadQuery,o=r(25),u=r(26),s=r(27),l=r(29),c=r(33),f=r(34),d=r(37),p=r(22),h=r(38),m=r(2),v=r(39),y=r(40),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:m,useSubscribeToInvalidationState:v,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(),m=u(n),v=a();return s((function(){v.__log({name:"entrypoint.root.consume",profilerContext:m,rootModuleID:p})}),[v,m,p]),i.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(12),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(14)),a=r(13),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,m;i();var v=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===(m=r.TEST_ONLY__initialEntryPointData)||void 0===m?void 0:m.entryPointParams)&&void 0!==h?h:null,g=o(),b=c(new Set([v])),R=f(v),_=R[0],P=R[1],E=f(y),k=E[0],x=E[1],S=s((function(){if(g.current){var e={kind:"NullEntryPointReference"};b.current.add(e),P(e)}}),[P,g]),q=s((function(r){if(g.current){var n=a(e,t,r);b.current.add(n),P(n),x(r)}}),[e,t,P,g]),w=c(!1);return l((function(){return function(){w.current=!0}}),[]),l((function(){if(!0===w.current)return w.current=!1,void("NullEntryPointReference"!==_.kind&&null!=k&&q(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===_)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[_,k,q,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"===_.kind?null:_,q,S]}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(10),i=r(11),o=r(0).useDebugValue,u=r(1).getFragment;e.exports=function(e,t){n();var r=u(e);i(r,"first argument of useFragment()");var s=a(r,t,"useFragment()").data;return o({fragment:r.name,data:s}),s}},function(e,t){e.exports=s},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(17),i=r(20),o=r(2),u=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var s=o(),l=i(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:u(s,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(32),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),m=s(!1),v=m[0],y=m[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){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),o.current&&y(!0),i}),[g,t,r,o,e]);return[b,v]}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(35),i=r(21),o=r(11),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 m(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,v=a.identifierField,y=i(r,t,"usePaginationFragment()"),g=y.fragmentData,b=y.fragmentRef,R=y.refetch,_=p(r,b),P=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"backward",fragmentData:g,fragmentIdentifier:_,fragmentNode:r,fragmentRef:b,identifierField:v,paginationMetadata:f,paginationRequest:c}),E=P[0],k=P[1],x=P[2],S=P[3],q=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"forward",fragmentData:g,fragmentIdentifier:_,fragmentNode:r,fragmentRef:b,identifierField:v,paginationMetadata:f,paginationRequest:c}),w=q[0],I=q[1],C=q[2],F=q[3],D=s((function(e,t){return F(),S(),R(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[F,S,R]);return l({fragment:r.name,data:g,hasNext:I,isLoadingNext:C,hasPrevious:k,isLoadingPrevious:x}),{data:g,loadNext:w,loadPrevious:E,hasNext:I,hasPrevious:k,isLoadingNext:C,isLoadingPrevious:x,refetch:D}}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(19),i=r(8),o=r(36),u=r(2),s=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,m=p.__internal.fetchQuery,v=p.createOperationDescriptor,y=p.getPaginationVariables,g=p.getSelector,b=p.getValueAtPath,R=r(5);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,_=e.fragmentData,P=e.connectionPathInFragmentData,E=e.paginationRequest,k=e.paginationMetadata,x=e.componentDisplayName,S=e.observer,q=e.onReset,w=e.identifierField,I=u(),C=a(),F=C.isFetchingRef,D=C.startFetch,A=C.disposeFetch,N=C.completeFetch,Q=null!=w&&null!=_&&"object"==typeof _?_[w]:null,O=i(),M=d(I),T=M[0],U=M[1],L=d(p),j=L[0],W=L[1],K=o(r,l);(I!==T||p!==j)&&(A(),q(),U(I),W(p));var V=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,m=b(r,n);if(null==m)return{cursor:null,hasMore:!1};"object"!=typeof m&&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,m);var v=m[u],y=m[l];if(null==v||null==y)return{cursor:null,hasMore:!1};Array.isArray(v)||s(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,u,v),"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,R="forward"===e?null!==(a=y[d])&&void 0!==a?a:null:null!==(i=y[p])&&void 0!==i?i:null;null!==R&&"string"!=typeof R&&s(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,p,R),g="forward"===e?null!=R&&!0===y[c]:null!=R&&!0===y[f];return{cursor:R,hasMore:g}}(t,r,_,P),B=V.cursor,H=V.hasMore;return f((function(){return function(){A()}}),[A]),[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==O.current)return R(!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,x),{dispose:function(){}};var o=g(r,l);if(!0===F.current||null==_||K)return null==o&&R(!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,x,x),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,x);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,B,d,(0,n.default)({},f),k);null!=w&&("string"!=typeof Q&&R(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",w,Q),p.id=Q);var h=v(E,p,{force:!0});return m(I,h).subscribe((0,n.default)((0,n.default)({},S),{},{start:function(e){D(e),S.start&&S.start(e)},complete:function(){N(),S.complete&&S.complete(),i&&i(null)},error:function(e){N(),S.error&&S.error(e),i&&i(e)}})),{dispose:A}}),[I,Q,t,B,D,A,N,F,K,_,r.name,l,x]),H,A]}},function(e,t,r){"use strict";var n=r(2),a=r(3),i=r(0),o=r(1),u=o.__internal.getObservableForActiveRequest,s=o.getSelector,l=i.useEffect,c=i.useState,f=i.useMemo;e.exports=function(e,t){var r=n(),i=f((function(){var n=s(e,t);return null==n?null:("SingularReaderSelector"!==n.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),u(r,n.owner))}),[r,e,t]),o=c(null!=i),d=o[0],p=o[1];return l((function(){var e;if(p(null!=i),null!=i){var t=function(){p(!1)};e=i.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[i]),d}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(17),i=r(20),o=r(2),u=r(3),s=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(5);e.exports=function(e,t,r){n();var l,p=o(),h=t.fetchKey,m=t.fetchPolicy,v=t.source,y=t.variables,g=t.networkCacheConfig,b=i(e,y,g);if("PreloadedQuery_DEPRECATED"===t.kind)b.request.node.params.name!==t.name&&u(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",b.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:h,fetchObservable:c(p,b.request.identifier,(function(){return p===t.environment&&null!=v?p.executeWithSource({operation:b,source:v}):p.execute({operation:b})})),fetchPolicy:m,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{d(!1===t.isDisposed,"usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. This is because disposing the query marks it for future garbage collection, and as such query results may no longer be present in the Relay store. In the future, this will become a hard error.");var R,_=f(p,b);null!=v&&p===t.environment?R=v.ifEmpty(_):p!==t.environment?(d(!1,"usePreloadedQuery(): usePreloadedQuery was passed a preloaded query that was created with a different environment than the one that is currently in context. In the future, this will become a hard error."),R=_):R=_,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:R,fetchKey:h,fetchPolicy:m,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var P=a(l);return s({query:t.name,variables:t.variables,data:P,fetchKey:h,fetchPolicy:m,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),P}},function(e,t,r){"use strict";var n=r(21),a=r(11),i=r(0).useDebugValue,o=r(1).getFragment;e.exports=function(e,t){var r=o(e);a(r,"first argument of useRefetchableFragment()");var u=n(r,t,"useRefetchableFragment()"),s=u.fragmentData,l=u.refetch;return i({fragment:r.name,data:s}),[s,l]}},function(e,t,r){"use strict";var n=r(2),a=r(0),i=a.useEffect,o=a.useRef;e.exports=function(e,t){var r=n(),a=o(null),u=Array.from(e).sort().join("");return i((function(){var n=r.getStore(),i=n.lookupInvalidationState(e),o=n.subscribeToInvalidationState(i,t);return a.current=o,function(){return o.dispose()}}),[u,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(2),a=r(0).useEffect,i=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:i,o=n();a((function(){return r(o,e).dispose}),[o,e,r])}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
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),U=r.direction||N.direction;U||m(!1,"ReactRelayPaginationContainer: Unable to infer direction of the connection, possibly because both first and last are provided.");var w=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"===U?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"===U?v[u]:v[c],y="forward"===U?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"===U?u:c,_,"forward"===U?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(w(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.RelayFeatureFlags,v=p.createOperationDescriptor,_=p.deepFreeze,y=p.getRequest,b={},m={rootIsQueryRenderer:!0},C=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 b[r],n===e.snapshot&&t===e.error?null:{renderProps:R(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=g(y(c).params,t.variables),n=b[s]?b[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},S(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:x(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===d.ENABLE_QUERY_RENDERER_OFFSCREEN_SUPPORT&&!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return x(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,o=t.requestCacheKey;o&&delete b[o],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete b[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 b[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 _(t),f.createElement(u.Provider,{value:r},f.createElement(c.Provider,{value:m},this.props.render(t)))},t}(f.Component);function R(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 g(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function x(e,t){var r,n=e.query,a=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var s=g(y(n).params,e.variables);r=b[s]?b[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},S(e,r,t.retryCallbacks))}function S(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=y(a),c=v(l,s,i),h={environment:u};if("string"==typeof n&&b[n]){var f=b[n].snapshot;return f?{error:null,relayContext:h,renderProps:R(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),d=t.fetch({environment:u,onDataChange:null,operation:c})||p;return n=n||g(l.params,e.variables),b[n]={queryFetcher:t,snapshot:d},d?{error:null,relayContext:h,renderProps:R(null,d,t,r),snapshot:d,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:R(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=C},function(e,t,r){"use strict";var n=r(2),o=n(r(13)),a=n(r(11)),s=n(r(4)),i=n(r(8)),u=n(r(9)),l=n(r(5)),c=r(12),h=r(17),f=r(10).getContainerName,p=r(3),d=r(16),v=r(15).assertRelayContext,_=r(7),y=r(1),b=r(0),m=b.Observable,C=b.createFragmentSpecResolver,R=b.createOperationDescriptor,g=b.getDataIDsFromObject,x=b.getRequest,S=b.getVariablesFromObject,P=b.isScalarAndEqual,q=r(18);function F(e,t){return{environment:e,refetch:t}}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return function(e,t,r){var n,c,b=f(e);return c=n=function(n){function c(e){var o,a;a=n.call(this,e)||this,(0,l.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){var e=a.state.resolver;a.setState((function(t){return e===t.resolver?{data:t.resolver.resolve()}:null}))})),(0,l.default)((0,i.default)(a),"_refetch",(function(e,n,o,i){if(a._isUnmounted)return q(!1,"ReactRelayRefetchContainer: Unexpected call of `refetch` on unmounted container `%s`. It looks like some instances of your container still trying to refetch the data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `refetch`.",b),{dispose:function(){}};var u=v(a.props.__relayContext).environment,l=h(t,a.props),c="function"==typeof e?e(a._getFragmentVariables()):e;c=(0,s.default)((0,s.default)({},l),c);var f=n?(0,s.default)((0,s.default)({},c),n):c,p=i?{force:!!i.force}:void 0;null!=p&&null!=(null==i?void 0:i.metadata)&&(p.metadata=null==i?void 0:i.metadata);var d,_="function"==typeof o?{next:o,error:o}:o||{},y=x(r),C=R(y,c,p);return a.state.localVariables=c,a._refetchSubscription&&a._refetchSubscription.unsubscribe(),null!=a._getQueryFetcher().lookupInStore(u,C,null==i?void 0:i.fetchPolicy)?(a.state.resolver.setVariables(f,C.request.node),a.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:a.props.__relayContext.environment}}}),(function(){_.next&&_.next(),_.complete&&_.complete()})),{dispose:function(){}}):(a._getQueryFetcher().execute({environment:u,operation:C,preservePreviousReferences:!0}).mergeMap((function(e){return a.state.resolver.setVariables(f,C.request.node),m.create((function(e){return a.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:a.props.__relayContext.environment}}}),(function(){e.next(),e.complete()}))}))})).finally((function(){a._refetchSubscription===d&&(a._refetchSubscription=null)})).subscribe((0,s.default)((0,s.default)({},_),{},{start:function(e){a._refetchSubscription=d=e,_.start&&_.start(e)}})),{dispose:function(){d&&d.unsubscribe()}})}));var u=v(e.__relayContext),c=null!==(o=e.__rootIsQueryRenderer)&&void 0!==o&&o;a._refetchSubscription=null;var f=C(u,b,t,e,c);return a.state={data:f.resolve(),localVariables:null,prevProps:e,prevPropsContext:u,contextForChildren:u,relayProp:F(u.environment,a._refetch),resolver:f},a._isUnmounted=!1,a}(0,u.default)(c,n);var f=c.prototype;return f.componentDidMount=function(){this._isUnmounted=!1,this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},f.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.getDerivedStateFromProps=function(e,r){var n,o=r.prevProps,a=v(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,i=g(t,o),u=g(t,e),l=h(t,o),c=h(t,e),f=r.resolver;if(r.prevPropsContext.environment!==a.environment||!_(l,c)||!_(i,u))return{data:(f=C(a,b,t,e,s)).resolve(),localVariables:null,prevProps:e,prevPropsContext:a,contextForChildren:a,relayProp:F(a.environment,r.relayProp.refetch),resolver:f};r.localVariables||f.setProps(e);var p=f.resolve();return p!==r.data?{data:p,prevProps:e}:null},f.componentWillUnmount=function(){this._isUnmounted=!0,this.state.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe()},f.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(this.state.prevPropsContext.environment!==r.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!P(e[a],this.props[a]))return!0}return!1},f._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},f._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},f._getFragmentVariables=function(){return S(t,this.props)},f._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new d),this._queryFetcher},f.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"])),s=this.state,i=s.relayProp,u=s.contextForChildren;return y.createElement(p.Provider,{value:u},y.createElement(e,(0,o.default)({},n,this.state.data,{ref:r,relay:i})))},c}(y.Component),(0,l.default)(n,"displayName",b),c}(e,t,r)}))}}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
package/react-relay.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
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,p,h){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=36)}([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(25);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,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,p=i.getRequest,h=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,x,S,F,q,I,k=null!==(C=null==i?void 0:i.fetchPolicy)&&void 0!==C?C:"store-or-network",D=(0,n.default)((0,n.default)({},null==i?void 0:i.networkCacheConfig),{},{force:!0}),O=!1,w=function(t,r){return O=!0,e.executeWithSource({operation:t,source:r})},A=new c,N=s.create((function(e){return A.subscribe(e)})),Q=null,M=!1,T=function(t){var n;M=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var o="raw-network-request-"+h(t,r);n=f(e,o,(function(){return e.getNetwork().execute(t,r,D)}))}else{n=e.getNetwork().execute(t,r,D)}var i=n.subscribe({error:function(e){Q=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return x=i,s.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),x()}}))},U=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(M=!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()}});S=n.unsubscribe},j=function(t){var n=d(t,r,D);(E=e.retain(n),"store-only"!==k)&&(("store-or-network"!==k||"available"!==e.check(n).status)&&U(n,(function(){var e=T(t.params);return w(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 L=u.get(I);if(null!=L)j(L);else{var V="store-only"===k?null:T(F),W=u.onLoad(I,(function(t){q();var n=d(t,r,D);E=e.retain(n),null!=V&&U(n,(function(){return w(n,V)}))}));q=W.dispose}}else{var H=p(t);I=null!=(F=H.params).cacheID?F.cacheID:F.id,j(H)}var K=!1,B=!1,G=!1,z=function(){B||(E&&E.dispose(),B=!0)},Y=function(){G||(O?S&&S():x&&x(),q&&q(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){K||(z(),Y(),K=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:m,id:I,get isDisposed(){return K||B},get networkError(){return Q},name:F.name,networkCacheConfig:D,fetchPolicy:k,source:M?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=i},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(38),o=r(14),i=o.getComponentName,s=o.getContainerName,u=r(8),l=r(18),c=r(39),f=r(3),d=r(0),p=r(1).getFragment;e.exports=function(e,t,r){var o=s(e);a(i(e),t);var h={};for(var v in t)h[v]=p(t[v]);var y=r(e,h);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(40),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(9)),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(28).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),p=u(0)[1],h=l(e,t),v=f.readWithIdentifier(e,t,h,r),y=s(!0);function m(){!1!==d.current&&!1!==y.current&&p((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,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(){y.current=!1},enableStoreUpdates:function(){y.current=!0,f.checkMissedUpdates(v)[0]&&m()}}}},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(7).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 t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=p},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(49)),i=r(29),s=r(3),u=r(1),l=u.getFragmentIdentifier,c=u.getPendingOperationsForFragment,f=u.getSelector,d=u.isPromise,p=u.recycleNodesInto,h=u.reportMissingRequiredFields,v="function"==typeof WeakMap,y=Object.freeze([]);function m(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function g(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:m(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:m(t),storeEpoch:r}}var _=function(){function e(e){this._environment=e,this._cache=i.create(1e6)}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,l(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var o,i=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var u=i.getStore().getEpoch();if(!0===(null==e||null===(o=e.metadata)||void 0===o?void 0:o.plural)&&(Array.isArray(t)||s(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",null!=a?" for key `".concat(a,"`"):"",e.name,typeof t,e.name),0===t.length))return{cacheKey:r,data:y,isMissingData:!1,snapshot:y,storeEpoch:u};var l=this._cache.get(r);if(null!=l){if("pending"===l.kind&&d(l.promise))throw i.__log({name:"suspense.fragment",data:l.result.data,fragment:e,isRelayHooks:!0,isMissingData:l.result.isMissingData,isPromiseCached:!0,pendingOperations:l.pendingOperations}),l.promise;if("done"===l.kind&&l.result.snapshot)return this._reportMissingRequiredFieldsInSnapshot(l.result.snapshot),l.result}var c=f(e,t);null==c&&s(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",e.name,e.name,n,e.name,null==a?"a fragment reference":"the `".concat(a,"`"),n);var p="PluralReaderSelector"===c.kind?c.selectors.map((function(e){return i.lookup(e)})):i.lookup(c),h=g(r,p,u);if(!h.isMissingData)return this._reportMissingRequiredFieldsInSnapshot(p),this._cache.set(r,{kind:"done",result:h}),h;var v="PluralReaderSelector"===c.kind?c.selectors[0].owner:c.owner,m=this._getAndSavePromiseForFragmentRequestInFlight(r,e,v,h);if(null!=m&&d(m.promise))throw i.__log({name:"suspense.fragment",data:h.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:h.isMissingData,pendingOperations:m.pendingOperations}),m.promise;return this._reportMissingRequiredFieldsInSnapshot(p),g(r,p,u)},t._reportMissingRequiredFieldsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){null!=e.missingRequiredFields&&h(t._environment,e.missingRequiredFields)})):null!=e.missingRequiredFields&&h(this._environment,e.missingRequiredFields)},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),u=i[0],l=i[1];u&&t();var c=[];return Array.isArray(o)?(Array.isArray(l)||s(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,o){c.push(n.subscribe(e,(function(e){var i=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,o,i),t()})))}))):((null==l||Array.isArray(l))&&s(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),c.push(n.subscribe(l,(function(e){var o=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:g(a,e,o)}),t()})))),{dispose:function(){c.map((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:g(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,seenRecords:u.seenRecords,selector:u.selector,missingRequiredFields:u.missingRequiredFields};return f!==l&&this._cache.set(o,{kind:"done",result:g(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=c(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 i,s=this._cache.get(e);if(d(s))b(r.selector.node.name);else{var u=null==s||null===(i=s.result)||void 0===i?void 0:i.snapshot;if(!u||Array.isArray(u)){var l=u?(0,o.default)(u):(0,o.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:g(e,l,a)})}else b(r.selector.node.name)}},e}();function b(e){s(!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 R(e){return new _(e)}var C=v?new WeakMap:new Map;e.exports={createFragmentResource:R,getFragmentResourceForEnvironment:function(e){var t=C.get(e);if(t)return t;var r=R(e);return C.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(21),a=r(31),o=a.getQueryCacheIdentifier,i=a.getQueryResourceForEnvironment,s=r(32),u=r(22),l=r(4),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,y=e.renderPolicy,m=l(),g=f(n),_=i(m),b=p(0),R=b[0],C=b[1],P=s(),E=P.startFetch,x=P.completeFetch,S="".concat(R,"-").concat(null!=v?v:""),F=o(m,t,c,y,S),q=g.wrapPrepareQueryResource((function(){return _.prepareWithIdentifier(F,t,a,c,y,{start:E,complete:x,error:x},g)})),I=h(!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 k=q.fragmentNode,D=q.fragmentRef;return u(k,D,r).data}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(9)),i=r(29),s=r(3),u=r(1).isPromise,l=r(6),c="function"==typeof WeakMap;function f(e){return void 0!==e.request.node.params.metadata.live}function d(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 h=2e5;function v(e,t,r,n,a,o){var i=f(t),u=n,l=0,c=null,d=null,p=a,v=function(e){return 1===++l&&(c=e.retain(t)),{dispose:function(){0===(l=Math.max(0,l-1))&&(null==c&&s(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),c.dispose(),c=null),o(y)}}},y={cacheIdentifier:e,id:h++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return u},setValue:function(e){u=e},getRetainCount:function(){return l},getNetworkSubscription:function(){return p},setNetworkSubscription:function(e){i&&null!=p&&p.unsubscribe(),p=e},temporaryRetain:function(e){if(e.isServer())return{dispose:function(){}};var t=v(e),r=null,n=function(){clearTimeout(r),r=null,d=null,t.dispose(),i&&l<=0&&null!=p&&p.unsubscribe()};return r=setTimeout(n,3e5),null!=d&&d(),d=n,{dispose:function(){d&&d()}}},permanentRetain:function(e){var t=v(e);return null!=d&&(d(),d=null),{dispose:function(){t.dispose(),i&&l<=0&&null!=p&&p.unsubscribe()}}},releaseTemporaryRetain:function(){null!=d&&(d(),d=null)}};return y}var y=function(){function e(e){var t=this;(0,o.default)(this,"_clearCacheEntry",(function(e){e.getRetainCount()<=0&&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=d(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 l=this._environment,c=null!=n?n:"store-or-network",f=null!=o?o:l.UNSTABLE_getDefaultRenderPolicy(),d=this._cache.get(e),p=null,h=null!=d;null==d&&(d=this._fetchAndSaveQuery(e,t,r,c,f,s,(0,a.default)((0,a.default)({},i),{},{unsubscribe:function(e){null!=p&&p.dispose();var t=null==i?void 0:i.unsubscribe;t&&t(e)}}))),p=d.temporaryRetain(l);var v=d.getValue();if(u(v))throw l.__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,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=d(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=v(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,o)),o},t._fetchAndSaveQuery=function(e,t,r,n,o,i,u){var c,d,h=this,y=this._environment,m=y.check(t),g=m.status,_="available"===g,b=_||"partial"===o&&"stale"!==g,R=function(){};switch(n){case"store-only":c=!1,d=!0;break;case"store-or-network":c=!_,d=b;break;case"store-and-network":c=!0,d=b;break;case"network-only":default:c=!0,d=!1}if(d){var C=p(t,e),P=v(e,t,m,C,null,this._clearCacheEntry);this._cache.set(e,P)}if(c){var E,x=p(t,e);r.subscribe({start:function(r){E=r;var n=h._cache.get(e);n&&n.setNetworkSubscription(E);var o=null==u?void 0:u.start;o&&o((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){f(t)&&r.unsubscribe()}}))},next:function(){var r=h._getOrCreateCacheEntry(e,t,m,x,E);r.processedPayloadsCount+=1,r.setValue(x),R();var n=null==u?void 0:u.next;null!=n&&n(y.lookup(t.fragment))},error:function(r){var n=h._getOrCreateCacheEntry(e,t,m,r,E);0===n.processedPayloadsCount?n.setValue(r):l(!1,"QueryResource: An incremental payload for query `%` returned an error: `%`:`%`.",t.fragment.node.name,r.message,r.stack),R(),E=null,n.setNetworkSubscription(null);var a=null==u?void 0:u.error;a&&a(r)},complete:function(){R(),E=null;var t=h._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 S=this._cache.get(e);if(!S){var F=new Promise((function(e){R=e}));F.displayName="Relay("+t.fragment.node.name+")",S=v(e,t,m,F,E,this._clearCacheEntry),this._cache.set(e,S)}}else{var q=null==u?void 0:u.complete;q&&q()}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."),y.__log({name:"queryresource.fetch",resourceID:I.id,operation:t,profilerContext:i,fetchPolicy:n,renderPolicy:o,queryAvailability:m,shouldFetch:c}),I},e}();function m(e){return new y(e)}var g=c?new WeakMap:new Map;e.exports={createQueryResource:m,getQueryResourceForEnvironment:function(e){var t=g.get(e);if(t)return t;var r=m(e);return g.set(e,r),r},getQueryCacheIdentifier:d}},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(51),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(28).getFragmentResourceForEnvironment,i=r(21),s=r(31).getQueryResourceForEnvironment,u=r(22),l=r(11),c=r(35),f=r(4),d=r(3),p=r(0),h=p.useCallback,v=p.useContext,y=p.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 x(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 p=f(),m=R(e,r),S=m.refetchableRequest,F=m.fragmentRefPathInResponse,q=m.identifierField,I=b(e,t),k=y(x,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=k[0],O=k[1],w=D.fetchPolicy,A=D.mirroredEnvironment,N=D.mirroredFragmentIdentifier,Q=D.onComplete,M=D.refetchEnvironment,T=D.refetchQuery,U=D.renderPolicy,j=null!=M?M:p,L=s(j),V=o(j),W=v(i),H=j!==A||I!==N,K=c(S),B=K[0],G=K[1],z=K[2],Y=t;if(H)O({type:"reset",environment:j,fragmentIdentifier:I}),z();else if(null!=T&&null!=B){var X;X=n.getInitialIDAndType(T.request.variables,F,j);var J=function(e){Q&&Q(null!=e?e:null)},Z=null!=B.source?B.source:g(j,T),$=W.wrapPrepareQueryResource((function(){return L.prepare(T,Z,w,U,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,j,e,r),J()}},B.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 p=l(),v=null!=u&&null!=n&&"object"==typeof n?n[u]:null;return h((function(n,o){if(!0!==p.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,h=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,x,S;s=null!==(R=null===(P=b.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(x=null===(S=b.selectors[0])||void 0===S?void 0:S.variables)&&void 0!==x?x:{}}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:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:y,onComplete:g,refetchEnvironment:h,refetchQuery:q,renderPolicy:m}),{dispose:r}}),[o,t,r,v,c])}(r,O,z,re,I,e,0,q,G,t,S),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(2)(r(27)),a=r(7),o=a.loadQuery,i=a.useTrackLoadQueryInRender,s=r(11),u=r(4),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,p=l.useState,h=r(1).getRequest,v={kind:"NullQueryReference"};function y(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=u();i();var l=s(),h=d(new Set([r])),m=p((function(){return r})),g=m[0],_=m[1],b=p((function(){return r})),R=b[0],C=b[1];r!==R&&(h.current.add(r),C(r),_(r));var P=c((function(){l.current&&(h.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);h.current.add(s),_(s)}}),[a,e,_,l]),x=d(!1);return f((function(){return function(){x.current=!0}}),[]),f((function(){if(!0===x.current)return x.current=!1,void("NullQueryReference"!==g.kind&&E(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 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)(h.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(8),a=r(37),o=r(41),i=r(42),s=r(43),u=r(44),l=r(45),c=r(26),f=r(7).loadQuery,d=r(46),p=r(47),h=r(48),v=r(50),y=r(52),m=r(53),g=r(56),_=r(35),b=r(57),R=r(4),C=r(58),P=r(59),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:h,useLazyLoadQuery:v,useEntryPointLoader:p,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(9)),l=r(16),c=r(14).getContainerName,f=r(19).assertRelayContext,d=r(10),p=r(0),h=r(1),v=h.createFragmentSpecResolver,y=h.getDataIDsFromObject,m=h.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 p=c.resolve();return p!==r.data?{data:p,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 p.createElement(e,(0,a.default)((0,a.default)((0,a.default)({},n),this.state.data),{},{ref:r,relay:this.state.relayProp}))},n}(p.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(8),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,p=i.useRef,h=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=h((function(){var e=c(y);return u(e,_)}),[y,_]),R=h((function(){return{environment:s}}),[s]),C=p(null),P=d(null)[1],E=p(null),x=h((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()}}),[x]),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(9)),l=n(r(5)),c=r(16),f=r(24),d=r(14),p=d.getComponentName,h=d.getContainerName,v=r(8),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,x=R.createFragmentSpecResolver,S=R.createOperationDescriptor,F=R.getDataIDsFromObject,q=R.getRequest,I=R.getVariablesFromObject,k=R.isScalarAndEqual,D=r(6);function O(e){return"function"==typeof e?{error:e,complete:e,unsubscribe:function(t){"function"==typeof e&&e()}}:e||{}}function w(e,t,r){var n,c,d=p(e),R=h(e),w=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}}(w),N=r.direction||w.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))}}(w);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,O(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=O(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;D(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=x(o,R,t,e,s):a._resolver=x(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 p=c.prototype;return p.componentDidMount=function(){this._isUnmounted=!1,!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},p.componentDidUpdate=function(e,t){!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&(t.resolverGeneration!==this.state.resolverGeneration?this._subscribeToNewResolverAndRerenderIfStoreHasChanged():this._rerenderIfStoreHasChanged())},p.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=x(a,R,t,e,o):this._resolver=x(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})},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),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)&&!k(e[o],this.props[o]))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,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,p=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 h=n[i],v=n[s];if(null==h||null==v)return null;Array.isArray(h)||_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Array, got `%s`.",d,i,h),"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[p];return"boolean"!=typeof y||0!==h.length&&void 0===m?(D(!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:p,m),null):{cursor:m,edgeCount:h.length,hasMore:y}},p._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new y),this._queryFetcher},p._canFetchPage=function(e){return!this._isUnmounted||(D(!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,a){var i,s=this,u=m(this.props.__relayContext).environment,c=this.props,p=(c.componentRef,c.__relayContext,c.__rootIsQueryRenderer,(0,o.default)(c,["componentRef","__relayContext","__rootIsQueryRenderer"])),h=(0,l.default)((0,l.default)({},p),this.state.data),v=f(t,p);i=I(t,p),i=(0,l.default)((0,l.default)((0,l.default)({},v),i),this._refetchVariables);var y=r.getVariables(h,{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=S(R,y,b),E=null;this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._hasFetched=!0;var x=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:x,complete:x,unsubscribe:x}).subscribe(n||{}),this._refetchSubscription=this._isARequestInFlight?E:null,E},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,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 w(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(9)),u=r(8),l=r(20),c=r(18),f=r(10),d=r(0),p=r(1),h=p.RelayFeatureFlags,v=p.createOperationDescriptor,y=p.deepFreeze,m=p.getRequest,g={},_={rootIsQueryRenderer:!0},b=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 g[r],n===e.snapshot&&t===e.error?null:{renderProps:R(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=C(m(c).params,t.variables),n=g[i]?g[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},E(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:P(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===h.ENABLE_QUERY_RENDERER_OFFSCREEN_SUPPORT&&!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return P(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,a=t.requestCacheKey;a&&delete g[a],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete g[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 g[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 y(t),d.createElement(u.Provider,{value:r},d.createElement(c.Provider,{value:_},this.props.render(t)))},t}(d.Component);function R(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 C(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function P(e,t){var r,n=e.query,o=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var i=C(m(n).params,e.variables);r=g[i]?g[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},E(e,r,t.retryCallbacks))}function E(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=m(o),c=v(l,i,s),f={environment:u};if("string"==typeof n&&g[n]){var d=g[n].snapshot;return d?{error:null,relayContext:f,renderProps:R(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 p=t.lookupInStore(u,c,e.fetchPolicy),h=t.fetch({environment:u,onDataChange:null,operation:c})||p;return n=n||C(l.params,e.variables),g[n]={queryFetcher:t,snapshot:h},h?{error:null,relayContext:f,renderProps:R(null,h,t,r),snapshot:h,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:R(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=b},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(9)),c=r(16),f=r(24),d=r(14).getContainerName,p=r(8),h=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,x=g.isScalarAndEqual,S=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 S(!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,p=s?{force:!!s.force}:void 0;null!=p&&null!=(null==s?void 0:s.metadata)&&(p.metadata=null==s?void 0:s.metadata);var h,y="function"==typeof a?{next:a,error:a}:a||{},m=P(r),b=R(m,c,p);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===h&&(o._refetchSubscription=null)})).subscribe((0,i.default)((0,i.default)({},y),{},{start:function(e){o._refetchSubscription=h=e,y.start&&y.start(e)}})),{dispose:function(){h&&h.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 p=d.resolve();return p!==r.data?{data:p,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)&&!x(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 h),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(p.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,p=t.rootModuleID,h=i(),v=s(n),y=a();return u((function(){y.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:p})}),[y,v,p]),o.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(25),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(27)),a=r(26),o=r(7).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,p,h,v;o();var y=null!==(s=null==r||null===(p=r.TEST_ONLY__initialEntryPointData)||void 0===p?void 0:p.entryPointReference)&&void 0!==s?s:d,m=null!==(h=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==h?h:null,g=i(),_=c(new Set([y])),b=f(y),R=b[0],C=b[1],P=f(m),E=P[0],x=P[1],S=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),x(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,S]}},function(e,t,r){"use strict";var n=r(7).useTrackLoadQueryInRender,a=r(22),o=r(23),i=r(0).useDebugValue,s=r(1).getFragment;e.exports=function(e,t){n();var r=s(e);o(r,"first argument of useFragment()");var u=a(r,t,"useFragment()").data;return i({fragment:r.name,data:u}),u}},function(e,t){e.exports=h},function(e,t,r){"use strict";var n=r(7).useTrackLoadQueryInRender,a=r(30),o=r(33),i=r(4),s=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var u=i(),l=o(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:s(u,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},function(e,t,r){"use strict";var n=r(10),a=r(0),o=a.useMemo,i=a.useRef,s=a.useState;e.exports=function(e){var t,r,a=i(0),u=s(e),l=u[0],c=u[1];return n(e,l)||(a.current=(null!==(r=a.current)&&void 0!==r?r:0)+1,c(e)),[o((function(){return e}),[a.current]),null!==(t=a.current)&&void 0!==t?t:0]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(11),o=r(4),i=r(0),s=r(1).commitMutation,u=i.useState,l=i.useEffect,c=i.useRef,f=i.useCallback;e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s,r=o(),i=a(),d=c(r),p=c(e),h=c(new Set),v=u(!1),y=v[0],m=v[1],g=f((function(t){d.current===r&&p.current===e&&(h.current.delete(t),i.current&&m(h.current.size>0))}),[r,i,e]);l((function(){d.current===r&&p.current===e||(h.current=new Set,i.current&&m(!1),d.current=r,p.current=e)}),[r,i,e]);var _=f((function(a){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 h.current.add(o),i.current&&m(!0),o}),[g,t,r,i,e]);return[_,y]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(54),o=r(34),i=r(23),s=r(0),u=s.useCallback,l=s.useDebugValue,c=s.useState,f=r(1),d=f.getFragment,p=f.getFragmentIdentifier,h=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=h(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=p(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],x=C[2],S=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],k=F[2],D=F[3],O=u((function(e,t){return D(),S(),b(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[D,S,b]);return l({fragment:r.name,data:g,hasNext:I,isLoadingNext:k,hasPrevious:E,isLoadingPrevious:x}),{data:g,loadNext:q,loadPrevious:P,hasNext:I,hasPrevious:E,isLoadingNext:k,isLoadingPrevious:x,refetch:O}}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(32),o=r(11),i=r(55),s=r(4),u=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,v=p.__internal.fetchQuery,y=p.createOperationDescriptor,m=p.getPaginationVariables,g=p.getSelector,_=p.getValueAtPath,b=r(6);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,R=e.fragmentData,C=e.connectionPathInFragmentData,P=e.paginationRequest,E=e.paginationMetadata,x=e.componentDisplayName,S=e.observer,F=e.onReset,q=e.identifierField,I=s(),k=a(),D=k.isFetchingRef,O=k.startFetch,w=k.disposeFetch,A=k.completeFetch,N=null!=q&&null!=R&&"object"==typeof R?R[q]:null,Q=o(),M=d(I),T=M[0],U=M[1],j=d(p),L=j[0],V=j[1],W=i(r,l);(I!==T||p!==L)&&(w(),F(),U(I),V(p));var H=function(e,t,r,n){var a,o,i=h.get(),s=i.EDGES,l=i.PAGE_INFO,c=i.HAS_NEXT_PAGE,f=i.HAS_PREV_PAGE,d=i.END_CURSOR,p=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[p])&&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,p,b),g="forward"===e?null!=b&&!0===m[c]:null!=b&&!0===m[f];return{cursor:b,hasMore:g}}(t,r,R,C),K=H.cursor,B=H.hasMore;return f((function(){return function(){w()}}),[w]),[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,x),{dispose:function(){}};var i=g(r,l);if(!0===D.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,x,x),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,x);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),p=m(t,e,K,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),p.id=N);var h=y(P,p,{force:!0});return v(I,h).subscribe((0,n.default)((0,n.default)({},S),{},{start:function(e){O(e),S.start&&S.start(e)},complete:function(){A(),S.complete&&S.complete(),o&&o(null)},error:function(e){A(),S.error&&S.error(e),o&&o(e)}})),{dispose:w}}),[I,N,t,K,O,w,A,D,W,R,r.name,l,x]),B,w]}},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],p=i[1];return l((function(){var e;if(p(null!=o),null!=o){var t=function(){p(!1)};e=o.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[o]),d}},function(e,t,r){"use strict";var n=r(7).useTrackLoadQueryInRender,a=r(30),o=r(33),i=r(4),s=r(3),u=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(6);e.exports=function(e,t,r){n();var l,p=i(),h=t.fetchKey,v=t.fetchPolicy,y=t.source,m=t.variables,g=t.networkCacheConfig,_=o(e,m,g);if("PreloadedQuery_DEPRECATED"===t.kind)_.request.node.params.name!==t.name&&s(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",_.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:h,fetchObservable:c(p,_.request.identifier,(function(){return p===t.environment&&null!=y?p.executeWithSource({operation:_,source:y}):p.execute({operation:_})})),fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{d(!1===t.isDisposed,"usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. This is because disposing the query marks it for future garbage collection, and as such query results may no longer be present in the Relay store. In the future, this will become a hard error.");var b,R=f(p,_);null!=y&&p===t.environment?b=y.ifEmpty(R):p!==t.environment?(d(!1,"usePreloadedQuery(): usePreloadedQuery was passed a preloaded query that was created with a different environment than the one that is currently in context. In the future, this will become a hard error."),b=R):b=R,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:b,fetchKey:h,fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var C=a(l);return u({query:t.name,variables:t.variables,data:C,fetchKey:h,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),C}},function(e,t,r){"use strict";var n=r(34),a=r(23),o=r(0).useDebugValue,i=r(1).getFragment;e.exports=function(e,t){var r=i(e);a(r,"first argument of useRefetchableFragment()");var s=n(r,t,"useRefetchableFragment()"),u=s.fragmentData,l=s.refetch;return o({fragment:r.name,data:u}),[u,l]}},function(e,t,r){"use strict";var n=r(4),a=r(0),o=a.useEffect,i=a.useRef;e.exports=function(e,t){var r=n(),a=i(null),s=Array.from(e).sort().join("");return o((function(){var n=r.getStore(),o=n.lookupInvalidationState(e),i=n.subscribeToInvalidationState(o,t);return a.current=i,function(){return i.dispose()}}),[s,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(4),a=r(0).useEffect,o=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:o,i=n();a((function(){return r(i,e).dispose}),[i,e,r])}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-9262f2ac
2
+ * Relay v0.0.0-main-668c9f2e
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
@@ -49,13 +49,8 @@ function EntryPointContainer<
49
49
  'collection, and as such may no longer be present in the Relay store. ' +
50
50
  'In the future, this will become a hard error.',
51
51
  );
52
- const {
53
- getComponent,
54
- queries,
55
- entryPoints,
56
- extraProps,
57
- rootModuleID,
58
- } = entryPointReference;
52
+ const {getComponent, queries, entryPoints, extraProps, rootModuleID} =
53
+ entryPointReference;
59
54
  const Component = getComponent();
60
55
  const profilerContext = useContext(ProfilerContext);
61
56
  const environment = useRelayEnvironment();
@@ -261,16 +261,14 @@ export type ExtractEntryPointTypeHelper = <
261
261
  EntryPoint<TEntryPointParams, TEntryPointComponent>,
262
262
  >;
263
263
 
264
- export type EntryPoint<
265
- TEntryPointParams,
266
- +TEntryPointComponent,
267
- > = InternalEntryPointRepresentation<
268
- TEntryPointParams,
269
- $PropertyType<ElementConfig<TEntryPointComponent>, 'queries'>,
270
- $PropertyType<ElementConfig<TEntryPointComponent>, 'entryPoints'>,
271
- $PropertyType<ElementConfig<TEntryPointComponent>, 'props'>,
272
- $PropertyType<ElementConfig<TEntryPointComponent>, 'extraProps'>,
273
- >;
264
+ export type EntryPoint<TEntryPointParams, +TEntryPointComponent> =
265
+ InternalEntryPointRepresentation<
266
+ TEntryPointParams,
267
+ $PropertyType<ElementConfig<TEntryPointComponent>, 'queries'>,
268
+ $PropertyType<ElementConfig<TEntryPointComponent>, 'entryPoints'>,
269
+ $PropertyType<ElementConfig<TEntryPointComponent>, 'props'>,
270
+ $PropertyType<ElementConfig<TEntryPointComponent>, 'extraProps'>,
271
+ >;
274
272
 
275
273
  type ExtractFirstParam = <P, R>((P) => R) => P;
276
274
  type GetPreloadPropsType<T> = $ElementType<T, 'getPreloadProps'>;
@@ -259,12 +259,13 @@ class FragmentResourceImpl {
259
259
  fragmentSelector.kind === 'PluralReaderSelector'
260
260
  ? fragmentSelector.selectors[0].owner
261
261
  : fragmentSelector.owner;
262
- const networkPromiseResult = this._getAndSavePromiseForFragmentRequestInFlight(
263
- fragmentIdentifier,
264
- fragmentNode,
265
- fragmentOwner,
266
- fragmentResult,
267
- );
262
+ const networkPromiseResult =
263
+ this._getAndSavePromiseForFragmentRequestInFlight(
264
+ fragmentIdentifier,
265
+ fragmentNode,
266
+ fragmentOwner,
267
+ fragmentResult,
268
+ );
268
269
  if (
269
270
  networkPromiseResult != null &&
270
271
  isPromise(networkPromiseResult.promise)
@@ -332,9 +333,8 @@ class FragmentResourceImpl {
332
333
 
333
334
  // 1. Check for any updates missed during render phase
334
335
  // TODO(T44066760): More efficiently detect if we missed an update
335
- const [didMissUpdates, currentSnapshot] = this.checkMissedUpdates(
336
- fragmentResult,
337
- );
336
+ const [didMissUpdates, currentSnapshot] =
337
+ this.checkMissedUpdates(fragmentResult);
338
338
 
339
339
  // 2. If an update was missed, notify the component so it updates with
340
340
  // the latest data.
@@ -471,7 +471,7 @@ class FragmentResourceImpl {
471
471
 
472
472
  checkMissedUpdatesSpec(fragmentResults: {
473
473
  [string]: FragmentResult,
474
- ...,
474
+ ...
475
475
  }): boolean {
476
476
  return Object.keys(fragmentResults).some(
477
477
  key => this.checkMissedUpdates(fragmentResults[key])[0],
@@ -98,12 +98,8 @@ function prepareEntryPoint<
98
98
  if (queries != null) {
99
99
  const queriesPropNames = Object.keys(queries);
100
100
  queriesPropNames.forEach(queryPropName => {
101
- const {
102
- environmentProviderOptions,
103
- options,
104
- parameters,
105
- variables,
106
- } = queries[queryPropName];
101
+ const {environmentProviderOptions, options, parameters, variables} =
102
+ queries[queryPropName];
107
103
 
108
104
  const environment = environmentProvider.getEnvironment(
109
105
  environmentProviderOptions,
@@ -126,10 +122,8 @@ function prepareEntryPoint<
126
122
  if (entryPointDescription == null) {
127
123
  return;
128
124
  }
129
- const {
130
- entryPoint: nestedEntryPoint,
131
- entryPointParams: nestedParams,
132
- } = entryPointDescription;
125
+ const {entryPoint: nestedEntryPoint, entryPointParams: nestedParams} =
126
+ entryPointDescription;
133
127
  preloadedEntryPoints[entryPointPropName] = prepareEntryPoint(
134
128
  environmentProvider,
135
129
  nestedEntryPoint,
@@ -178,23 +172,23 @@ function LazyLoadEntryPointContainer_DEPRECATED<
178
172
  // *must* be computed first to fetch the component's data-dependencies in
179
173
  // parallel with the component itself (the code).
180
174
  const entryPointParamsHash = stableStringify(entryPointParams);
181
- const {
182
- getComponent,
183
- queries,
184
- entryPoints,
185
- extraProps,
186
- rootModuleID,
187
- } = useMemo(() => {
188
- return prepareEntryPoint(
189
- environmentProvider ?? {
190
- getEnvironment: () => environment,
191
- },
192
- entryPoint,
193
- entryPointParams,
194
- );
195
- // NOTE: stableParams encodes the information from params
196
- // eslint-disable-next-line react-hooks/exhaustive-deps
197
- }, [environment, environmentProvider, getPreloadProps, entryPointParamsHash]);
175
+ const {getComponent, queries, entryPoints, extraProps, rootModuleID} =
176
+ useMemo(() => {
177
+ return prepareEntryPoint(
178
+ environmentProvider ?? {
179
+ getEnvironment: () => environment,
180
+ },
181
+ entryPoint,
182
+ entryPointParams,
183
+ );
184
+ // NOTE: stableParams encodes the information from params
185
+ // eslint-disable-next-line react-hooks/exhaustive-deps
186
+ }, [
187
+ environment,
188
+ environmentProvider,
189
+ getPreloadProps,
190
+ entryPointParamsHash,
191
+ ]);
198
192
  const Component = useMemo(() => {
199
193
  return getComponent();
200
194
  }, [getComponent]);
@@ -34,10 +34,10 @@ type Props = $ReadOnly<{|
34
34
 
35
35
  function RelayEnvironmentProvider(props: Props): React.Node {
36
36
  const {children, environment, getEnvironmentForActor} = props;
37
- const context = useMemo(() => ({environment, getEnvironmentForActor}), [
38
- environment,
39
- getEnvironmentForActor,
40
- ]);
37
+ const context = useMemo(
38
+ () => ({environment, getEnvironmentForActor}),
39
+ [environment, getEnvironmentForActor],
40
+ );
41
41
  return (
42
42
  <ReactRelayContext.Provider value={context}>
43
43
  {children}
@@ -30,7 +30,8 @@ type PreloadParams = $ReadOnly<{||}>;
30
30
  type MyComponentEntryPointType = EntryPoint<PreloadParams, typeof MyComponent>;
31
31
 
32
32
  // This gets the "other props" of the component through the entrypoint's typing
33
- type MyComponentEntryPointProps = EntryPointElementConfig<MyComponentEntryPointType>;
33
+ type MyComponentEntryPointProps =
34
+ EntryPointElementConfig<MyComponentEntryPointType>;
34
35
 
35
36
  // This gets the "other props" directly from the component's prop typings
36
37
  type OtherProps = $PropertyType<MyComponentProps, 'props'>;
@@ -51,12 +51,8 @@ function loadEntryPoint<
51
51
  if (queries != null) {
52
52
  const queriesPropNames = Object.keys(queries);
53
53
  queriesPropNames.forEach(queryPropName => {
54
- const {
55
- environmentProviderOptions,
56
- options,
57
- parameters,
58
- variables,
59
- } = queries[queryPropName];
54
+ const {environmentProviderOptions, options, parameters, variables} =
55
+ queries[queryPropName];
60
56
 
61
57
  const environment = environmentProvider.getEnvironment(
62
58
  environmentProviderOptions,
@@ -83,10 +79,8 @@ function loadEntryPoint<
83
79
  if (entryPointDescription == null) {
84
80
  return;
85
81
  }
86
- const {
87
- entryPoint: nestedEntryPoint,
88
- entryPointParams: nestedParams,
89
- } = entryPointDescription;
82
+ const {entryPoint: nestedEntryPoint, entryPointParams: nestedParams} =
83
+ entryPointDescription;
90
84
  preloadedEntryPoints[entryPointPropName] = loadEntryPoint(
91
85
  environmentProvider,
92
86
  nestedEntryPoint,
@@ -272,7 +272,8 @@ function loadQuery<TQuery: OperationType, TEnvironmentProviderOptions>(
272
272
  let cancelOnLoadCallback;
273
273
  let queryId;
274
274
  if (preloadableRequest.kind === 'PreloadableConcreteRequest') {
275
- const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> = (preloadableRequest: $FlowFixMe);
275
+ const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> =
276
+ (preloadableRequest: $FlowFixMe);
276
277
  ({params} = preloadableConcreteRequest);
277
278
 
278
279
  ({id: queryId} = params);
@@ -316,7 +317,8 @@ function loadQuery<TQuery: OperationType, TEnvironmentProviderOptions>(
316
317
  ));
317
318
  }
318
319
  } else {
319
- const graphQlTaggedNode: GraphQLTaggedNode = (preloadableRequest: $FlowFixMe);
320
+ const graphQlTaggedNode: GraphQLTaggedNode =
321
+ (preloadableRequest: $FlowFixMe);
320
322
  const request = getRequest(graphQlTaggedNode);
321
323
  params = request.params;
322
324
  queryId = params.cacheID != null ? params.cacheID : params.id;
@@ -157,7 +157,8 @@ function preloadQueryDeduped<TQuery: OperationType>(
157
157
  let params;
158
158
  let query: ?ConcreteRequest;
159
159
  if (preloadableRequest.kind === 'PreloadableConcreteRequest') {
160
- const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> = (preloadableRequest: $FlowFixMe);
160
+ const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> =
161
+ (preloadableRequest: $FlowFixMe);
161
162
  params = preloadableConcreteRequest.params;
162
163
  query = params.id != null ? PreloadableQueryRegistry.get(params.id) : null;
163
164
  } else {
@@ -51,12 +51,8 @@ function prepareEntryPoint<
51
51
  if (queries != null) {
52
52
  const queriesPropNames = Object.keys(queries);
53
53
  queriesPropNames.forEach(queryPropName => {
54
- const {
55
- environmentProviderOptions,
56
- options,
57
- parameters,
58
- variables,
59
- } = queries[queryPropName];
54
+ const {environmentProviderOptions, options, parameters, variables} =
55
+ queries[queryPropName];
60
56
 
61
57
  const environment = environmentProvider.getEnvironment(
62
58
  environmentProviderOptions,
@@ -79,10 +75,8 @@ function prepareEntryPoint<
79
75
  if (entryPointDescription == null) {
80
76
  return;
81
77
  }
82
- const {
83
- entryPoint: nestedEntryPoint,
84
- entryPointParams: nestedParams,
85
- } = entryPointDescription;
78
+ const {entryPoint: nestedEntryPoint, entryPointParams: nestedParams} =
79
+ entryPointDescription;
86
80
  preloadedEntryPoints[entryPointPropName] = prepareEntryPoint(
87
81
  environmentProvider,
88
82
  nestedEntryPoint,
@@ -120,10 +120,8 @@ function useLoadEntryPoint<
120
120
  const [entryPointReference, setEntryPointReference] = useState<
121
121
  PreloadedEntryPoint<TEntryPointComponent> | NullEntryPointReference,
122
122
  >(initialEntryPointReferenceInternal);
123
- const [
124
- entryPointParams,
125
- setEntryPointParams,
126
- ] = useState<TEntryPointParams | null>(initialEntryPointParamsInternal);
123
+ const [entryPointParams, setEntryPointParams] =
124
+ useState<TEntryPointParams | null>(initialEntryPointParamsInternal);
127
125
 
128
126
  const disposeEntryPoint = useCallback(() => {
129
127
  if (isMountedRef.current) {
@@ -50,9 +50,8 @@ function useFragmentNode<TFragmentData: mixed>(
50
50
  const isListeningForUpdatesRef = useRef(true);
51
51
  function enableStoreUpdates() {
52
52
  isListeningForUpdatesRef.current = true;
53
- const didMissUpdates = FragmentResource.checkMissedUpdates(
54
- fragmentResult,
55
- )[0];
53
+ const didMissUpdates =
54
+ FragmentResource.checkMissedUpdates(fragmentResult)[0];
56
55
  if (didMissUpdates) {
57
56
  handleDataUpdate();
58
57
  }
@@ -82,12 +82,8 @@ function useLoadMoreFunction<TQuery: OperationType>(
82
82
  identifierField,
83
83
  } = args;
84
84
  const environment = useRelayEnvironment();
85
- const {
86
- isFetchingRef,
87
- startFetch,
88
- disposeFetch,
89
- completeFetch,
90
- } = useFetchTrackingRef();
85
+ const {isFetchingRef, startFetch, disposeFetch, completeFetch} =
86
+ useFetchTrackingRef();
91
87
  const identifierValue =
92
88
  identifierField != null &&
93
89
  fragmentData != null &&
@@ -96,9 +92,8 @@ function useLoadMoreFunction<TQuery: OperationType>(
96
92
  : null;
97
93
  const isMountedRef = useIsMountedRef();
98
94
  const [mirroredEnvironment, setMirroredEnvironment] = useState(environment);
99
- const [mirroredFragmentIdentifier, setMirroredFragmentIdentifier] = useState(
100
- fragmentIdentifier,
101
- );
95
+ const [mirroredFragmentIdentifier, setMirroredFragmentIdentifier] =
96
+ useState(fragmentIdentifier);
102
97
 
103
98
  const isParentQueryActive = useIsOperationNodeActive(
104
99
  fragmentNode,
@@ -44,9 +44,10 @@ function useMemoVariables<TVariables: Variables | null>(
44
44
  // NOTE: We disable react-hooks-deps warning because we explicitly
45
45
  // don't want to memoize on object identity
46
46
  // eslint-disable-next-line react-hooks/exhaustive-deps
47
- const memoVariables = useMemo(() => variables, [
48
- variablesChangedGenerationRef.current,
49
- ]);
47
+ const memoVariables = useMemo(
48
+ () => variables,
49
+ [variablesChangedGenerationRef.current],
50
+ );
50
51
  return [memoVariables, variablesChangedGenerationRef.current ?? 0];
51
52
  }
52
53
 
@@ -84,42 +84,34 @@ function usePaginationFragment<
84
84
  const fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef);
85
85
 
86
86
  // Backward pagination
87
- const [
88
- loadPrevious,
89
- hasPrevious,
90
- isLoadingPrevious,
91
- disposeFetchPrevious,
92
- ] = useLoadMore<TQuery>({
93
- componentDisplayName,
94
- connectionPathInFragmentData,
95
- direction: 'backward',
96
- fragmentData,
97
- fragmentIdentifier,
98
- fragmentNode,
99
- fragmentRef,
100
- identifierField,
101
- paginationMetadata,
102
- paginationRequest,
103
- });
87
+ const [loadPrevious, hasPrevious, isLoadingPrevious, disposeFetchPrevious] =
88
+ useLoadMore<TQuery>({
89
+ componentDisplayName,
90
+ connectionPathInFragmentData,
91
+ direction: 'backward',
92
+ fragmentData,
93
+ fragmentIdentifier,
94
+ fragmentNode,
95
+ fragmentRef,
96
+ identifierField,
97
+ paginationMetadata,
98
+ paginationRequest,
99
+ });
104
100
 
105
101
  // Forward pagination
106
- const [
107
- loadNext,
108
- hasNext,
109
- isLoadingNext,
110
- disposeFetchNext,
111
- ] = useLoadMore<TQuery>({
112
- componentDisplayName,
113
- connectionPathInFragmentData,
114
- direction: 'forward',
115
- fragmentData,
116
- fragmentIdentifier,
117
- fragmentNode,
118
- fragmentRef,
119
- identifierField,
120
- paginationMetadata,
121
- paginationRequest,
122
- });
102
+ const [loadNext, hasNext, isLoadingNext, disposeFetchNext] =
103
+ useLoadMore<TQuery>({
104
+ componentDisplayName,
105
+ connectionPathInFragmentData,
106
+ direction: 'forward',
107
+ fragmentData,
108
+ fragmentIdentifier,
109
+ fragmentNode,
110
+ fragmentRef,
111
+ identifierField,
112
+ paginationMetadata,
113
+ paginationRequest,
114
+ });
123
115
 
124
116
  const refetchPagination: RefetchFnDynamic<TQuery, TKey> = useCallback(
125
117
  (variables, options) => {
@@ -43,13 +43,8 @@ function usePreloadedQuery<TQuery: OperationType>(
43
43
  useTrackLoadQueryInRender();
44
44
 
45
45
  const environment = useRelayEnvironment();
46
- const {
47
- fetchKey,
48
- fetchPolicy,
49
- source,
50
- variables,
51
- networkCacheConfig,
52
- } = preloadedQuery;
46
+ const {fetchKey, fetchPolicy, source, variables, networkCacheConfig} =
47
+ preloadedQuery;
53
48
  const operation = useMemoOperationDescriptor(
54
49
  gqlQuery,
55
50
  variables,
@@ -103,12 +103,10 @@ function useQueryLoader<TQuery: OperationType>(
103
103
  PreloadedQuery<TQuery> | NullQueryReference,
104
104
  >(() => initialQueryReferenceInternal);
105
105
 
106
- const [
107
- previousInitialQueryReference,
108
- setPreviousInitialQueryReference,
109
- ] = useState<PreloadedQuery<TQuery> | NullQueryReference>(
110
- () => initialQueryReferenceInternal,
111
- );
106
+ const [previousInitialQueryReference, setPreviousInitialQueryReference] =
107
+ useState<PreloadedQuery<TQuery> | NullQueryReference>(
108
+ () => initialQueryReferenceInternal,
109
+ );
112
110
 
113
111
  if (initialQueryReferenceInternal !== previousInitialQueryReference) {
114
112
  // Rendering the query reference makes it "managed" by this hook, so
@@ -174,11 +174,8 @@ function useRefetchableFragmentNode<
174
174
  componentDisplayName: string,
175
175
  ): ReturnType<TQuery, TKey, InternalOptions> {
176
176
  const parentEnvironment = useRelayEnvironment();
177
- const {
178
- refetchableRequest,
179
- fragmentRefPathInResponse,
180
- identifierField,
181
- } = getRefetchMetadata(fragmentNode, componentDisplayName);
177
+ const {refetchableRequest, fragmentRefPathInResponse, identifierField} =
178
+ getRefetchMetadata(fragmentNode, componentDisplayName);
182
179
  const fragmentIdentifier = getFragmentIdentifier(
183
180
  fragmentNode,
184
181
  parentFragmentRef,
@@ -211,9 +208,8 @@ function useRefetchableFragmentNode<
211
208
  const shouldReset =
212
209
  environment !== mirroredEnvironment ||
213
210
  fragmentIdentifier !== mirroredFragmentIdentifier;
214
- const [queryRef, loadQuery, disposeQuery] = useQueryLoader<TQuery>(
215
- refetchableRequest,
216
- );
211
+ const [queryRef, loadQuery, disposeQuery] =
212
+ useQueryLoader<TQuery>(refetchableRequest);
217
213
 
218
214
  let fragmentRef = parentFragmentRef;
219
215
  if (shouldReset) {
@@ -34,9 +34,7 @@ function useSubscribeToInvalidationState(
34
34
  const environment = useRelayEnvironment();
35
35
  const disposableRef = useRef(null);
36
36
 
37
- const stableDataIDs = Array.from(dataIDs)
38
- .sort()
39
- .join('');
37
+ const stableDataIDs = Array.from(dataIDs).sort().join('');
40
38
  useEffect(() => {
41
39
  const store = environment.getStore();
42
40
  const invalidationState = store.lookupInvalidationState(dataIDs);